Page tree
Skip to end of metadata
Go to start of metadata

Processo de retorno de terceiro

Produto:

Protheus ADVPL

Versões:

P12

Ocorrência:

Documento de Entrada via Mata103 de Retorno de industrialização por execauto

Ambiente:

Protheus 12.1.17

Passo a passo:

http://tdn.totvs.com/pages/viewpage.action?pageId=229769259

  • A NF de Origem (NF de entrada) deve estar devidamente lançada nos documentos de Entrada como Tipo Beneficiamento. O campo
  • O TES deve controlar Poder de Terceiro caracterizando a Remessa do Cliente/Fornecedor à sua empresa (F4_PODER3 = Remessa);
  • A entrada deverá alimentar corretamente os campos D1_IDENTB6 e B6_IDENT
  • O TES utilizado na Nota de Entrada deve possuir em seu cadastro o TES compatível, de Saída, caracterizando a Devolução (registrar no F4_TESDV);
  • O TES registrado no campo F4_TESDV também deve controlar Poder de Terceiro caracterizando o Retorno de sua empresa ao Cliente/Fornecedor (F4_PODER3 = Devolução);
  • O CFOP da NF de Entrada deve ser um CFOP que caracteriza operação de remessa;
  • As tabelas SC6 - Itens do PV, SC9 - Liberação e SD2 - Itens Doc. de Saída, não devem conter registros com o campo "XX_NFORI" preenchido para a NF/Item/Quantidade em questão consumindo todo o saldo; caso contrário, o sistema irá associar que já fora realizada a Devolução (Já há outro Pedido de Venda para Devolução dessa Nota) e o processo não será devidamente realizado;
  • O ambiente deve estar atualizado conforme Portal do Cliente para contemplar as últimas correções realizadas nos Fontes envolvidos no processo.

    Lembrando que que é sumo importância que seja passado no Array os campos (D1_IDENTB6,B6_IDENT) além da nota fiscal de origem e item da nota também .

    #INCLUDE"PROTHEUS.CH"
    #INCLUDE"TBICONN.CH"
    User Function MyMata103R()
    Local aCabec := {}
    Local aItens := {}
    Local aLinha := {}
    Local cDoc := '1300134 '
    Local dDataBase

    Private lMsHelpAuto := .T.
    PRIVATE lMsErroAuto := .F.


    PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" TABLES "SF1","SD1","SA1","SA2","SB1","SB2","SF4"
    DbSelectArea("SF1")
    DbSetOrder(1)

    // F1_FILIAL + F1_DOC + F1_SERIE + F1_FORNECE + F1_LOJA + F1_TIPO
    MsSeek(FwXFilial("SF1" + "1300134" + "01 "+ "001 " + "01" + "N"))

    //dbSelectArea("SF1")
    //dbSetOrder(1)

    //If !SF1->(MsSeek(xFilial("SF1")+"1300134",.T.)) //Verificar a existência do fornecedor

    aadd(aCabec,{"F1_TIPO" ,"N",Nil})
    aadd(aCabec,{"F1_FORMUL" ,"N",Nil})
    aadd(aCabec,{"F1_DOC" ,cDoc,Nil})
    aadd(aCabec,{"F1_SERIE" ,"01 ",Nil})
    aadd(aCabec,{"F1_EMISSAO",dDataBase,Nil})
    aadd(aCabec,{"F1_FORNECE","001 "})
    aadd(aCabec,{"F1_LOJA" ,"01",Nil})
    aadd(aCabec,{"F1_ESPECIE","NF ",Nil})
    aadd(aCabec,{"F1_COND","03 ",Nil})
    aadd(aCabec,{"F1_DESPESA" ,10,Nil})
    aadd(aCabec,{"E2_NATUREZ","500 ",Nil})



    aadd(aLinha,{'D1_NFORI',"0000134",NIL})
    aadd(aLinha,{'D1_ITEMORI','0001',NIL})
    aadd(aLinha,{'D1_SERIORI',"01 ",NIL})
    aadd(aLinha,{'D1_COD',"P001 ",NIL})
    aadd(aLinha,{'D1_UM','UN',NIL})
    aadd(aLinha,{"D1_QUANT",1,Nil})
    aadd(aLinha,{"D1_VUNIT",150,Nil})
    aadd(aLinha,{'D1_NFORI',"0000134",NIL})
    aadd(aLinha,{'D1_ITEMORI','0001',NIL})
    aadd(aLinha,{'D1_SERIORI',"01 ",NIL})
    aadd(aLinha,{"D1_IDENTB6",'000090',NIL})
    aadd(aLinha,{'D1_DESC',15,NIL})
    aadd(aLinha,{'D1_DESPESA',350,NIL})
    aadd(aLinha,{'D1_SEGURO',100,NIL})
    aadd(aLinha,{"D1_TOTAL",150,Nil})
    aadd(aLinha,{"D1_TES",'500',NIL})
    aadd(aLinha,{"D1_CF",'1101 ',NIL})
    aadd(aItens,aLinha)
    MSExecAuto({|x,y,z| mata103(x,y,z)},aCabec,aItens,4)

    If !lMsErroAuto
    ConOut(OemToAnsi("Incluido com sucesso! ")+cDoc)
    Else
    ConOut(OemToAnsi("Erro na inclusao!"))
    MOSTRAERRO()
    EndIf
    ConOut(OemToAnsi("Fim : ")+Time())

    RESET ENVIRONMENT
    Return(.T.)

Observações:

CONSIDERAÇÕES TANTO PARA EXECAUTO QUANTO PADRÃO:

  • Caso identifique que a nota de entrada foi lançada de forma errada em comparação às premissas mencionadas acima (por exemplo, com o Tipo diferente de Beneficiamento, ou com um TES que não está devidamente configurado);é necessário excluir o documento de entrada e lançar novamente, para então gerar o Pedido e Nota de saída. Não é possível apenas alterar algo no TES pois o comportamento não será mudado visto que a alteração foi depois de já ter lançado a Nota e realizados devidos relacionamentos.
    Não é procedimento correto alterar o cadastro de um TES! Caso identifique que lançou a nota com um TES que não está de acordo com o especificado, o correto é localizar outro TES já cadastrado que atenda aos requisitos, ou então, incluir o cadastro de um novo TES para atender à necessidade; e então, realizar o lançamento com o TES correto. Porém, deixar o outro TES intacto (pois alterações comprometem o histórico de movimentações no sistema).
  • Se validar a nota de entrada e estiver correta nos requisitos, tanto Tipo da nota quanto os TES com devidas amarrações, é possível, que algum TES já tenha sofrido alteração no cadastro (justamente o processo que não é indicado).
    Desta forma, para fins de TESTE, inclua uma nova nota de entrada igual a nota em questão (mesmo Cliente/produto/TES) e refaça o processo. Poderá validar que, se as amarrações de TES estiverem corretas, de acordo com o orientado aqui, o processo será concluído corretamente. 
    Sendo assim, será de qualquer forma, necessário excluir a nota de entrada e lançar novamente para alimentar as devidas tabelas relacionadas (como por exemplo, SB6 - Poder de terceiro)
Links relacionados ao processo

FAT0076 - Poder de Terceiros - Correta configuração do Cadastro de TES
http://tdn.totvs.com/pages/viewpage.action?pageId=238037881

FAT0098 - Beneficiamento via Faturamento utilizando Fornecedor
http://tdn.totvs.com/display/PROT/FAT0098_Beneficiamento_Faturamento_Poder+Terceiro_Utiliza_Fornecedor

FAT0057 - Emissão de Nota de Devolução de Terceiros Retorno
http://tdn.totvs.com/pages/releaseview.action?pageId=236431772

FAT0080 - Conceito de Operação Triangular
http://tdn.totvs.com/pages/viewpage.action?pageId=238038517

FAT0165 - Configuração para emissao de pedido de vendas com Operação Triangular
FAT0165_Configuração_Emissão_Pedido_de_Vendas_Operação_Triangular_(MATA410)

PCOM12006 - Como realizar operação Triangular quando o encomendante não emite nota fiscal ao industrializador?
http://tdn.totvs.com/pages/viewpage.action?pageId=238038517

PCOM12046 - Sobre o HELP A103SLDPD3
http://tdn.totvs.com/display/PROT/PCOM12046+-+Sobre+o+HELP+A103SLDPD3

PCOM12000 - Guia Prático - Documento de Entrada (MATA103 - Manual Completo)
http://tdn.totvs.com/pages/viewpage.action?pageId=189314941

PEST06505 - Controle do Armazém de Poder de Terceiros (M_ALMTERC / MV_CONTERC)
http://tdn.totvs.com/pages/viewpage.action?pageId=271395422

PEST07570 - Help A460TESN3: Considera Saldo Poder de Terceiros para TES que não atualiza estoque
http://tdn.totvs.com/pages/viewpage.action?pageId=236427905

Retorno Poder de Terceiros MV_LIBSB6
http://tdn.totvs.com/display/PROT/Retorno+Poder+de+Terceiros+MV_LIBESB6_TGZRYX

Tributaria - ICMS - Poder de Terceiros - Nota de Retorno para Controle de Poder de Terceiros em SC
http://tdn.totvs.com/display/public/ConSeg/ICMS+-+Poder+de+Terceiros+-+Nota+de+Retorno+para+Controle+de+Poder+de+Terceiros+em+SC

PCOM12007 - Documento de Entrada/Saída - Controle de poder De/Em terceiros (F4_PODER3, TES, Consignação, Operação Triangular, B2_QNPT, B2_QTER, B2_QTNP, Retorno Beneficiamento, MV_ALMTERC, MV_CONTERC, MV_LIBSB6, A103SLDPD3, A460TESN3)