Нечеткий поиск и пересорт в документах реализации.

26.01.16

Учетные задачи - Оптовая торговля

Данная обработка ищет реализацию с отрицательными движениями и дает возможность заменить номенклатуру на похожий по наименованию аналог.
Есть функция подключения к семерочной базе и получения ее текущих остатков для сравнения.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Пересорт. Подбор и замена отрицательных движений в реализации на похожие
.epf 19,95Kb
15 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Назначение обработки: Найти документы с отрицательными движениями за период, подобрать из доступных в наличии остатков похожую по наименованию номенклатуру и выполнить замену в документах реализации.

Процент соответствия задается пользователем;

Количество для замены можно редактировать вручную;

Заменять можно на несколько из подобных;

При больших обьемах есть возможность предварительно заполнить все таблицы, быстренько проставить галочки и уйти на обед.

 

Поиск работает по очень простому принципу - разбивает наименование на массив строк, отсеивает незначительные кусочки (для ускорения) и передает в запрос параметром для ПОДОБНО.

При желании можно апгрейдить алгоритм составления массива поиска, текст запроса конструируется динамически.

 

Код поиска:

ИскомыеСлова = ПараметрыПоиска(ТекНоменклатура);
СписокСубконто = Новый СписокЗначений;
СписокСубконто.Добавить(ПредопределенноеЗначение("ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура"));
ТекстЗапроса = "";
ТекстЗапроса = ТекстЗапроса + 
"ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
| ХозрасчетныйОстатки.КоличествоОстаток
|ПОМЕСТИТЬ Остатки
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, &ВидыСубконто, ) КАК ХозрасчетныйОстатки
|ГДЕ
| ХозрасчетныйОстатки.КоличествоОстаток > 0
|;
|////////////////////////////////////////////////////////////////////////////////
|";
Для Каждого Строка Из ИскомыеСлова Цикл
i = Строка.ПолучитьИдентификатор();
ТекстЗапроса = ТекстЗапроса + 
"ВЫБРАТЬ
| Остатки.Номенклатура,
| Остатки.КоличествоОстаток,
| 1 КАК Совпадений
|";
Если i = 0 Тогда
ТекстЗапроса = ТекстЗапроса + 
"ПОМЕСТИТЬ Найдено
|";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + 
"ИЗ
| Остатки КАК Остатки
|ГДЕ
| Остатки.Номенклатура.Наименование ПОДОБНО &Наименование"+i+"
|";
Если ИскомыеСлова.Количество()>i+1 Тогда
ТекстЗапроса = ТекстЗапроса + 
"ОБЪЕДИНИТЬ ВСЕ
|";
Иначе
ТекстЗапроса = ТекстЗапроса +
"; 
|";
КонецЕсли;
КонецЦикла;

ТекстЗапроса = ТекстЗапроса + 
"ВЫБРАТЬ
| Найдено.Номенклатура КАК Номенклатура,
| Найдено.КоличествоОстаток КАК Остаток,
| СУММА(Найдено.Совпадений) КАК Совпадений
|ПОМЕСТИТЬ Итоговая
|ИЗ
| Найдено КАК Найдено
|
|СГРУППИРОВАТЬ ПО
| Найдено.Номенклатура,
| Найдено.КоличествоОстаток
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Итоговая.Номенклатура,
| Итоговая.Остаток КАК Остаток,
| Итоговая.Совпадений КАК Совпадений,
| 100 / &КлючевыхСлов * Итоговая.Совпадений КАК Процент
|ИЗ
| Итоговая КАК Итоговая
|ГДЕ
| 100 / &КлючевыхСлов * Итоговая.Совпадений >= &МинПроцент
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫРАЗИТЬ(&Номенклатура КАК Справочник.Номенклатура),
| СУММА(0),
| СУММА(0),
| МАКСИМУМ(100)
|ИЗ
| Итоговая КАК Итоговая
|ГДЕ
| 100 / &КлючевыхСлов * Итоговая.Совпадений >= &МинПроцент
|
|УПОРЯДОЧИТЬ ПО
| Процент УБЫВ,
| Остаток";

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

Для Каждого Строка Из ИскомыеСлова Цикл
i = Строка.ПолучитьИдентификатор();
Запрос.УстановитьПараметр("Наименование"+i,"%"+Строка.Значение+"%"); 
КонецЦикла;

Вступайте в нашу телеграмм-группу Инфостарт

Нечеткий поиск пересорт

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    242892    1325    419    

1118

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта алкогольной продукции. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

15.12.2015    180714    1221    biz-intel    374    

416

Оптовая торговля Розничная торговля НДС 22% 1С 8.3 1С:Управление торговлей 10 Россия Платные (руб)

Пакет обновлений и продолжения поддержки Управление торговлей, редакция 10.3.- обновление которое предоставляет пользователям новые функции, исправления ошибок и т.д.

14640 руб.

19.12.2025    4374    44    24    

45

Оптовая торговля Розничная торговля Обмен с ГосИС Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:Бухгалтерия Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

Решение создано для помощи разработчикам, интеграторам и другим заинтересованным лицам по настройке системы маркировки обуви, одежды, лекарств, табака, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин. Задавайте вопросы по работе с ЦРПТ, GS1, ЭДО, Национальным каталогом, накоплен опыт и знания по данным темам.

5000 руб.

18.03.2019    119275    63    115    

193

SALE! 15%

Загрузка и выгрузка в Excel Оптовая торговля Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Бухгалтерия 3.0 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Комплексная автоматизация 1.х 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Забудьте о ручном вводе: загружайте документы из Excel в 1С за секунды! Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл эксель, документ 1С и нажимаете кнопку "Загрузить"

8000 руб.

09.11.2016    267662    1181    946    

1101

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    205952    171    250    

295
Для отправки сообщения требуется регистрация/авторизация