Загрузка результатов инвентаризации из Excel. УТ 11.5
Клиенту нужно было загружать результаты инвентаризации из Excel.
Взял обработку с Инфостарта Загрузка из Excel в табличную часть документа прямо из документа (пересчет товаров, заказ на перемещение, перемещение товаров, установка цен номенклатуры)
Все хорошо, все работает.
Но есть один нюанс — у клиента есть дубли артикулов.
Пришлось немножко доработать поиск по артикулу:
МассивТоваровДокумента = Новый Массив(); Для каждого стр Из ДокументОбъект.Товары Цикл Если ЗначениеЗаполнено(Стр.Номенклатура) Тогда МассивТоваровДокумента.Добавить(Стр.Номенклатура); КонецЕсли; КонецЦикла; ... //Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул",Артикул); Номенклатура = НайтиПоАртикулу(МассивТоваровДокумента, Артикул); Если Не ЗначениеЗаполнено(Номенклатура) Тогда Сообщить("Не найдена номенклатура с артикулом "+Артикул); Продолжить; КонецЕсли; ... Функция НайтиПоАртикулу(МассивТоваровДокумента, Артикул) З = Новый Запрос( "ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка, | ВЫБОР | КОГДА Номенклатура.Ссылка В (&МассивТоваровДокумента) | ТОГДА 1 | КОГДА Номенклатура.ПометкаУдаления | ТОГДА 3 | ИНАЧЕ 2 | КОНЕЦ КАК Порядок |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Артикул = &Артикул | |УПОРЯДОЧИТЬ ПО | Порядок"); З.УстановитьПараметр("Артикул", Артикул); З.УстановитьПараметр("МассивТоваровДокумента", МассивТоваровДокумента); Выборка = З.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Возврат Выборка.Ссылка; КонецЕсли; КонецФункции
Среда: УТ 11.5.12.53 Объем: 0.8 час.
Свежие комментарии