Bom dia,
Ao clicar em “Gerar Recibos a partir da fatura” na tela Fatura (Fornecedor) depois de completado aparece erro java.lang.NullPointerException. Segue log do erro:
-----------> MIssue.set_ValueNoCheck: ReleaseNo - Value too long - truncated to length=4 [12]
===========> InvoiceCreateInOut.process: java.lang.NullPointerException [12]
java.lang.NullPointerException
at org.compiere.model.MInOut.(MInOut.java:442)
at org.compiere.process.InvoiceCreateInOut.getCreateHeader(InvoiceCreateInOut.java:108)
at org.compiere.process.InvoiceCreateInOut.createLine(InvoiceCreateInOut.java:129)
at org.compiere.process.InvoiceCreateInOut.doIt(InvoiceCreateInOut.java:91)
at org.compiere.process.SvrProcess.process(SvrProcess.java:147)
at org.compiere.process.SvrProcess.startProcess(SvrProcess.java:105)
at org.adempiere.util.ProcessUtil.startJavaProcess(ProcessUtil.java:160)
at org.adempiere.util.ProcessUtil.startJavaProcess(ProcessUtil.java:105)
at org.compiere.apps.ProcessCtl.startProcess(ProcessCtl.java:649)
at org.compiere.apps.ProcessCtl.run(ProcessCtl.java:394)
at java.lang.Thread.run(Thread.java:662)
Ao debugar o código, encontrei o erro que ocorre ao ser executado o if. É como se o DocBaseType do dtShipment estivesse Nulo, mas não consegui resolver, mesmo preenchendo todos os campos possiveis.
String movementTypeShipment = null;
MDocType dtShipment = new MDocType(invoice.getCtx(), C_DocTypeShipment_ID, invoice.get_TrxName());
if (dtShipment.getDocBaseType().equals(MDocType.DOCBASETYPE_MaterialDelivery))
movementTypeShipment = dtShipment.isSOTrx() ? MOVEMENTTYPE_CustomerShipment : MOVEMENTTYPE_VendorReturns;
else if (dtShipment.getDocBaseType().equals(MDocType.DOCBASETYPE_MaterialReceipt))
movementTypeShipment = dtShipment.isSOTrx() ? MOVEMENTTYPE_CustomerReturns : MOVEMENTTYPE_VendorReceipts;
setMovementType (movementTypeShipment);
Também tentei gerar fatura pelo Recebimento e informa que “Ordem de compra não disponivel”. Creio que isso n deveria ser necessario ne?