Показать сообщение отдельно
Старый 18.08.2015, 13:49   #16  
АртемМелихов is offline
АртемМелихов
Участник
Аватар для АртемМелихов
 
120 / 10 (1) +
Регистрация: 18.12.2013
Адрес: Samara
Цитата:
Сообщение от RVS Посмотреть сообщение
Вам не о том сказали. Скидка по строке может зависеть, в том числе, и от количества в строке.



В этом вызове :

X++:
conPrice    = PriceDisc::findItemPriceAgreement(ModuleInventPurchSales::Sales, // модуль
                                                    inventTable.ItemId,             // номенклатура
                                                    InventDim::find(inventDimId),   // аналитики
                                                    inventTableModule.UnitId,       // ед изм
                                                    transDate,                      // дата
                                                    inventTableModule.PriceUnit,    // кол-во (цена)
                                                    "",                             // код клиента
                                                    CompanyInfo::find().CurrencyCode,// валюта из компании
                                                    "");                            // ценовая группа
я бы, для начала, задал то количество, на которое создана ваша "эталонная" строка Заказа, и код клиента. Посмотрел бы на результат. Если не совпадает - начал бы копать дальше.

Более подробно не могу пока - ни одной Аксы нет под рукой, к сожалению.
Попробую более подробнее описать. Я создаю строку в заказе, и модифицирую только поле "код номенклатуры", после это , как правильно заметили, по средствам методов мапа, рассчитывается "цена ед.измерения" и "процент скидки" для одной номенклатуры. Я попробовал приведенный пример, указав, почти все входные параметры
X++:
conPrice    = PriceDisc::findItemPriceAgreement(ModuleInventPurchSales::Sales, // модуль
                                                    inventTable.ItemId,             // номенклатура
                                                    InventDim::find(inventDimId),   // аналитики
                                                    inventTableModule.UnitId,       // ед изм
                                                    transDate,                      // дата
                                                    inventTableModule.PriceUnit,    // кол-во (цена)
                                                    custtable.accountNum,                             // код клиента
                                                    custtable.Currency,// валюта из компании
                                                    custtable.PriceGroup);                            // ценовая группа
и не получаю тех значение, которые рассчитываются при создание строки заказа. Дело в том что в мапе, помимо всего, передаются данные из "складской аналитики". Спасибо, Всем, за участие!