Интеграция ТСД ПО ДатаМобайл
Особенности реализации
- При выгрузке на ТСД выгружаются все сборки товаров, в том числе и созданные ранее.
Логика загрузки сборки товара с тсд. Вариант Обработка Рабочее место оператора тсд
- Выбираем ТСД для загрузки
- Определяем тсд ид и способ обмена (локальный каталог или фтп)
- Получаем массив файлов для загрузки, оригинальные файлы выгруженные из тсд удаляются, создаются временные файлы сборок
- Обрабатываем каждый файл сборки и загружаем данные в базу, после загрузки временный файл сборки удаляется
- Получаем guid (ссылку) из файла сборки и по нему получаем Документ.СборкаТовараТСД, если документ по ссылке не найден, значит он создан не в этой бд, тогда продолжаем работу со следующим файлом
- Если Сборка была загружена ранее реквизит Документ.СборкаТовараТСД.Загружена = Истина, тогда прерываем процесс и переходим к следующему файлу.
- Устанавливаем для сборки флаг Загружена в значение Истина
- Устанавливаем комментарий «Загружена с тсд + дата»
- Начинаем обработку табличной части сборки
- ТЧ Документ.СборкаТовараТСД.Товары
- Для каждой строки документа полученного с тсд получаем структуру данных (Товар,Штрихкод,НаименованиеТовара,КоличествоФакт,КМ,KM_rawBarcode,KM_GTIN,GS1)
- По товару ищем строку в Документ.СборкаТовараТСД.Товары, если товар не найден переходим к следующей строке документа
- В найденной строке заполняем реквизит КоличествоСобрано значение КоличествоФакт
- Если Стр.КоличествоСобрано <> Стр.КоличествоКСборке, отмечаем что есть расхождения
- Если в строке не заполнен guid строки заполняем
- Переходим к заполнению ТЧ Документ.СборкаТовараТСД.ШтрихкодыУпаковок
- ТЧ Документ.СборкаТовараТСД.ШтрихкодыУпаковок
- ИдентификаторСтроки = Товары.ИдентификаторСтроки
- Штрихкод = Штрихкод
- GTIN = KM_GTIN
- ДобавленаВручную = Ложь
- Считана = Истина
- Создаем корректировки по загруженным документам (где есть расхождения)
- ПричинаКорректировки = Константа.ПричинаКорректировкиТСД
- После записи корректировки пишем ссылку в реквизит Документ.СборкаТовараТСД.Корректировка