2017-07-22 4 views
1

J'ai essayé de transformer une « facture » à « Paiement Remarquer » sans chance. Voici l'erreur que j'ai eue quand j'ai testé mon script.Suitescript transformer de la facture au paiement client

Account: 36714674 
Environment: SandBox 
Date & Time: 7/23/2017 8:37 am 
Record Type: Sales Order 
Internal ID: 697645 
Execution Time: 0.00s 
Script Usage: 0 
Script: Tom Test Invoice 
Type: User Event 
Function: afterSubmit 
Error: JS_EXCEPTION 
{"type":"error.SuiteScriptError","name":"USER_ERROR","message":"Please enter value(s) for: Project, Department","stack":["anonymous(N/recordService)","afterSubmit(/SuiteScripts/tom_test_1.js:47)"],"cause":{"type":"internal error","code":"USER_ERROR","details":"Please enter value(s) for: Project, Department","userEvent":"aftersubmit","stackTrace":["anonymous(N/recordService)","afterSubmit(/SuiteScripts/tom_test_1.js:47)"],"notifyOff":false},"id":"","notifyOff":false} 

Voici mon code suitescript.

define(["N/log", "N/email", "N/record", "N/render"], function(log, email, record, render) { 
 

 
    
 
    function afterSubmit(scriptContext) { 
 
    \t \t 
 
    \t var newOrder = scriptContext.newRecord.id; 
 
    \t 
 
    \t 
 
     var objRecord = record.transform({ 
 
      fromType: record.Type.SALES_ORDER, 
 
      fromId: newOrder, 
 
      toType: record.Type.ITEM_FULFILLMENT 
 
     }); 
 
    \t 
 
    \t var fid = objRecord.save(); 
 
     
 
    \t var objRecord2 = record.transform({ 
 
    \t  fromType: record.Type.SALES_ORDER, 
 
    \t  fromId: newOrder, 
 
    \t  toType: record.Type.INVOICE, 
 
    \t  isDynamic: true, 
 
    \t }); 
 
     
 
     var rid = objRecord2.save(); 
 
     
 
     var objRecord3 = record.transform({ 
 
    \t  fromType: record.Type.INVOICE, 
 
    \t  fromId: rid, 
 
    \t  toType: record.Type.CUSTOMER_PAYMENT, 
 
    \t  isDynamic: true, 
 
    \t }); 
 
     
 
     var rid3 = objRecord3.save(); 
 
    \t 
 
    } 
 

 
    return { 
 
     afterSubmit: afterSubmit 
 
    }; 
 
    
 
});

Comme vous le voyez dans mon code j'ai transformez "Commande" à "Fullfillment" et de "Commande" à "facture" et de « facture » à « Paiement client ».

La partie ne fonctionne pas est la transformée de « facture » à « Paiement client »

Selon l'erreur, je ne sais pas comment et où ajouter le « projet » et "Département" à mon code.

Répondre

2

Vous pouvez essayer d'utiliser l'option ignoreMandatoryFields:

var rid3 = objRecord3.save({ 
    ignoreMandatoryFields: true 
});