2015-11-11 2 views
0

У меня есть требование, в котором, если пользователь отменяет флажок, то поле определенного поля должно быть очищено, пока он сохраняет его.Исключить значение поля на основе checkbox-Netsuite

Для печати флажок Проверьте # поле.

Если пользователь снял флажок «Напечатать», поле «проверка» должно быть ясным, пока он сохраняет страницу.

Это должно быть событие пользователя, и будет ли оно после отправки funtion? Как мне это достичь?

+1

Моя немедленная мысль была, что это должно быть сценарий клиента, используя событие fieldChanged, любая причина, почему это должен быть сценарий пользовательского события? – John

+0

Пользователь должен проверить/снять флажок с помощью пользовательского интерфейса, поэтому я написал код типа 'if (bToBePrinted == 'F')' '{' 'recBillPayment.setFieldValue ('tranid', null);' '}' – Winona

+0

Теперь проверка # автоматически генерируется в последовательности. Мое требование: 1) Если пользователь редактирует чек # и сохраняет его, он должен сохранить значение, введенное пользователем. 2) Старая последовательность должна следовать за следующими платежами. – Winona

ответ

1

Здесь у вас есть два варианта решения ваших требований.

1) Вы можете написать сценарий клиента как @John, упомянутый выше в своем комментарии, и при изменении поля вы можете очистить те значения полей, которые вы не хотите сохранять при отправке своей формы.

2) Напишите функцию перед отправкой и подтвердите значение поля флажка, если оно не отмечено, а затем очистите те поля, которые вы не хотите сохранять.

1

Я бы рекомендовал использовать user event before submit скрипт для установки значения поля как нуль, так как клиент сценарий может не сработать, если точка ввода данных через импорт CSV, SuiteScript и т.д.

if (nlapiGetFieldValue(TO_BE_SUBMITTED_FIELD_ID) == 'F'){ 
    nlapiSetFieldValue('tranid', null);` 
} 

Если вы хотите, вы можете написать дополнительный скрипт клиента для отключения/очистки поля, если значение флажка установлено в false, для лучшего UX.

Для порядкового номера я бы сказал, используйте следующий код (я предполагаю, что порядковые номера чистые номера)

if (nlapiGetFieldValue(TO_BE_SUBMITTED_FIELD_ID) == 'T'){ 
//search in descending order (use this code in your same before submit script) 
var search = nlapiCreateSearch(RECORD_TYPE, ['mainline', 'is', 'T'], new nlobjSearchColumn('tranid').setSort(true)); 
var results = search.runSearch(); 
var records = results.getResults(0, 1); 

var nextTranId = praseInt(records[0].getFieldValue('tranid'), 10) + 1; 
nlapiSetFieldValue(tranid, nextTranId); 
} 
Смежные вопросы