Função: COMA010 - Cadastro de Tabela de Preços
Versões: | Microsiga Protheus 8.11 , Protheus 10 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Nível de Acesso: | Nível 1 (Acesso Clientes) |
Idiomas: | Espanhol , Inglês |
Descrição:
OBJETIVO:
Essa rotina permite cadastrar as tabelas de preços dos fornecedores que atendem à empresa. Podendo ser informados os preços e a condição de pagamento a serem praticados.
IMPORTANTE:
Quando informada a condição de pagamento, o sistema não permitirá que outra condição seja utilizada nos processos de compras (cotações e pedidos).
Programa Fonte:
COMA010.PRW
Sintaxe:
COMA010 - Cadastro de Tabela de Preços ( [ PARAMIXB1 ] [ PARAMIXB2 ] [ PARAMIXB3 ] ) --> Nil
Retorno:
Nil
- (nulo)
- Nil
Observações:
- Para Alteração e exclusão de um item da rotina automática deve-se utilizar LINPOS e AUTDELETA
- Quando existir a necessidade de alterar um item especifico da Getdados, existem dois campos que podem ser utilizados, os campos são: LINPOS e AUTDELETA. O primeiro deve ser utilizado para localizar o item do aCols que sofrerá alteração, o segundo instruí a rotina automática para deletar a linha. Caso não seja utilizado o LINPOS esta função irá reconstruir todo o aCols.
Esta rotina pode ser executada via rotina automática.
Exemplos:
#INCLUDE "RWMAKE.CH" #INCLUDE "TBICONN.CH" //EXEMPLO DE INCLUSÃO User Function MyComa10I() Local aCabec := {} Local aItens := {} Local cFornec := "000001" Local cLoja := "01" Local cProd := "" Local cNomeProd := "" Local cCodTab := "EXP" Local nOpc := 3 //Inclusão Local nX PRIVATE lMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "COM" TABLES "AIA","AIB" dDataDe := dDataBase dDataAte := CtoD("01/01/2030") Begin Transaction aCabec := {} aadd(aCabec,{"AIA_CODFOR",cFornec,NIL}) aadd(aCabec,{"AIA_LOJFOR",cLoja,NIL}) aadd(aCabec,{"AIA_CODTAB",cCodTab,NIL}) aadd(aCabec,{"AIA_DESCRI","TABELA DE PRECO BRASIL",NIL}) aadd(aCabec,{"AIA_DATDE",dDataDe,NIL}) aadd(aCabec,{"AIA_DATATE",dDataAte,NIL}) For nX := 1 to 2 aItem := {} If nX == 1 cProd := "01" cNomeProd := Posicione("SB1",1,xFilial("SB1")+cProd,"B1_DESC") ElseIf nX == 2 cProd := "001" cNomeProd := Posicione("SB1",1,xFilial("SB1")+cProd,"B1_DESC") Endif aadd(aItem,{"AIB_ITEM",StrZero(nX,TamSx3("AIB_ITEM")[1]) ,NIL}) aAdd(aItem,{'AIB_CODPRO',cProd,NIL}) aAdd(aItem,{'AIB_DESCRI',cNomeProd,NIL}) aAdd(aItem,{'AIB_PRCCOM',10,NIL}) aAdd(aItem,{'AIB_DATVIG',dDataBase,NIL}) aAdd(aItens,aItem) Next //3-Inclusão / 4-Alteração / 5-Exclusão MSExecAuto({|x,y,z| coma010(x,y,z)},nOpc,aCabec,aItens) If lMsErroAuto ConOut("Erro na inclusao!") EndIf End Transaction RESET ENVIRONMENT Return Nil #INCLUDE "RWMAKE.CH" #INCLUDE "TBICONN.CH" //EXEMPLO DE ALTERAÇÃO User Function MyCom10A() Local aCabec := {} Local aItens := {} Local cFornec := "000001" Local cLoja := "01" Local cProd := "" Local cNomeProd := "" Local cCodTab := "EXP" Local nOpc := 4 //Alteração Local nX PRIVATE lMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "COM" TABLES "AIA","AIB" dDataDe := dDataBase dDataAte := CtoD("01/01/2030") Begin Transaction aCabec := {} aadd(aCabec,{"AIA_CODFOR",cFornec,NIL}) aadd(aCabec,{"AIA_LOJFOR",cLoja,NIL}) aadd(aCabec,{"AIA_CODTAB",cCodTab,NIL}) aadd(aCabec,{"AIA_DESCRI","TABELA DE PRECO BRASIL",NIL}) aadd(aCabec,{"AIA_DATDE",dDataDe,NIL}) aadd(aCabec,{"AIA_DATATE",dDataAte,NIL}) For nX := 1 to 2 aItem := {} If nX == 1 cProd := "01" cNomeProd := Posicione("SB1",1,xFilial("SB1")+cProd,"B1_DESC") ElseIf nX == 2 cProd := "001" cNomeProd := Posicione("SB1",1,xFilial("SB1")+cProd,"B1_DESC") Endif if nX == 1 //Alterando preço do Item 0001 aAdd(aItem,{"LINPOS","AIB_ITEM" ,"0001"}) aAdd(aItem,{"AUTDELETA","N" ,Nil}) aAdd(aItem,{'AIB_CODPRO',cProd,NIL}) aAdd(aItem,{'AIB_DESCRI',cNomeProd,NIL}) aAdd(aItem,{'AIB_DATVIG',dDataBase,NIL}) aAdd(aItem,{'AIB_PRCCOM',20,NIL}) elseif nX == 2 //Excluindo o Item 0002 aAdd(aItem,{"LINPOS","AIB_ITEM" ,"0002"}) aAdd(aItem,{"AUTDELETA","S", NIL}) aAdd(aItem,{'AIB_CODPRO',cProd,NIL}) aAdd(aItem,{'AIB_DESCRI',cNomeProd,NIL}) aAdd(aItem,{'AIB_DATVIG',dDataBase,NIL}) aAdd(aItem,{'AIB_PRCCOM',10,NIL}) endif aAdd(aItens,aItem) Next //3-Inclusão / 4-Alteração / 5-Exclusão MSExecAuto({|x,y,z| coma010(x,y,z)},nOpc,aCabec,aItens) If lMsErroAuto ConOut("Erro na alteração!") EndIf End Transaction RESET ENVIRONMENT Return Nil #INCLUDE "RWMAKE.CH" #INCLUDE "TBICONN.CH" //EXEMPLO DE EXCLUSÃO User Function MyCom10E() Local aCabec := {} Local aItens := {} Local cFornec := "000001" Local cLoja := "01" Local cCodTab := "EXP" Local nOpc := 5 //Exclusão PRIVATE lMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "COM" TABLES "AIA","AIB" dDataDe := dDataBase dDataAte := CtoD("01/01/2030") Begin Transaction aCabec := {} aadd(aCabec,{"AIA_CODFOR",cFornec,NIL}) aadd(aCabec,{"AIA_LOJFOR",cLoja,NIL}) aadd(aCabec,{"AIA_CODTAB",cCodTab,NIL}) aadd(aCabec,{"AIA_DESCRI","TABELA DE PRECO BRASIL",NIL}) aadd(aCabec,{"AIA_DATDE",dDataDe,NIL}) aadd(aCabec,{"AIA_DATATE",dDataAte,NIL}) aItem := {} aadd(aItem,{"AIB_CODFOR",cFornec ,NIL}) aAdd(aItem,{'AIB_LOJFOR',cLoja,NIL}) aAdd(aItem,{'AIB_CODTAB',cCodTab,NIL}) aAdd(aItens,aItem) //3-Inclusão / 4-Alteração / 5-Exclusão MSExecAuto({|x,y,z| coma010(x,y,z)},nOpc,aCabec,aItens) If lMsErroAuto ConOut("Erro na exclusão!") EndIf End Transaction RESET ENVIRONMENT Return Nil
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência | ||||||||||||
nOpc | Numérico | Opção escolhida: 3-Inclusão ; 4-Alteração ; 5-Exclusão | |||||||||||||||
aCabec | Vetor | Array contendo o cabeçalho da Tabela de Preços | |||||||||||||||
aItens | Vetor | Array contendo o ítens da Tabela de Preços |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas