Мегадок
Subsystems
Авторская разработка решений для 1С с 2008 года. Об авторе.
8 (995) 091-01-01
В онлайне: с 10:00 до 18:00
Заказать звонок
Skype: shekineugeniy
Мегапрайс
Разработки
  • Мегапрайс PRO
  • Мега: Загрузка в 1С
  • Мега: Номенклатура
  • Мега: Цены
  • Мега: Помощник закупок
  • Мега: Помощник продаж
  • Парсеры прайсов
  • Маркетплейсы
  • Удалить (всякое старье)
Что нового?
Отзывы
Информация
  • Об авторе
    • Об авторе
    • История
    • Лицензии
    • Партнеры
    • Контакты
  • Договор-оферта
  • Есть идея!
  • Техподдержка
  • Вопрос ответ
  • Статьи
  • Для интернет-магазинов
    • Продукты Битрикс
    • Шаблоны для сайта
  • Партнерство
  • Акции
Форум
    Subsystems
    Мегапрайс
    Разработки
    • Мегапрайс PRO
    • Мега: Загрузка в 1С
    • Мега: Номенклатура
    • Мега: Цены
    • Мега: Помощник закупок
    • Мега: Помощник продаж
    • Парсеры прайсов
    • Маркетплейсы
    • Удалить (всякое старье)
    Что нового?
    Отзывы
    Информация
    • Об авторе
      • Об авторе
      • История
      • Лицензии
      • Партнеры
      • Контакты
    • Договор-оферта
    • Есть идея!
    • Техподдержка
    • Вопрос ответ
    • Статьи
    • Для интернет-магазинов
      • Продукты Битрикс
      • Шаблоны для сайта
    • Партнерство
    • Акции
    Форум
      0
      Subsystems
      0
      • Мегапрайс
      • Разработки
        • Назад
        • Разработки
        • Мегапрайс PRO
        • Мега: Загрузка в 1С
        • Мега: Номенклатура
        • Мега: Цены
        • Мега: Помощник закупок
        • Мега: Помощник продаж
        • Парсеры прайсов
        • Маркетплейсы
        • Удалить (всякое старье)
      • Что нового?
      • Отзывы
      • Информация
        • Назад
        • Информация
        • Об авторе
          • Назад
          • Об авторе
          • Об авторе
          • История
          • Лицензии
          • Партнеры
          • Контакты
        • Договор-оферта
        • Есть идея!
        • Техподдержка
        • Вопрос ответ
        • Статьи
        • Для интернет-магазинов
          • Назад
          • Для интернет-магазинов
          • Продукты Битрикс
          • Шаблоны для сайта
        • Партнерство
        • Акции
      • Форум
      • Мой кабинет
      • Корзина0
      • 8 (995) 091-01-01
      Skype: shekineugeniy
      support@subsystems.ru
      • Facebook
      • Вконтакте
      • Telegram
      • YouTube

      ПОИСК: алгоритм поиска номенклатуры по дополнительному реквизиту

      • Главная
      • Форум
      • Разработки для 1С
      • Создание алгоритмов загрузки
      • ПОИСК: алгоритм поиска номенклатуры по дополнительному реквизиту
      Аренда 1С (4)
      Поиск  Правила 
      Форум » Разработки для 1С » Создание алгоритмов загрузки
      Страницы: 1
      ПОИСК: алгоритм поиска номенклатуры по дополнительному реквизиту
       
      Евгений
      Администратор
      Сообщений: 2882 Регистрация: 04.07.2011
      #1
      28.03.2019 13:26:40
      Печатаю текст готового алгоритма (который можно добавить через справочник произвольных алгоритмов и выбрать в загрузке прайса в 1С.
      Задача алгортма сопоставить номенклатуру прайса поставщика с базой 1С по дополнительному реквизиту номенклатуры (в прайсе поставщика есть свойство).
      Дополнительный реквизит имеет какие то уникальные значения (при необходимости код алгоритма можно усложить).

      Нужно обратить внимание:
      1) "Ваше наименование свойства" - заменить на ваше наименование свойства.
      2) В настройках колонок прайса, установить номер колонки со значениями свойств на строке Идентификатор номенклатуры.
      3) Данный алгоритм будет работать намного медленнее других (так как идет обращение к табличной части номенклатуры,а также значения свойств тоже отдельный справочник). Все это вместе влияет на скорость.


      ПараметрыОтбора = Новый Структура;
      ПараметрыОтбора.Вставить("Номенклатура", ПустаяСсылка);
      ПараметрыОтбора.Вставить("ЭтоГруппа", Ложь);

      ДанныеПоиска = ТабличнаяЧасть.Выгрузить(ПараметрыОтбора,"НомерСтроки,Поле_ИдентификаторНоменклатуры");
      ПриоритетПоиска = ПараметрыОбработки.ПриоритетПоиска;

      ТектЗапроса =
      "ВЫБРАТЬ
      | ВременнаяДанныеПоиска.НомерСтроки КАК НомерСтроки,
      | ВременнаяДанныеПоиска.Поле_ИдентификаторНоменклатуры КАК Поле_ИдентификаторНоменклатуры
      |ПОМЕСТИТЬ ВременнаяДанныеПоиска
      |ИЗ
      | &ДанныеПоиска КАК ВременнаяДанныеПоиска
      |ГДЕ
      | ВременнаяДанныеПоиска.Поле_ИдентификаторНоменклатуры<> """"
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      | ВременнаяДанныеПоиска.НомерСтроки КАК НомерСтроки,
      | СпрНоменклатура.Ссылка КАК Номенклатура
      |ИЗ
      | ВременнаяДанныеПоиска КАК ВременнаяДанныеПоиска
      | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
      | СпрНоменклатураРеквизиты.Ссылка КАК Ссылка,
      | СпрНоменклатураРеквизиты.Значение.Наименование КАК НаименованиеЗначения
      | ИЗ
      | Справочник.Номенклатура.ДополнительныеРеквизиты КАК СпрНоменклатураРеквизиты
      | ГДЕ
      | СпрНоменклатураРеквизиты.Свойство = &ВыбСвойство
      | И СпрНоменклатураРеквизиты.Ссылка.ПометкаУдаления = ЛОЖЬ) КАК СпрНоменклатура
      | ПО ВременнаяДанныеПоиска.Поле_ИдентификаторНоменклатуры = СпрНоменклатура.НаименованиеЗначения";

      Запрос = Новый Запрос();
      Запрос.Текст = ТектЗапроса;
      Запрос.УстановитьПараметр("ДанныеПоиска", ДанныеПоиска);
      Запрос.УстановитьПараметр("ПустаяСсылка", ПустаяСсылка);
      Запрос.УстановитьПараметр("ВыбСвойство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Ваше наименование свойства"));

      РезультатЗапроса = Запрос.Выполнить();
      КолСтрокОбработки = 0;

      Выборка = РезультатЗапроса.Выбрать();
      Пока Выборка.Следующий() Цикл
      КолСтрокОбработки = КолСтрокОбработки + 1;

      Если НЕ ЗначениеЗаполнено(Выборка.Номенклатура) Тогда
      Продолжить;
      КонецЕсли;

      СтрТаблицыСинхронизации = ТабличнаяЧасть[Выборка.НомерСтроки-1];

      ЗаполнитьЗначенияСвойств(СтрТаблицыСинхронизации, Выборка, "Номенклатура");
      СтрТаблицыСинхронизации.КлючПоиска = ПриоритетПоиска;
      КонецЦикла;
      Изменено: Евгений - 30.12.2020 17:17:39
       
       
       
      Страницы: 1
      Читают тему
      Подписывайтесь на новости и акции:
      Компания
      Об авторе
      История
      Лицензии
      Партнеры
      Контакты
      Разработки 1С
      Мегапрайс PRO
      Загрузка прайсов в 1С
      Анализатор прайсов
      Помощник установки цен
      Помощник продаж
      Помощник закупок
      Услуги
      Услуги по 1С
      Парсеры прайсов
      Создание сайтов
      Техподдержка
      Информация
      Договор-оферта
      Наши контакты

      8 (995) 091-01-01
      В онлайне: с 10:00 до 18:00
      Skype: shekineugeniy
      support@subsystems.ru
      © 2021 Все права защищены. Работает на 1С-Битрикс
      0

      Корзина

      Ваша корзина пуста

      Исправить это просто: выберите в каталоге интересующий товар и нажмите кнопку «В корзину»
      В каталог