Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Tabela de Preço Via Execauto

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

ManufaturaServiços

Módulo:

Estoque/CustosFaturamento

Rotina:

Rotina

Nome Técnico

OMSA010

Tabela de Preços

País(es):

Todos

Banco(s) de Dados:

Todos

Tabelas Utilizadas:

DA0 - Cabeçalho da tabela de preço

DA1 - Itens da tabela de preço

Sistema(s) Operacional(is):

Windows / Linux

Descrição

Executar a rotina automática de manutenção das tabelas de preço.

Tipo de execução para a rotina automática.
 3 = "Incluir"
 4 = "Alterar"
 5 = "Excluir"

Execauto

Descrição:

Execauto de manutenção das tabelas de preço

Localização:

OMSA010.PRX

Eventos:

 3 = "Incluir"
 4 = "Alterar"
 5 = "Excluir"

Parâmetros:

Nome

Tipo

Descrição

Obrigatório

ExpA1

Array of Record

Array com lista de campos (DA0)

X

ExpA2

Array of Record

Array com lista de campos (DA1)

X

ExpN1NuméricoNumero da opção selecionadaX

 

Exemplo:

//Obs: Este modelo de utilização é valido apenas para o release 11.8  e versões futuras.

#include "totvs.ch"
#include "tbiconn.ch"
#include "fwmvcdef.ch"

User Function MyOMSA010()

Local aCabec := {}
Local aItens := {}
Local aLinha := {}
Local nY := 0
Local lOk := .T.
PRIVATE lMsErroAuto := .F.

ConOut(Repl("-",80))
ConOut(PadC("Teste de Inclusao de 1 tabela de preco",80))

//旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
//| Verificacao do ambiente para teste |
//읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸
dbSelectArea("SB1")
dbSetOrder(1)
If !SB1->(MsSeek(xFilial("SB1")+"PA001"))
lOk := .F.
ConOut("Cadastrar produto: PA001")
EndIf
If !SB1->(MsSeek(xFilial("SB1")+"PA002"))
lOk := .F.
ConOut("Cadastrar produto: PA002")
EndIf
If lOk
ConOut("Inicio: "+Time())
For nY := 1 To 1
aCabec := {}
aItens := {}
aadd(aCabec,{"DA0_DESCRI" ,"TESTE DE TABELA",Nil})
//aadd(aCabec,{"DA0_CONDPG" ,"001",Nil})
aLinha := {}
aadd(aLinha,{"DA1_ITEM","0001"})
aadd(aLinha,{"DA1_CODPRO","PA001"})
aadd(aLinha,{"DA1_PRCVEN",10,Nil})
aadd(aItens,aLinha)
aLinha := {}
aadd(aLinha,{"DA1_ITEM","0002"})
aadd(aLinha,{"DA1_CODPRO","PA002"})
aadd(aLinha,{"DA1_PRCVEN",10,Nil})
aadd(aItens,aLinha)

//旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
//| Teste de Inclusao |
//읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸
MSExecAuto({|x,y,z| Omsa010(x,y,z)},aCabec,aItens,3)
If !lMsErroAuto
ConOut("Incluido com sucesso! ")
Else
ConOut("Erro na inclusao!")
EndIf
Next nY
ConOut("Fim : "+Time())

//旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
//| Teste de alteracao |
//읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸
aCabec := {}
aItens := {}
For nY := 1 To 1
aCabec := {}
aItens := {}
aadd(aCabec,{"DA0_CODTAB" ,DA0->DA0_CODTAB,Nil})
aadd(aCabec,{"DA0_DESCRI" ,"TESTE DE TABELA",Nil})
//aadd(aCabec,{"DA0_CONDPG" ,"001",Nil})
aLinha := {}
aadd(aLinha,{"LINPOS","DA1_ITEM","0001"})
aadd(aLinha,{"AUTDELETA","N",Nil})
aadd(aLinha,{"DA1_CODPRO","PA001"})
aadd(aLinha,{"DA1_PRCVEN",11,Nil})
aadd(aItens,aLinha)
aLinha := {}
aadd(aLinha,{"LINPOS","DA1_ITEM","0002"})
aadd(aLinha,{"AUTDELETA","N",Nil})
aadd(aLinha,{"DA1_CODPRO","PA002"})
aadd(aLinha,{"DA1_PRCVEN",11,Nil})
aadd(aItens,aLinha)
Next nY
ConOut(PadC("Teste de alteracao",80))
ConOut("Inicio: "+Time())

//旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
//| Teste de alteracao |
//읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸
MSExecAuto({|x,y,z| Omsa010(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| Omsa010(x,y,z)},aCabec,aItens,5)
If !lMsErroAuto
ConOut("Exclusao com sucesso! "+DA0->DA0_CODTAB)
Else
ConOut("Erro na exclusao!")
EndIf
ConOut("Fim : "+Time())
ConOut(Repl("-",80))
EndIf

Return