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] Programa de digitalização de documentos.

Discussão em 'EMS , HCM e Totvs 11' iniciado por smonteiro, Julho 20, 2009.

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

    af.dums Membro Ativo

    Essa é a procedure que usavamos....

    Código:
    DEFINE INPUT  PARAM pItem    AS CHAR       NO-UNDO.
    DEFINE INPUT  PARAM pEvento  AS CHAR       NO-UNDO. /*OPEN ou PRINT*/
    DEFINE INPUT  PARAM iTipo    AS INTEGER    NO-UNDO.
    DEFINE OUTPUT PARAM cRetorno AS CHAR       NO-UNDO.
    
    DEFINE TEMP-TABLE tt-erro NO-UNDO
          FIeLd it-codigo AS CHAR.
    
    CASE iTipo:
        WHEN 1 THEN
            RUN piDesenhoPdf.
    
        WHEN 2 THEN
            RUN piEsquemaMontagemPdf.
    
        WHEN 3 THEN
            RUN piprintDesenhoPdf.
    
    END CASE.
    
    PROCEDURE ShellExecuteA EXTERNAL "shell32" :
      DEFINE INPUT  PARAMETER hwnd           AS LONG.
      DEFINE INPUT  PARAMETER lpOperation    AS CHAR.
      DEFINE INPUT  PARAMETER lpFile         AS CHAR.
      DEFINE INPUT  PARAMETER lpParameters   AS CHAR.
      DEFINE INPUT  PARAMETER lpDirectory    AS CHAR.
      DEFINE INPUT  PARAMETER nShowCmd       AS LONG.
      DEFINE RETURN PARAMETER hInstance      AS LONG.
    END PROCEDURE.
    
    PROCEDURE piDesenhoPdf:
        DEFINE VARIABLE iPosicao AS INTEGER    NO-UNDO.
        DEFINE VARIABLE iReturn  AS INTEGER    NO-UNDO.
    
        ASSIGN iPosicao = INDEX(pItem,"-").
        ASSIGN pItem    = SUBSTRING(pItem,1, (iPosicao - 1)).
    
        RUN ShellExecuteA (0,
                           pEvento, /* open -- print */
                           "\\files2\pdf\" + STRING(pItem) + ".pdf",
                           "",
                           "",
                           1,
                           OUTPUT iReturn).
        
        IF iReturn >= 0 AND iReturn <= 32 THEN DO:
            MESSAGE "Desenho NÆo Encontrado." VIEW-AS ALERT-BOX INFO BUTTONS OK.
            ASSIGN cRetorno = "NOK".
        END.
        ELSE DO:
            ASSIGN cRetorno = "OK".
        END.
    END PROCEDURE.
    
    PROCEDURE piEsquemaMontagemPdf:
        DEFINE VARIABLE iReturn  AS INTEGER    NO-UNDO.
    
        RUN ShellExecuteA (0,
                           pEvento, /* open -- print */
                           "\\Files2\pdf\" + STRING(pItem) + ".pdf",
                           "",
                           "",
                           1,
                           OUTPUT iReturn).
        
        IF iReturn >= 0 AND iReturn <= 32 THEN DO:
    
    
            RUN ShellExecuteA (0,
                           pEvento, /* open -- print */
                           "\\files2\PDF\esquemas pdf\" + STRING(pItem) + ".pdf",
                           "",
                           "",
                           1,
                           OUTPUT iReturn).
    
           IF iReturn >= 0 AND iReturn <= 32 THEN DO:
              MESSAGE "Esquema de Montagem NÆo Encontrado." VIEW-AS ALERT-BOX INFO BUTTONS OK.
              ASSIGN cRetorno = "NOK".
           END.
        END.
        ELSE DO:
            ASSIGN cRetorno = "OK".
        END.
    
    END PROCEDURE.
    
    PROCEDURE piprintDesenhoPdf:
        DEFINE VARIABLE iPosicao AS INTEGER    NO-UNDO.
        DEFINE VARIABLE iReturn  AS INTEGER    NO-UNDO.
    
        ASSIGN iPosicao = INDEX(pItem,"-").
        ASSIGN pItem    = SUBSTRING(pItem,1, (iPosicao - 1)).
    
        RUN ShellExecuteA (0,
                           pEvento, /* open -- print */
                           "\\files2\pdf\" + STRING(pItem) + ".pdf",
                           "",
                           "",
                           1,
                           OUTPUT iReturn).
        
        IF iReturn >= 0 AND iReturn <= 32 THEN DO:
    
            IF NOT CAN-FIND (FIRST tt-erro
                             WHERE tt-erro.it-codigo = pItem) THEN DO:
    
                CREATE tt-erro.
                ASSIGN tt-erro.it-codigo = pItem.
            END.
            ASSIGN cRetorno = "NOK".
        END.
        ELSE DO:
            ASSIGN cRetorno = "OK".
        END.
    END PROCEDURE.
    
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página