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] UPC Re0708

Discussão em 'EMS , HCM e Totvs 11' iniciado por Paulo_agr, Setembro 23, 2015.

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

    Paulo_agr Membro Participativo

    Pessoa,
    Preciso fazer uma UPC para pegar as informações do browser do Re0708.
    Já consigo selecionar o browser e pegar os valores q tem nele, o problema é que não consigo pegar
    somente aquele registro que o usuário seleciona...
    Como fazer isso?
  2. cintiasottelli

    cintiasottelli Membro Participativo

    Olá, vc ja conseguiu fazer isso?
  3. cintiasottelli

    cintiasottelli Membro Participativo

    Aqui tem um exemplo de manipulação de browse pela UPC:

    /******************************************************************************
    **
    ** Programa: upeq0506b.p
    ** Autor: Sottelli
    ** 23/12/2014 - Cintia Sousa
    **
    *******************************************************************************/
    def input param p-ind-event as char no-undo.
    def input param p-ind-object as char no-undo.
    def input param p-wgh-object as handle no-undo.
    def input param p-wgh-frame as widget-handle no-undo.
    def input param p-cod-table as char no-undo.
    def input param p-row-table as rowid no-undo.

    DEFINE VARIABLE i-cont-row AS INTEGER NO-UNDO.

    DEF NEW GLOBAL SHARED VAR l-criou-eq0506 AS LOG NO-UNDO.
    DEF NEW GLOBAL SHARED VAR wh-bw-col-eq0506 AS WIDGET-HANDLE NO-UNDO.

    DEF NEW GLOBAL SHARED VAR wh-pedcli AS WIDGET-HANDLE NO-UNDO.
    DEF NEW GLOBAL SHARED VAR wh-cod-estabel AS WIDGET-HANDLE NO-UNDO.
    DEF NEW GLOBAL SHARED VAR wh-selecao AS WIDGET-HANDLE NO-UNDO.

    DEFINE NEW GLOBAL SHARED VAR wgh-br-table-eq0506 AS WIDGET-HANDLE NO-UNDO.
    DEFINE NEW GLOBAL SHARED VAR wgh-qry-eq0506 AS WIDGET-HANDLE NO-UNDO.
    DEFINE NEW GLOBAL SHARED VAR wgh-buffer-eq0506 AS WIDGET-HANDLE NO-UNDO.

    DEFINE NEW GLOBAL SHARED VAR wgh-bt-add-eq0506 AS WIDGET-HANDLE NO-UNDO.
    DEFINE NEW GLOBAL SHARED VAR wgh-bt-add-eq0506-clone AS WIDGET-HANDLE NO-UNDO.
    DEFINE NEW GLOBAL SHARED VAR wgh-bt-add-all-eq0506 AS WIDGET-HANDLE NO-UNDO.
    DEFINE NEW GLOBAL SHARED VAR wgh-bt-add-all-eq0506-clone AS WIDGET-HANDLE NO-UNDO.

    DEFINE VARIABLE wh-buffer-aux AS WIDGET-HANDLE NO-UNDO.

    DEF VAR c-objeto AS CHAR NO-UNDO.

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

    /* Message */
    /* "Evento............: " p-ind-event Skip */
    /* "Objeto............: " p-ind-object Skip */
    /* "Handel do Obejto..: " p-wgh-object Skip */
    /* "Frame.............: " p-wgh-frame Skip */
    /* "Rowid da tabela...: " STRING(p-row-table) */
    /* "Nome da tabela....: " p-cod-table Skip */
    /* c-objeto */
    /* View-as Alert-box. */
    /* */

    define var h-frame as handle no-undo.
    define var h-frame1 as handle no-undo.
    define var h-frame2 as handle no-undo.

    IF p-ind-event = "BEFORE-INITIALIZE"
    AND p-ind-object = "BROWSER"
    AND c-objeto = 'eq0506b-b01.w' THEN DO:

    ASSIGN l-criou-eq0506 = no.

    ASSIGN h-frame = p-wgh-frame:FIRST-CHILD
    h-frame = h-frame:FIRST-CHILD.

    DO WHILE VALID-HANDLE(h-frame):
    IF h-frame:TYPE <> "field-group" THEN DO:

    IF h-frame:NAME = 'br-table' THEN DO:
    ASSIGN wgh-br-table-eq0506 = h-frame:HANDLE.
    wgh-br-table-eq0506:ADD-CALC-COLUMN("CHAR", "x(2)", '', "*", 1).
    END.

    IF h-frame:NAME = 'bt-add' THEN DO:
    ASSIGN wgh-bt-add-eq0506 = h-frame:HANDLE.
    END.

    IF h-frame:NAME = 'bt-add-all' THEN DO:
    ASSIGN wgh-bt-add-all-eq0506 = h-frame:HANDLE.
    END.

    ASSIGN h-frame = h-frame:NEXT-SIBLING.
    END.
    ELSE
    ASSIGN h-frame = h-frame:FIRST-CHILD.
    END.
    END.

    IF p-ind-event = "INITIALIZE" AND
    p-ind-object = "CONTAINER" THEN DO:

    IF VALID-HANDLE(wgh-bt-add-eq0506) THEN DO:

    CREATE BUTTON wgh-bt-add-eq0506-clone
    ASSIGN FRAME = wgh-bt-add-eq0506:FRAME
    WIDTH = wgh-bt-add-eq0506:WIDTH
    HEIGHT = wgh-bt-add-eq0506:HEIGHT
    LABEL = wgh-bt-add-eq0506:LABEL
    COLUMN = wgh-bt-add-eq0506:COLUMN
    ROW = wgh-bt-add-eq0506:ROW
    HELP = 'Aloca Item Selecionado*'
    CONVERT-3D-COLORS = wgh-bt-add-eq0506:CONVERT-3D-COLORS
    SENSITIVE = YES
    VISIBLE = wgh-bt-add-eq0506:VISIBLE
    TRIGGERS:
    ON "CHOOSE":U PERSISTENT RUN upc/upeq0506-01b.p (INPUT "CHOOSE-btAdd",
    INPUT "btAdd",
    INPUT p-wgh-object,
    INPUT p-wgh-frame ,
    INPUT p-cod-table,
    INPUT p-row-table).
    END TRIGGERS.

    wgh-bt-add-eq0506-clone:LOAD-IMAGE-UP("image/im-adduni.bmp":U).
    wgh-bt-add-eq0506-clone:LOAD-IMAGE-INSENSITIVE("image/im-adduni.bmp":U).
    wgh-bt-add-eq0506-clone:MOVE-TO-TOP().

    END.

    IF VALID-HANDLE(wgh-bt-add-all-eq0506) THEN DO:

    CREATE BUTTON wgh-bt-add-all-eq0506-clone
    ASSIGN FRAME = wgh-bt-add-all-eq0506:FRAME
    WIDTH = wgh-bt-add-all-eq0506:WIDTH
    HEIGHT = wgh-bt-add-all-eq0506:HEIGHT
    LABEL = wgh-bt-add-all-eq0506:LABEL
    COLUMN = wgh-bt-add-all-eq0506:COLUMN
    ROW = wgh-bt-add-all-eq0506:ROW
    HELP = 'Aloca‡Æo Total'
    CONVERT-3D-COLORS = wgh-bt-add-all-eq0506:CONVERT-3D-COLORS
    SENSITIVE = YES
    VISIBLE = wgh-bt-add-all-eq0506:VISIBLE
    TRIGGERS:
    ON "CHOOSE":U PERSISTENT RUN upc/upeq0506-01b.p (INPUT "CHOOSE-btAddAll",
    INPUT "btAddAll",
    INPUT p-wgh-object,
    INPUT p-wgh-frame ,
    INPUT p-cod-table,
    INPUT p-row-table).
    END TRIGGERS.

    wgh-bt-add-all-eq0506-clone:LOAD-IMAGE-UP("image/ii-addall.bmp":U).
    wgh-bt-add-all-eq0506-clone:LOAD-IMAGE-INSENSITIVE("image/ii-addall.bmp":U).
    wgh-bt-add-all-eq0506-clone:MOVE-TO-TOP().

    END.


    END.

    /* Sele‡Æo de Pedidos */
    IF p-ind-event = "CHOOSE-btAdd" AND
    p-ind-object = "btAdd" THEN DO:

    DO i-cont-row = 1 TO wgh-br-table-eq0506:NUM-ITERATIONS:

    wgh-br-table-eq0506:select-row(i-cont-row) .

    ASSIGN wh-selecao = wgh-br-table-eq0506:GET-BROWSE-COLUMN(1) /* Coluna de Sele‡Æo */
    wh-pedcli = wgh-br-table-eq0506:GET-BROWSE-COLUMN(3). /* Nr Pedido Cliente */

    IF wh-selecao:SCREEN-VALUE = '*' THEN DO:

    for each ped-venda no-lock where ped-venda.nr-pedido = INT(wh-pedcli:SCREEN-VALUE) :

    for each ped-item no-lock of ped-venda:

    find first item no-lock where item.it-codigo = ped-item.it-codigo no-error.
    if avail item and
    item.fm-codigo = '111' or
    item.fm-codigo = '122' or
    item.fm-codigo = '131' then do:

    if avail ped-venda and
    not can-find (first ped-saldo of ped-venda) then do:
    RUN utp/ut-msgs.p (INPUT "show",
    INPUT 17242,
    INPUT " Item " + item.it-codigo + " do pedido " + string(ped-venda.nr-pedido) + " nÆo tem lote vinculado." +
    "~~ Item " + item.it-codigo + " do pedido " + string(ped-venda.nr-pedido) + " nÆo tem lote vinculado.").
    wh-selecao:SCREEN-VALUE = ''.
    wgh-br-table-eq0506:select-row(i-cont-row).
    RETURN "NOK":U.
    end. /* itens sem lote vinculados no pd4000 */
    end. /* regra de itens controlados por lote */
    end. /* itens do pedido de venda */
    end. /* pedido de venda */
    END. /* Selecionado */
    wh-selecao:SCREEN-VALUE = ''.
    wgh-br-table-eq0506:deselect-rows() .
    END.
    i-cont-row = i-cont-row + 1.
    wgh-br-table-eq0506:select-row(1) .
    apply 'choose' to wgh-bt-add-eq0506.

    END.

    /* Todos os pedidos */
    IF p-ind-event = "CHOOSE-btAddAll" AND
    p-ind-object = "btAddAll" THEN DO:

    DO i-cont-row = 1 TO wgh-br-table-eq0506:NUM-ITERATIONS:

    wgh-br-table-eq0506:select-row(i-cont-row) .

    ASSIGN wh-selecao = wgh-br-table-eq0506:GET-BROWSE-COLUMN(1) /* Coluna de Sele‡Æo */
    wh-pedcli = wgh-br-table-eq0506:GET-BROWSE-COLUMN(3). /* Nr Pedido Cliente */

    for each ped-venda no-lock where ped-venda.nr-pedido = INT(wh-pedcli:SCREEN-VALUE) :

    for each ped-item no-lock of ped-venda:

    find first item no-lock
    where item.it-codigo = ped-item.it-codigo no-error.

    if avail item and
    item.fm-codigo = '111' or
    item.fm-codigo = '122' or
    item.fm-codigo = '131' then do:

    if avail ped-venda and
    not can-find (first ped-saldo of ped-venda) then do:

    RUN utp/ut-msgs.p (INPUT "show",
    INPUT 17242,
    INPUT " Pedido " + string(ped-venda.nr-pedido) + " nÆo tem lote vinculado." +
    "~~ Pedido " + string(ped-venda.nr-pedido) + " nÆo tem lote vinculado.").

    wh-selecao:SCREEN-VALUE = ''.
    wgh-br-table-eq0506:select-row(i-cont-row).
    RETURN "NOK":U.

    end. /* itens sem lote vinculados no pd4000 */
    end. /* regra de itens controlados por lote */
    end. /* itens do pedido de venda */
    end. /* pedido de venda */
    wh-selecao:SCREEN-VALUE = ''.
    wgh-br-table-eq0506:deselect-rows() .
    END.
    i-cont-row = i-cont-row + 1.
    wgh-br-table-eq0506:select-row(1) .
    apply 'choose' to wgh-bt-add-all-eq0506.
    END.

    /* Marcando e desmarcando '*' coluna de sele‡Æo */
    IF VALID-HANDLE(wgh-br-table-eq0506) THEN DO:
    ON 'MOUSE-SELECT-CLICK' OF wgh-br-table-eq0506 PERSISTENT RUN upc/upc-eq0506b1.p.
    ON 'LEAVE' OF wgh-br-table-eq0506 DO:
    END.

    END.
    jeffyssantos curtiu isso.
  4. cintiasottelli

    cintiasottelli Membro Participativo

    /******************************************************************************
    **
    ** Programa: upc-eq0506b1.p
    ** Autor: Sottelli
    ** 30/12/2014 - Cintia Sousa
    **
    *******************************************************************************/

    DEFINE NEW GLOBAL SHARED VAR wgh-br-table-eq0506 AS WIDGET-HANDLE NO-UNDO.

    DEF NEW GLOBAL SHARED VAR wh-pedcli AS WIDGET-HANDLE NO-UNDO.
    DEF NEW GLOBAL SHARED VAR wh-cod-estabel AS WIDGET-HANDLE NO-UNDO.
    DEF NEW GLOBAL SHARED VAR wh-selecao AS WIDGET-HANDLE NO-UNDO.

    ASSIGN wh-selecao = wgh-br-table-eq0506:GET-BROWSE-COLUMN(1).
    ASSIGN wh-pedcli = wgh-br-table-eq0506:GET-BROWSE-COLUMN(3).

    wh-selecao:fgcolor = 9.
    wh-selecao:font = 6.

    IF wh-selecao:SCREEN-VALUE = '' THEN DO:
    ASSIGN wh-selecao:SCREEN-VALUE = '*'.
    END.
    ELSE DO:
    ASSIGN wh-selecao:SCREEN-VALUE = ''.
    END.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página