Dynamic Choice и MultiChoice

Dynamic Choice

Поля Dynamic Choice возвращают текст или числа, соответствующие идентификаторам записей. Однако напрямую обратиться к выбранным записям нельзя. Чтобы их получить, воспользуйтесь следующим приёмом:

Доступ к записи:

var selectedRecord := record('my Table', number('Dynamic Choice'));

Dynamic Multi Choice (DMC)

Для поля Dynamic Multi Choice можно получить массив записей по выбранным элементам:

Получение выбранных записей:

var selectedRecords := for i in numbers('Dynamic Multi Choice') do
  record('my Table', i);
end;

Добавление и удаление выбора в DMC

Чтобы программно добавить или убрать выбранное значение в DMC, управляйте набором значений с помощью numbers(). Например:

Добавление записи в выбор:

var currentSelection := numbers('Dynamic Multi Choice');
currentSelection := array(currentSelection, [newRecordID]);
'Dynamic Multi Choice' := currentSelection;

Удаление записи из выбора:

var currentSelection := numbers('Dynamic Multi Choice');
'Dynamic Multi Choice' := currentSelection[!= recordIDToRemove];

Эти приёмы дают точный контроль над записями, выбранными в поле Dynamic Multi Choice.