Вопрос, который уже можно заносить в 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.