Здравствуйте!!
Написала скрипт, который при изменениии даты (PaymentDate)в карточке счета (tbl_Invoice)должен суммировать значения полей "Сумма" (Amount) таблицы операций (tbl_Cashflow)и заносить посчитанный результат в поле "Сумма оплаты" (PaymentAmount) таблицы "Счет" (tbl_Invoice).
Код написан внутри скрипта ds_InvoiceScript и выглядет следующим образом:
function DataChange(DataField){
.....
case ('PaymentDate'):
InvoiceScript.OnDataChangeDisabled = true;
try {
var InvoiceID = DataFields.ItemsByName('InvoiceID').Value;
var PaymentAmount = DataFields.ItemsByName('PaymentAmount').Value;
var Summ = GetDetailSummary('tbl_Cashflow', 'InvoiceID', InvoiceID, 'Amount', stSum);
if (IsEmptyValue(Summ))
{
Summ = 0;
}
SetFloatDataFieldWithRound(DataFields.ItemsByName('PaymentAmount'), Summ);
}
finally{
InvoiceScript.OnDataChangeDisabled = false;
}
break;
}
}
При попытке же изменить дату выдается ошибка: "Ошибка выполнения метода 'SelfOnDatasetDataChange".
Помогите, пожалуйста разобраться в чем дело.
С уважением, Гашникова Екатерина
Нравится
Добрый день, Екатерина!
Ошибка в строке:
var InvoiceID = DataFields.ItemsByName('InvoiceID').Value;
правильный вариант:
var InvoiceID = DataFields.ItemsByName('ID').Value;
Проверил, работает.
Желаю успехов!