Доработка объектов конфигурации, участвующих в обмене
страницаДоработка объектов конфигурации, участвующих в обмене
В режиме «Конфигуратор»
Первое, что нам следует сделать, - внести изменения в модули всех объектов, участвующих в обмене (в нашем случае это будут документы, справочники и планы видов характеристик).
Эти изменения будут заключаться в том, что теперь при формировании номера документа и кода справочника или плана видов характеристик будет использоваться значение константы ПрефиксНумерации для обеспечения уникальности номеров и кодов в каждой из наших баз.
Функцию формирования префикса номера мы вынесем в общий модуль, поскольку не исключена возможность того, что в будущем алгоритм формирования префикса документов может быть изменен.
Добавим общий модуль Обмен.
В модуль поместим следующую функцию (листинг 24.1).
Листинг 24.1. Функция формирования префикса номера
Функция ПолучитьПрефиксНомера() Экспорт
Возврат Константы.ПрефиксНумерации.Получить();
КонецФункции
Как вы видите, эта функция просто возвращает значение константы ПрефиксНумерации.
Теперь доработаем справочник Клиенты.
Выделим этот объект в дереве объектов конфигурации, вызовем контекстное меню и откроем модуль объекта.
Добавим в него обработчик события ПриУстановкеНовогоКода (листинг 24.2).
Листинг 24.2. Обработчик события «ПриУстановкеНовогоКода»
Процедура ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс)
Префикс = Обмен.ПолучитьПрефиксНомера();
КонецПроцедуры
Событие ПриУстановкеНовогоКода возникает в момент, когда выполняется установка нового кода элемента справочника. Обратите внимание, что мы пишем этот код не в модуле формы, а в модуле объекта, поскольку это событие возникает не для формы, а для объекта в целом.
Вторым параметром вызова обработчика передается префикс, который будет заполнен в данной процедуре и использован системой для генерации кода.
В обработчике события мы вызываем функцию общего модуля. Поскольку модуль неглобальный, то обращаемся к ней по имени модуля и имени функции (Обмен.ПолучитьПрефиксНомера). В этой процедуре мы устанавливаем префикс равным значению константы ПрефиксНумерации.
Такие же обработчики нужно будет добавить во все справочники и планы видов характеристик, участвующие в обмене.
В нашем случае это:
- справочники:
Сотрудники,Склады,Номенклатура,ВариантыНоменклатуры,ДополнительныеСвойстваНоменклатуры,
- план видов характеристик:
СвойстваНоменклатуры.
После этого у всех этих объектов и у справочника Клиенты нужно (в палитре свойств объекта конфигурации) увеличить длину кода до 11 символов.
Теперь займемся доработкой документов.
В модуль документа ПриходнаяНакладная добавим обработчик события ПриУстановкеНовогоНомера (листинг 24.3).
Листинг 24.3. Обработчик события «ПриУстановкеНовогоНомера»
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
Префикс = Обмен.ПолучитьПрефиксНомера();
КонецПроцедуры
Такие же обработчики нужно будет добавить во все документы, участвующие в обмене.
В нашем случае это единственный документ - ОказаниеУслуги.
После этого для обоих документов нужно (в палитре свойств объекта конфигурации) увеличить длину номера до 11 символов.
На этом подготовительная работа с существующими объектами конфигурации завершена, и мы можем перейти к созданию процедур обмена данными.