- •Анненков и. В.
- •Глава 1. Это нельзя понять, это нужно запомнить.
- •IbExpert. Хранимые процедуры.
- •Скрипт.
- •Алгоритмы.
- •Журнал.
- •Глава 2. На старт. Внимание. Марш. Прежде, чем создавать объекты. Полезные советы.
- •Создадим новый справочник.
- •Создадим новый отчет.
- •Глава 3. И что у нас на финише. Или - дожить до апдейта. Это сладкое слово - апдейт.
- •Iec – дело тонкое.
- •Выгружаем отчет.
- •Выгружаем справочник.
- •Cmd, или навесим документу добротных алгоритмов.
- •Глава 4. Это как же, вашу мать, извиняюсь, понимать?
- •До свидания.
- •Процедура для выборки номеров и дат всех документов за период.
- •Объекты Avarda по закладкам.
Процедура для выборки номеров и дат всех документов за период.
CREATE PROCEDURE R_ALL_DOC_PERIOD (
BDATE DATE,
EDATE DATE)
RETURNS (
IDDOC INTEGER,
DCODE VARCHAR(255),
DDATE DATE)
AS
BEGIN
/*******************************************************************************
* $Workfile: R_ALL_DOC_PERIOD.sp $
* $Revision: 1 $
* $Date: 08.01.08 15:04 $
*
* DBVERSION:
* FIX_111000112
*
* DESCRIPTION:
* Процедура возвращает данные для отчета Документы за период.
*
* INPUT PARAMS:
* BDATE Начальная дата отчета
* EDATE Конечная дата отчета
*
* OUTPUT PARAMS:
* IDDOC ID Документа
* DCODE Номер документа
* DDATE Дата документа
*******************************************************************************/
FOR
SELECT did, dcode, ddate1
FROM doc
WHERE ddate1 BETWEEN :bdate AND :edate
INTO :iddoc, :dcode, :ddate
DO
BEGIN
SUSPEND;
END
END
РИСУНОК 2.
Объекты Avarda по закладкам.
Объекты, упомянутые в тексте, помечены красной чертой.
РИСУНОК 3.
Выгрузка в *.iec файл.
Буфера и кнопки.
РИСУНОК 4.
Выгрузка в *.iec файл.
Заполнение буфера метаданных с помощью запроса.
РИСУНОК 5.1.
Передача параметров в отчет из формы.
function SetParam(const AParam: String): Variant;
begin
if AParam = 'BDATE' then Result := Form.BDate.Value
else if AParam = 'EDATE' then Result := Form.EDate.Value;
end;
(предполагается, что на форме есть объекты Bdate и Edate)
РИСУНОК 5.2.
Активация запрса (qS) с приемом параметров из формы.
const
SQLText = 'SELECT * FROM r_all_doc_period (''%s'', ''%s'')';
begin
if qS .Active then qS .Close();
qS.SQL.Text := Format(SQLText, [DateToStr(GetParam(Report,'BDATE')),
DateToStr(GetParam(Report,'EDATE'))]);
qS .Open();
end.
(предполагается, что на листе «Данные» есть запрос с именем qS)