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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.09.2006, 12:58   #1  
Petruccio is offline
Petruccio
Участник
 
35 / 10 (1) +
Регистрация: 12.09.2005
Адрес: Минск
Цитата:
Сообщение от George Nordic
Смотрите класс SalesLineType метод initFromInventTable

С Уважением,
Георгий.

Ps Я делал метод initFromInventJournalTrans на таблице SalesLine и юзал его.
Попробывал так:

Код:
 InventJournalTrans  invJournalTrans;
    SalesLine           salesLine;
    InventDim           inventDim;
    InventTable         inventTable;
    InventItemBarcode   inventItemBarcode;
    ;
    while select invJournalTrans
    where invJournalTrans.JournalId == "Ж00061"
    {
        ttsbegin;
        inventTable = InventTable::find(invJournaltrans.ItemId);
        inventDim = invJournaltrans.inventDim();
        inventItemBarcode = InventItemBarcode::findSalesBarcode(inventTable.itemId);

        inventDim.inventLocationId  = inventTable.salesInventLocationId(inventDim.inventLocationId);
        inventDim.configId          = inventDim.configId
                                ? inventDim.configId
                                : inventTable.standardConfigId;

        inventDim.inventSizeId      = inventDim.InventSizeId
                                ? inventDim.InventSizeId
                                : inventTable.standardInventSizeId;

        inventDim.inventColorId     = inventDim.InventColorId
                                ? inventDim.InventColorId
                                : inventTable.standardInventColorId;

        inventDim.inventDimId       = InventDim::findOrCreate(inventDim).inventDimId;

        salesLine.SalesId = "ЗК0024";
        salesLine.ItemId = invJournaltrans.ItemId;

        salesLine.InventTransId     = invJournaltrans.InventTransId;
        salesLine.inventDimId       = InventDim.inventDimId;

        salesLine.projCategoryId    = inventTable.projCategoryId;
        salesLine.setTaxItemGroup(inventTable.salesTaxItemGroupId());

        salesLine.salesUnit         = inventTable.salesUnitId();
        salesLine.overDeliveryPct   = inventTable.salesOverDeliveryPct();
        salesLine.underDeliveryPct  = inventTable.salesUnderDeliveryPct();

        salesLine.initName(inventTable);
        salesLine.initFromCustExternalItemDescription();

        salesLine.salesQty          = invJournaltrans.Qty;

        salesLine.qtyOrdered        = invJournaltrans.Qty;
        salesLine.costPrice         = inventTable.costPcsPrice(invJournaltrans.InventDimId,inventDim);
        salesLine.priceUnit         = inventTable.salesPriceUnit();
        salesLine.lineAmount        = 0;
        salesLine.lineAmountModified();
        salesLine.barCode           = inventItemBarcode.itemBarCode;
        salesLine.barCodeType       = inventItemBarcode.barcodeSetupId;
        salesLine.dimension         = Dimensions::findDimension(salesLine, inventTable, invJournaltrans.dimension);

        salesLine.setPriceDisc(inventDim);
        salesLine.calcPackingUnit(inventDim);
        salesLine.write();
        ttscommit;
    }
Выдает точно такую же ошибку. Что не так?
Старый 01.09.2006, 13:03   #2  
Lokis is offline
Lokis
Участник
 
8 / 10 (1) +
Регистрация: 14.06.2005
На SalesLine заполнить СonfigID
Старый 01.09.2006, 13:30   #3  
Косых Артём is offline
Косых Артём
Участник
Axapta Retail User
 
123 / 77 (3) ++++
Регистрация: 03.09.2004
Адрес: Москва
Цитата:
Сообщение от Lokis
На SalesLine заполнить СonfigID

и так...

Для каждой номенклатуры (InventTable) проставляется группа складской аналитики (InventDimGroup). Группа складской аналитики определяет свойства складских аналитик для этой группы В том числе и обязательное указывание аналитики во всех операциях с номенклатурами, которые принадлежат к соответствующей группе складской аналитики. Как то: заказы, закупки, складские журналы и прочее...
А так же есть возможность сделать обязательной аналитику только для конкретных операций.

В Вашем случае у какой-то номенклатуры группа складской аналитики определяет обязательное указание конфигурации в строках заказа, и позовляет не указывать конфигурацию в строках складского журнала.

Таким образом, надо определиться:
1) Либо разобраться с группами складской аналитики и настроить их как надо;
2) Таки указать какую-нибудь конфигурацию
inventDim.ConfigId = CofigTable.ConfigId
За это сообщение автора поблагодарили: Petruccio (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Добавление новых строк в SalesLine Qaz Qwerty DAX: База знаний и проекты 6 04.02.2009 17:23
Тормозит копирование строк в буфер обмена ivas DAX: Программирование 20 21.08.2007 15:05
Копирование строк шаблона RV DAX: Программирование 4 24.05.2005 14:10
БАГ: копирование строк накладных в новый заказ Антон Солдатов DAX: Функционал 2 03.12.2004 09:02
Копирование строк в одинаковых таблицах Ivan Mischenko DAX: Программирование 9 15.01.2004 18:08
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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