2017-05-03 4 views
1

나는 2.0 리셉션에서 내 손을 잡고있다. 이것은 SuiteScript 2.0에 대한 저의 첫 경험입니다. vendorpayment 레코드를 만들려고합니다. 나는 문제없이 벤더 레코드를 만들 수 있었지만 vendorpayment로 시도 할 때 "이 거래에 적어도 하나의 라인 항목을 입력해야합니다"라는 오류가 발생합니다. 이는 의미가있는 것처럼 보입니다. 그것은 내가 꼼짝 못하게하는 곳이다. 2.0에서 해당 하위 목록 항목을 만들 수 없습니다.NetSuite 2.0 리셀릿에서 vendorpayment 레코드를 만드는 방법은 무엇입니까?

내가 몇 가지를 시도했지만, 기본적으로 나는이 같은 기록을 만드는거야. (유형, isDynamic 및 defaultValues이 함수에서 매개 변수는 isDynamic은 false) :

var rec = record.create({ 
     type: type, 
     isDynamic: isDynamic, 
     defaultValues: defaultValues 
    }); 

그렇다면 내가 할 'rec'를 사용하여 트랜잭션을 추가 하시겠습니까? "개체 DeferredDynamicRecord의 기능 selectLine를 찾을 수 없습니다"나는 그것이 '적용'하위 목록으로 이동 있으리라 믿고있어, 그래서

rec.selectLine('apply', 0); 
    rec.setSublistValue({'sublistId': 'apply', 'fieldId': 'doc', 'value': 'blah', 'line': 0}); 

유사한 몇 가지를 시도했다하지만 난라는 오류가 발생합니다. 나는 다양한 다른 발췌 문장도 시도했지만 사랑은 없다. 나는 그것이 올바른 방향으로 가고 있는지 확신 할 수 없다. 미리 감사드립니다.

답변

0

당신이 제공 한 코드에 따라 약간의 지적이 있습니다. 이 유형의 레코드를 사용하는 경우 defaultValue 속성에 'entity'값을 설정해야 값을 가져 오거나 설정할 수있는 'apply'목록을 사용할 수 있습니다. 다른 옵션은 'isDynamic'을 true로 설정하는 것입니다. 이것으로 '적용'목록에 액세스하기 전에 다시 '엔티티'값을 설정해야합니다.

다음 호는 rec.selectLine() 호출입니다. 레코드가 동적 모드가 아닌 경우 selectLine()을 수행 할 필요가 없습니다. selectLine()을 수행하면 setCurrentSublistValue/Text() 호출을 사용해야합니다.

마지막으로 적용 목록에서 'doc'값을 설정할 수 없습니다. 이것은 동적으로 추가 할 수있는 판매 오더의 Item 하위 목록과 같은 하위 목록이 아닙니다. 그것은 당신이 값을 설정하는 것과 관련된 어떤 옵션을 제한하는 항목 이행에 관한 목록과 비슷합니다. 청구서 지불 화면의 적용 목록에있는 다음 필드에만 영향을 미칠 수 있습니다.

'적용'- 맨 왼쪽의 확인란입니다. '디스크'- Disc Taken 필드. '금액'- 지불 필드입니다.

UI에서 청구서 작성 프로세스를 실행하여 스크립트를 수정하기 전에 프로세스가 타이밍 관점에서 어떻게 작동해야 하는지를 이해하는 것이 좋습니다. 행운을 빈다. 나는 이것이 도움이되기를 바란다.