Я пытаюсь создать сценарий пользовательского события корректировки инвентаризации. тем не менее, я не могу оказать влияние 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 вместо этого?