Top.Mail.Ru
График: 5/2, full-time
Формат: удаленный/офис
Вакансия «1С-программист»

Передача документа в формате Enterprise data с табличной частью

В данной статье рассмотрим код процедур и основные действия для доработки обмена документами на Enterprise data (КД3), на случай, если у вас нет возможности сгенерировать его через саму конфигурацию КД3. Изменения регистрируются к обмену вручную. Доработка регистрации и пакета XDTO не является темой данной статьи.

Необходимые действия для доработки :

1) Добавить в состав плана обмена документ, доработать его регистрацию в случае необходимости.

2) Выгрузить правила регистрации и доработать их, например, через КД2.
Загрузить доработанные правила обратно в настройки обмена. Разместить в макете доработанные правила.

3) Загрузить доработанные правила обратно в настройки обмена. Разместить в макете доработанные правила.

4) Добавить новый нужный объект формата в пакет в двух базах по аналогии с уже имеющимися объектами. Для проверки идентичности пакетов можно выгрузить их и сравнить через Файл — Сравнить файлы.

5) Добавить типы допустимых объектов в двух базах, указывать необходимо именно объект формата, объект который добавляем в пакет XDTO. Добавление производится в Общем модуле ОбменДаннымиXDTOСервер Процедура ЗаполнитьСтруктуруНастроекXDTO.

Далее необходимо написать процедуры в модуле «МенеджерОбменаЧерезУниверсальныйФормат»:

6) «ДобавитьПОД_Документ_ИмяВашегоДокумента_Отправка» — добавляет правила ПКО, может содержать несколько правил для одного объекта. Её вызов необходимо добавить в процедуру «ЗаполнитьПравилаОбработкиДанных».

Рис.1

7) «ДобавитьПКО_ИмяВашегоДокумента_Отправка» — Правила конвертации объекта.
—  «ИмяПКО» должен совпадать со строкой, добавляемой в процедуре ИспользуемыеПКО.
— Для преобразования примитивных типов достаточно указать только свойство конфигурации и свойство формата ( «Дата» рис.2 )
— Для ссылочных типов необходимо указать правило конвертации свойства («Организация»  рис.2 )
— Для табличных частей необходимо добавить отдельную таблицу свойств в «СвойстваТабличныхЧастей» ( ТЧ «Товары» с колонками «Количество» и «Номенклатура» на рис.2), для заполнения табличной части необходимо будет передать её значения в «ДанныеXDTO» в процедуре «ПриОтправкеДанных»
— Для свойств, которые не нужно конвертировать на прямую поле «Свойство конфигурации», можно оставить пустым. В таком случае для них необходимо указать, что используется алгоритм конвертации. Если оно (это правильно ОНО?) ссылочное, нужно указывать правило конвертации свойства.
Вызов Процедуры «ДобавитьПКО_ИмяВашегоДокумента_Отправка» необходимо добавить в процедуру «ЗаполнитьПравилаКонвертацииОбъектов»

Рис. 2

8) «ПКО_ИмяВашегоДокумента_Отправка_ПриОтправкеДанных».
Ключевые поля документа поместить в ключевые поля. (Рис.3 «Номер»)
Написать процедуры для свойств, у которых используется алгоритм конвертации, поместить их значения в ДанныеXDTO. (Рис.3 «Номер»)
Заполнить таблицы значений для табличных частей, поместить в ДанныеXDTO, имена колонок должны совпадать с именами, которые вы указали как свойства «СвойствоФормата» в процедуре «ДобавитьПКО_ИмяВашегоДокумента_Отправка». (Рис.3 «Товары»).
Процедура должна быть указана в «ДобавитьПКО_ИмяВашегоДокумента_Отправка», и вызвана в «ВыполнитьПроцедуруМодуляМенеджера».

9) «ПОД_Документ_ИмяВашегоДокумента_Отправка_ПриОбработке»
Если есть условия обработки объектов, например документы для разных подразделений должны выгружаться по-разному, в отдельной процедуре «ПОД_ИмяВашегоДокумента_Отправка_ПриОбработке» можно определить использование ПКО. Данная процедура выполняется для каждого выгружаемого объекта типа. Её надо добавить в процедуру «ДобавитьПОД_Документ_ИмяВашегоДокумента_Отправка» и в «ВыполнитьПроцедуруМодуляМенеджера»

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

10) «ДобавитьПОД_Документ_ИмяВашегоДокумента_Получение»
Необходимо вызвать в «ЗаполнитьПравилаОбработкиДанных».

11) «ДобавитьПКО_Документ_ИмяВашегоДокумента_Получение»
Необходимо вызвать в «ЗаполнитьПравилаКонвертацииОбъектов».

12) «ПКО_Док_уатРемонтныйЛист_ИмяВашегоДокумента_ПриКонвертацииДанныхXDTO»
Необходимо вызвать в «ВыполнитьПроцедуруМодуляМенеджера».

13) «ПолучитьСтрокиТоваров»

Так же можно отключать ПКС в событии «ПриОбработке» см. аналогичную процедуру отправки.

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar