OnOpenPeriodicalsEditor

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

Событие, вызываемое до открытия системного (стандартного) редактора периодических значений реквизита. Внутри функции имеется возможность указать дату, до которой периодические значения не будут показаны, или дату до которой значения не будут доступны для редактирования. Параметр Путь БД реквизита принимает стандартную форму пути объектов (пример REF.Номенклатура.Цена). Функция может возвратить одно из трех значений: 0 -- запрет открытия формы, 1 -- разрешение открытия в режиме редактирования, 2 -- разрешение открытия только в режиме просмотра.

Синтаксис

OnOpenPeriodicalsEditor(<Путь БД реквизита (STRING)>,<Вызывавший элемент формы (FORM)>,<Дата до которой значения доступны только для чтения (DATE,OUT)>=0,<Дата до которой значения не будут показаны (DATE,OUT)>=0):<Режим открытия диалога (INT)>

Аргументы

  • <Путь БД реквизита (STRING)> - Строка со стандратным путем до реквизита, для которого вызывается редактор периодических реквизитов. Принимает вид <Тип объекта>.<Наименование объекта>[.<Наименование строчной части объекта>].<Наименование реквизита>.
  • <Вызывавший элемент формы (FORM)> - Ссылка на элемент формы, для которого необходимо вызвать редактор. Наименование элемента можно найти с помощью конструкции .Name
  • <Дата до которой значения доступны только для чтения (DATE,OUT)> - (необязательный аргумент) (возможен аргумент-переменная (ByRef)) Значения реквизитов до указанной даты нельзя будет изменить, также нельзя будет создать новые значения до этой даты.
  • <Дата до которой значения не будут показаны (DATE,OUT)> - (необязательный аргумент) (возможен аргумент-переменная (ByRef)) Значения реквизитов до указанной даты будут скрыты для просмотра, также нельзя будет создать новые значения до этой даты.

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

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

Примеры

Function OnOpenPeriodicalsEditor(Путь,Эл,ByRef НачДатаРедактирования,ByRef НачДатаПросмотра)
  aEl:=Form.Object;
  If Эл.Name="Цена" Then
    If aEl.IsFolder() Then
      //Разрешить редактирование поля "Цена" для папок справочника "Номенклатура" только для пользователей, имеющих права "ГлавныйОператорДоставки"
      Result:=?(Пользователь.ГлавныйОператорДоставки,1,2);
    EndIf;  
  ElseIf Эл.Name="МаркетинговаяСтатья" Then
    //Разрешить редактирование поля "МаркетинговаяСтатья" для элементов или папок справочника "Номенклатура" только для пользователей, имеющих права "МладшийБухгалтер"
    Result:=?(Пользователь.МладшийБухгалтер,1,2);
  EndIf;
EndFunction