Студия/OnBeforeLoadElements
OnBeforeLoadElements (Визуальные события) | |||||||
---|---|---|---|---|---|---|---|
|
Событие, возникающее перед загрузкой новых строк в табличный элемент. Позволяет подменить стандартную загрузку желаемой. Не вызывается для фиксированных строк таблицы (структуры родительских папок), которые, при наличии, зависят от атрибута FolderElement и будут уже добавлены в таблицу на момент вызова, однако, программа может модифицировать эти строки по желанию. При загрузке элементов в таблицу, нужно понимать, что новые строки можно добавлять незаполненными, указывая только сам элемент в столбце @ELEMENT
. После выполнения события, система сама заполнит столбцы, связанные с реквизитами элемента, и будут вызваны другие события заполнения, типа OnInitLine при их наличии. Однако, изменение других столбиков, кроме @ELEMENT не запрещается.
Аргументы
<Result (INT)>
- (возможен аргумент-переменная (ByRef)) Переменная результата может принимать значения:- 0 (по умолчанию) -- Разрешить выполнить стандартную загрузку строк.
- 1 -- Запретить выполнить стандартную загрузку строк, обработчик загрузил нужные строки таблицы.
Примеры
//Пример обработчика OnBeforeLoadElements //При наличии готового списка, который должен быть загружен в таблицы, загрузим элементы из списка, руководствуясь // правилами сортировки и визуальными фильтрами, иначе разрешим стандартную загрузку. If not IsEmpty(СпЭлементы) Then Result:=1; aEl:=Ref.Договоры; //Использовать сортировку таблицы aEl.UseOrder(Form.MainTab.SortString); //Загрузить с учетом фильтров aList:=aEl.Load(0,"@USECONTROLFILTERS,->@ELEMENT",Form.MainTab,СпЭлементы); //Скопировать загруженные элементы в таблицу, заполняя столбец @ELEMENT. aList.CopyTo(Form.MainTab.Value,1,aList.Size(),"@ELEMENT"); EndIf;