Histórico da Página
...
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
...
Função: MATA410 - Geração automática de Pedido de Vendas (ExecAuto)
...
Descrição
Função utilizada para geração do Pedido de Venda via rotina automática (ExecAuto).
Programa Fonte:
MATA410.PRX
Sintaxe:
MSExecAuto({|a, b, c, d, e, f| MATA410(a, b, c, d, , , , e, )}, aCabec, aItens, nOpcX, .F., [aItemRat])
Retorno:
{}
Exemplos:
...
deck | DECK 1 |
---|---|
card | CARD 1 |
...
deck | DECK 2 |
---|---|
card | CARD 2 |
Bloco de código | ||
---|---|---|
| ||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"
Function MyMata410()
Local aCabec := {}
Local aItens := {}
Local aLinha := {}
Local nX := 0
Local nY := 0
Local cDoc := ""
Local lOk := .T.
PRIVATE lMsErroAuto := .F.
//****************************************************************
//* Abertura do ambiente
//****************************************************************
ConOut(Repl("-",80))
ConOut(PadC("Teste de Inclusao de 10 pedidos de venda com 30 itens cada",80))
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "FAT" TABLES "SC5","SC6","SA1","SA2","SB1","SB2","SF4"
//****************************************************************
//* Verificacao do ambiente para teste
//****************************************************************
dbSelectArea("SB1")
dbSetOrder(1)
If !SB1->(MsSeek(xFilial("SB1")+"PA001"))
lOk := .F.
ConOut("Cadastrar produto: PA001")
EndIf
dbSelectArea("SF4")
dbSetOrder(1)
If !SF4->(MsSeek(xFilial("SF4")+"501"))
lOk := .F.
ConOut("Cadastrar TES: 501")
EndIf
dbSelectArea("SE4")
dbSetOrder(1)
If !SE4->(MsSeek(xFilial("SE4")+"001"))
lOk := .F.
ConOut("Cadastrar condicao de pagamento: 001")
EndIf
If !SB1->(MsSeek(xFilial("SB1")+"PA002"))
lOk := .F.
ConOut("Cadastrar produto: PA002")
EndIf
dbSelectArea("SA1")
dbSetOrder(1)
If !SA1->(MsSeek(xFilial("SA1")+"CL000101"))
lOk := .F.
ConOut("Cadastrar cliente: CL000101")
EndIf
If lOk
ConOut("Inicio: "+Time())
// Obs: Caso não exista controle de numeração automática no inicializador padrão no número do pedido de venda (campo C5_NUM), poderá
// ser utilizada a função GetSxeNum(), conforme exemplo abaixo utilizando na atribuição da variável cDoc. As regras de controle de numeração
// devem ser testadas, e validadas pela empresa.
cDoc := GetSxeNum("SC5","C5_NUM")
aCabec := {}
aItens := {}
aadd(aCabec,{"C5_NUM" ,cDoc,Nil})
aadd(aCabec,{"C5_TIPO" ,"N",Nil})
aadd(aCabec,{"C5_CLIENTE",SA1->A1_COD,Nil})
aadd(aCabec,{"C5_LOJACLI",SA1->A1_LOJA,Nil})
aadd(aCabec,{"C5_LOJAENT",SA1->A1_LOJA,Nil})
aadd(aCabec,{"C5_CONDPAG",SE4->E4_CODIGO,Nil})
If cPaisLoc == "PTG"
aadd(aCabec,{"C5_DECLEXP","TESTE",Nil})
Endif
For nX := 1 To 30
aLinha := {}
aadd(aLinha,{"C6_ITEM",StrZero(nX,2),Nil})
aadd(aLinha,{"C6_PRODUTO",SB1->B1_COD,Nil})
aadd(aLinha,{"C6_QTDVEN",1,Nil})
aadd(aLinha,{"C6_PRCVEN",100,Nil})
aadd(aLinha,{"C6_PRUNIT",100,Nil})
aadd(aLinha,{"C6_VALOR",100,Nil})
aadd(aLinha,{"C6_TES","501",Nil})
aadd(aItens,aLinha)
Next nX
//****************************************************************
//* Teste de Inclusao
//****************************************************************
MSExecAuto({|x,y,z|mata410(x,y,z)},aCabec,aItens,3)
If !lMsErroAuto
ConOut("Incluido com sucesso! "+cDoc)
Else
ConOut("Erro na inclusao!")
EndIf
ConOut("Fim : "+Time())
//****************************************************************
//* Teste de alteracao
//****************************************************************
aCabec := {}
aItens := {}
aadd(aCabec,{"C5_NUM",cDoc,Nil})
aadd(aCabec,{"C5_TIPO","N",Nil})
aadd(aCabec,{"C5_CLIENTE",SA1->A1_COD,Nil})
aadd(aCabec,{"C5_LOJACLI",SA1->A1_LOJA,Nil})
aadd(aCabec,{"C5_LOJAENT",SA1->A1_LOJA,Nil})
aadd(aCabec,{"C5_CONDPAG",SE4->E4_CODIGO,Nil})
If cPaisLoc == "PTG"
aadd(aCabec,{"C5_DECLEXP","TESTE",Nil})
Endif
For nX := 1 To 30
aLinha := {}
aadd(aLinha,{"LINPOS","C6_ITEM",StrZero(nX,2)})
aadd(aLinha,{"AUTDELETA","N",Nil})
aadd(aLinha,{"C6_PRODUTO",SB1->B1_COD,Nil})
aadd(aLinha,{"C6_QTDVEN",2,Nil})
aadd(aLinha,{"C6_PRCVEN",100,Nil})
aadd(aLinha,{"C6_PRUNIT",100,Nil})
aadd(aLinha,{"C6_VALOR",200,Nil})
aadd(aLinha,{"C6_TES","501",Nil})
aadd(aItens,aLinha)
Next nX
ConOut(PadC("Teste de alteracao",80))
ConOut("Inicio: "+Time())
MSExecAuto({|x,y,z|mata410(x,y,z)},aCabec,aItens,4)
ConOut("Fim : "+Time())
ConOut(Repl("-",80))
//****************************************************************
//* Teste de Exclusao
//****************************************************************
ConOut(PadC("Teste de exclusao",80))
ConOut("Inicio: "+Time())
MSExecAuto({|x,y,z|mata410(x,y,z)},aCabec,aItens,5)
If !lMsErroAuto
ConOut("Exclusao com sucesso! "+cDoc)
Else
ConOut("Erro na exclusao!")
EndIf
ConOut("Fim : "+Time())
ConOut(Repl("-",80))
EndIf
RESET ENVIRONMENT
Return(.T.) |
Parâmetros:
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas