644 документа
← К списку

Доработка объектов конфигурации, участвующих в обмене

страница

Доработка объектов конфигурации, участвующих в обмене

В режиме «Конфигуратор»

Первое, что нам следует сделать, - внести изменения в модули всех объектов, участвующих в обмене (в нашем случае это будут документы, справочники и планы видов характеристик).

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

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

Добавим общий модуль Обмен.

В модуль поместим следующую функцию (листинг 24.1).

Листинг 24.1. Функция формирования префикса номера

Функция ПолучитьПрефиксНомера() Экспорт

 

Возврат Константы.ПрефиксНумерации.Получить();

 

КонецФункции

Как вы видите, эта функция просто возвращает значение константы ПрефиксНумерации.

Теперь доработаем справочник Клиенты.

Выделим этот объект в дереве объектов конфигурации, вызовем контекстное меню и откроем модуль объекта.

Добавим в него обработчик события ПриУстановкеНовогоКода (листинг 24.2).

Листинг 24.2. Обработчик события «ПриУстановкеНовогоКода»

Процедура ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс)

 

Префикс = Обмен.ПолучитьПрефиксНомера();

 

КонецПроцедуры

Событие ПриУстановкеНовогоКода возникает в момент, когда выполняется установка нового кода элемента справочника. Обратите внимание, что мы пишем этот код не в модуле формы, а в модуле объекта, поскольку это событие возникает не для формы, а для объекта в целом.

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

В обработчике события мы вызываем функцию общего модуля. Поскольку модуль неглобальный, то обращаемся к ней по имени модуля и имени функции (Обмен.ПолучитьПрефиксНомера). В этой процедуре мы устанавливаем префикс равным значению константы ПрефиксНумерации.

Такие же обработчики нужно будет добавить во все справочники и планы видов характеристик, участвующие в обмене.

В нашем случае это:

  • справочники:
    • Сотрудники,
    • Склады,
    • Номенклатура,
    • ВариантыНоменклатуры,
    • ДополнительныеСвойстваНоменклатуры,
  • план видов характеристик: СвойстваНоменклатуры.

После этого у всех этих объектов и у справочника Клиенты нужно (в палитре свойств объекта конфигурации) увеличить длину кода до 11 символов.

Теперь займемся доработкой документов.

В модуль документа ПриходнаяНакладная добавим обработчик события ПриУстановкеНовогоНомера (листинг 24.3).

Листинг 24.3. Обработчик события «ПриУстановкеНовогоНомера»

Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)

 

Префикс = Обмен.ПолучитьПрефиксНомера();

 

КонецПроцедуры

Такие же обработчики нужно будет добавить во все документы, участвующие в обмене.

В нашем случае это единственный документ - ОказаниеУслуги.

После этого для обоих документов нужно (в палитре свойств объекта конфигурации) увеличить длину номера до 11 символов.

На этом подготовительная работа с существующими объектами конфигурации завершена, и мы можем перейти к созданию процедур обмена данными.