![]() |
#5 |
Участник
|
Цитата:
DAX2009,ru5 Нет вывода в Excel стандартных отчетов Кстати, о какой версии Axapta идет речь? Если эту доработку у Вас не трогали, то там экспорт идет через буфер обмена, содержимое которого формируется именно через strFmt(). Как следствие, количество знаков автоматически округляется до 2. Если Вы хотите этого избежать, то Вам надо либо модифицировать класс подготовки данных для экспорта в Excel, либо конвертировать число в строку уже в стандартном отчете Axapta. Тогда класс экспорта возмет ее "как есть" ------------------ PS: Если речь идет о версии Ax3.0 или выше, то, можно выполнить модификацию классов Columbus следующим образом. 1. Вызов их класса находится в методе стандартного класса \Classes\ClassFactory\createViewer(). Как именно он называется я не знаю, но его имя, скорее всего он будет содержать слово "Excel" и вызываться в case ReportOutputUserType::Viewer4 2. В этом классе должен быть метод writeReal(). Так вот, в нем вместо конструкции вроде StrFmt("%1",_field.value()) необходимо записать _field.formatValue() Свойство formatValue() как раз и преобразовывает значение в символьную строку с учетом всех настроенных форматов в отчете. Вот этих самых NoOfDecimals и MinNoOfDecimals. Правда, могут возникнуть проблемы с форматированием уже в Excel. Но в данном случае это решаемо указанием формата ячейки в Excel после вывода отчета. Аналогичным образом следует модифицировать методы writeSum(), writeInt(), writeDate() в том же классе. Последний раз редактировалось Владимир Максимов; 16.06.2011 в 18:35. |
|
|
За это сообщение автора поблагодарили: Яга (1). |
Теги |
excel, экспорт, экспорт в excel |
|
|