Мегадок
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С
      • Создание алгоритмов загрузки
      • ПОИСК: по части артикула поставщика в названии номенклатуры 1С
      Аренда 1С (4)
      Поиск  Правила 
      Форум » Разработки для 1С » Создание алгоритмов загрузки
      Страницы: 1
      ПОИСК: по части артикула поставщика в названии номенклатуры 1С
       
      Андрей Рябков
      Пользователь
      Сообщений: 1 Регистрация: 18.07.2018
      #1
      14.04.2019 10:04:38
      В задаче импорта праса поставщика требовалось находить и нашу номенклатуру, содержащую артикулы в названии, с товарами поставщика, чьи артикулы имеют префикс.
      В результате консультаций с Евгением был разработан алгоритм, осуществляющий поиск подстроки полученной из артикула поставщика в названии номенклатуры из группы, заданной как группа в которой создается номенклатура поставщика по умолчанию.

      ТЕКСТ АЛГОРИТМА

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

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

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

      Запрос = Новый Запрос();
      Запрос.Текст = ТектЗапроса;
      Запрос.УстановитьПараметр("ДанныеПоиска", ДанныеПоиска);
      Запрос.УстановитьПараметр("ПустаяСсылка", ПустаяСсылка);
      Запрос.УстановитьПараметр("ГруппаНоменклатурыПоУмолчанию", ГруппаНоменклатурыПоУмолчанию);

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

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

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

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

      ЗаполнитьЗначенияСвойств(СтрТаблицыСинхронизации, Выборка, "Номенклатура");
      СтрТаблицыСинхронизации.КлючПоиска = ПриоритетПоиска;
      КонецЦикла
       
       
       
      Евгений
      Администратор
      Сообщений: 2870 Регистрация: 04.07.2011
      #2
      14.04.2019 10:14:14
      Классный алгоритм! Спасибо.
      Еще раз опишу от себя то что вы сделали

      1) Алгоритм без изменения артикула в прайсе поставщика, делает его обрезку (убирает лишние символы, которых нет в базе). Без изменений сделано для того чтобы делать записи в полном виде в справочник соответствий (номенклатура поставщиков)
      2) Выполняет поиск по обработанному артикулу в наименованиях номенклатуры в 1С (в базе артикулы в наименованиях)
      3) В алгоритме установлен фильтр поиска по определенной папке (которая указана по умолчанию).
       
       
       
      Евгений
      Администратор
      Сообщений: 2870 Регистрация: 04.07.2011
      #3
      14.04.2019 10:21:05
      Кстати очень отличный пример! Так как позволяет без изменения исходных данных, наложить алгоритм обработки поля для результата поиска.
      При этом сохраняя исходные данные для записи номенклатуры поставщика в исходном виде.
      Это важно если в дальнейшем номенклатура поставщика используется для создания заявок поставщику с отображением его номенклатуры.
       
       
       
      Евгений Кривенко
      Пользователь
      Сообщений: 12 Регистрация: 08.04.2019
      #4
      24.12.2019 09:11:42
      Подскажите пожалуйста, как настроить данный алгоритм что бы результатом поиска было совпадение по 5ти и более символам подряд?
       
       
       
      Страницы: 1
      Читают тему
      Подписывайтесь на новости и акции:
      Компания
      Об авторе
      История
      Лицензии
      Партнеры
      Контакты
      Разработки 1С
      Мегапрайс PRO
      Загрузка прайсов в 1С
      Анализатор прайсов
      Помощник установки цен
      Помощник продаж
      Помощник закупок
      Услуги
      Услуги по 1С
      Парсеры прайсов
      Создание сайтов
      Техподдержка
      Информация
      Договор-оферта
      Наши контакты

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

      Корзина

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

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