Здравствуйте!!
Написала скрипт, который при изменениии даты (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".
Помогите, пожалуйста разобраться в чем дело.
С уважением, Гашникова Екатерина

Нравится

2 комментария

Добрый день, Екатерина!

Ошибка в строке:
var InvoiceID = DataFields.ItemsByName('InvoiceID').Value;
правильный вариант:
var InvoiceID = DataFields.ItemsByName('ID').Value;

Проверил, работает.
Желаю успехов!

Спасибо, большое!!!
Все заработало

Показать все комментарии