Здравствуйте!
Подскажите, пожалуйста, можно ли и как это сделать, если можно, при выводе в отчет slk, который состоит из бланка авизо и расшифровки, сначала заполнить расшифровку, просчитав по ходу итоговые суммы, а потом вернуться в заголовок и заполнить его полученными данными?
Оганизация вывода данных в slk
Модераторы: m0p3e, edward_K, Модераторы
-
- Постоянный обитатель
- Сообщения: 123
- Зарегистрирован: 01 фев 2007, 12:45
- Откуда: Магнитогорск
- Контактная информация:
Re: Оганизация вывода данных в slk
Таки, если это делать на чистом слк, надо сначала рассчитать суммы, а потом уже всё печатать скопом. Если же подключить макросы, можно управиться и за один проход.
Собственно, в Module.bas пишете простенький скрипт, который скопирует сумму, куда надо.
Код: Выделить всё
// после form.ShowFile
var sTempFileName: string;
sTempFileName := GetStringParameter('Files', 'OutputFilesDirectory', 0) + 'tmp.xls';
DeleteFile(sTempFileName);
xlCreateExcel(sTempFileName, false);// xlOpenExcel удаляет открытый файл, поэтому не используется
xlImportModule('Module.bas');
xlRunMacro('Macro');
xlCloseWorkbookByName(sTempFileName);
DeleteFile(sTempFileName);
xlKillExcel;
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
Re: Оганизация вывода данных в slk
Попробуйте так.
Обьявляете в форме таблицу в памяти.
В цикле выгрузки спецификации грузите данные в нее и считаете итог.
После всех циклов выводите заголовок с итогом, а затем цикл по этой табле с выгрузкой спецификации.
Обьявляете в форме таблицу в памяти.
В цикле выгрузки спецификации грузите данные в нее и считаете итог.
После всех циклов выводите заголовок с итогом, а затем цикл по этой табле с выгрузкой спецификации.
Re: Оганизация вывода данных в slk
Спасибо большое, oiko!:) Так и сделала - отчет формируется достаточно быстро:)
Re: Оганизация вывода данных в slk
а можно как-то организовать цикл вывода данных по таблице так, чтобы значения предыдущих ячеек не изменялись?
В первом столбце было фиксированное значение прописано изначально, а в следующем столбце выводился цикл значений из временной таблицы?
Например в шапку таблицы надо выгрузить список счетов из расшифровки:
-----------------------| дебет счета
Авизо акцептовано | 10.2
------------------------| 10.5
Или это можно сделать только макросом - путем копирования значений?
В первом столбце было фиксированное значение прописано изначально, а в следующем столбце выводился цикл значений из временной таблицы?
Например в шапку таблицы надо выгрузить список счетов из расшифровки:
-----------------------| дебет счета
Авизо акцептовано | 10.2
------------------------| 10.5
Или это можно сделать только макросом - путем копирования значений?
-
- Постоянный обитатель
- Сообщения: 123
- Зарегистрирован: 01 фев 2007, 12:45
- Откуда: Магнитогорск
- Контактная информация:
Re: Оганизация вывода данных в slk
Marisha_P,
Конечно, можно!
Надо объявить переменную для шапки, и сделать цикл по таблице со списком счетов, очистив шапку в конце первого прохода:
Причём, можно ухитриться, и очистить шапку не в первом, а во втором проходе, или даже в середине напечатанной таблицы. Как говорится, было бы желание...
Конечно, можно!
Надо объявить переменную для шапки, и сделать цикл по таблице со списком счетов, очистив шапку в конце первого прохода:
Код: Выделить всё
.var
header: string;
.endvar
!... далее в коде
.begin
header := 'Авизо акцептовано';
end.
!... в процессе печати
.{table 'v_acc.Accounts'
.fields
header
Accounts.Num
.endfields
^ | ^ |
.begin
header := '';
end.
.}
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей