Ситуация: Клиент имеет кредитный лимит 50K и 0 Баланс. Клиент заказал сумму, превышающую его кредитный лимит (например, 54 000). Таким образом, уведомление о транзакции должно быть активировано. Проблема: получить клиентскую кредитную лимитную сумму; получить баланс заказа клиента;
Что я пробовал до сих пор:
IF @object_type='17' AND @transaction_type IN ('A','U')
BEGIN
Declare @CredLimit As nvarchar(250)
SET @CredLimit= (SELECT T0.CreditLine FROM OCRD T0
WHERE T0.CardCode=@list_of_cols_val_tab_del)
IF (
SELECT (T0.DocTotal+T1.Balance) FROM ORDR T0 INNER JOIN OCRD T1 ON T0.CardCode=T1.CardCode
WHERE DocStatus='O' AND T1.DocEntry=@list_of_cols_val_tab_del) > @CredLimit
BEGIN
Set @error = -1
SET @error_message = 'Business Partner is Over Credit Limit! Save this document as DRAFT, thank you'
END
END
В SAP b1 есть собственная система, определяющая уведомление о кредитном лимите, но мы не хотим отвечать на его «Да или нет», мы просто хотим сообщить кодировщику SO, что заказ на продажу теперь делает клиента сверх CL и, следовательно, сохранить SO как проект.