Параметры шаблонов

 

Отчёты могут запускаться тремя способами.

Вручную, через Главное меню \ Отчёты. В этом случае никаких параметров в отчёт не передаётся.

Через контекстное меню табличных данных (если шаблон отчёта связан с таблицей, то при щелчке правой кнопкой по таблице появится пункт меню Отчёты). В этом случае в отчёт передаётся два параметра: CurrentRecord (переменная типа TbuRecord - простой указатель на текущую запись, по которой был вызван отчёт); CurrentRecordset (переменная типа TbuRecordset - ссылка на набор данных, который отображается в таблице).

 

Использовать эти переменные в скрипте шаблона можно следующим образом:

 

var
  ClientID: Integer;
begin
  if (CurrentRecordSet <> nil) and (CurrentRecord <> nil) then
  begin
    ClientID := CurrentRecordSet['client_id'].AsInteger[CurrentRecord];
  end else
    Exit;
 
  ...
  Query1.WhereCondition := 'client_id = ' + IntToStr(ClientID);
  Query1.Open;
end.

 

При пакетной печати. Пакетная печать работает в двух случаях: при печати счетов и при печати распечаток. Особенности, которые необходимо учитывать при разработке шаблонов для пакетной печати:

в шаблонах не работают диалоговые окна, поэтому создавать их не имеет смысла;

один и тот же шаблон может быть запущен несколько раз: при первом запуске отрабатывает секция begin - end. шаблона, здесь доступен параметр <report_id> при последующих запусках отрабатывает обработчик OnRunDialogs, в нём доступен параметр <bill_id> при печати счетов или параметр <sg_id> при печати распечаток. Подробнее об этих параметрах см. Механизм пакетной печати.