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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.04.2006, 17:23   #1  
murick is offline
murick
Участник
Аватар для murick
 
59 / 10 (1) +
Регистрация: 10.04.2006
Thumbs up
Кто-нибудь может подробно описать как осуществляется экспорт таблицы из Navision в Excel, используя таблицу 370 Excel Buffer?
Старый 19.04.2006, 17:46   #2  
Crew is offline
Crew
Участник
 
11 / 10 (1) +
Регистрация: 16.04.2006
Посмотри как идет работа в отчетах 81 и 82, например, и сделай по образцу.
Там и есть-то всего несколько функций.
__________________
http://dataport.ru/
Старый 19.04.2006, 18:16   #3  
IGG is offline
IGG
Участник
 
665 / 29 (2) +++
Регистрация: 24.08.2005
Адрес: СПб/Москва
Сначала заполняется временный Excel Buffer по определенным правилам
Потом в конце отчета пишется нечто вроде

IF exportToExcel THEN BEGIN
ExcelBuffer.CreateBook;
ExcelBuffer.CreateSheet('STATUS','Description',COMPANYNAME,USERID);
ExcelBuffer.GiveUserControl;
EmptyExcelBuffer;
END;
И все....
Старый 20.04.2006, 13:26   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от IGHG Посмотреть сообщение
Сначала заполняется временный Excel Buffer по определенным правилам
Потом в конце отчета пишется нечто вроде

IF exportToExcel THEN BEGIN
ExcelBuffer.CreateBook;
ExcelBuffer.CreateSheet('STATUS','Description',COMPANYNAME,USERID);
ExcelBuffer.GiveUserControl;
EmptyExcelBuffer;
END;
И все....
И не забываем ExcelBuffer объявлять как временную таблицу

А еще хорошо бы расширить таблцу 370. Что б удобней работать было.
Например, научить её переходить между страницами и пр. Такие... удобные мелочи.
Старый 21.04.2006, 15:30   #5  
murick is offline
murick
Участник
Аватар для murick
 
59 / 10 (1) +
Регистрация: 10.04.2006
А как внутри таблицы 370- Excel Bufer определяется тип данных, заносимых в ячейку?
Например произвольное поле в экспортируемой таблице имеет тип данных CODE. При экспорте в Excel значение отобразится как текстовое. Как сделать так, чтобы в Excel-е это значение в ячейке было числовым?
Старый 21.04.2006, 18:29   #6  
IGG is offline
IGG
Участник
 
665 / 29 (2) +++
Регистрация: 24.08.2005
Адрес: СПб/Москва
Да посмотрите в сам код - там все видно.
Value as text..
Я например хочу накрутить туда установку цвета ячеек-красивше будет
Старый 24.04.2006, 10:00   #7  
murick is offline
murick
Участник
Аватар для murick
 
59 / 10 (1) +
Регистрация: 10.04.2006
Цитата:
Сообщение от IGHG Посмотреть сообщение
Да посмотрите в сам код - там все видно.
Value as text..
Я например хочу накрутить туда установку цвета ячеек-красивше будет
"Cell value as text" - это значение самой ячейки в текстовом формате. То есть таблица 370 отображает в Excel-е эти данные в текстовом виде. В самом же Excel-е можно потом вручную задать тип введённых значений. Наверное такую проверку типов данных можно как-то организовать внутри таблицы 370, чтобы данные в Excel экспортировались корректно. Не могли бы вы рассказать, как конкретно внутри таблцы Excel Bufer определяется тип вводимого в поле "cell value as text" значения? Благодарю за помощь.
Старый 22.01.2008, 12:20   #8  
hozain is offline
hozain
Участник
 
7 / 10 (1) +
Регистрация: 09.01.2008
здраствуйте !
столкнулся с подобной траблой, можно пример кода ЭКСПОРТА в excel например записей столбца "No." из таблицы Customer?
Старый 22.01.2008, 13:16   #9  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от videograve Посмотреть сообщение
здраствуйте !
столкнулся с подобной траблой, можно пример кода ЭКСПОРТА в excel например записей столбца "No." из таблицы Customer?
Посмотрите как осуществляется стандартный экспорт бюджета.
Старый 22.01.2008, 13:21   #10  
hozain is offline
hozain
Участник
 
7 / 10 (1) +
Регистрация: 09.01.2008
смотрел - и непонял...можно простой пример выгрузки одного столбца любой таблицы или хоть даже поля одного?
Старый 22.01.2008, 15:02   #11  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от videograve Посмотреть сообщение
смотрел - и непонял...можно простой пример выгрузки одного столбца любой таблицы или хоть даже поля одного?
Простейший пример:
строим отчет на датаайтеме Item, заводим темповый record ExcelBuffer на таблице 370, заводим счетчик i, на триггере OnAfterGetRecord пишем:

Код:
i := i + 1;
ExcelBuffer.RowNo := i;
ExcelBuffer.ColumnNo := 1;
ExcelBuffer.Cell Value as Text := Item."No."
ExcelBuffer.INSERT;
на триггере OnPostReport пишем (как и сказал IGHG):

Код:
ExcelBuffer.CreateBook;
ExcelBuffer.CreateSheet('STATUS','Description',COMPANYNAME,USERID);
ExcelBuffer.GiveUserControl
;

в итоге получите свой столбец с Кодом товара (только смотрите, чтоб за 64К строк не вылезти).
Старый 23.01.2008, 07:20   #12  
hozain is offline
hozain
Участник
 
7 / 10 (1) +
Регистрация: 09.01.2008
Спасибо ,что не поленились сделать пример!
НО... я делал абсолютно также!
И вот что мне выдаёт...то же что и раньше
[attachment=748:Копия_1.jpg]
Миниатюры
Нажмите на изображение для увеличения
Название: Копия_1.jpg
Просмотров: 319
Размер:	22.3 Кб
ID:	10238  
Старый 23.01.2008, 07:41   #13  
hozain is offline
hozain
Участник
 
7 / 10 (1) +
Регистрация: 09.01.2008
проблема решена конструкцией типа
такая тупость...
Код:
ExcelBuffer.VALIDATE("Row No.",i);
ExcelBuffer.VALIDATE("Column No.",1);
Старый 23.01.2008, 09:49   #14  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от videograve Посмотреть сообщение
проблема решена конструкцией типа
такая тупость...
Код:
ExcelBuffer.VALIDATE("Row No.",i);
ExcelBuffer.VALIDATE("Column No.",1);
сорри, давно не выгружал
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:05.