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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.02.2002, 13:57   #1  
Oks is offline
Oks
Участник
 
26 / 10 (1) +
Регистрация: 30.11.2001
импорт из excel
Что нужно сделать, чтобы при использовании мастера импорта из excel в axapta получить 4 знака после запятой?

Импортирую таблицу PriceDiscTable, в поле Amount стоят величины порядка от 0 до 7 знаков после запятой. Попав в axapta все эти значения округляются до 2 знака после запятой. В axapta для данного поля и всех его прародителей стоит точность вывода в 4 знака и для данной валюты точность округления 0.0001.

Спасибо за внимание.
__________________
Спасибо за внимание,
Оксана
Старый 05.02.2002, 14:52   #2  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,295 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Импорт из CSV файлов
Удивлен, что Вам удалось проимпортить из Excel числовые данные. У меня все числа от 1000 и больше импортировались неверно. Я уже задавал по этому поводу вопрос на форуме. Видимо, связано с настройками Excel, но я разбираться не стал.

Импорт мы производим из CSV файлов. Покажу на примере Вашей таблицы:
1. делаем группу определений с данной таблицей и делаем экспорт в виде 'CSV файл'.
Получаем два файла:

---------- PriceDiscTable.DEF типа такого ----
"EXPFORMAT VER. 2.5","Comma"
"TABLEDEF",315,"PriceDiscTable"
"RECORDDEF",315,21,"Agreement","ItemCode","AccountCode","ItemRelation","AccountRelation","QuantityAmount","FromDate","ToDate","Amount","Currency",
"Percent1","Percent2","DeliveryTime","SearchAgain","PriceUnit","relation","UnitId","Markup","AllocateMarkup","Module","ConfigId"
"RECORDCOUNT",315,5839
"RECORDIDMIN",5520
"RECORDIDMAX",23629
"RECORDCOMPANY","dmr"
------------------------------------------------------------------

-------- и PriceDiscTable.DAT типа такого ----
"RECORD",315,5520,"",0,1,"\300-11327","\304\350\353\345\360",1,"","",0,"USD",0,0,0,1,0,0,"\370\362.",0,0,2,""
"RECORD",315,5521,"",0,1,"\300-11327","\304\350\353\345\360",1,"","",32,"USD",0,0,0,1,0,0,"\370\362.",0,0,2,""
"RECORD",315,5522,"",0,0,"\300\303\356\360\352-12312","1035",1,"","2001/12/09",2.35,"USD",0,0,0,1,0,0,"\370\362.",0,0,2,""
... ну, там много строк
------------------------------------------------------------

В файле .DEF указано по строкам: версия файла, название и id таблицы, список имен полей, количество проэкспортированных строк, мин значено RecId,
макс значение RecId, имя компании.

Далее файл .DAT. В нем все строки имеют один формат: "RECORD",id таблицы, id записи при экспорте, значения полей через запятую.

2. Правится файл .DAT любым текстовым редактором (я Multi-Edit использую). И все.

Опыт показывает:
Число записей при импорте программа берет реально из .DAT файла, хотя я каждый раз правлю и DEF файл на всякий случай.
id записи (третье поле строки в DAT файле) может быть любым. При импорте Аксапта присваивает новые.

3. Импортируются обновленные файлы.

Не претендую на истину в последней инстанции, просто мой опыт.
__________________
Михаил Андреев
https://www.amand.ru
Старый 05.02.2002, 18:18   #3  
Oks is offline
Oks
Участник
 
26 / 10 (1) +
Регистрация: 30.11.2001
файл .TXT
Спасибо, попробовали.
При внимательном (так как данных в таблице было много) просмотре сформированных файлов PriceDiscTable.DAT и PriceDiscTable.DEF выяснилось, что некоторые наименования, для которых предстояло произвести правки, имеют неопознанный вид.
А именно: для названия номенклатуры типа "ОРИ___R20_S2" оказалась запись вида "\316\320\310___R20_S2" (а может это и другое имя). Причем в самой аксапте название выглядит как надо.
Этот факт сильно затруднил, точнее сделал невозможным по времени, подход с использованием .DAT файлов.

А сработал импорт через текстовый файл, который формируется сцеплением полей Excel таблицы в строку с любым разделителем.
Очевидно, что аналогично делается и файл .DAT, только в сцепленные строки нужно будет добавлять префиксы, запятые и кавычки.

И все же можно делать импорт из Excel . И это тоже получилось. Осталось только понять как.
Старый 07.02.2002, 21:36   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Ребяты!
Какие же вы извращенцы.

Хелп:
Administrator's guide
= Managing data
== importing data from other systems

Строка для поиска в хелпе
Using the data export-import facilities to import data from another system

В Аксапте:
Администрирование
= База данных
== Экспорт\импорт
=== Группы определения
Создать группу с помощью Ctrl+N
Снять флажок с поля "Файл определений" (Use definition file)
Далее кнопка "Настройка таблиц"

Можно испортировать текстовый файл с полями заданной ширины, а можно импортировать файл с разделителями. Я обычно использую разделитель "~" и не парюсь с кавычками (Спасибо Гершуну за идею). В импорт можно вставить свои процедуры-хуки на Х++.
__________________
полезное на axForum, github, vk, coub.
Старый 08.02.2002, 10:44   #5  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,295 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Спасибо за совет и отдельно Гершуну за "тильду".
__________________
Михаил Андреев
https://www.amand.ru
Старый 11.02.2002, 12:24   #6  
Oks is offline
Oks
Участник
 
26 / 10 (1) +
Регистрация: 30.11.2001
Thumbs up 4 знака после запятой ИЗ excel
Удалось-таки понять, что мешало импорту из Excel. Это были региональные настройки Windows. Именно там стояли 2 знака после запятой на числовых данных. Изменили на 4 и все прошло успешно.

Кстати, если использовать "Файл определений" и далее по кнопке "Настройка таблиц" , то на предварительном просмотре данных все равно видны те же 2 знака после зпт, правда сам импорт проходит как надо, с четырьмя.

В результате, импорт из excel конечно же более удобен, и хорошо, что он получается. И вполне нормально импортировались числа порядка 1 000.0000 - 50 000.0000.
Старый 11.02.2002, 14:16   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Это точно.
Импорт из Экселя небольших числовых данных удобнее.

только не забывайте, что:
1.
импорт из Экселя происходит через ОЛЕ.
ОЛЕ накладывает свои ограничения на типы и на преобразования между ними
ОЛЕ приводит к тому, что импорт занимает очень много времени.

2.
Существует максимальное число строк, которое можно загрузить из Экселя. Это уже ограничение алгоритма импорта.

Таким образом, для загрузки маленьких таблиц без выкрутасов с типами импорт из Экселя самое то.
__________________
полезное на axForum, github, vk, coub.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Импорт из 'офисной БД' (Excel, Access) Gustav DAX: База знаний и проекты 4 07.06.2008 17:17
Импорт из Excel через шаблон стандартными средствами аксапты NV DAX: Функционал 5 20.01.2005 12:26
Импорт бюджета из Excel OliaM DAX: Функционал 16 13.01.2005 21:56
Проблем импорт из Excel dreshkov DAX: Функционал 1 20.08.2003 16:34
OLAP: Импорт в Excel Hamster DAX: Функционал 2 23.06.2003 07:51
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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