当用户要填写的字段已经在其他产品中注册时,我想在屏幕上显示一条消息。 有谁能够帮助我?代码下方:
答案 0 :(得分:1)
在我的朋友Emerson Minero的帮助下,我正在将代码与解决方案一起发布。我希望它对这里的朋友有用。谢谢!
/**
* @NApiVersion 2.x
* @NScriptType ClientScript
* @author Adriano Barbosa
* @since 2019.2
*/
define(['N/log', 'N/record', 'N/search', 'N/ui/dialog'], function(log, record, search, dialog) {
function pageInit(context) {
if ( context.mode === 'copy' || context.mode === 'create' ) {
var currentRecord = context.currentRecord;
}
}
function saveRecord(context) {
var ean, item_id, ean_existe, codigo_item_sap;
var currentRecord = context.currentRecord;
item_id = currentRecord.getValue({ fieldId: 'itemid' });
ean = currentRecord.getValue({ fieldId: 'upccode' });
// Valida o EAN na cópia/criação do item
if (!ean) {
dialog.alert({ title: 'Alerta: EAN não informado', message: 'Informe o EAN para prosseguir cadastro.' });
log.debug({ title: '[Cópia/Criação do Item] ' + 'Alerta: EAN não informado', details: 'Informe o EAN para prosseguir cadastro.' });
return false;
} else {
search.create({ type: "item",
filters: [
[ "upccode", "is", ean ]
],
columns: [
search.createColumn({ name: "internalid", label: "ID interna" }),
search.createColumn({ name: "upccode", label: "Código UPC" })
]
}).run().each(function (result) {
item_id = result.id;
ean_existe = result.getValue({ name: 'upccode' });
codigo_item_sap = record.load({ type: 'inventoryitem', id: item_id, isDynamic: true })
.getValue({ fieldId: 'itemid' });
return false;
});
}
// Valida o EAN na edição do Item
if (currentRecord.id) {
ean = currentRecord.getValue({ fieldId: 'upccode' });
if (!ean) {
dialog.alert({ title: 'Alerta: EAN não informado', message: 'Informe o EAN para prosseguir cadastro.' });
log.debug({ title: '[Edição do Item] ' + 'Alerta: EAN não informado', details: 'Informe o EAN para prosseguir cadastro.' });
return false;
} else {
search.create({ type: "item",
filters: [
[ "upccode", "is", ean ]
],
columns: [
search.createColumn({ name: "internalid", label: "ID interna" }),
search.createColumn({ name: "upccode", label: "Código UPC" })
]
}).run().each(function (result) {
item_id = result.id;
ean_existe = result.getValue({ name: 'upccode' });
codigo_item_sap = record.load({ type: 'inventoryitem', id: item_id, isDynamic: true })
.getValue({ fieldId: 'itemid' });
return false;
});
}
// [Edição do Item] - Se encontrado o EAN na base, impede o salvamento.
if ((item_id != currentRecord.id) && codigo_item_sap) {
dialog.alert({ title: 'Alerta: EAN ' + ean_existe + ' já cadastrado!',
message: 'O item: ' + '"' + codigo_item_sap + '"' + ' já possui este mesmo EAN' + '. Informe outro EAN para prosseguir cadastro.'
});
log.debug({ title: '[Edição do Item] ' + 'Alerta: EAN ' + ean_existe + ' já cadastrado!',
details: 'Verifique o código do item: ' + '"' + codigo_item_sap + '".'
});
return false;
} else {
return true;
}
} else if (ean_existe) { // [Cópia/Criação do Item] - Se encontrado o EAN na base, impede o salvamento.
dialog.alert({ title: 'Alerta: EAN ' + ean_existe + ' já cadastrado!',
message: 'O item: ' + '"' + codigo_item_sap + '"' + ' já possui este mesmo EAN' + '. Informe outro EAN para prosseguir cadastro.'
});
log.debug({ title: '[Cópia/Criação do Item] ' + 'Alerta: EAN ' + ean_existe + ' já cadastrado!',
details: 'Verifique o código do item: ' + '"' + codigo_item_sap + '".'
});
return false;
} else {
log.debug({ title: 'Item cadastrado!',
details: '"Código Item SAP:" ' + currentRecord.getValue({ fieldId: 'itemid' }) + ', "EAN:" ' + currentRecord.getValue({ fieldId: 'upccode' })
});
return true;
}
}
return { pageInit: pageInit, saveRecord: saveRecord }
});
答案 1 :(得分:0)
在您的saveRecord事件中输入以下代码:
if(!currentReocord.id){
//put here all your logic for your validation
}
上面的行将帮助您确定用户是否正在创建记录。