Passo a passo: | Foi criada a API para gerenciar o Refugo Avulso (CPAPI026), originalmente para atender a integração com TOTVS MES. No entanto, também foi criada uma função padrão no Datasul, cadastrada no menu para utilizar a API (CP0340 - Apontamento Refugo Avulso). Para maiores detalhes de uso da CPAPI026, verificar a documentação: CPAPI026 - Refugo Avulso. A API poderá ser utilizada tanto para criar um Refugo, quanto para retirá-lo, para isto será identificada na chamada desta o motivo. Para criar o refugo, serão criados movimentos REF Saída, e para estornar serão usados REF Entrada. Exemplo: Nr. Reporte Movimento E/S Quant. 1313 ACA E 100 Produção 1313 REF S 3 Refugo Avulso 1313 REF S 2 Refugo Avulso 1313 REF E 1 Estorno Refugo Avulso Para a integração TOTVS MES, foi criado um novo Schema: Refusal_001. Este schema é somente usado para gerar os movimentos de REF Saída. Mensagem usada quando precisar estornar recusa (REF Entrada) será: ProductionAppointment_2_000 Adicionados os campos na ListOfReversalAppointments: ReversalType – 1=Produção;2=Recusa; ReversalQuantity – Quantidade do estorno. Regras de negócio: RN01 - Na mensagem XML pode ou não vir informado o número de reporte para inclusão do Refugo Avulso. Caso não esteja informado, será refugado LIFO do último reporte realizado para a Ordem de Produção. Na função CP0340, sempre irá alterar um único reporte por vez. RN03 - A API de refugo avulso não trata refugo por operação. Somente será usada quando a ordem não controle estoque de refugo. RN04 - Quando em uma mensagem for informado um refugo avulso de uma ordem que controla estoque de refugo e o SFC estiver habilitado, será retornado erro de que não é possível utilizar refugo avulso para esta Ordem de Produção. RN05 - Na API de Refugo Avulso, caso não seja informada a conta e o centro de custo contábil, será considerada a conta do parâmetro de produção. RN06 - Quando o reporte a inserir o Refugo Avulso não possuir refugo ainda, será recebido pela API a Conta e o Centro de Custo. Quando já tiver refugo, não poderá alterar a conta e centro de custo que já estão no apontamento (reporte). RN07 - Para realizar o Refugo Avulso, as informações de número da OP, data de transação, item, estabelecimento, referência, depósito, localização e lote serão as mesmas do acabado gerado pelo número de reporte, quando este for informado. Caso somente tenha o número da Ordem de Produção, será buscado LIFO do número de reporte. RN08 - Atualiza o reporte de produção quando for feito o Refugo Avulso, para que a quantidade refugada e aprovada sejam também corrigidas. RN09 - Quando o Refugo Avulso for feito pelo SFC, será informado também o motivo de refugo na mensagem. RN10 - Quando informado o número de reporte e a quantidade informada for maior que a quantidade Produzida (PCP)/Aprovada (SFC) no reporte selecionado, será apresentada mensagem de erro. RN11 - Quando não informado o número de reporte e a quantidade informada for maior que a quantidade Produzida (PCP)/Aprovada (SFC), será feito LIFO em todos os reportes da Ordem, até consumir totalmente a quantidade refugada. Caso ainda seja insuficiente, será retornada mensagem de erro. RN12 - Apenas será possível a utilização do Refugo Avulso, quando o tratamento de refugo do item for "Perda Total". RN13 - Será utilizada a mensagem de Apontamento de Produção para Estorno do Refugo (Recusa). Quando for informado na mesma lista de estorno (ListOfReversalAppointments) o ReversalType de produção (1=Produção) e de recusa (2=Recusa), simplesmente será feito o Estorno da Produção, por intermédio do ID, que automaticamente as Recusas serão desfeitas. Quando for informado apenas ReversalType = 2(recusa) então será usado o campo ReversalQuantity para movimentar refugo (REF de Entrada) para esta quantidade. |