OnPublish

From SunFlurry wiki
Jump to: navigation, search
  OnPublish (События объектов БД)
Статус разработки: Планируется
Тип:Функция
Обращение к БД:Нет
Расположение:Любой глобальный модуль
Визуальность:Да

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

Каждый документ, для которого необходим контроль при записи в накопители (обработка), имеет подобное событие в контейнере метаданных, данное событие, если оно присутствует, будет вызвано до указанного и может содержать общие алгоритмы обработки.

Синтаксис

OnPublish(<Элемент>,<Разрешить действие (INT,OUT)>=1):<Текст возникшей ошибки (STRING)>

Аргументы

  • <Элемент> - Документ, для которого производится попытка обработки.
  • <Разрешить действие (INT,OUT)>=1}} - (возможен аргумент-переменная (ByRef)) При нулевом значении этого аргумента, обработка будет остановлена без вывода текста ошибки.

Возвращаемое значение

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


Примеры

Function OnPublish(Док,ByRef флРазрешить)
  Result:=1;
  If (Док.ФлагОбмена<>0)And(Док.ФлагОбмена<>9) Then
    Док.ФлагОбмена:=0;
  ElseIf Док.ФлагОбмена=9 Then
    Exit "Документы, выгруженные из удаленной базы, не разрешается изменять в данной!";
  EndIf;
EndFunction