14.10.2013, 18:31 | #41 |
Участник
|
Цитата:
Сообщение от Дуд
начните запись макроса в Экселе
смените формат какой-нибудь ячейки на "Денежный" остановите запись макроса посмотрите внутрь макроса там будет написано что-то вроде Selection.NumberFormat = "#,##0.00$" Если выгружаете в Эксель через Excel Buffer, то в буффере есть поле "Number Format", пишите туда этот самый #,##0.00$ получил.. то что имею. ExcelMgt.FillCell('S'+FORMAT(i),FORMAT(TaxBillLine.Amount)); пишу- ExcelMgt.FillCellWithFormat('S'+FORMAT(i),FORMAT(TaxBillLine.Amount)"#,##0.00_ð_."); ??? |
|
14.10.2013, 18:45 | #42 |
NavAx
|
надо смотреть, что за ExcelMgt и что он делает внутри этого самого FillCellWithFormat
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
15.10.2013, 11:13 | #43 |
Участник
|
|
|
15.10.2013, 11:36 | #44 |
Участник
|
Интересно, только у меня в шаблоне файла Excel форматы ячеек уже забиты?
ExcelMgt - Codeunit "Excel Management" - содержимое весьма полезно к изучению... Выгружайте хоть в двоичном коде - какой формат имеет ячейка, то и получите. Т.е. если вы отправляете в ячейку число вида 0004567 а у вас в ячейке числовой формат, получите 4567...
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|
15.10.2013, 14:07 | #45 |
Участник
|
Цитата:
Сообщение от zuzka
Интересно, только у меня в шаблоне файла Excel форматы ячеек уже забиты? />
ExcelMgt - Codeunit "Excel Management" - содержимое весьма полезно к изучению... Выгружайте хоть в двоичном коде - какой формат имеет ячейка, то и получите. Т.е. если вы отправляете в ячейку число вида 0004567 а у вас в ячейке числовой формат, получите 4567... |
|
15.10.2013, 14:55 | #46 |
Участник
|
С этим тоже уже пришлось бороться...
Как вариант создать в "Excel Management" функцию для таких нужд, что-то вроде: Код: PROCEDURE NumberFormat@1210034(CellName@1210001 : Text[30];Format@1210000 : Text[30]); BEGIN XlWrkSht.Range(CellName).NumberFormat := Format; END;
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|
13.08.2015, 10:02 | #47 |
Участник
|
А как делается при экспорте в шаблон разрыв страниц с переносом остатков с предыдущей страницы? Вот в счете-фактуре например.
|
|
13.08.2015, 14:46 | #48 |
Участник
|
Посмотрел фактуры поставщиков - никто переносом сумм не заморачивается, а просто шапочку можно и сквозными строками сделать.
|
|
28.08.2015, 17:00 | #49 |
Участник
|
Вот есть у меня три репорта. Счет, счет-фактура и ТОРГ-12. В эксель они выгружаются, если стоит галочка на реквест форме. А теперь внимание, вопрос: как мне их все три одной кнопкой элегантно загнать в один эксельный файл на разные закладки? Или проще будет повесить всё это дело на один репорт, ну вот на фактуру например, и раскидывать в одном репорте по закладкам через ExcelMgt.OpenSheet, благо данные одни и те же?
|
|
28.08.2015, 19:03 | #50 |
Участник
|
Ответ "знатоков":
по идеи, если делать Код: Create(ExlApp) // без true Запускаете печать набора документов, в каждом отчете исчете в открытых книгах Excel книгу с каким-нибудь зарезервированным названием(как вариант, текущую), если нет то создаете, и дальше добавляете новый лист. |
|
23.09.2015, 10:56 | #51 |
Участник
|
Сдается мне работать не будет, т.к. вы не знаете к какому именно из существующих процессов подключитесь, а вероятность, что их будет больше одного вельми велика, ведь каждый открытый пользователем файл екселя запускает новый процесс...
Имхо через один отчет самое простое и надежное... |
|
23.10.2015, 13:37 | #52 |
Участник
|
А какой код надо написать на кнопке, чтобы безо всяких реквест форм и без печати открылся сразу экселевский файл? Например, универсальный передаточный документ, сделанный на репорте счета-фактуры.
|
|
26.10.2015, 10:11 | #53 |
Участник
|
Или способа, кроме как убирать код с секций и делать репорт ProcessingOnly, не существует?
|
|
26.10.2015, 10:35 | #54 |
NavAx
|
Перенести код на форму или кодъюнит
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
22.12.2015, 17:29 | #55 |
Участник
|
Выгружаю книгу операций по товарам в шаблон проверенным способом, а-ля:
Код: ExcelMgt.FillCell('A' + FORMAT(RowNo),ExportItemLedgerEntry."Item No."); Цитата:
Сообщение для программистов C/AL:
В методе Value возникло исключение. Элемент управления OLE или сервер автоматизации возвратил ошибку (HRESULT) -2147352567. Компонент не предоставил описание исключения. Код: XlWrkSht.Range(CellName).Value := CellValueAsText; |
|
22.12.2015, 19:15 | #56 |
Участник
|
Пальцем в небо, но попробуй:
XlWrkSht.Range(CellName).Value := FORMAT(CellValueAsText); Понимаю, что CellValueAsText - уже текст, но все же. |
|
22.12.2015, 22:02 | #57 |
Administrator
|
2 Orwell
молодец |
|
23.12.2015, 09:29 | #58 |
Участник
|
Ошибка выскакивает только в терминале - на простых машинах её нет. Гугл намекает на криво вставший эксель, будем посмотреть. |
|
23.12.2015, 13:11 | #59 |
Участник
|
При исследовании сервера был найден троян, после уничтожения которого всё заработало
|
|