Страница 1 из 1

Шахматка: горизонтальные циклы.

Добавлено: 17 июн 2015, 11:34
Irina_
Здравствуйте. Появилась необходимость сформировать шахматку по всем счетам/ субсчетам за период. В журналах-ордерах есть отчет только в текстовом формате, но надо в EXCEL. Текстовый отчет на основе прототипа Jornal, linkform ‘chess_031’, исходник в J_Chess.frn. Проблема в том, что вывод в отчет идет с использованием горизонтальных циклов, а именно:
Шапка отчета:

────────────────────────────────┬.{.?JornAnalH01;───────────────────────────────┬.}────────────────────────────────────
│.{.?JornAnalH02;@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@│.} Суммарные обороты
Основной счет │.{.?JornAnalH03;───────────────┬───────────────┼.}──────────────────┬─────────────────
│.{.?JornAnalH04; дебет │ кредит │.} дебет │ кредит
────────────────────────────────┼.{.?JornAnalH05;───────────────┴───────────────┼.}──────────────────┴─────────────────


Итоги по основному счету/ субсчету по кор.счетам:
.if JornAnalSumSubOsSch
@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ │.{.?JornAnalS12; &'#&&&&&&&&&&& &'#&&&&&&&&&&& │.} &'#&&&&&&&&&&&&&& &'#&&&&&&&&&&&&&&
.{.?JornAnalS13;;false; .}
.end

Может кто-то сталкивался или знает: при формировании отчета заполняется ли какая-то временная таблица с последующим выводом в отчет? Сначала планировала заполнить свою таблицу в памяти, в которой изначально не известно, сколько будет кор.счетов / субсчетов (столько же будет столбцов с оборотами по д-ту и к-ту этих кор.счетов/ субсчетов). В таблице в частности определила
ObD : Array[1..nn] of Double,
ObK : Array[1..nn] of Double,
Где nn – некое максимальное количество различных кор.счетов/ субсчетов
Найти реальное количество кор.счетов/ субсчетов можно при выводе шапки, в ObD и ObK надо писать c3_p1 и c3_p2 соответственно, но не понятно в каком месте исходника вставить это присвоение. И вообще возможно ли такое?

Переделать отчет на FastReport не предлагайте – нет лицензии на него, а соответственно и опыта работы с ним.

Re: Шахматка: горизонтальные циклы.

Добавлено: 17 июн 2015, 11:44
RAJAH

Re: Шахматка: горизонтальные циклы.

Добавлено: 18 июн 2015, 16:22
LaaLaa
Модуль Финансо-ворасчетные операции меню Отчеты/журналы ордера/ универсальный журнал ордер

Этот если не ошибаюсь подходит для большинства жизненных сучаев типа шахматки

Там есть и текстовый формат и фастрепорт и шаблоны эксель

Re: Шахматка: горизонтальные циклы.

Добавлено: 18 июн 2015, 17:15
Irina_
RAJAH, спасибо за ссылку, я сама не нашла эту тему. С SLK вообще не было мысли связываться. Уже несколько отчетов сделала, если опираюсь на прототип: в текстовой присоединенке заполняю таблицу в памяти, а потом вывожу ее в EXCEL с помощью ф-ций из Excel_Lib.pdf. Проблема была с наполнением таблицы данными из горизонтального цикла. Посмотрела указанную Вами тему. В основном это было не совсем то, что надо. Только Edward_K уже в который раз помог советом - вскользь предложил поля в fields описать через функцию. Поэтому сделала следующее: нужные поля, которые в текстовой присоединенке выводились в горизонтальном цикле, а их было 5, описала:
.fields

NameCol(c0p13)

ObDK(c3_p1, 1) ObDK(c3_p2, 2)
ObDK(c1_p1, 1) ObDK(c1_p2, 2)

.endfields
Где ф-ция NameCol возвращает то же значение, что и получает, но попутно дополняет массив названий колонок по кор.счетам/ субсчетам и наращивает количество их вариантов (потом это количество использую в циклах при выводе в EXCEL).
А ф-ция ObDK возвращает то же значение, что и получает, но попутно заполняет в таблице в нужном элементе массива значение оборота по дебету или по кредиту (2-ой параметр ф-ции).
Т.о. проблема с горизонтальными циклами была решена!
Спасибо за советы.

To LaaLaa. Использовала ФРО – Отчеты – Журналы ордера – Формирование. Настройка с типом Шахматка, по д-ту и к-ту, по всем счетам. Формирование вынесла для удобства в отчеты пользователя. В процессе анализа результатов обнаружила неточности и неудобства в стандартном текстовом отчете, которые исправила в своем в Excel. Например:
- в отчет выводятся обороты и по балансовым и по забалансовым (!!!) счетам, если в настройке пытаться исключить забалансовые, то быстро не получится – в интерфейсе только единичный выбор счетов/ субсчетов. Нужно долго и упорно выбирать балансовые.
- обороты выводятся без копеек, а итоги по строкам и столбцам выводятся с копейками. Т.е. при ручном суммировании по строке/ столбцу не всегда получим то, что увидим в отчете.
- по-разному выводится инфо при наличии у основного счета субсчетов и при отсутствии. С этим тоже пришлось бороться.

Re: Шахматка: горизонтальные циклы.

Добавлено: 18 июн 2015, 19:15
Алексей
Тему не читал, но скажу что FR отлично шахматки строит, одной компонентной, там лишь таблицу подсунуть с нужным индексом. Пару раз уже выручал. Правда данные самому подготовить, но это же не сложно. И в отчеты пользователя.

Re: Шахматка: горизонтальные циклы.

Добавлено: 19 июн 2015, 10:26
Irina_
Алексей, я изначально писала, что вариант с FastReport не подходит – нет лицензии на него. Недавно появилось желание попробовать сделать что-то на FR, но обнаружила отсутствие лицензии. Теоретические знания, как известно надо закреплять практикой, а вот с ней пока не получается. Может, когда-нибудь все-таки получится написать отчет на FR.

Re: Шахматка: горизонтальные циклы.

Добавлено: 19 июн 2015, 11:27
LaaLaa
Вы уточните в техподдержке фаст репорт и компиляторы должны входить в базовый пакет лицензий администратора. Обычно лицензии продаются пакетами. Врядли их поштучно выдают.