Для внесения изменений в логику выгрузки или загрузки объектов, необходимо запустить 1С в режиме "Конфигуратор". Затем открыть обработку посредством пункта меню "Файл"-"Открыть".
Основная информация о выгружаемых объектах, отборах и порядке выгрузки расположена на вкладке "Настройки".
Логика выгрузки данных из БД (базы данных) учетной системы, а также логика загрузки описана на вкладке "Модуль".
Вкладка "Настройки"
При переходе на данную вкладку, отобразится макет, содержащий в себе несколько именованных областей:
- ОбъектыВыгрузки - таблица доступных для выгрузки объектов;
- ФильтрыМножественные - таблица фильтров, для которых может быть определено несколько значений;
- ФильтрыЕдиничные - таблица фильтров, для которых может быть определено одно значение.
Объекты выгрузки
Таблица хранит весь перечень объектов доступных к выгрузке, при текущей реализации интеграции.
Основные колонки таблицы:
- выключено - отвечает за возможность выгрузки объект на программном уровне, после отключения объект не будет отображаться в пользовательском интерфейсе;
- имя объекта - используется при создании списка со стороны пользовательского интерфейса;
- отображаемое имя - представление объекта, которое увидит пользователь в списке выгружаемых объектов в пользовательском интерфейсе;
- имя секции - используется при формировании xml файла;
- имя функции - функция в модуле обработке, которая будет отвечать за выгрузку объекта, задается произвольно.
Фильтры множественные и единичные
Обе таблицы используются для редактирования доступных отборов, каждый отбор глобально влияет на результат выгрузки данных.
Колонки таблиц:
- тип значения - указывается название типа отбираемого значения, в основном это справочники;
- вид значения - имя отбираемого объекта в конфигурации 1С;
- объект выгрузки - основной объект выгрузки, на который будет накладываться отбор;
- отображается - имя отбора отображаемое в пользовательском интерфейсе.
Состав выгружаемых объектов и перечень доступных фильтров определяется на этапе сбора потребностей клиента.
Вкладка "Модуль"
Модуль содержит всю логику работы обработки обмена, от интерфейса до отправки данных в сервис посредством FTP.
В данном разделе не будут рассматриваться служебные процедуры и функции, описывающие логику работы элементов управления интерфейса. а также взаимодействие с файловой системой и сервером FTP.
Выгрузка объектов
Общую логику выгрузки можно описать следующими этапами:
- Формирование общих таблиц данных
- Выборка данных из БД и запись в XML файл
- Сохранение XML файла в каталоге обмена
- Архивирование и отправка файла на FTP сервер
- Формирование и сохранение отчета в каталог обмена о результатах выгрузки
Формирование общих таблиц данных
Данный этап выгрузки отвечает за получение первичных данных, которые в дальнейшем будут использоваться при выгрузке других объектов.
За формирование общих таблиц отвечает одноименная процедура, фрагмент которой представлен ниже.
Фрагмент
Изменения в данную процедуру вносятся в случае добавления объектов выгрузки, которые имеют ссылки на другие объекты.
Например, добавляя выгрузку территории торговых представителей, важно учесть, что данный объект связан с торговыми точками и сотрудникам, следовательно эти объекты также необходимо выгружать.
Выборка данных из БД и запись в XML файл
Точкой входа для данного этапа, является процедура "ВыгрузитьДанные()".
Ранее, с каждому выгружаемому объекту присваивалось имя функции, которая будет отвечать за выгрузку данных.
Процедура "ВыгрузитьДанные()" вызывает функцию, которая соответствует объекту.
Рассмотрим пример функции, отвечающей за выгрузку фирм.
Пример
Все процедуры выгружаемых объектов, необходимо описывать в модуле!
Пользовательские процедуры и функции для формирования XML файла
Сохранение XML файла в каталоге обмена
Сформированный XMl файл, сохраняется в подкаталоге "clients" каталога обмена, который был указан интерфейсной части при настройке обмена.
Имя файла состоит из текущей даты и времени.
Архивирование и отправка файла на FTP сервер
Если при настройке обработки, было выбрано свойство "Использовать ФТП", XML файл будет сжат в zip архив и отправлен на FTP сервер по указанным параметрам подключения.
Если действия по установке компоненты не выполнены, то обмен по FTP будет недоступен.
После успешной отправки, файл сменит своё расширение на old.
Формирование и сохранение отчета в каталог обмена о результатах выгрузки
Отчет о результате выгрузки будет доступен в подкаталоге "reports" каталога обмена.
Отчет имеет формат mxl, ознакомится с содержимым можно открыв его в 1С.
Загрузка объектов
Общая логика загрузки объектов состоит из следующих этапов:
- Получение файлов с FTP сервера
- Загрузка объектов
- Отправка подтверждения о загрузке
- Формирование и сохранение отчета о загрузке
Получение файлов с FTP сервера
При старте загрузке данных, обработка связывается с FTP сервером и загружает файлы, сформированные сервисом.
Загруженные файлы помещаются в подкаталог "server" каталога обмена.
Далее следует распаковка и чтение XML файла.
Загрузка объектов
За загрузку объектов отвечает процедура "ЗагрузитьДанные()", которая обрабатывает каждый принятый XML файл и вызывает процедуры загрузки документов\справочников.
Фрагмент
Загрузку отдельного вида документа можно разделить на два этапа:
- Получение значений из XML
- Создание и запись документов
Отправка подтверждения о загрузке
Каждый успешно загруженный документ добавляется в специализированный файл-хранилище (ObjectsIn.xml), содержащий перечень всех загруженных документов в 1С, их идентификаторы, тип документа и дата загрузки.
Образец
Пример содержимого файла ObjectsIn.xml.
На основании этого же файла, формируется подтверждение о загрузке объектов для сервиса.
Образец
Пример подтверждения о загрузке объектов для сервиса.
Внимание!
В случае отсутствия элемента "confirmation" и идентификатора принятого пакета, выгрузка объектов будет повторяться, пока пакет не будет подтвержден.
Формирование и сохранение отчета о загрузке
Происходит аналогично, как и в процессе выгрузки.