[RESOLVIDO] DUVIDA NA UPC CM0102

Discussão em 'EMS , HCM e Totvs 11' iniciado por Ivone, Agosto 29, 2013.

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

    Ivone Membro Participativo

    FIZ ESSA UPC E ESTA FUNCIONANDO, MAS QUANDO MUDO DE EMITENTE PARA PESQUISAR O PRÓXIMO ELE NÃO ATUALIZA A MÉDIA. O QUE ESTA ERRADO? ALGUÉM PODE ME AJUDAR?

    DEFINE INPUT PARAM p-ind-event AS CHAR NO-UNDO.
    DEFINE INPUT PARAM p-ind-object AS CHAR NO-UNDO.
    DEFINE INPUT PARAM p-wgh-object AS HANDLE NO-UNDO.
    DEFINE INPUT PARAM p-wgh-frame AS WIDGET-HANDLE NO-UNDO.
    DEFINE INPUT PARAM p-cod-table AS CHAR NO-UNDO.
    DEFINE INPUT PARAM p-row-table AS ROWID NO-UNDO.

    DEFINE VAR c-objeto AS CHAR NO-UNDO.
    DEFINE VAR l-confirma AS LOGICAL NO-UNDO.

    DEFINE VAR h_Frame AS HANDLE NO-UNDO.
    DEFINE VAR h_campo AS HANDLE NO-UNDO.
    DEFINE VAR contador AS INTEGER NO-UNDO.
    DEFINE VAR total-media AS DECIMAL FORMAT "zzzzz,zzz,zz9.99".
    DEFINE VAR media AS DECIMAL FORMAT "zzzzz,zzz,zz9.99".

    ASSIGN c-objeto = ENTRY(NUM-ENTRIES(p-wgh-object:pRIVATE-DATA, "~/"), p-wgh-object:pRIVATE-DATA, "~/").

    DEFINE NEW GLOBAL SHARED VAR wh-button AS WIDGET-HANDLE NO-UNDO.
    DEFINE NEW GLOBAL SHARED Var wh-fill AS WIDGET-HANDLE NO-UNDO.
    DEFINE NEW GLOBAL SHARED Var tx-label AS WIDGET-HANDLE NO-UNDO.

    IF p-ind-event = "INITIALIZE" AND
    c-objeto = "v32ad098.w" THEN DO:

    CREATE TEXT tx-label
    ASSIGN
    FRAME = p-wgh-frame
    FORMAT = "X(06)"
    WIDTH = 6
    HEIGHT = 0.88
    SCREEN-VALUE = "Média:"
    ROW = 5.3
    COL = 68
    FGCOLOR = 5
    VISIBLE = YES.

    CREATE FILL-IN wh-fill
    ASSIGN
    FRAME = p-wgh-frame
    SIDE-LABEL-HANDLE = tx-label:HANDLE
    DATA-TYPE = "Decimal"
    FORMAT = '>>>,>>9.99'
    WIDTH = 16
    HEIGHT = 0.88
    ROW = 5.3
    COL = 74.3
    /* BGCOLOR = 1 */
    FGCOLOR = 42
    VISIBLE = YES.

    ASSIGN h_Frame = p-wgh-frame:FIRST-CHILD. /* pegando o Field-Group */
    ASSIGN h_Frame = h_Frame:FIRST-CHILD. /* pegando o 1o. Campo */

    DO WHILE h_Frame <> ? :

    IF h_frame:TYPE <> "field-group" THEN DO:
    IF h_Frame:NAME = "lim-adicional" THEN DO:
    ASSIGN h_campo = h_Frame.
    LEAVE.
    END.
    ASSIGN h_Frame = h_Frame:NEXT-SIBLING.
    END.
    ELSE DO:
    ASSIGN h_frame = h_frame:FIRST-CHILD.
    END.
    END.
    h_campo:WIDTH = 17.
    END.

    IF p-ind-event = "enable" AND
    c-objeto = "v32ad098.w" THEN DO:
    wh-fill:SENSITIVE = YES.
    END.

    IF p-ind-event = "disable" AND
    c-objeto = "v32ad098.w" THEN DO:
    wh-fill:SENSITIVE = NO.
    END.

    IF p-ind-event = "display" AND
    c-objeto = "v32AD098.w" AND
    VALID-HANDLE(wh-fill) THEN DO:

    FIND emitente NO-LOCK
    WHERE rowid(emitente) = p-row-table NO-ERROR.
    IF AVAIL emitente THEN DO:
    FOR EACH nota-fiscal NO-LOCK
    WHERE nota-fiscal.cod-emitente = emitente.cod-emitente
    AND nota-fiscal.dt-cancela <> ?
    AND YEAR(nota-fiscal.dt-emis-nota) >= YEAR(nota-fiscal.dt-emis-nota) - 1
    AND MONTH(nota-fiscal.dt-emis-nota) = MONTH(nota-fiscal.dt-emis-nota)
    AND DAY(nota-fiscal.dt-emis-nota) = DAY(nota-fiscal.dt-emis-nota)
    BREAK BY nota-fiscal.dt-emis-nota DESC.

    ASSIGN contador = contador + 1
    total-media = total-media + nota-fiscal.vl-tot-nota.

    IF contador = 12 THEN DO:
    ASSIGN media = TRUNCATE((total-media / 12) * 1,99)
    wh-fill:SCREEN-VALUE = STRING(media)
    contador = 0
    total-media = 0.
    END.
    END.
    END.
    END.
  2. Ivone

    Ivone Membro Participativo

    Já deu certo! Valeu pessoal! CONSEGUI uffa!
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página