terça-feira, 10 de maio de 2016

ExecAuto LOJA701


Exemplo de Rotina para utilizar o ExecAuto do Loja701.

A rotina ExecAuto do LOJA701 (Venda Assistida) disponibiliza a inclusão de orçamento para futura finalização ou após manipulação (através de customizações) dos registros gerados para explosão no GrvBatch. A rotina não é homologada para finalização da venda, ou seja, o segundo parâmetro deve ser sempre 3. "(Loja701(a,b,c,d,e,f,g,h)},.F.,3)"
Não está homologada com integração SIGACRD.

USER Function MyLOJA701
Local _aCab := {} //Array do Cabeçalho do Orçamento
Local _aItem := {} //Array dos Itens do Orçamento
Local _aParcela := {} //Array das Parcelas do Orçamento
Private lMsHelpAuto := .T. //Variavel de controle interno do ExecAuto
Private lMsErroAuto := .F. //Variavel que informa a ocorrência de erros no ExecAuto
Private INCLUI := .T. //Variavel necessária para o ExecAuto identificar que se trata de uma inclusão
Private ALTERA := .F. //Variavel necessária para o ExecAuto identificar que se trata de uma inclusão
//Indica inclusão
lMsHelpAuto := .T.
lMsErroAuto := .F.
//Monta cabeçalho do orçamento (SLQ)
_aCab:= { {"LQ_VEND" ,"000001" ,NIL},;
{"LQ_COMIS" ,0 ,NIL},;
{"LQ_CLIENTE" ,"000001" ,NIL},;
{"LQ_LOJA" ,"01" ,NIL},;
{"LQ_TIPOCLI" ,"F" ,NIL},;
{"LQ_VLRTOT" , 216 ,NIL},;
{"LQ_DESCONT" , 0 ,NIL},;
{"LQ_VLRLIQ" , 216 ,NIL},;
{"LQ_NROPCLI" ," " ,NIL},;
{"LQ_DTLIM" ,dDatabase ,NIL},;
{"LQ_DINHEIR" , 216 ,NIL},;
{"LQ_EMISSAO" ,dDatabase ,NIL},;
{"LQ_NUMCFIS" ,"003011 " ,NIL},;
{"LQ_VLRDEBI" , 0 ,NIL},;
{"LQ_HORA" ,"" ,NIL},;
{"LQ_NUMMOV" ,"1 " ,NIL}}

aAdd(_aItem,{ {"LR_PRODUTO", "1 ",NIL},;
{"LR_QUANT" , 1 ,NIL},;
{"LR_UM" , "CX" ,NIL},;
{"LR_DESC" , 0 ,NIL},;
{"LR_VALDESC", 0 ,NIL},;
{"LR_DOC" , "003011 " ,NIL},;
{"LR_SERIE" , "01 " ,NIL},;
{"LR_PDV" , "0001 " ,NIL},;
{"LR_TABELA" , "1" ,NIL},;
{"LR_DESCPRO", 0 ,NIL},;
{"LR_FILIAL" , "01" ,NIL},;
{"LR_VEND" , "000001" ,NIL} })
aAdd(_aItem,{ {"LR_PRODUTO", "2 ",NIL},;
{"LR_QUANT" , 1 ,NIL},;
{"LR_UM" , "CX" ,NIL},;
{"LR_DESC" , 0 ,NIL},;
{"LR_VALDESC", 0 ,NIL},;
{"LR_DOC" , "003011 " ,NIL},;
{"LR_SERIE" , "01 " ,NIL},;
{"LR_PDV" , "0001 " ,NIL},;
{"LR_TABELA" , "1" ,NIL},;
{"LR_DESCPRO", 0 ,NIL},;
{"LR_FILIAL" , "01" ,NIL},;
{"LR_VEND" , "000001" ,NIL} })

//Monta o cabeçalho do orçamento (aPagtos)
aAdd(_aParcela,{{"L4_DATA" ,dDatabase ,NIL},;
{"L4_VALOR" ,216 ,NIL},;
{"L4_FORMA" , "R$ " ,NIL},;
{"L4_ADMINIS" , " " ,NIL},;
{"L4_FORMAID" , " " ,NIL},;
{"L4_MOEDA" , 0 ,NIL}})
SetFunName("LOJA701")MSExecAuto({|a,b,c,d,e,f,g,h| Loja701(a,b,c,d,e,f,g,h)},.F.,3,"","",{},_aCab,_aItem ,_aParcela)
If lMsErroAuto Alert("Erro no ExecAuto")
DisarmTransaction() // Libera sequencial RollBackSx8()
Else
Alert("Sucesso na execução do ExecAuto")
EndIf
Retu