Generate item receipt by Custom Employee center role.

/**
 * @NApiVersion 2.1
 * @NScriptType Suitelet
 */


define(['N/record', 'N/ui/serverWidget'], function (record, serverWidget) {


    function onRequest(context) {
        if (context.request.method === 'GET') {
            let form = serverWidget.createForm({
                title: 'Create Item Receipt'
            });


            let purchaseOrderField = form.addField({
                id: 'purchaseorder',
                type: serverWidget.FieldType.SELECT,
                label: 'Select Purchase Order'
            });
            // Populate purchase order options in the dropdown


            // Search for purchase orders
            let purchaseOrderSearch = search.create({
                type: search.Type.PURCHASE_ORDER,
                filters:
                    [
                        ["type", "anyof", "PurchOrd"],
                        "AND",
                        ["status", "anyof", "PurchOrd:B"],
                        "AND",
                        ["mainline", "is", "T"],
                        "AND",
                        ["cogs", "is", "F"],
                        "AND",
                        ["taxline", "is", "F"],
                        "AND",
                        ["shipping", "is", "F"]
                    ],
                columns: [
                    search.createColumn({ name: "tranid", label: "Document Number" })
                ]
            });


            purchaseOrderSearch.run().each(function (result) {
                let purchaseOrderId = result.id;
                let purchaseOrderNumber = result.getValue({ name: "tranid", label: "Document Number" });
                purchaseOrderField.addSelectOption({
                    value: purchaseOrderId,
                    text: purchaseOrderNumber
                });
                return true;
            });


            form.addSubmitButton({
                label: 'Create Item Receipt'
            });


            context.response.writePage(form);
        } else if (context.request.method === 'POST') {
            // Get the selected purchase order from the request
            let purchaseOrderId = context.request.parameters.purchaseorder;


            // Transform the selected purchase order into an item receipt
            let itemReceiptId = record.transform({
                fromType: record.Type.PURCHASE_ORDER,
                fromId: purchaseOrderId,
                toType: record.Type.ITEM_RECEIPT
            }).save();
        }
    }


    return {
        onRequest: onRequest
    };


});

We can generate Item receipts using a backend Suitelet script within the Employee Center role. But it is not possible to view the created Item receipt using the role.

Leave a comment

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