Универсальный журнал-ордер в Excel

ПНР и сопровождение

Модераторы: m0p3e, edward_K, Модераторы

Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Универсальный журнал-ордер в Excel

Сообщение Nick »

Возможно ли сделать отчет для документов, формирующих число колонок динамически (Универсальный журнал-ордер) в Excel'е

Делаю для универсального журнала-ордера и чего-то не выходит. Есть такие строки:

_____________________________________________.{.?JOHDR01;_________________.}
№ | Счет/субсчет .{.?JOHDR02;|@~@@@@@@@@@@@@@@.}
п/п| .{.?JOHDR03;|@~@@@@@@@@@@@@@@.}
_____________________________________________.{.?JOHDR04;_________________.} .{.?JOHDR05;.}

с помощью которых как я понял и формируется разное количество столбцов. При Тупом дубовом переносе этих строк в SLK форма компилируется, но при формировании отчета Excel ругается на ошибки чтения-записи, говорит, что не может преобразовать некоторые ячейки и в общем получаем в итоге одну колонку.
При любом другом расположении этих строк (разнос выражений по ячейкам строки и т.д.) приводит к ошибке компиляции.
Можно ли это решить?
И что такое вот это вот: .{.
???
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: Универсальный журнал-ордер в Excel

Сообщение Maverick »

Ну что уж тут поделаешь...
Это один из косяков атлантиса... ну не понимает он в Ёкселе ни горизонтальных циклов, ни подобных конструкций формирования строки... Разбор Силка писался давным давно, когда подобных конструкций в атлантисе еще не было...
ищи обходной путь... например, народ тут во всю клепает отчеты напрямую в Экселе с макросами - спроси об этом, может помогут...
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: Универсальный журнал-ордер в Excel

Сообщение Nick »

> например, народ тут во всю клепает отчеты напрямую в Экселе с макросами - спроси об этом, может помогут...

Спрашиваю: как? :)
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: „T„~„y„r„u„‚„ѓ„p„|„Ћ„~„Ќ„z „w„…„‚„~„p„|-„Ђ„‚„t„u„‚ „r Ex

Сообщение Nick »

„^„„„Ђ„„ horizontal „‰„u„s„Ђ-„„„Ђ „y „r FRM „~„u „‚„p„q„Ђ„„„p„u„„: „K„p„{ „Ѓ„‚„Ђ„‰„y„„„p„| „r „Ђ„Ѓ„y„ѓ„…„‡„u - „y„} „~„p„t„Ђ „x„p„}„u„~„‘„„„Ћ „ѓ„„„‚„Ђ„{„… „ѓ „€„y„{„|„Ђ„}, „„.„{. „ѓ„„„‚„Ђ„{„p „ѓ „€„y„{„|„Ђ„} - „…„ѓ„„„p„‚„u„r„Љ„p„‘ „{„Ђ„~„ѓ„„„‚„…„{„€„y„‘.
„H„p„}„u„~„‘„ђ: .{.?JOHDR01;„¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „~„p .{horizontal JOHDR01 „¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „y„|„y „~„p .{horizontal „¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} - „r„ѓ„u „{„Ђ„}„Ѓ„y„|„y„„„ѓ„‘, „~„Ђ „~„u „‚„p„q„Ђ„„„p„u„„ („P„‚„y„‰„u„} „r „Ѓ„‚„Ђ„€„u„ѓ„ѓ„u „{„Ђ„}„Ѓ„y„|„p „s„Ђ„r„Ђ„‚„y„„, „‰„„„Ђ „}„Ђ„| „…„q„u„t„y„„„u„|„Ћ„~„p„‘ „Ѓ„‚„Ђ„ѓ„Ћ„q„p „r „s„Ђ„‚„y„x„Ђ„~„„„p„|„Ћ„~„Ќ„‡ „€„y„{„|„p„‡ „y„ѓ„Ѓ„Ђ„|„Ћ„x„Ђ„r„p„„„Ћ „{„Ђ„~„ѓ„„„‚„…„{„€„y„ђ .{.?<„y„t„u„~„„„y„†„y„{„p„„„Ђ„‚> - „ѓ„„„‚„Ђ„{„… „ѓ „€„y„{„|„Ђ„} ???). „R„„„p„r„|„ђ „ѓ„„„‚„Ђ„{„… „ѓ „€„y„{„|„Ђ„} „Ђ„q„‚„p„„„~„Ђ „r„}„u„ѓ„„„Ђ horizontal - „r„ѓ„u „Ђ„{ „‚„p„q„Ђ„„„p„u„„.
„X„„„Ђ „x„p „Џ„‚„…„~„t„p „„„p„{„p„‘. „M„Ђ„w„„ „‰„u„s„Ђ „~„u „„„p„{ „t„u„|„p„|?
:P
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

ща заново

Сообщение Nick »

ща заново
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: „‹„p „x„p„~„Ђ„r„Ђ

Сообщение Nick »

„B „Ђ„q„‹„u„}, „Џ„„„Ђ„„ horizontal „~„u „‚„p„q„Ђ„„„p„u„„ „y „r „Ђ„q„Ќ„‰„~„Ќ„‡ FRM „‰„u„s„Ђ-„„„Ђ. „P„Ђ„‰„y„„„p„| „Ђ„Ѓ„y„ѓ„p„|„Ђ„r„Ђ - „~„p„t„Ђ horisontal'„u„} „x„p„}„u„~„‘„„„Ћ „ѓ„„„‚„Ђ„{„y „ѓ „€„y„{„|„Ђ„}, „„.„{. „ѓ„„„‚„Ђ„{„p „ѓ „€„y„{„|„Ђ„} - „…„ѓ„„„p„‚„u„r„Љ„p„‘ „{„Ђ„~„ѓ„„„‚„…„{„€„y„‘.
„N„… „t„…„}„p„ђ - „‹„p „x„p„}„u„~„ђ. „M„u„~„‘„ђ: .{.?JOHDR01;„¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „~„p .{horizontal JOHDR01 „¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „y „Ѓ„Ђ„„„Ђ„} „~„p .{horizontal „¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „B„ѓ„u „{„Ђ„}„Ѓ„y„|„y„„„ѓ„‘, „~„Ђ „r „Ѓ„‚„Ђ„€„u„ѓ„ѓ„u „{„Ђ„}„Ѓ„y„|„‘„€„y„y „s„Ђ„r„Ђ„‚„y„„, „‰„„„Ђ „}„Ђ„| „Ђ„‰„u„~„Ћ „ѓ„Ђ„r„u„„„…„u„} „y„ѓ„Ѓ„Ђ„|„Ћ„x„Ђ„r„p„„„Ћ „r „s„Ђ„‚„y„x„Ђ„~„„„p„|„Ћ„~„Ќ„‡ „€„y„{„|„p„‡ „{„Ђ„~„ѓ„„„‚„…„{„€„y„ђ „„„y„Ѓ„p .?<„I„t„u„~„„„y„†„y„{„p„„„Ђ„‚>; - „ѓ„„„‚„Ђ„{„… „ѓ „€„y„{„|„Ђ„} ??? „O„„„{„Ђ„}„Ѓ„y„|„y„|„Ђ„ѓ„Ћ - „~„u „‚„p„q„Ђ„„„p„u„„. „R„„„p„r„|„ђ „Ђ„q„‚„p„„„~„Ђ „ѓ„„„‚„Ђ„{„… „ѓ „€„y„{„|„Ђ„} „r„}„u„ѓ„„„Ђ horizontal - „r„ѓ„u „{„Ђ„}„Ѓ„y„|„y„„„ѓ„‘ „}„Ђ„|„‰„p „y „‚„p„q„Ђ„„„p„u„„ „Ѓ„Ђ„„„Ђ„} „Ђ„{. „X„„„Ђ „x„p „^„‚„…„~„t„p „„„p„{„p„‘. „M„Ђ„w„„ „‰„u„s„Ђ „~„u „„„p„{ „t„u„|„p„ђ?
:P
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: &#8222;&#8249;&#8222;p &#8222;x&#822

Сообщение Nick »

„B „Ђ„q„‹„u„}, „Џ„„„Ђ„„ horizontal „~„u „‚„p„q„Ђ„„„p„u„„ „y „r „Ђ„q„Ќ„‰„~„Ќ„‡ FRM „‰„u„s„Ђ-„„„Ђ. „P„Ђ„‰„y„„„p„| „Ђ„Ѓ„y„ѓ„p„|„Ђ„r„Ђ - „~„p„t„Ђ horisontal'„u„} „x„p„}„u„~„‘„„„Ћ „ѓ„„„‚„Ђ„{„y „ѓ „€„y„{„|„Ђ„}, „„.„{. „ѓ„„„‚„Ђ„{„p „ѓ „€„y„{„|„Ђ„} - „…„ѓ„„„p„‚„u„r„Љ„p„‘ „{„Ђ„~„ѓ„„„‚„…„{„€„y„‘.
„N„… „t„…„}„p„ђ - „‹„p „x„p„}„u„~„ђ. „M„u„~„‘„ђ: .{.?JOHDR01;„¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „~„p .{horizontal JOHDR01 „¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „y „Ѓ„Ђ„„„Ђ„} „~„p .{horizontal „¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „B„ѓ„u „{„Ђ„}„Ѓ„y„|„y„„„ѓ„‘, „~„Ђ „r „Ѓ„‚„Ђ„€„u„ѓ„ѓ„u „{„Ђ„}„Ѓ„y„|„‘„€„y„y „s„Ђ„r„Ђ„‚„y„„, „‰„„„Ђ „}„Ђ„| „Ђ„‰„u„~„Ћ „ѓ„Ђ„r„u„„„…„u„} „y„ѓ„Ѓ„Ђ„|„Ћ„x„Ђ„r„p„„„Ћ „r „s„Ђ„‚„y„x„Ђ„~„„„p„|„Ћ„~„Ќ„‡ „€„y„{„|„p„‡ „{„Ђ„~„ѓ„„„‚„…„{„€„y„ђ „„„y„Ѓ„p .?<„I„t„u„~„„„y„†„y„{„p„„„Ђ„‚>; - „ѓ„„„‚„Ђ„{„… „ѓ „€„y„{„|„Ђ„} ??? „O„„„{„Ђ„}„Ѓ„y„|„y„|„Ђ„ѓ„Ћ - „~„u „‚„p„q„Ђ„„„p„u„„. „R„„„p„r„|„ђ „Ђ„q„‚„p„„„~„Ђ „ѓ„„„‚„Ђ„{„… „ѓ „€„y„{„|„Ђ„} „r„}„u„ѓ„„„Ђ horizontal - „r„ѓ„u „{„Ђ„}„Ѓ„y„|„y„„„ѓ„‘ „}„Ђ„|„‰„p „y „‚„p„q„Ђ„„„p„u„„ „Ѓ„Ђ„„„Ђ„} „Ђ„{. „X„„„Ђ „x„p „^„‚„…„~„t„p „„„p„{„p„‘. „M„Ђ„w„„ „‰„u„s„Ђ „~„u „„„p„{ „t„u„|„p„ђ?
:P
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

„Ѓ„Ђ„ѓ„|„u„t„~„y„z „‚„p„x

Сообщение Nick »

„B „Ђ„q„‹„u„}, „Џ„„„Ђ„„ horizontal „~„u „‚„p„q„Ђ„„„p„u„„ „y „r „Ђ„q„Ќ„‰„~„Ќ„‡ FRM „‰„u„s„Ђ-„„„Ђ. „P„Ђ„‰„y„„„p„| „Ђ„Ѓ„y„ѓ„p„|„Ђ„r„Ђ - „~„p„t„Ђ horisontal'„u„} „x„p„}„u„~„‘„„„Ћ „ѓ„„„‚„Ђ„{„y „ѓ „€„y„{„|„Ђ„}, „„.„{. „ѓ„„„‚„Ђ„{„p „ѓ „€„y„{„|„Ђ„} - „…„ѓ„„„p„‚„u„r„Љ„p„‘ „{„Ђ„~„ѓ„„„‚„…„{„€„y„‘.
„N„… „t„…„}„p„ђ - „‹„p „x„p„}„u„~„ђ. „M„u„~„‘„ђ: .{.?JOHDR01;„¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „~„p .{horizontal JOHDR01 „¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „y „Ѓ„Ђ„„„Ђ„} „~„p .{horizontal „¦„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ„џ.} „B„ѓ„u „{„Ђ„}„Ѓ„y„|„y„„„ѓ„‘, „~„Ђ „r „Ѓ„‚„Ђ„€„u„ѓ„ѓ„u „{„Ђ„}„Ѓ„y„|„‘„€„y„y „s„Ђ„r„Ђ„‚„y„„, „‰„„„Ђ „}„Ђ„| „Ђ„‰„u„~„Ћ „ѓ„Ђ„r„u„„„…„u„} „y„ѓ„Ѓ„Ђ„|„Ћ„x„Ђ„r„p„„„Ћ „r „s„Ђ„‚„y„x„Ђ„~„„„p„|„Ћ„~„Ќ„‡ „€„y„{„|„p„‡ „{„Ђ„~„ѓ„„„‚„…„{„€„y„ђ „„„y„Ѓ„p .?<„I„t„u„~„„„y„†„y„{„p„„„Ђ„‚>; - „ѓ„„„‚„Ђ„{„… „ѓ „€„y„{„|„Ђ„} ??? „O„„„{„Ђ„}„Ѓ„y„|„y„|„Ђ„ѓ„Ћ - „~„u „‚„p„q„Ђ„„„p„u„„. „R„„„p„r„|„ђ „Ђ„q„‚„p„„„~„Ђ „ѓ„„„‚„Ђ„{„… „ѓ „€„y„{„|„Ђ„} „r„}„u„ѓ„„„Ђ horizontal - „r„ѓ„u „{„Ђ„}„Ѓ„y„|„y„„„ѓ„‘ „}„Ђ„|„‰„p „y „‚„p„q„Ђ„„„p„u„„ „Ѓ„Ђ„„„Ђ„} „Ђ„{. „X„„„Ђ „x„p „^„‚„…„~„t„p „„„p„{„p„‘. „M„Ђ„w„„ „‰„u„s„Ђ „~„u „„„p„{ „t„u„|„p„ђ?
:P
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: Универсальный журнал-ордер в Excel

Сообщение Nick »

В общем, этот horizontal не работает и в обычных FRM чего-то. Прочитал описалово - надо, говорят, horizontal'ем заменять строки с циклом, т.к. строка с циклом - устаревшая конструкция. Ну думаю, ща заменю и все попрет. Меняю .{.?JOHDR01;-----------.} на .{horizontal JOHDR01-----------.} и потом на {horizontal -----------.} все компилится, но в процессе компиляции говорит, что очень советуем использовать в горизонтальных циклах конструкцию .?<Идентификатор>; - строку с циклом ??? Откомпилилось, запускаю отчет - не работает. Ставлю обратно строку с циклом вместо horizontal - все молча компилится и работает потом ок. В общем, везде где выборочно поменяешь на horizontal - колонки 'плывут' и не печатаются. Что это за такая эрунда ??? Можт чего не так делаю?
:P
Goblin
Местный житель
Сообщения: 474
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь-матушка
Контактная информация:

Re: Универсальный журнал-ордер в Excel

Сообщение Goblin »

Maverick, не пугай народ, понимает SLK горизонтальные циклы :)

Nick, динамическое кол-во столбцов можно в SLK делать с помощью конструкции
.{.?<идент. цикла>;<тело цикла>.}
, есть только ряд ограничений(нигде не описано, методом пробного тыка получено и использовано уже в десятке самописных отчетов):
1) Открываться и закрываться цикл должен в разных ячейках.
2) Открытие или закрытие цикла на ячейку - только одно.
3) Тело цикла должно быть в той же ячейке что и открытие цикла

если не получится - скинь форму на мыло
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: Универсальный журнал-ордер в Excel

Сообщение Nick »

Сделал! Все работает 8)

Три правила от Туманова О.В.
1) Открываться и закрываться цикл должен в разных ячейках.
2) Открытие или закрытие цикла на ячейку - только одно.
3) Тело цикла должно быть в той же ячейке что и открытие цикла
и все ок

Еще все стили нужно обязательно срубить в Excel'e - иначе не даст нормально скомпилиться - будет цепляться к спецсимволам и не будет понимать конструкцию формы.

Всем спасибо!
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Универсальный журнал-ордер в Excel

Сообщение edward_K »

я выгнал теже журналы ордера в Excel напрямую(через функции xl). Для этого все поля в fields описал через функцию. slk все таки дает мало возможностей по форматированию, а тут желательны сквозные строки и столбцы(чтоб на каждой странице печаталось). :)
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: Универсальный журнал-ордер в Excel

Сообщение Nick »

А по-подробней где можно почитать, что это за функции и зачем они нужны? Ты в xls 'выгонял'?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Универсальный журнал-ордер в Excel

Сообщение edward_K »

да.
поподробней тут уже разбиралось и не раз.
мне лень было через матрцу гнать, поэтому в своей функции я менял координату по x(wcolr) и писал xlSetCellStringValue(w,wrowu,wcolr,wrowu,wcolr).
ищи Excel.doc - там это расписано и примерчик есть. :)
Nick
Местный житель
Сообщения: 331
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Белгород

Re: Универсальный журнал-ордер в Excel

Сообщение Nick »

ok tnx :)
Ответить