Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

Tabela de Preço Via Execauto

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Serviços

Módulo:

Faturamento

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.

Totvs custom tabs box
tabsExemplo Básico CRUD, Exemplo Alteração Detalhada
idsCRUD,Alt_Detalhada
Totvs custom tabs box items
defaultyes
referenciaCRUD
Bloco de código
languagecpp
titleExemplo:
#include "totvs.ch"


#include "tbiconn.ch"

#include 

#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 := {}

	//????????????????????????????????
	//| Teste de Inclusao |
	//???????????????????????????????? 
	For nY := 1 To 1
		aCabec := {}
		aItens := {}
		aadd(aCabec,{"DA0_DESCRI" ,"TESTE DE TABELA",Nil})

//aadd(aCabec,{"DA0_CONDPG" ,"001",Nil})
aLinha := {}

		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

		Else
			ConOut("Erro na inclusao!")

EndIf
Next nY

		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 := {}

		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())

	MSExecAuto({|x,y,z| Omsa010(x,y,z)},aCabec,aItens,4)
	ConOut("Fim : "+Time())


	ConOut(Repl("-",80))

	//????????????????????????????????


	//| Teste de
alteracao |
 Exclusao |
	//????????????????????????????????


	ConOut(PadC("Teste de exclusao",80))
	ConOut("Inicio: "+Time())
	MSExecAuto({|x,y,z| Omsa010(x,y,z)},aCabec,aItens,
4)
5)
	If !lMsErroAuto
		ConOut("Exclusao com sucesso! "+DA0->DA0_CODTAB)
	Else
		ConOut("Erro na exclusao!")
	EndIf
	ConOut("Fim : "+Time())
	ConOut(Repl("-",80))
EndIf

Return
Totvs custom tabs box items
defaultno
referenciaAlt_Detalhada
Bloco de código
languagecpp
titleExemplo:
#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 Alteração 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 !SB1->(MsSeek(xFilial("SB1")+"PA003"))
	lOk := .F.
	ConOut("Cadastrar produto: PA003")
EndIf  

If lOk

	ConOut("Inicio: "+Time())

	//????????????????????????????????


	//| Teste
de Exclusao |
 de alteracao
	//| Neste exemplo serão realizadas três mudanças:
	//| - Incluindo condição de pagamento no cabeçalho
 	//| - Mudando Valor do item 0001
 	//| - Deletando o item 0002
	//????????????????????????????????


	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}) //Incluindo condição de pagamento no cabeçalho
		aLinha := {}
		aadd(aLinha,{"LINPOS","DA1_ITEM","0001"})
		aadd(aLinha,{"AUTDELETA","N",Nil})
		aadd(aLinha,{"DA1_CODPRO","PA001"})
		aadd(aLinha,{"DA1_PRCVEN",50,Nil}) //Atribuindo o valor 50 para este item
		aadd(aItens,aLinha)
		aLinha := {}
		aadd(aLinha,{"LINPOS","DA1_ITEM","0002"})
		aadd(aLinha,{"AUTDELETA","S",Nil}) //Deletando o item 0002
		aadd(aItens,aLinha)
	Next nY
	ConOut(PadC("Teste de
exclusao
 alteracao",80))


	ConOut("Inicio: "+Time())



	MSExecAuto({|x,y,z| Omsa010(x,y,z)},aCabec,aItens,
5)
If !lMsErroAuto
4)
	ConOut("
Exclusao com sucesso! "+
Fim : "+Time())
	ConOut(Repl("-",80))

	//????????????????????????????????
	//| Teste de alteracao 
 	//| - Incluindo um novo item em uma tabela
	//????????????????????????????????
	aCabec := {}
	aItens := {}
	For nY := 1 To 1
		aCabec := {}
		aItens := {}
		aadd(aCabec,{"DA0_CODTAB" ,DA0->DA0_CODTAB
)
Else
ConOut("Erro na exclusao!")
EndIf
ConOut("Fim :
,Nil})
		aadd(aCabec,{"DA0_DESCRI" ,"TESTE DE TABELA",Nil})
		aLinha := {}
  		aadd(aLinha,{"LINPOS","DA1_ITEM","0001"}) //Caso não seja informado o LINPOS o item será sobreposto.
        aadd(aItens,aLinha)
        aLinha := {}
        aadd(aLinha,{"LINPOS","DA1_ITEM","0002"})
        aadd(aItens,aLinha)
        aLinha := {}
		aadd(aLinha,{"DA1_ITEM","0003",Nil}) //Incluindo o item 0003 sem que os itens 0001 e 0002 sejam afetados.
        aadd(aLinha,{"DA1_CODPRO","PA003"})
        aadd(aLinha,{"DA1_PRCVEN",100,Nil})     
		aadd(aItens,aLinha)
	Next nY
	ConOut(PadC("Teste de alteracao",80))
	ConOut("Inicio: "+Time())

	MSExecAuto({|x,y,z| Omsa010(x,y,z)},aCabec,aItens,4)
	ConOut("Fim : "+Time())
	ConOut(Repl("-",80))   ConOut("Fim : "+Time())


	ConOut(Repl("-",80))


EndIf


Return