Ошибка сохраненного поиска Netsuite в критериях сводки - PullRequest
0 голосов
/ 03 августа 2020

Я делаю сохраненный поиск (нахожу полностью примененные платежи клиентов) со сводкой по критериям введите описание изображения здесь

В пользовательском интерфейсе он работает нормально, но в suitescript выдает эту ошибку:

КОД ОШИБКИ: INVALID_SRCH_SUMMARY_TYP \ n ОПИСАНИЕ: nlobjSearchFilter содержит недопустимый тип сводки: formulanumeri c: СУММ.

Я попытался загрузить поиск

var  searchPayment=search.load({
                   id:'customsearch_paymentsCXC'
                });

Или с помощью расширения SearchExport:

search.create({
                    type: "customerpayment",
                    filters:
                    [
                        ["type","anyof","CustPymt"], 
                        "AND", 
                        ["systemnotes.field","anyof","CUSTBODY_REFJOURNALENTRY_IVA"], 
                        "AND", 
                        ["systemnotes.date","within","thisweek"], 
                        "AND", 
                        ["customer.custentity_zona_cliente","anyof",zonaid], 
                        "AND", 
                        ['sum(formulanumeric: CASE WHEN SUM(NVL({appliedtolinkamount},0)) = MAX(NVL({amount},0)) THEN 1 ELSE 0 END)','equalto','1']
                     ],
                     columns:
                     [
                        search.createColumn({name: "tranid", label: "Document Number"}),
                        search.createColumn({name: "custbody_fe_uuid_cfdi_33", label: "UUID CFDI v3.3"}),
                        search.createColumn({name: "custbody_fe_sf_mensaje_respuesta", label: "Mensaje de Respuesta"}),
                        search.createColumn({
                           name: "tranid",
                           join: "appliedToTransaction",
                           label: "Document Number"
                        }),
                        search.createColumn({
                           name: "internalid",
                           join: "appliedToTransaction",
                           label: "Internal ID"
                        })
                    ]
                 });

, и я все еще получаю та же ошибка в фильтре со сводкой:

['sum(formulanumeric: CASE WHEN SUM(NVL({appliedtolinkamount},0)) = MAX(NVL({amount},0)) THEN 1 ELSE 0 END)','equalto','1']

чего мне здесь не хватает?

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Попробуйте это

...
Filters: [
    ...
    'AND',
    ['formulanumeric: CASE WHEN sum(nvl({appliedtolinkamount},0)) = max(nvl({amount},0)) THEN 1 ELSE 0 END','is','1']
],
...
1 голос
/ 03 августа 2020

Попробуйте использовать объект фильтра вместо массива строк

...
Filters: [
    ...
    'AND',
    Search.createFilter({
        name: 'formulanumeric',
        summary: 'sum',
        operator: 'equalto',
        values: 1,
        formula: 'CASE WHEN SUM(NVL({appliedtolinkamount},0)) = MAX(NVL({amount},0)) THEN 1 ELSE 0 END'
    })
],
...
...