Sales Order Custom Address

Code snippet for setting custom address in sales order

  function CreateSalesOrder(billingDetails,shippingDetails) {  

  // Create our new sales order
    var salesOrder = record.create({
        type: record.Type.SALES_ORDER,
        isDynamic: true,
        defaultValues: { entity: VALID_CUSTOMER_ID }
    });

    // Add a line item (just for testing / example)
    salesOrder.selectNewLine({sublistId: 'item'});
    salesOrder.setCurrentSublistValue({
        sublistId: 'item',
        fieldId: 'item',
        value: VALID_ITEM_ID
    });
    salesOrder.setCurrentSublistValue({
        sublistId: 'item',
        fieldId: 'quantity',
        value: 1
    });
    salesOrder.setCurrentSublistValue({
        sublistId: 'item',
        fieldId: 'amount',
        value: 1
    });
    salesOrder.commitLine({sublistId: 'item'});

    // Set our billing address
    salesOrder.setValue({
        fieldId: 'billaddresslist',
        value: null // Needed to override default address
    });
    var billaddrSubrecord = salesOrder.getSubrecord({fieldId: 'billingaddress'});
    billaddrSubrecord.setValue({
        fieldId: 'country',
        value: billingDetails.country_iso_code
    });
    billaddrSubrecord.setValue({
        fieldId: 'isresidential',
        value: 'T'
    });
    billaddrSubrecord.setValue({
        fieldId: 'attention',
        value: 'billingDetails.attention'
    });
    billaddrSubrecord.setValue({
        fieldId: 'addressee',
        value:billingDetails.firstname+' '+billingDetails.lastname
    });
    billaddrSubrecord.setValue({
        fieldId: 'addrphone',
        value: billingDetails.phone
    });
    billaddrSubrecord.setValue({
        fieldId: 'addr1',
        value: billingDetails.street_1
    });
    billaddrSubrecord.setValue({
        fieldId: 'addr2',
        value: billingDetails.street_2
    });
    billaddrSubrecord.setValue({
        fieldId: 'city',
        value: billingDetails.city
    });
    billaddrSubrecord.setValue({
        fieldId: 'state',
        value: billingDetails.state
    });
    billaddrSubrecord.setValue({
        fieldId: 'zip',
        value: billingDetails.zip_code
    });

    // Set our shipping address
    salesOrder.setValue({
        fieldId: 'shipaddresslist',
        value: null // Needed to override default address
    });
    var shipaddrSubrecord = salesOrder.getSubrecord({fieldId: 'shippingaddress'});
    shipaddrSubrecord.setValue({
        fieldId: 'country',
        value: shippingDetails.country_iso_code
    });
    shipaddrSubrecord.setValue({
        fieldId: 'isresidential',
        value: 'T'
    });
    shipaddrSubrecord.setValue({
        fieldId: 'attention',
        value: shippingDetails.attention
    });
    shipaddrSubrecord.setValue({
        fieldId: 'addressee',
        value:shippingDetails.firstname+' '+shippingDetails.lastname
    });
    shipaddrSubrecord.setValue({
        fieldId: 'addrphone',
        value: shippingDetails.phone
    });
    shipaddrSubrecord.setValue({
        fieldId: 'addr1',
        value: shippingDetails.street_1
    });
    shipaddrSubrecord.setValue({
        fieldId: 'addr2',
        value: shippingDetails.street_2
    });
    shipaddrSubrecord.setValue({
        fieldId: 'city',
        value: shippingDetails.city
    });
    shipaddrSubrecord.setValue({
        fieldId: 'state',
        value: shippingDetails.state
    });
    shipaddrSubrecord.setValue({
        fieldId: 'zip',
        value: shippingDetails.zip_code
    });

// Save our new sales order
salesOrder.save({ignoreMandatoryFields: true});
}

Leave a comment

Your email address will not be published. Required fields are marked *