Показать сообщение отдельно
Старый 30.08.2007, 13:07   #7  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Посмотрел только что всю эту функциональность в 4.0 SP2

При создании заказа из контракта они связываются уже по новому полю - BlanketRefTransId. То есть для контрактов InventRefTransId не заполняется.
А соответственно при пересчете уже все нормально отрабатывает.
Кстати, класс для создания заказа такого уже по другому называется - SalesAutoCreate_ReleaseOrder (был SalesAutoCreate_tmpSalesLine).
Приведенный код для пересчета в 4.0 тоже немного подкорректировали.

Кстати, опять же про 3.0. Не проверял, но скорее всего так:
Проверка
X++:
if (!InventCostItemDim::isBlanketOrderReference(inventTrans))
вообще некорректной получается, если стоит галка "Удаление строк заказа после отгрузки" в параметрах Расчетов с Клиентами.
В методе делается поиск строки контракта по номеру лота. И этой строки может уже не существовать.