AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.10.2013, 18:31   #41  
srg is offline
srg
Участник
 
116 / 10 (1) +
Регистрация: 20.08.2013
Цитата:
Сообщение от Дуд Посмотреть сообщение
начните запись макроса в Экселе
смените формат какой-нибудь ячейки на "Денежный"
остановите запись макроса
посмотрите внутрь макроса
там будет написано что-то вроде
Selection.NumberFormat = "#,##0.00$"

Если выгружаете в Эксель через Excel Buffer, то в буффере есть поле "Number Format", пишите туда этот самый #,##0.00$
"#,##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  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
надо смотреть, что за ExcelMgt и что он делает внутри этого самого FillCellWithFormat
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 15.10.2013, 11:13   #43  
srg is offline
srg
Участник
 
116 / 10 (1) +
Регистрация: 20.08.2013
Цитата:
Сообщение от Дуд Посмотреть сообщение
надо смотреть, что за ExcelMgt и что он делает внутри этого самого FillCellWithFormat
написали функцию, которая округляет и делает сумму типа децимал, оно текстом выгружало...
Старый 15.10.2013, 11:36   #44  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Интересно, только у меня в шаблоне файла Excel форматы ячеек уже забиты?

ExcelMgt - Codeunit "Excel Management" - содержимое весьма полезно к изучению...

Цитата:
Сообщение от Fierce Посмотреть сообщение
написали функцию, которая округляет и делает сумму типа децимал, оно текстом выгружало...
Выгружайте хоть в двоичном коде - какой формат имеет ячейка, то и получите. Т.е. если вы отправляете в ячейку число вида 0004567 а у вас в ячейке числовой формат, получите 4567...
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 15.10.2013, 14:07   #45  
srg is offline
srg
Участник
 
116 / 10 (1) +
Регистрация: 20.08.2013
Цитата:
Сообщение от zuzka Посмотреть сообщение
Интересно, только у меня в шаблоне файла Excel форматы ячеек уже забиты? />

ExcelMgt - Codeunit "Excel Management" - содержимое весьма полезно к изучению...

Цитата:
Сообщение от Fierce Посмотреть сообщение
написали функцию, которая округляет и делает сумму типа децимал, оно текстом выгружало...
Выгружайте хоть в двоичном коде - какой формат имеет ячейка, то и получите. Т.е. если вы отправляете в ячейку число вида 0004567 а у вас в ячейке числовой формат, получите 4567...
в ячейке был денежный формат, выгружало как текст...
Старый 15.10.2013, 14:55   #46  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Цитата:
Сообщение от Fierce Посмотреть сообщение
в ячейке был денежный формат, выгружало как текст...
С этим тоже уже пришлось бороться...
Как вариант создать в "Excel Management" функцию для таких нужд, что-то вроде:

Код:
PROCEDURE NumberFormat@1210034(CellName@1210001 : Text[30];Format@1210000 : Text[30]);
    BEGIN
      XlWrkSht.Range(CellName).NumberFormat := Format;
    END;
которая там уже имеется)))) под именем SetCellNumberFormat
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 13.08.2015, 10:02   #47  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
А как делается при экспорте в шаблон разрыв страниц с переносом остатков с предыдущей страницы? Вот в счете-фактуре например.
Старый 13.08.2015, 14:46   #48  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
Посмотрел фактуры поставщиков - никто переносом сумм не заморачивается, а просто шапочку можно и сквозными строками сделать.
Старый 28.08.2015, 17:00   #49  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
Вот есть у меня три репорта. Счет, счет-фактура и ТОРГ-12. В эксель они выгружаются, если стоит галочка на реквест форме. А теперь внимание, вопрос: как мне их все три одной кнопкой элегантно загнать в один эксельный файл на разные закладки? Или проще будет повесить всё это дело на один репорт, ну вот на фактуру например, и раскидывать в одном репорте по закладкам через ExcelMgt.OpenSheet, благо данные одни и те же?
Старый 28.08.2015, 19:03   #50  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
Ответ "знатоков":
по идеи, если делать

Код:
Create(ExlApp) // без true
то вы будете подключаться к одному и тому же экземпляру Экселя
Запускаете печать набора документов, в каждом отчете исчете в открытых книгах Excel книгу с каким-нибудь зарезервированным названием(как вариант, текущую), если нет то создаете, и дальше добавляете новый лист.
Старый 23.09.2015, 10:56   #51  
smoyk is offline
smoyk
Участник
 
188 / 13 (1) ++
Регистрация: 20.04.2007
Цитата:
Сообщение от InTacto Посмотреть сообщение
Ответ "знатоков":
Сдается мне работать не будет, т.к. вы не знаете к какому именно из существующих процессов подключитесь, а вероятность, что их будет больше одного вельми велика, ведь каждый открытый пользователем файл екселя запускает новый процесс...
Имхо через один отчет самое простое и надежное...
Старый 23.10.2015, 13:37   #52  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
А какой код надо написать на кнопке, чтобы безо всяких реквест форм и без печати открылся сразу экселевский файл? Например, универсальный передаточный документ, сделанный на репорте счета-фактуры.
Старый 26.10.2015, 10:11   #53  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
Или способа, кроме как убирать код с секций и делать репорт ProcessingOnly, не существует?
Старый 26.10.2015, 10:35   #54  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Перенести код на форму или кодъюнит
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 22.12.2015, 17:29   #55  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
Выгружаю книгу операций по товарам в шаблон проверенным способом, а-ля:
Код:
ExcelMgt.FillCell('A' + FORMAT(RowNo),ExportItemLedgerEntry."Item No.");
Получаю ошибку:
Цитата:
Сообщение для программистов C/AL:
В методе Value возникло исключение. Элемент управления OLE или сервер автоматизации возвратил ошибку (HRESULT) -2147352567.
Компонент не предоставил описание исключения.
Возникает на случайной строке, после перезапуска возникает на случайной строке из следующих за той, на которой споткнулось в предыдущий раз. И так после серии перезапусков рано или поздно удачно всё выгружает. Дебаггер ругается на
Код:
XlWrkSht.Range(CellName).Value := CellValueAsText;
в 12416-ом кодюните. Что это?
Старый 22.12.2015, 19:15   #56  
Romul is offline
Romul
Участник
 
186 / 11 (1) +
Регистрация: 26.12.2007
Пальцем в небо, но попробуй:

XlWrkSht.Range(CellName).Value := FORMAT(CellValueAsText);

Понимаю, что CellValueAsText - уже текст, но все же.
Старый 22.12.2015, 22:02   #57  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
2 Orwell
молодец
Старый 23.12.2015, 09:29   #58  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006

Ошибка выскакивает только в терминале - на простых машинах её нет. Гугл намекает на криво вставший эксель, будем посмотреть.
Старый 23.12.2015, 13:11   #59  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
При исследовании сервера был найден троян, после уничтожения которого всё заработало
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:00.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.