Страница 1 из 2
Универсальный журнал-ордер в Excel
Добавлено: 11 май 2004, 16:41
Nick
Возможно ли сделать отчет для документов, формирующих число колонок динамически (Универсальный журнал-ордер) в Excel'е
Делаю для универсального журнала-ордера и чего-то не выходит. Есть такие строки:
_____________________________________________.{.?JOHDR01;_________________.}
№ | Счет/субсчет .{.?JOHDR02;|@~@@@@@@@@@@@@@@.}
п/п| .{.?JOHDR03;|@~@@@@@@@@@@@@@@.}
_____________________________________________.{.?JOHDR04;_________________.} .{.?JOHDR05;.}
с помощью которых как я понял и формируется разное количество столбцов. При Тупом дубовом переносе этих строк в SLK форма компилируется, но при формировании отчета Excel ругается на ошибки чтения-записи, говорит, что не может преобразовать некоторые ячейки и в общем получаем в итоге одну колонку.
При любом другом расположении этих строк (разнос выражений по ячейкам строки и т.д.) приводит к ошибке компиляции.
Можно ли это решить?
И что такое вот это вот: .{.
???
Re: Универсальный журнал-ордер в Excel
Добавлено: 11 май 2004, 17:08
Maverick
Ну что уж тут поделаешь...
Это один из косяков атлантиса... ну не понимает он в Ёкселе ни горизонтальных циклов, ни подобных конструкций формирования строки... Разбор Силка писался давным давно, когда подобных конструкций в атлантисе еще не было...
ищи обходной путь... например, народ тут во всю клепает отчеты напрямую в Экселе с макросами - спроси об этом, может помогут...
Re: Универсальный журнал-ордер в Excel
Добавлено: 11 май 2004, 17:42
Nick
> например, народ тут во всю клепает отчеты напрямую в Экселе с макросами - спроси об этом, может помогут...
Спрашиваю: как?
Re: „T„~„y„r„u„‚„ѓ„p„|„Ћ„~„Ќ„z „w„…„‚„~„p„|-„Ђ„‚„t„u„‚ „r Ex
Добавлено: 11 май 2004, 19:38
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„|?
ща заново
Добавлено: 11 май 2004, 19:39
Nick
ща заново
Re: „‹„p „x„p„~„Ђ„r„Ђ
Добавлено: 11 май 2004, 19:45
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„ђ?
Re: „‹„p „x̶
Добавлено: 11 май 2004, 19:47
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„ђ?
„Ѓ„Ђ„ѓ„|„u„t„~„y„z „‚„p„x
Добавлено: 11 май 2004, 19:47
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„ђ?
Re: Универсальный журнал-ордер в Excel
Добавлено: 11 май 2004, 21:41
Nick
В общем, этот horizontal не работает и в обычных FRM чего-то. Прочитал описалово - надо, говорят, horizontal'ем заменять строки с циклом, т.к. строка с циклом - устаревшая конструкция. Ну думаю, ща заменю и все попрет. Меняю .{.?JOHDR01;-----------.} на .{horizontal JOHDR01-----------.} и потом на {horizontal -----------.} все компилится, но в процессе компиляции говорит, что очень советуем использовать в горизонтальных циклах конструкцию .?<Идентификатор>; - строку с циклом ??? Откомпилилось, запускаю отчет - не работает. Ставлю обратно строку с циклом вместо horizontal - все молча компилится и работает потом ок. В общем, везде где выборочно поменяешь на horizontal - колонки 'плывут' и не печатаются. Что это за такая эрунда ??? Можт чего не так делаю?
Re: Универсальный журнал-ордер в Excel
Добавлено: 12 май 2004, 09:02
Goblin
Maverick, не пугай народ, понимает SLK горизонтальные циклы
Nick, динамическое кол-во столбцов можно в SLK делать с помощью конструкции
.{.?<идент. цикла>;<тело цикла>.}
, есть только ряд ограничений(нигде не описано, методом пробного тыка получено и использовано уже в десятке самописных отчетов):
1) Открываться и закрываться цикл должен в разных ячейках.
2) Открытие или закрытие цикла на ячейку - только одно.
3) Тело цикла должно быть в той же ячейке что и открытие цикла
если не получится - скинь форму на мыло
Re: Универсальный журнал-ордер в Excel
Добавлено: 17 май 2004, 17:50
Nick
Сделал! Все работает
Три правила от Туманова О.В.
1) Открываться и закрываться цикл должен в разных ячейках.
2) Открытие или закрытие цикла на ячейку - только одно.
3) Тело цикла должно быть в той же ячейке что и открытие цикла
и все ок
Еще все стили нужно обязательно срубить в Excel'e - иначе не даст нормально скомпилиться - будет цепляться к спецсимволам и не будет понимать конструкцию формы.
Всем спасибо!
Re: Универсальный журнал-ордер в Excel
Добавлено: 18 май 2004, 11:47
edward_K
я выгнал теже журналы ордера в Excel напрямую(через функции xl). Для этого все поля в fields описал через функцию. slk все таки дает мало возможностей по форматированию, а тут желательны сквозные строки и столбцы(чтоб на каждой странице печаталось).
Re: Универсальный журнал-ордер в Excel
Добавлено: 18 май 2004, 16:07
Nick
А по-подробней где можно почитать, что это за функции и зачем они нужны? Ты в xls 'выгонял'?
Re: Универсальный журнал-ордер в Excel
Добавлено: 19 май 2004, 12:22
edward_K
да.
поподробней тут уже разбиралось и не раз.
мне лень было через матрцу гнать, поэтому в своей функции я менял координату по x(wcolr) и писал xlSetCellStringValue(w,wrowu,wcolr,wrowu,wcolr).
ищи Excel.doc - там это расписано и примерчик есть.
Re: Универсальный журнал-ордер в Excel
Добавлено: 19 май 2004, 18:08
Nick
ok tnx