Структура обработки загрузки номенклатуры поставщика с примерами и комментариями (часть 2)

25.10.20

Интеграция - Внешние источники данных

В статье опишу вариант обработки для загрузки номенклатуры поставщика, блок загрузки номенклатуры и доп. реквизитов.

Вводные

Требования описаны в первой части статьи //infostart.ru/1c/articles/1307929/

Обработку цен, остатков выделяю в отдельный поток описанный в //infostart.ru/1c/articles/1256276/

 
 схема

 

Вариант решения

Дополнения по структуре данных обработки

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

 
 код

 

Для работы с номенклатурой создал Таблицу значений "ТаблицаНоменклатура" в которой добавил основные реквизиты, остальные данные преобразовал в список значений из структур (исходная функция с массивом, но реквизит формы с типом массив не создать), на мой взгляд при добавлении колонок будет большая нагрузка.

 
 код

 

Для состыковки полей и доп. реквизитов добавил таблицу значений "Колонки", данные из которой записываю в РС "зн_СоответствиеКолонкаДополнительныйРеквизит"

 

Создание номенклатуры, номенклатуры поставщика

Отображаю список номенклатуры выбранной группы.

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

 
 скриншот

 

 
 Код формирования таблиц с реквизитами

 

Пользователь выбирает нужные позиции и нажимает кнопку загрузить.

 
 Код загрузки номенклатуры и доп. реквизитов

 

Итог

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

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

 

Благодарю за внимание.

См. также

Внешние источники данных WEB-интеграция Мобильная разработка Программист Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Абонемент ($m)

Http-сервис для обмена данными в формате JSON. Обработчики этого сервиса находятся во внешней обработке, что позволяет дорабатывать его без изменения конфигурации. Также прилагаю пример мобильного приложения для работы с данным сервисом (получает номенклатуру и остатки на складе). Сервис очень быстро разворачивается и масштабируется под ваши задачи.

3 стартмани

04.05.2019    36875    119    MarkoSokolov    48    

119

Внешние источники данных Программист Бизнес-аналитик Платформа 1С v8.3 Бесплатно (free)

Об использовании MS Access в связке с 1С. Можно ли использовать продукты Office на сервере. Когда Access может быть полезен. Примеры работы и другое.

09.04.2019    47933    Infostart    49    

82

Информационная безопасность Внешние источники данных Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Пример подключения к сервисам Google из 1С с помощью протокола OAuth и получения данных с внешнего сервиса.

1 стартмани

03.04.2019    40805    binx    134    

109

Розничная торговля Регламентированный учет и отчетность Внешние источники данных Бухгалтер Платформа 1С v8.3 Розничная и сетевая торговля (FMCG) Россия Бухгалтерский учет Абонемент ($m)

Конфигурация на обычных формах, платформа 1С 8.2.19.130 и выше, с помощью которой можно сформировать Декларации по формам 11 и 12 алкогольной продукции, гибрид/интеграция с ПО Декларант-Алко версии 4.31.05 и выше.

1 стартмани

25.03.2019    23185    13    independ    28    

36

Внешние источники данных Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования <Внешних источников данных>. Использование Запросов к таблицам внешнего источника, использование полученных данных для синхронизации справочников.

11.01.2012    14883    xzorkiix    7    

30

Внешние источники данных Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Пример работы с файлами *.db формата SQLite на платформе 8.2

1 стартмани

28.12.2011    40568    101    Avalanche    16    

52
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. JOJ73 23.10.20 08:50 Сейчас в теме
Вариант:
НужнаЗапятая = Ложь;
......
можно упростить;
    Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
        СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя+ ",";
    КонецЦикла;


СтроковыеФункцииКлиентСервер.УдалитьПоследнийСимволВСтроке(СтруктураСтрокой ,1); //удалить последнюю запятую
2. malikov_pro 1315 23.10.20 09:03 Сейчас в теме
(1) Благодарю за замечание, этот кусок кода копипастил
Писал без привязки к конфигурации, т.к. задачу решаю и для УТ и для УНФ.
"СтроковыеФункцииКлиентСервер.УдалитьПоследнийСимволВСтроке" - дополнительно посмотрю что есть общем модуле.
3. piterantares 239 14.05.21 21:35 Сейчас в теме
(1) Тогда уж:
Если Прав( СтруктураСтрокой, 1 ) = "," Тогда
    СтруктураСтрокой = Лев( СтрДлина( СтруктураСтрокой ) - 1 );
КонецЕсли;
Оставьте свое сообщение