×
×
Содержание




Параметры обработки макроса

Эта часть макроса содержит команды для настройки отображаемого макросом окна ввода данных. Текстовые поля, выбор из списка, значения по умолчанию и т. д. Согласно требованиям синтаксиса языка Pascal, перед текстом запускающей процедуры должны быть прописаны все глобальные переменные и дополнительные процедуры и функции, которые будут использоваться в основном коде. Поэтому программный код настройки данных для обработки прописывается в последней паре Begin / End макроса.

Выбор и корректировка данных

Вывод всех данных для выбора и корректировки оформляется в виде отдельных групп.

Имя_группы := Options.AddGroup('Заголовок группы на экране');

Далее, в этой группе организовывается ввод данных.


Поля ввода:

ИмяПерем1 := Имя_группы.AddEdit('Введите обоснование');
ИмяПерем2 := Имя_группы.AddDatePicker('Введите дату');


Чек-бокс:

ИмяПерем := Имя_группы.AddCheckBox('Округлять до рублей');
ИмяПерем.checked := True; // Присваиваем значение по-умолчанию


Выбор из списка (комбо-бокс):

ИмяВыбор := Options.AddComboBox('');
ИмяВыбор.AddItem(Знач1, 'Вариант 1');
ИмяВыбор.AddItem(Знач2, 'Вариант 2');
ИмяВыбор.Value := 1; // Присваиваем значение по-умолчанию


Группа с выбором файла:

Группа := Option.AddGroup('Выберите файл');
Док := Группа.AddFileBox;
Док.Filter := 'Cennik, NbCennik';
// Варианты фильтра: Smeta, Cennik, ObjSmeta, ConsCalc, ProjectSmeta, WorksVolumes, Indexes


Группа с выбором одного значения из нескольких (радио-группа):

РГруппа := Options.AddRadioGroup('Выберите вариант');
РГруппа.AddItem(Знач1, 'Вариант № 1');
РГруппа.AddItem(Знач2, 'Вариант № 2');
РГруппа.AddItem(Знач3, 'Вариант № 3');
РГруппа.value := Знач2; // Выставляем вариант по-умолчанию


Внутри групп можно создавать подгруппы, в этом случае элемент в окне будет сдвинут вправо относительно основной группы:

Перем1 := Группа1.AddCheckBox('Вариант1');
Перем11 := Группа1.AddGroup('').AddCheckBox('');
Перем1 := Группа.AddCheckBox('Вариант1');
ПодГруппа := Группа.AddGroup('');
Перем11 := ПодГруппа.AddEdit('Введите значение 1');
Перем12 := ПодГруппа.AddEdit('Введите значение 2');

В этом блоке кода, как и в обычных процедурах, можно использовать операторы условий, циклы, массивы. Пример работы с массивами есть в макросе Ранжирование материалов и механизмов.

Глобальные переменные

С учётом того, что проверка указанных данных и дальнейшая обработка документов выполняется отдельными процедурами, то использованные в этом блоке переменные должны быть объявлены как глобальные. Это делается в начальной части макроса, сразу за титульным блоком.

2025-02-13-15-18-17.png

Теги: