15.01.2012, 03:14 | #1 |
Участник
|
AX2012: импорт в inventTable из Excel
вот такая задача.
мне нужно сделать загрузку из эксельного файла в ах2012 в таблицу MyTable, которую я сам добавил и связал с inventTable по itemId EcoResProduct.RecId == InventTable.Product InventTable.ItemId == MyTable.ItemId (1:1 relation like that in ItemGroup for example) BOMVersion.ItemId == MyTable.ItemId BOM.ItemId == MyTable.ItemId MyTable содержит информацию о пищевой ценности товаров, поскольку там очень много полей, то решено её хранить в виде отдельной таблицы, а не добавлять поля в InventTable теперь проблемный момент. как известно, в новой версии можно изменять код товара, и мы собираемся этим пользоваться. идея заключается в том, что itemId будет меняться, а ключом для внешней базы, из которой мы собираемся загружать допинфу в мою таблицу, является InventTable.Product проще говоря, в загружаемом эксель файле есть поле product, которое является ключом во внешней базе и через которое, по идее, можно найти запись в моей таблице, но нет поля ItemId, которое является ключевым и требуется для создания (обновления) записи в моей таблице при загрузке из экселя. например, для загрузки самой таблицы InventTable из экселя, требуется два заполненных ключевых поля: ItemId и Product. менять ключевое поле в моей таблице я не могу, потому что по нему идёт привязка к версиям БОМ и строкам БОМ. а вот как извернуться при импорте так, чтобы находить нужную запись или создавать её -- это и есть вопрос. то есть, при загрузке строки из экселя берём код Product, находим в InventTable нужный товар, и если он существует, создаём запись в моей таблице с данными из файла и кодом товара из InventTable: MyTable.ItemId = InventTable::findByProduct().ItemId MyTable.Field1 = Excel.Field1 ... MyTable.Insert() / update() как говорится, помогите! мерси!
__________________
Felix nihil admirari |
|
15.01.2012, 12:14 | #2 |
Участник
|
а закладка "Конвертация" в настройках групп определений вам не поможет?
Пример использования: Импорт из Excel и номерные серии Импорт остатков Последний раз редактировалось S.Kuskov; 15.01.2012 в 12:17. |
|
15.01.2012, 19:10 | #3 |
Участник
|
Цитата:
Сообщение от S.Kuskov
а закладка "Конвертация" в настройках групп определений вам не поможет?
Пример использования: Импорт из Excel и номерные серии Импорт остатков
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
15.01.2012, 22:31 | #4 |
Участник
|
А подпилить временно сам импорт? Не смотрел как в 2012, в 2009 там вызывался doInsert(). Вы можете подпилить его, поставив условие, и вызывать нужный вам метод. Примерно такой механизм предлагался майкрософтом в 2009-й для импорта адресов.
|
|
15.01.2012, 22:35 | #5 |
Участник
|
именно что подпилить! но где??
__________________
Felix nihil admirari |
|
15.01.2012, 23:01 | #6 |
Участник
|
Вы используете новый экселевский Addin для импорта?
|
|
15.01.2012, 23:05 | #7 |
Участник
|
да! прошу прощенья, что не указал изначально.
__________________
Felix nihil admirari |
|
16.01.2012, 12:05 | #8 |
северный Будда
|
Импорт остатков
чем вам не гож такой вариант?
__________________
С уважением, Вячеслав |
|
16.01.2012, 12:54 | #9 |
Участник
|
Цитата:
Сообщение от pitersky
Импорт остатков
чем вам не гож такой вариант? |
|
16.01.2012, 13:40 | #10 |
Участник
|
wojzeh, а в 2012-й осталась проблема при работе с COM объектами ?
При экспорте и импорте также валится ? |
|
16.01.2012, 18:00 | #11 |
Участник
|
Цитата:
с экспортом вообще проблем не бывало -- Ctrl-E (теперь почему-то стало Ctrl-T)
__________________
Felix nihil admirari |
|
16.01.2012, 18:01 | #12 |
Участник
|
Цитата:
Сообщение от pitersky
Импорт остатков
чем вам не гож такой вариант?
__________________
Felix nihil admirari |
|
18.01.2012, 10:52 | #13 |
Участник
|
Цитата:
Вот в AIF сервисе в инсерте можете и запилить нужную вам логику. |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
18.01.2012, 17:10 | #14 |
Участник
|
Цитата:
Сообщение от greench
В блоге коллеги описан механизм импорта с помощью Excel http://ax2012exceldataimport.blogspot.com/
Вот в AIF сервисе в инсерте можете и запилить нужную вам логику.
__________________
Felix nihil admirari |
|