1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

[RESOLVIDO] Exemplo de UPC/EPC

Discussão em 'EMS , HCM e Totvs 11' iniciado por Rogerio, Maio 19, 2011.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Alguem teria algum exemplo de UPC/EPC no FT2100 pra me passar?
  2. Cneves

    Cneves Membro Participativo

    Boa tarde,

    Sei que faz tempo, porém conseguiu um exemplo da UPC no FT2100?

    Att,
  3. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    se for a upc no ft2100rp.p , pra interagir no processo ....
    Código:
    /*  ------------------------------------------------------------
        Programa .: upc/upc-ft2100a.p
        Autor ....: Richard Edgar - Imesul
        Data .....: 26/04/2018
        Descricao : Receber automaticamente notas de transferencia
        ------------------------------------------------------------ */
        {grid2/error.i}
    
        using totvs.recebimento.transferencia.*.
    
        define variable error       as ExceptionControl no-undo.
        define variable importarNFe as ImportarNFe      no-undo.
    
        define variable tipoAtualizacao as integer no-undo. // 1 - Atualiza, 2 - desatualiza
        define variable rowidNotaFiscal as rowid   no-undo.
        define variable notaRejeitada   as logical no-undo.
    
        define stream logSaida.
    
        {utp/ut-glob.i}
        {include/i-epc200.i ft2100rp} /* Definicao tt-EPC */
    
        def input        param p-ind-event as char no-undo.
        def input-output param table for tt-epc.
    
        /* Quando for gerar nota de recebimento para as transferencias, nÆo pode testar usuarios de loja */
    
        disable triggers for load of movto-estoq.
        disable triggers for dump of movto-estoq.
    
        disable triggers for load of saldo-estoq.
        disable triggers for dump of saldo-estoq.
    
        define stream logSaida.
    
        /* --------------------------------------------------------------------------------------------- */
    
        assign tipoAtualizacao = 0
               rowidNotaFiscal = ?
               notaRejeitada   = ?.
    
        for each tt-epc no-lock
            where tt-epc.cod-event     = 'end-ft2100':
            case tt-epc.cod-parameter:
                when 'nota-fiscal rowid' then assign rowidNotaFiscal = to-rowid(tt-epc.val-parameter).
                when 'i-tipo-atual'      then assign tipoAtualizacao = int(tt-epc.val-parameter).
                when 'l-desfaz'          then assign notaRejeitada   = (if tt-epc.val-parameter = 'yes' then yes else no).
            end case.
        end.
    
        if tipoAtualizacao = 1 and notaRejeitada = no then do:
            find first nota-fiscal where rowid(nota-fiscal) = rowidNotaFiscal no-lock no-error.
            if avail nota-fiscal then do:
                /* para a loja do centro, nÆo atualiza automatico */
                if nota-fiscal.cod-emitente = 127 and nota-fiscal.cod-estabel = '101' then return 'OK'.
                if nota-fiscal.cod-emitente = 122 and nota-fiscal.cod-estabel = '121' then return 'OK'.
    
                if nota-fiscal.cod-estabel < '200' then do:
                    find first natur-oper of nota-fiscal no-lock  no-error.
                    if avail natur-oper then do:
                        if natur-oper.especie-doc = 'NFT' then do:
                            create cst_nota_fiscal_transf.
                            assign cst_nota_fiscal_transf.cod-usuario  = userid('emsfnd')
                                   cst_nota_fiscal_transf.cod-estabel  = nota-fiscal.cod-estabel
                                   cst_nota_fiscal_transf.serie        = nota-fiscal.serie
                                   cst_nota_fiscal_transf.nr-nota-fis  = nota-fiscal.nr-nota-fis
                                   cst_nota_fiscal_transf.dt-emis-nota = nota-fiscal.dt-emis-nota.
                        end.
                    end.
                end.
            end.
        end.
    
        for each tt-epc no-lock
            where tt-epc.cod-event = 'End_ft2100rp':
    
            for each cst_nota_fiscal_transf exclusive-lock
                where cst_nota_fiscal_transf.cod-usuario = userid('emsfnd'):
    
                assign error       = ExceptionControl:getInstance()
                       importarNFe = new ImportarNFe().
                error:clearExceptions().
                do {&try}:
                    importarNFe:new().
                    importarNFe:processar(cst_nota_fiscal_transf.cod-estabel, cst_nota_fiscal_transf.serie, cst_nota_fiscal_transf.nr-nota-fis, cst_nota_fiscal_transf.dt-emis-nota, yes).
                {&catch}
                if error:catchException() then error:printExceptions().
                delete object ImportarNFe no-error.
                delete cst_nota_fiscal_transf no-error.
            end.
        end.
        return 'OK'.
    
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página