Netsuite добавляет кнопку создания нового заказа на покупку в форме дела

Новичок в netsuite, и я пытаюсь использовать систему дел как систему заказов на работу для нашей управляющей компании. Я хочу иметь возможность создать заказ на покупку из истории болезни и автоматически связать его. Я уже добавил настраиваемое поле в заказ на покупку, чтобы связать дело, однако я пытаюсь сделать кнопку создания заказа на покупку в форме дела.

Я понимаю, что мне нужно создать набор скриптов, а затем прикрепить его к дополнительной вкладке пользовательских действий в настройках формы, мне нужна помощь в написании файла набора скриптов.


person gabe17    schedule 12.05.2013    source источник


Ответы (3)


Чтобы добавить кнопку в запись обращения, включите пользовательское событие перед загрузкой записи обращения. Пользовательское событие будет примерно таким:

function BeforeLoadCase(type, form) {
try {
    form.setScript('customscript_create_po');
    form.addButton('custpage_custombutton', 'Create PO', 'CreatePO()');
}
catch (err) {
    nlapiLogExecution('error', 'BeforeLoadCase', err);
}}

'customscript_create_po': это клиентский скрипт, который открывает новую запись заказа на покупку при нажатии кнопки. Его код выглядит следующим образом:

function CreatePO() {
var url = nlapiResolveURL('record', 'purchaseorder', null, 'edit') + '?case_id=' + nlapiGetRecordId();
window.open(url, "New Purchase Order");}

Теперь в заказе на покупку разверните пользовательское событие (перед загрузкой), код примерно такой:

function BeforeLoadPO(type, form, request) {
if (type == 'create' && request.getParameter('case_id') != null) {
    var caseRecord = nlapiLoadRecord('supportcase', request.getParameter('case_id'));

}}
person Nitish    schedule 03.09.2013

Ваш скрипт должен выглядеть так

location.href = nlapiResolveURL('record','purchaseorder',null,'edit') + '?case_id=' + nlapiGetRecordId();

Кроме того, вы должны обработать этот параметр строки запроса перед событием загрузки заказа на покупку и установить его в своем пользовательском поле.

person Saqib    schedule 12.05.2013
comment
Спасибо, попробую - person gabe17; 12.05.2013
comment
Привет Сакиб, спасибо за вашу помощь. Я сохранил это как файл .js, создал набор сценариев, назвал функцию pobutton и добавил пользовательское действие для кнопки создания po в форме обращения. Я добавил сюитскрипт в форму кейса под настраиваемым кодом. Проблемы в том, что когда я редактирую заказ на работу, сценарий автоматически выполняется без нажатия кнопки. 2. Идентификатор дела не отображается в поле моего дела в заказе на покупку. Для получения дополнительной информации это настраиваемое поле, которое я создал в заказе на покупку, которое связано с записью обращения. Идентификатор поля называется custbody1. Спасибо за любой другой вклад - person gabe17; 13.05.2013

Вместо этого используйте этот код:

window.location.href = nlapiResolveURL('record','purchaseorder') + '?record.custbody1=' + nlapiGetRecordId();

Этот код должен перенаправить вас на форму заказа на покупку, а затем предварительно заполнить настраиваемое поле.

person Benj Sicam    schedule 02.08.2013