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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.06.2006, 15:47   #1  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
2 Recoilme
пока не совсем зачот... скорость большая, да, у меня даже еще быстрее получилось - за 13-14 сек Ваш Job70 отрабатывает (на серверной тачке с процессором AMD , 2500, 4 Гб)
НО! Текстовое поле ItemId становится числовым с откусыванием ведущих нулей ("00333" -> 333). Можно исправить ситуацию, например, каким-нибудь тегом?
Старый 08.06.2006, 16:16   #2  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Цитата:
Сообщение от Gustav
2 Recoilme
пока не совсем зачот... скорость большая, да, у меня даже еще быстрее получилось - за 13-14 сек Ваш Job70 отрабатывает (на серверной тачке с процессором AMD , 2500, 4 Гб)
НО! Текстовое поле ItemId становится числовым с откусыванием ведущих нулей ("00333" -> 333). Можно исправить ситуацию, например, каким-нибудь тегом?
Попробуйте так:
PHP код:
        strfmt('%1%2',"'"it.ItemId
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/
Старый 08.06.2006, 19:13   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Recoilme
Попробуйте так:
PHP код:
strfmt('%1%2',"'"it.ItemId
Да, вспоминаю, что такой способ ввода текста в ячейку Excel с ведущим апострофом действительно есть...
Рассмотрим, однако, что происходит при таком подходе.

Допустим у нас есть код номенклатуры ItemId = "000333" (строка - 6 символов). При выгрузке в файл запишется 7 символов: '000333

Для упрощения анализа создадим вручную текстовый файл с единственной строкой: '000333 (7 символов), cохраним его под именем test000333.xls и откроем его Excel-ем:

1. В открывшемся Excel в ячейке А1 так и отображается '000333 т.е. с ведущим апострофом.
2. Введем в соседнюю ячейку B1 формулу: =ДЛСТР(А1) . Результат = 7 (символов)
3. Введем далее в ячейку C1 формулу: =А1 & A1 . Результат = '000333'000333

4. Еще раз посмотрим, что мы имеем к этому времени:
- в ячейке А1 отображается: '000333
- в ячейке B1 отображается: 7
- в ячейке C1 отображается: '000333'000333

5. Войдём в режим редактирования ячейки А1, нажав на ней клавишу F2. И сразу выйдем, нажав Enter.

6. Посмотрим что получилось теперь:
- в ячейке А1 отображается: 000333
- в ячейке B1 отображается: 6
- в ячейке C1 отображается: 000333000333

(т.е. мы наконец достигли в ячейке А1 такой ситуации, которая складывается, когда пользователь вводит последовательность символов '000333 в самом Excel, а не грузит ее из текстового файла с расширением xls)

Выгрузка из Аксапты у Job70, конечно, очень быстрая...
Но вы думаете, пользователь будет счастлив от такого, пусть даже очень быстро полученного, результата?
Старый 09.06.2006, 10:04   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Gustav
НО! Текстовое поле ItemId становится числовым с откусыванием ведущих нулей ("00333" -> 333). Можно исправить ситуацию, например, каким-нибудь тегом?
1. поменяйте формат ячейки на текстовый
2. выгрузите в XML и сравните

Будет что-то типа:
Код:
<Style ss:ID="s21">
 <NumberFormat ss:Format="@"/>
</Style>
...
<Cell ss:StyleID="s21"><Data ss:Type="String">00001</Data></Cell>
PS. Еще раз: надо сделать искейпинг спецсимволов XML чтобы

test&data выгрудалось как test&amp;data а то XL может не понять
Старый 09.06.2006, 10:26   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от belugin
1. поменяйте формат ячейки на текстовый
Максим, я сам - всецело ЗА! Но я говорю сейчас о способе выгрузки, предложенном Recoilme. Т.е. немножко критикую этот момент, связанный с цифровым текстом с ведущими нулями.
Теги
benchmark, download, excel, faq, xml, законченный пример, производительность, экспорт/импорт

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Axapta программирует Excel на VBA Gustav DAX: База знаний и проекты 10 13.03.2006 11:42
Использование OWC.Spreadsheet для ускорения экспорта/импорта в/из Excel. storer DAX: Программирование 24 28.03.2005 19:10
Передача данных из 1С в Axapta 3.0 через COM Connector isbist DAX: Программирование 10 03.12.2004 10:58
Особенности экспорта данных в Excel Roman-sp DAX: Функционал 18 01.03.2004 12:07
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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