Вопрос, который уже можно заносить в FAQ:

Я импортировал список номенклатуры в таблицу InventTable, а в окне Номенклатура ничего не появилось. Что произошло? Что делать?

Зайдите в заказ или закупку. Попробуйте указать номенклатуру. Если в выпадающих списках номенклатура видна, то скорее всего, в таблицу InventTable все загрузилось.

Теперь разберемся с формой, которая показывает номенклатурные единицы. В репозитарии (в средствах разработки) форму можно найти в разделе Forms, ее имя InventTable. Если посмотреть на datasource этой формы, то становится понятно, что эта форма показывает запись только тогда когда есть записи в ТРЕХ таблицах - InventTable, InventTableModule, InventLocation

InventTable

Здесь находится параметры собственно номенклатуры: артикул, наименование, коды групп, вес, объем и т.п. Т.е. параметры, которые показываются на закладках Обзор, Разное, Настройки, Прочее, Аналитика

InventTableModule

Здесь находятся параметры для закупок, заказов: цены закупки и продажи, цены на складе, скидки по закупке и продаже, налоговые группы, количество по умолчанию, склад по умолчанию и т.п. Т.е. параметры, которые показываются на закладках Ссылки, Цена/скидка, Количество. Заметим, что для каждого артикула в таблице InventTableModule обязательно должно быть 3(три) записи - для склада, для закупок, и для заказов.

InventItemLocation

Здесь находятся расширенные параметры склада. Эти параметры можно посмотреть, если форме номенклатурных единиц нажать кнопку Настройки\Местонахождение номенклатуры.

Например, пусть мы хотим загрузить номенклатуру с кодом 100 и наименованием "Тест".

Загружаем в таблицу InventTable

ItemID ItemName ...другие поля...
100 Тест ...

В таблицу InventTableModule три записи.

ItemID ModuleType ...другие поля...
100 0 ...значения для склада
100 1 ...значения для закупок
100 2 ...значения для заказов

В таблицу InventItemLocation

ItemID InventDimId (для Axapta 3.0) ...другие поля...
100 Axapta ...

 

Добавлено 16.11.03: Спасибо за дополнение Пилевину и Зерову.

В Аксапте 3.0, необходимо, чтобы в таблице InventItemLocation было заполнено поле inventDimID. В этом поле должно быть значение, которое возвращает функция InventDim::inventDimIdBlank(). В стандартной Аксапте это строка "Axapta".

Добавлено 18.01.04: Спасибо Глебу Савченко.

В Аксапте 3.0 можно не готовить четыре таблицы. В Аксапте 3.0 можно импортировать данные только в основную таблицу InventTable, а затем выполнить Проверку целостности данных компании (Главное меню \ Основное \ Периодические операции). В качестве параметров надо указать Модуль = Все, Режим проверки = Коррекция ошибок.

 

Буду рад Вашим замечаниям и предложениям.
Мазуркин Сергей, mazzy@mazzy.ru.