[RESOLVIDO] Nota fiscal de referencia

Discussão em 'EMS , HCM e Totvs 11' iniciado por keytech, Abril 8, 2015.

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

    keytech Sem Pontuação

    Boa Tarde a todos.
    Preciso que a TAG <NFref> no XML da NFe seja criado, porém não estou conseguindo.
    Tenho um específico e coloquei o seguinte código:
    Código:
        FIND FIRST docum-est
             WHERE docum-est.cod-estabel  = tt-item-devol.cod-estabel
               AND docum-est.serie-docto  = tt-item-devol.serie-ent
               AND docum-est.nro-docto    = tt-item-devol.nro-docto-ent
               AND docum-est.nat-operacao = tt-item-devol.nat-oper-ent
               AND docum-est.cod-emitente = tt-item-devol.cod-emitente
             NO-LOCK NO-ERROR.
    
        IF AVAIL docum-est THEN DO:
     
            FIND FIRST tt-notas-geradas
                 NO-LOCK NO-ERROR.
     
            FIND FIRST nota-fiscal
                 WHERE ROWID(nota-fiscal) = tt-notas-geradas.rw-nota-fiscal
                 NO-LOCK NO-ERROR.
     
            FIND FIRST it-nota-fisc OF nota-fiscal
                 NO-LOCK NO-ERROR.
     
            RUN goToKeyDoctoRef IN h-bodi515 (INPUT docum-est.cod-estabel,
                                              INPUT docum-est.serie-docto,
                                              INPUT docum-est.nro-docto,
                                              INPUT docum-est.cod-emitente,
                                              INPUT docum-est.nat-operacao,
                                              INPUT 3,
                                              INPUT it-nota-fisc.serie,
                                              INPUT it-nota-fisc.nr-nota-fis,
                                              INPUT it-nota-fisc.cd-emitente).
     
            IF RETURN-VALUE = "NOK":U THEN DO:
                EMPTY TEMP-TABLE tt-nota-fisc-adc.
     
                CREATE tt-nota-fisc-adc.
                ASSIGN tt-nota-fisc-adc.cod-estab                = docum-est.cod-estabel
                       tt-nota-fisc-adc.cod-serie                = it-nota-fisc.serie
                       tt-nota-fisc-adc.cod-nota-fisc            = it-nota-fisc.nr-nota-fis
                       tt-nota-fisc-adc.cdn-emitente             = it-nota-fisc.cd-emitente
                       tt-nota-fisc-adc.cod-natur-operac         = it-nota-fisc.nat-operacao
                       tt-nota-fisc-adc.idi-tip-dado             = 3
                       tt-nota-fisc-adc.cod-ser-docto-referado   = docum-est.serie-docto
                       tt-nota-fisc-adc.cod-docto-referado       = docum-est.nro-docto
                       tt-nota-fisc-adc.cdn-emit-docto-referado  = docum-est.cod-emitente
                       tt-nota-fisc-adc.cod-livre-1              = ?
                       tt-nota-fisc-adc.dat-docto-referado-ecf   = ?
                       SUBSTRING(tt-nota-fisc-adc.cod-livre-2,1,60) = STRING(docum-est.cod-chave-aces-nf-eletro, "X(60)").
    
                RUN pi-buscaModelo IN h-bodi515 (INPUT "RE",
                                                 INPUT docum-est.cod-estabel,
                                                 INPUT docum-est.serie-docto,
                                                 INPUT docum-est.nro-docto,  
                                                 INPUT docum-est.cod-emitente,
                                                 INPUT docum-est.nat-operacao,
                                                 OUTPUT c-modelo).
         
                ASSIGN tt-nota-fisc-adc.cod-model-docto-referado = c-modelo
                       tt-nota-fisc-adc.dat-docto-referado       = docum-est.dt-emissao /*it-nota-fisc.dt-emis-nota*/
                       tt-nota-fisc-adc.idi-tip-docto-referado   = 2
                       tt-nota-fisc-adc.idi-tip-emit-referado    = 1.
    
                RUN setRecord IN h-bodi515 (INPUT TABLE tt-nota-fisc-adc).
                RUN emptyRowErrors IN h-bodi515.
                RUN validateRecord  IN h-bodi515 (INPUT 'Create').
    
                RUN getRowErrors IN h-bodi515 (OUTPUT TABLE rowErrors).
     
                IF CAN-FIND(FIRST RowErrors) THEN DO:
                    FOR EACH RowErrors
                       WHERE RowErrors.ErrorSubType = "ERROR":U
                         AND RowErrors.ErrorType <> "INTERNAL":U:
         
                        CREATE tt-erro.
                        ASSIGN tt-erro.cod-emitente = docum-est.cod-emitente
                               tt-erro.serie-docto  = docum-est.serie-docto
                               tt-erro.nro-docto    = docum-est.nro-docto
                               tt-erro.nat-oper     = docum-est.nat-oper  
                               tt-erro.it-codigo    = ""
                               tt-erro.sequencia    = 0
                               tt-erro.cd-erro      = RowErrors.errorNumber  
                               tt-erro.desc-erro    = RowErrors.errorDescription.
    
                        MESSAGE 'Erro: ' tt-erro.desc-erro
                            VIEW-AS ALERT-BOX INFO BUTTONS OK.
                    END. /* FOR EACH RowErrors */
         
                    RETURN "NOK":U.
                END. /* IF CAN-FIND(FIRST RowErrors) */
    
    
                RUN emptyRowErrors IN h-bodi515.
                MESSAGE RETURN-VALUE
                    VIEW-AS ALERT-BOX INFO BUTTONS OK.
                RUN createRecord IN h-bodi515.
     
                RUN getRowErrors IN h-bodi515 (OUTPUT TABLE rowErrors).
     
                IF CAN-FIND(FIRST RowErrors) THEN DO:
                    FOR EACH RowErrors
                       WHERE RowErrors.ErrorSubType = "ERROR":U
                         AND RowErrors.ErrorType <> "INTERNAL":U:
         
                        CREATE tt-erro.
                        ASSIGN tt-erro.cod-emitente = docum-est.cod-emitente
                               tt-erro.serie-docto  = docum-est.serie-docto
                               tt-erro.nro-docto    = docum-est.nro-docto
                               tt-erro.nat-oper     = docum-est.nat-oper  
                               tt-erro.it-codigo    = ""
                               tt-erro.sequencia    = 0
                               tt-erro.cd-erro      = RowErrors.errorNumber  
                               tt-erro.desc-erro    = RowErrors.errorDescription.
    
                        MESSAGE 'Erro: ' tt-erro.desc-erro
                            VIEW-AS ALERT-BOX INFO BUTTONS OK.
                    END. /* FOR EACH RowErrors */
         
                    RETURN "NOK":U.
                END. /* IF CAN-FIND(FIRST RowErrors) */
     
            END. /* IF RETURN-VALUE = "NOK":U */
     
        END. /* IF AVAIL docum-est */
    A nota fiscal aparece referenciada na tela FT0520 porém não aparece no XML. Quando eu entro na tela, altero e dou OK a tag aparece no XML.
    Alguém sabe me informar o que eu estou errando?
    Obrigado.
    Diego Mariano
    Última edição: Abril 9, 2015
  2. victorcolombo

    victorcolombo Sem Pontuação

    bom dia
    Estou com o mesmo problema.
    Por gentileza, poderia informar como resolveu esta questão?
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página