Я использую эту функцию:

%%=Lookup("ENT.SBQQ__QuoteLine__c_Salesforce","SBQQ__ProductName__c","sbqq__quote__c", "a0n5E000002KZHQQA4", "SBQQ__Required", @required)=%%

Который работает все время (возвращает правильное значение), за исключением случаев, когда @required имеет значение null (в этом случае он также должен возвращать строку).

Я пробовал с @required = '' или @required = null, но безуспешно.

Как я могу это решить?

Моя цель — получить SBQQ__ProductName__c, где sbqq__quote__c — это a0n5E000002KZHQQA4, И где SBQQ__Required — null.

Спасибо

0
eeadev 16 Апр 2020 в 08:16
Какой тип поля является SBQQ__Required?
 – 
Lukas Lunow
14 Апр 2020 в 16:41
SBQQ__Required – это текст
 – 
eeadev
14 Апр 2020 в 16:52
Даже не = "ноль" работает
 – 
eeadev
14 Апр 2020 в 16:52
1
Вы пробовали пустую функцию %%=Empty(@required)=%% ? Я считаю, что это должно сработать.
 – 
Naveen VM
14 Апр 2020 в 17:13
Да, @eeadev прав, если требуется, пустое значение вернет true = ""
 – 
garek007
14 Апр 2020 в 17:50

1 ответ

Атрибут @required должен иметь значение. Вам нужно будет обработать логику, если она пуста. Итак, если @required пуст, установите другое значение. Значение @required должно быть в расширении данных поиска.

См. Код ниже:

%%[
Set @required = AttributeValue("SBQQ__Required") 
If Empty(@required) THEN
Set @required = "NULL"
set @result = Lookup("ENT.SBQQ__QuoteLine__c_Salesforce","SBQQ__ProductName__c","sbqq__quote__c", "a0n5E000002KZHQQA4", "SBQQ__Required", @required)
Else
set @result = Lookup("ENT.SBQQ__QuoteLine__c_Salesforce","SBQQ__ProductName__c","sbqq__quote__c", "a0n5E000002KZHQQA4", "SBQQ__Required",@required) 
ENDIF
]%%
SBQQ__ProductName__c - %%=v(@result)=%%

Дайте мне знать, если вам нужно что-нибудь.

0
Naveen VM 15 Апр 2020 в 09:30
Спасибо за ваше время @razor, к сожалению, это не работает. если вы установили обязательное значение «NULL», на мой взгляд, ampscript устанавливает значение в строку «NULL», и когда он выполняет поиск, он не возвращает значения, потому что нет такой записи, имеющей «NULL»
 – 
eeadev
15 Апр 2020 в 10:45
Да, это правильно. Вам нужно значение «NULL» в расширении данных поиска вместо пустого. Затем значение будет заполнено. Короче говоря, вам нужно иметь значение для поиска в поле. Если у вас нет значения, он ничего не вернет.
 – 
Naveen VM
15 Апр 2020 в 10:57
Я отредактировал свое первоначальное сообщение, чтобы сделать его более понятным
 – 
eeadev
16 Апр 2020 в 08:15