FAQs - Suporte técnico

MP - FRAME - PARÂMETROS POR LINHA DE COMANDO

DÚVIDA
Como passar parâmetros para um programa executado via linha de comando?

AMBIENTE
Protheus – ADVPL – A partir da versão 11.8

SOLUÇÃO
Sempre que executada uma função via linha de comando, os parâmetros devem ser enviados via -A  e o programa informado em -P deve estar sem os parâmetros:

start c:\protheus\bin\smartclient\smartclient.exe -M -Q -P=U_T234CLI -E=P1217_X32A -C=LOCAL -A=COD000


EXEMPLO
Para este exemplo, utilizaremos a sequência de parâmetros abaixo:

-A=COD001 -A=.T. -A=131.21 -A=29/09/2019 -A={|x|MsgInfo(x)} -A={"A",1,.T.,{||JsonObject():New()},"27/01/2019"}


ATENÇÃO
Veja que todos os parâmetros não têm espaço entre seu início e fim e serão enviados como caractere.

mceclip0.png

FONTE

// BIBLIOTECAS NECESSÁRIAS
#Include "TOTVS.ch"

//------------------------------------------------------
// RECEBE PARÂMETROS VIA LINHA DE COMANDO
//------------------------------------------------------
User Function T234CLI(uPar1, uPar2, uPar3, uPar4, uPar5, uPar6)
    Local cCode   As Character
    Local lValid  As Logical
    Local nAmount As Numeric
    Local dToday  As Date
    Local bExec   As CodeBlock
    Local aInfo   As Array

    Default uPar1 := Space(0)
    Default uPar2 := ".F."
    Default uPar3 := "0"
    Default uPar4 := Date()
    Default uPar5 := "{|| NIL}"
    Default uPar6 := "{ }"

    cCode   := uPar1
    lValid  := &(uPar2)
    nAmount := Val(uPar3)
    dToday  := CToD("29/09/2019", "DDMMYYYY")
    bExec   := &(uPar5)
    aInfo   := Parse1DArr(uPar6)
Return (NIL)

//------------------------------------------------------
// CONVERTE VETORES DE UM UMA DIMENSÃO ENVIADOS
// POR MEIO DE LINHA DE COMANDO
//------------------------------------------------------
Static Function Parse1DArr(cArray)
    Local aArray As Array
    Local lValid As Logical
    Local nX     As Numeric

    // TRATA AS POSIÇÕES DO VETOR
    cArray := AllTrim(SubStr(cArray, 2, Len(cArray- 2))
    If (!Empty(cArray))
        aArray := StrTokArr(cArray, ",")
        lValid := .T.
   Else
        aArray := Array(0)
        lValid := .F.
    EndIf

    // PERCORRE AS POSIÇÕES DO VETOR
    If (lValid .And. Len(aArray> 0)
        For nX := 1 To Len(aArray)
            Do Case
                // LOGICO
                Case (Len(aArray[nX]) == 3 .And. SubStr(aArray[nX], 1, 1== "." .And. SubStr(aArray[nX], 3, 3== ".")
                    aArray[nX:= &(aArray[nX])
                // BLOCO DE CÓDIGO
                Case (SubStr(aArray[nX], 1, 2== "{|")
                    aArray[nX:= &(aArray[nX])
                // DATA
                Case (Len(aArray[nX]) == 10 .And. SubStr(aArray[nX], 3, 1== "/" .And. SubStr(aArray[nX], 6, 1== "/")
                    aArray[nX:= CToD(aArray[nX], "DDMMYYYY")
                // NUMÉRICO
                Case (!IsAlpha(aArray[nX]))
                    aArray[nX:= Val(aArray[nX])
                // CARACTERE MANTÉM-SE NO ESTADO ATUAL
            EndCase
        Next nX
    EndIf
Return (aArray)

 
SAIBA MAIS
SMARTCLIENT - PARÂMETROS DE LINHA

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _