Скрипт корректировки инвентаря с влиянием GL - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь создать сценарий пользовательского события корректировки инвентаризации. тем не менее, я не могу оказать влияние GL, которое происходит после создания записи. Чтобы вызвать влияние GL, я устанавливаю поле Estimated Total Value по сценарию, но получаю сообщение об ошибке «Транзакция не сбалансирована». Но когда я делаю это вручную, та же самая сумма устанавливается в приблизительном общем значении, которое я устанавливаю сценарием

function create_inv_adjustment(fromlocation,adjAccount,objRecord,nRecType)
{
    log.debug('create_inv_adjustment','entry');
    var count = objRecord.getLineCount('custpage_itemsublist');
    log.debug('create_inv_adjustment','lineCount : '+count);
    var new_inv_adjustment = record.create({ type: record.Type.INVENTORY_ADJUSTMENT, isDynamic: true })

        new_inv_adjustment.setValue({ fieldId:'account', value: adjAccount })
        new_inv_adjustment.setValue({ fieldId:'adjlocation', value: fromlocation })

    if(count > 0)
    {
        var estimatedtotalvalue = 0;
        for(i=0; i<count; i++)
        {
            var item = objRecord.getSublistValue({
                sublistId : 'custpage_itemsublist',
                fieldId : 'custpage_item',
                line : i                                        });

            log.debug('create_inv_adjustment','itemName : '+item);

                var quantity = objRecord.getSublistValue({
                    sublistId : 'custpage_itemsublist',
                    fieldId : 'custpage_quantity',
                    line : i                                    });
                log.debug('create_inv_adjustment','itemquantity : '+quantity);
            var description = objRecord.getSublistValue({
                sublistId : 'custpage_itemsublist',
                fieldId : 'custpage_description',
                line : i                                        });

            if(quantity == '' || quantity == null)
            {}
            else
            {
                new_inv_adjustment.selectNewLine({
                    sublistId: 'inventory'
                });
                new_inv_adjustment.setCurrentSublistValue({
                            sublistId: 'inventory',
                            fieldId: 'item',
                            value: item     ,ignoreFieldChange:true             });
                new_inv_adjustment.setCurrentSublistValue({
                            sublistId: 'inventory',
                            fieldId: 'adjustqtyby',
                            value: quantity     ,ignoreFieldChange:true         });
                new_inv_adjustment.setCurrentSublistValue({
                            sublistId: 'inventory',
                            fieldId: 'description',
                            value: chkNull(description) ,ignoreFieldChange:true });
                new_inv_adjustment.setCurrentSublistValue({
                            sublistId: 'inventory',
                            fieldId: 'location',
                            value: chkNull(fromlocation),ignoreFieldChange:true     });
                new_inv_adjustment.commitLine({
                    sublistId: 'inventory'
                });
            }
        }
    }
    var save = new_inv_adjustment.save({    
        enableSourcing: true,
        ignoreMandatoryFields: true
    });
    log.debug('create_inv_adjustment','inv-adj saved : '+save);
}

В настоящее время, только корректировка inv происходит без влияния GL. Могу ли я использовать suiteGL вместо этого?

1 Ответ

0 голосов
/ 02 апреля 2020

При создании корректировки инвентаря по сценарию, установите поле unitcost в linelevel, которое будет влиять на GL после создания этой записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...