Описание
- ExecuteCardAdvance (var aRecord: Record = nil; СтрокаФильтра: String = ''; аУправляющиеПараметры: Variant[] = nil): Integer;
Аргументы
- aRecord - переменная, определяющая, какую запись следует выделить в картотеке при ее открытии. Через эту же переменную будет возвращен выбранная запись;
аУправляющиеПараметры - массив значений типа ИндексУправляющегоПараметра.
Назначение
- Ищет запись по фильтру и через var-параметр возвращает ссылку на запись, удовлетворяющую заданным условиям. Число же, возвращаемое самой функцией - ответ картотеки из стандартных (cmOk, cmCancel и др.).
Перед запросом происходит настройка картотеки. Для этого используется функция УстановитьПараметрыПоУмолчанию и данные из массива аУправляющиеПараметры. После производится сам поиск.
Если под фильтр не попало ни одной записи, функция выдает ошибку и возвращает cmAutoCancel.
Если одна - автоматически возвращает ее без открытия картотеки.
Если несколько - открывает окно картотеки с заданным фильтром и настройками.
См. также ExecuteCardAdvanceEx и ExecuteAdvanceWithMultiSelect.
Пример
-
<...>
if (ExecuteCardAdvance(NewValue, СложитьСтрокиФильтраПоИ
([Cell.LookupFilter, локФильтр]), УправляющиеПараметрыПоля) = cmOk) then
Template.EndEdit(True);
end;
<...>
Тип возвращаемого значения: