Самое интересное, что в датасорсе SalesTable на поле CustAccount висит метод modified следующего содержания:
X++:
public void modified()
{;
super();
// Valu RContract -->
if (RContractTable::findPartnerCode(RContractPartnerType::Cust,
salesTable.RcontractCode,
salesTable.RContractAccount,
RContractStatus::Active,
salesTable.InvoiceAccount).recId == 0)
{
salesTable.RContractAccount = "";
salesTable.RContractCode = "";
}
// Valu RContract <--
salesTable.transferCustAccount();
}
Но при изменении кода клиента через вкладку "Обзор" этот метод проверяет наличие договора по старому, а не по новому коду клиента - и естественно не обнуляет поле договора.