[RESOLVIDO] Cancelar Faturamento

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

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

    Rogerio Moderator Moderador Equipe de Suporte

    Galera nos programas FT4002 e FT4003 no momento de calculo de NF eu preciso fazer uma verificação específica, e dependendo da situação a NF não pode ser calculada, o que acham mais fácil, fazer uma UPC para cada programa e depois um botão falso no calculo da NF e fazer a minha validação antes de executar o botão padrão, ou pensei em colocar uma UPC na BODI317...

    Porem eu não sei como tratar isso pela BODI...

    Alguem poderia me tirar essa duvida!!!!

    Outra coisa se eu optar pelo uso da BODI, como faço para abortar o processo atraves de uma UPC???
  2. lima

    lima Membro Participativo

    Amigo,

    cadastre uma EPC para a bodi317ef(BO de Efetivação do Cálculo da Nota), utiliza o evento AfterEfetivaNota, com isso, vc consegue realizar todo o seu tratamento, se vc retornar NOK ele não efetiva o calculo da nota.

    ficaria algo assim:

    {include/i-epc200.i bodi317ef}

    DEF INPUT PARAM p-ind-event AS CHAR NO-UNDO.
    DEF INPUT-OUTPUT PARAM TABLE FOR tt-epc.

    {dibo/bodi317ef.i1} /* definicao temp-table tt-notas-geradas */

    FIND FIRST tt-epc
    WHERE tt-epc.cod-parameter = 'Table-Rowid' NO-ERROR.
    IF AVAIL tt-epc THEN
    ASSIGN r-rowid-wt-docto = TO-ROWID(tt-epc.val-parameter).

    FIND FIRST tt-epc
    WHERE tt-epc.cod-param = "object-handle" NO-ERROR.
    IF AVAIL tt-epc THEN DO:

    ASSIGN h-bo = WIDGET-HANDLE(tt-epc.val-parameter).

    RUN buscaTtNotasGeradas IN h-bo (OUTPUT l-ok,
    OUTPUT TABLE tt-notas-geradas).
    FOR EACH tt-notas-geradas:
    tt-notas-geradas.rw-nota-fiscal - utiliza essa campo para posicionar na nota gerada e validar os dados
    end.



    Beleza?
  3. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    A procedure buscaTtNotasGeradas, ela é padrao correto?
    Depois eu colocaria um RETURN 'NOK'. dentro do ultimo FOR EACH, cooreto?
  4. lima

    lima Membro Participativo

    Isso mesmo.
  5. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Muito Obrigado Lima... vou fazer os testes, qualquer coisa eu posto novamente a dúvida.
  6. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Caro Lima, fiz um testes simples... só pr ver se cancelaria o faturamento... mas mesmo assim apos dar o RETURN o faturamento foi feito. Poderia me ajudar!!!!

    Código:
    {include/i-epc200.i}
    
    DEF INPUT PARAM p-ind-event AS CHAR NO-UNDO.
    DEF INPUT-OUTPUT PARAM TABLE FOR tt-epc.
    
    
        /* comandos */
    
    FOR EACH tt-epc:
    
        IF tt-epc.cod-event = 'AfterEfetivaNota' THEN
        DO:
            MESSAGE 'teste se volta'
                VIEW-AS ALERT-BOX INFO BUTTONS OK.
            RETURN 'nok'.
        END.
    END.
         RETURN 'ok' .
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página