Erro em "Gerar Recibos a partir da fatura"


#1

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?


#2
  1. Verifique se a Ordem de Compra está completada.

  2. Verifique se o Tipo de Documento usado na Ordem de Compra está configurado com os Tipos de Documentos de Fatura e Remessa. (Somente se estiver usando o LBR)

  3. Sobre o erro “Ordem de compra não disponivel” - Verifique na janela System Configuration LBR_ALLOW_MM_SHIP_RECEIPT_WITHOUT_ORDER está habilitado, se sim, só será possível completar o recebimento se houver um pedido de compra relacionado.


#3

Ahhhh valeu Ricardo… era isso ae no System Configurator. Não tinha visto esse detalhe. Resolveu meu problema. Valeu!!!