Maira S's Profile
Beginner
115
Points

Questions
30

Answers
27

  • Item name is setting to product field when using getsublistvalue. I cant test it because its in production. Will know only after tested by client side

    .

    • 35 views
    • 10 answers
    • 0 votes
  • It is there. Now I parsed item value. Will it set internal id now?

    /**
    * @NApiVersion 2.x
    * @NScriptType ScheduledScript
    * @NModuleScope SameAccount
    */

    define([‘N/record’,’N/search’,’N/runtime’], function(record,search,runtime) {

    function execute(context) {

    try {
    var script = runtime.getCurrentScript();
    var id = script.getParameter({name: ‘custscript_qa_record_id’});
    var type = script.getParameter({name: ‘custscript_qa_record_type’});
    log.debug(‘i_qa_record_id:’, id+’,i_qa_record_type=’+type);

    if(id && type)
    {
    var REC;
    var quote = record.load({type: type, id: id});
    log.debug(‘quote:==’,quote);
    var customer = quote.getValue({fieldId: ‘entity’});
    log.debug(‘customer:==’,customer);
    var shipdate = quote.getValue({fieldId: ‘custbody_riggs_ship_date_qt’});
    log.debug(‘shipdate:==’,shipdate);
    var d_verified_date = quote.getValue({fieldId: ‘custbody_riggs_verified_date_quote’});
    log.debug(‘d_verified_date:==’,d_verified_date);
    if(shipdate){
    var NewShipDate = new Date(shipdate);
    }
    if(NewShipDate)
    {
    var lessThanTwoYears = NewShipDate.setDate(NewShipDate.getDate() + 650); // add 650 days in shipdate
    }
    if(lessThanTwoYears)
    {
    lessThanTwoYears = new Date(lessThanTwoYears);
    log.debug(‘lessThanTwoYears:==’,lessThanTwoYears);
    }
    if(NewShipDate)
    {
    var olderThanThreeYears = NewShipDate.setDate(NewShipDate.getDate() + 1095); // add 1095 days in shipdate
    }
    if(olderThanThreeYears)
    {
    olderThanThreeYears = new Date(olderThanThreeYears);
    log.debug(‘olderThanThreeYears:==’,olderThanThreeYears);
    }

    var diffDays;
    if(d_verified_date)
    {
    var one_day=1000*60*60*24;
    var fromDate = d_verified_date;
    var toDate= new Date();

    var date1 = format.parse({value:fromDate, type: format.Type.DATE});
    var date2 = format.parse({value:toDate, type: format.Type.DATE});

    var date3=Math.round((date2-date1)/one_day);

    diffDays = date3+1;
    }

    var lineCount = quote.getLineCount({sublistId: ‘item’});
    var date = quote.getValue({fieldId: ‘trandate’});
    log.debug(‘date:==’,date);
    if(date){
    var tranDate = new Date(date);
    var endUseDate = tranDate.setDate(tranDate.getDate() + 1095); // add 1095 days in trandate
    log.debug(‘endUseDate:==’,new Date(endUseDate));
    }

    for(var cnt=0; cnt<lineCount; cnt++)
    {
    var i_quote = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_far_trn_relatedasset’, line: cnt});
    var item = quote.getSublistText({sublistId: ‘item’, fieldId: ‘item’, line: cnt});
    var item_1 = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘item’, line: cnt});
    log.debug(‘item===’,item+’===item_1===’+item_1);
    var itemId=parseInt(item_1);
    log.debug(‘i_quote===’,i_quote);

    var amount = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘amount’, line: cnt});
    log.debug(‘amount’,amount);
    var item_department = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_list_record_department’, line: cnt});
    log.debug(‘item_department’,item_department);
    var item_class = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_list_record_class’, line: cnt});
    log.debug(‘item_class’,item_class);
    var item_division = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_list_quote_record_div’, line: cnt});
    log.debug(‘item_division’,item_division);
    var item_display_requirement = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘custcol_list_req_item_display_req’, line: cnt});
    log.debug(‘item_display_requirement=’,item_display_requirement);

    var serialNum_arr = [];
    //Get Serial number/Lot Number from Inventory details
    var obj_inventory = quote.getSublistSubrecord({sublistId: ‘item’, fieldId: ‘inventorydetail’,line: cnt});
    log.debug(‘obj_inventory:==’,obj_inventory);
    var i_cnt = obj_inventory.getLineCount({sublistId:”inventoryassignment”});
    log.debug(‘i_cnt:==’,i_cnt);
    var serial_Hidden = ”;

    for (var i=0; i < i_cnt; i++)
    {
    if(obj_inventory){
    var serialNo = obj_inventory.getSublistText({sublistId: ‘inventoryassignment’,fieldId: ‘issueinventorynumber’,line: i});
    log.debug(‘serialNo:==’,serialNo);
    serialNum_arr.push(serialNo);

    serial_Hidden += serialNo.substring(serialNo.length – 8);
    if(i < i_cnt – 1){
    serial_Hidden += ‘, ‘;
    }
    }

    }
    log.debug(‘array serial_Hidden:==’, serial_Hidden);
    log.debug(‘array List:==’, serialNum_arr);

    var itemRec = quote.getSublistValue({sublistId: ‘item’, fieldId: ‘item’, line: cnt});
    log.debug(‘ItemRec==’,itemRec);

    var isinactive;
    if(itemRec){
    var inventoryItemLookup = search.lookupFields({
    type: “inventoryitem”,
    id: itemRec,
    columns: [‘isinactive’]
    });
    log.debug(‘inventoryItemLookup’, inventoryItemLookup);

    isinactive = inventoryItemLookup.isinactive;
    log.debug(‘IsActive=’,isinactive);
    }

    if(i_quote)
    {
    REC = record.load({type: ‘customrecord_ncfar_asset’, id:i_quote, isDynamic: true});//FAM record id
    REC.setValue({fieldId: ‘customform’, value:101 });
    REC.setValue({fieldId: ‘altname’, value:item });
    REC.setValue({fieldId: ‘custrecord_products’, value:itemId });
    REC.setValue({fieldId: ‘custrecord_assettype’, value: 106});
    REC.setValue({fieldId: ‘custrecord_assetcost’, value: amount});
    REC.setValue({fieldId: ‘custrecord_assetsubsidiary’, value: 1});
    REC.setValue({fieldId: ‘custrecord_customer_fld_lst’, value: customer});
    REC.setValue({fieldId: ‘custrecord_fam_account’, value: customer});
    //REC.setValue({fieldId: ‘custrecord_asset_ship_date’, value:shipdate});
    REC.setValue({fieldId: ‘custrecord_end_use_date1’, value: new Date(endUseDate)});
    REC.setValue({fieldId: ‘custrecord_assetresidualvalue’, value:0.00});

    /*if(serialNum_arr)
    {
    serialNum_arr = serialNum_arr.toString().replace(‘[“‘,”);
    serialNum_arr = serialNum_arr.toString().replace(‘]”‘,”);
    REC.setValue({fieldId: ‘custrecord_assetserialno’, value: serialNum_arr});//serialNum_arr.join(‘, ‘)
    }else{
    REC.setValue({fieldId: ‘custrecord_assetserialno’, value: ”});
    }*/
    if(item_division == ’14’ && serial_Hidden){
    REC.setValue({fieldId: ‘custrecordasset_serial_hiddeen’, value: serial_Hidden});
    }else{
    REC.setValue({fieldId: ‘custrecordasset_serial_hiddeen’, value: ”});
    }
    if(lessThanTwoYears > new Date()){
    REC.setValue({fieldId: ‘custrecord_less_than_two_years’, value: true});
    }else{
    REC.setValue({fieldId: ‘custrecord_less_than_two_years’, value: false});
    }
    if(item_division){
    REC.setValue({fieldId: ‘custrecord_brandd’, value: item_division});
    }
    if(item_class){
    REC.setValue({fieldId: ‘custrecord_product_familys’, value: item_class});
    }
    if(isinactive == true){
    REC.setValue({fieldId: ‘custrecord_discounted_model’, value: true});
    }else{
    REC.setValue({fieldId: ‘custrecord_discounted_model’, value: false});
    }
    if(diffDays)
    {
    REC.setValue({fieldId: ‘custrecord_asset_years_on_display’, value: diffDays});
    }
    if(olderThanThreeYears < new Date()){
    REC.setValue({fieldId: ‘custrecord_older_than_three_year’, value: true});
    }else{
    REC.setValue({fieldId: ‘custrecord_older_than_three_year’, value: false});
    }
    /*if(shipdate)
    {
    REC.setValue({fieldId: ‘custrecord_asset_ship_date’, value: shipdate});
    }*/
    if(item_display_requirement){
    REC.setValue({fieldId: ‘custrecord_list_record_dis_req’, value: item_display_requirement});
    }
    var recId = REC.save({enableSourcing: true, ignoreMandatoryFields: true});
    log.debug(‘Loaded Display Asset Request: ‘+recId);
    quote.setSublistValue({sublistId: ‘item’,fieldId: ‘custcol_far_trn_relatedasset’,value: recId,line:cnt});
    // quote.setSublistValue({sublistId: ‘item’,fieldId: ‘custcol_created_fam_asset’,line: cnt,value: recId,line:cnt});
    }
    else
    {
    REC = record.create({type: ‘customrecord_ncfar_asset’, isDynamic: true});
    REC.setValue({fieldId: ‘customform’, value:101 });
    REC.setValue({fieldId: ‘altname’, value:item });
    REC.setValue({fieldId: ‘custrecord_products’, value:itemId });
    REC.setValue({fieldId: ‘custrecord_assettype’, value: 106});
    REC.setValue({fieldId: ‘custrecord_assetcost’, value: amount});
    REC.setValue({fieldId: ‘custrecord_assetsubsidiary’, value: 1});
    REC.setValue({fieldId: ‘custrecord_customer_fld_lst’, value: customer});
    REC.setValue({fieldId: ‘custrecord_fam_account’, value: customer});
    REC.setValue({fieldId: ‘custrecord_end_use_date1’, value: new Date(endUseDate)});
    REC.setValue({fieldId: ‘custrecord_assetresidualvalue’, value:0.00});
    /*if(serialNum_arr)
    {
    REC.setValue({fieldId: ‘custrecord_assetserialno’, value: serialNum_arr});//serialNum_arr.join(‘, ‘)
    }else{
    REC.setValue({fieldId: ‘custrecord_assetserialno’, value: ”});
    }*/
    /*if(item_division == ’14’ && serial_Hidden){
    REC.setValue({fieldId: ‘custrecordasset_serial_hiddeen’, value: serial_Hidden});
    }else{
    REC.setValue({fieldId: ‘custrecordasset_serial_hiddeen’, value: ”});
    }*/
    if(lessThanTwoYears > new Date()){
    REC.setValue({fieldId: ‘custrecord_less_than_two_years’, value: true});
    }else{
    REC.setValue({fieldId: ‘custrecord_less_than_two_years’, value: false});
    }
    if(item_division){
    REC.setValue({fieldId: ‘custrecord_brandd’, value: item_division});
    }
    if(item_class){
    REC.setValue({fieldId: ‘custrecord_product_familys’, value: item_class});
    }
    if(isinactive == true){
    REC.setValue({fieldId: ‘custrecord_discounted_model’, value: true});
    }else{
    REC.setValue({fieldId: ‘custrecord_discounted_model’, value: false});
    }
    if(diffDays)
    {
    REC.setValue({fieldId: ‘custrecord_asset_years_on_display’, value: diffDays});
    }
    if(olderThanThreeYears < new Date()){
    REC.setValue({fieldId: ‘custrecord_older_than_three_year’, value: true});
    }else{
    REC.setValue({fieldId: ‘custrecord_older_than_three_year’, value: false});
    }
    /*if(item_display_requirement){
    REC.setValue({fieldId: ‘custrecord_list_record_dis_req’, value: item_display_requirement});
    }*/
    var recId = REC.save({enableSourcing: true, ignoreMandatoryFields: true});
    log.debug(‘Created Display Asset Request: ‘+recId);
    quote.setSublistValue({sublistId: ‘item’,fieldId: ‘custcol_far_trn_relatedasset’,value: recId,line:cnt});
    // quote.setSublistValue({sublistId: ‘item’,fieldId: ‘custcol_created_fam_asset’,value: recId,line:cnt});
    }
    }//end of for(var cnt=0; cnt<lineCount; cnt++)
    var i_id = quote.save({enableSourcing: true, ignoreMandatoryFields: true});
    log.debug(‘i_id:=== ‘+i_id);
    }//end of if(id && type)

    }catch (error) {
    log.debug(‘Error’, error);
    }

    }
    return {
    execute: execute
    };
    });

    • 35 views
    • 10 answers
    • 0 votes
  • Actually, custom record is attached on line level. so respective item id should be set on custom record. Also I have set item  name in one of field,

    now want to set item id to another field on custom record!

    • 35 views
    • 10 answers
    • 0 votes
    • 35 views
    • 10 answers
    • 0 votes
  • I am already creating a custom record and all other fields are populating properly!

    REC = record.create({type: ‘customrecord_ncfar_asset’, isDynamic: true});

     

                              REC.setValue({fieldId: ‘custrecord_product, value:item_1});

     

                           

     

     
    • 35 views
    • 10 answers
    • 0 votes
    • 75 views
    • 3 answers
    • 0 votes
    • 82 views
    • 2 answers
    • 0 votes
  • Thanks! It helped me lot 🙂

    Another Issue I am facing is,

    I have created saved search to get employee and sequence number. I have added filter as,

    [“sequence”,”anyof”,”100″,”63″,”104″,”65″,”101″,”61″]

    And I am getting employees whose sequence is as above filter and also  50, 67,70, 85, 49

    Why data is not filtering?

    Please help!

     

    filters:
    [
    [“custrecord_cpa_pay_paycode.custrecord_apd_pcm_sequence”,”anyof”,”100″,”63″,”104″,”65″,”101″,”61″]
    ],
    columns:
    [
    search.createColumn({
    name: “custrecord_apd_pcm_sequence”,
    join: “CUSTRECORD_CPA_PAY_PAYCODE”,
    summary: “GROUP”,
    label: “Sequence”
    }),
    search.createColumn({
    name: “custrecord_cpa_emp_in_annual”,
    summary: “GROUP”,
    sort: search.Sort.ASC,
    label: “Employee”
    }),
    search.createColumn({
    name: “custrecord_cpa_amount”,
    summary: “GROUP”,
    label: “Amount”
    })
    ]
    });

    searchResultCount = customrecord_cpa_annual_salary_calculatiSearchObj.runPaged().count;
    log.debug(“Total Employees”,searchResultCount);
    resultObj = [];
    var saveSearchResult = customrecord_cpa_annual_salary_calculatiSearchObj.run()
    saveSearchResult.each(function (item) {
    obj = {}
    obj.sequence= item.getValue({name: “custrecord_apd_pcm_sequence”,
    join: “CUSTRECORD_CPA_PAY_PAYCODE”,
    summary: “GROUP”,
    label: “Sequence”});
    obj.amounts= item.getValue({name: “custrecord_cpa_amount”,
    summary: “SUM”,
    sort: search.Sort.ASC,
    label: “Amount”});
    resultObj.push(obj)
    return true
    })
    // log.debug(“amount”,obj.amount);
    return resultObj;
    }

    • 240 views
    • 2 answers
    • 0 votes
  • There is no relationship. Only they have some common fields.

    • 66 views
    • 3 answers
    • 0 votes
    • 66 views
    • 2 answers
    • 0 votes