Histórico da Página
...
Produto: | Protheus | |||||||||||||||||||
Ocorrência: | Rotina Automática - MATA125 (Execauto) | |||||||||||||||||||
Ambiente: | SIGACOM - Compras | |||||||||||||||||||
Descrição: | Essa rotina permite o registro de qualquer Contrato de Parceria na empresa. O Contrato de Parceria é um contrato de fornecimento de produtos por um determinado período. | |||||||||||||||||||
Sintaxe: | MATA125 - Contrato de Parceria ( [ ExpN1 ] [ ExpA1 ] [ ExpA2 ])
| |||||||||||||||||||
Retorno: | L (Logico) = .T. (Apresentou erro) / .F. (OK) | |||||||||||||||||||
Sintaxe: | MATA125 - Contrato de Parceria ( [ ExpN1 ] [ ExpA1 ] [ ExpA2 ])
| |||||||||||||||||||
Observações: | Os campos de cabeçalho do Contrato de Parceria (C3_EMISSAO / C3_FORNECE / C3_LOJA / C3_COND / C3_CONTATO / C3_FILENT) deverão ser obrigatoriamente informados nesta rotina. Os campos de itens do Contrato de Parceria(C3_PRODUTO / C3_QUANT / C7C3_PRECO) deverão ser obrigatoriamente informados nesta rotina. Se informar o campo (C3_MOEDA), o campo (C3_TXMOEDA) também devera ser informado nos itens do contrato. Se for alterar ou excluir um contrato o campo (C3_REC_WT) tem que estar preenchido com o numero do registro (SC3->(Recno()) Alteração de Contrato de Parceria: Para alterar/excluir item já existente no Contrato de Parceria, deve-se utilizar o LINPOS e AUTODELETA Para incluir um novo item em um contrato já existente, deve-se informar o campo (C3_ITEM) com um registro novo, e NÃO utilizar o LINPOS e AUTODELETA. Rateio de Projeto: (Opção disponível a partir da versão 11) O array de projeto deve ser passado com todos os campos e seguindo a mesma ordem do exemplo abaixo. |
Exemplos:
#INCLUDE "MATA125.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "PROTHEUS.CH"
...
For nX := 1 To 2
aLinha := {}
aadd(aLinha,{"C3_FILIAL",xFilial("SC3"),Nil})
aadd(aLinha,{"C3_ITEM",StrZero(nX,len(SC3->C3_ITEM)),Nil})
If nX==1
aadd(aLinha,{"C3_PRODUTO" ,"COM000000000000000000000000047",Nil})
aadd(aLinha,{"C3_QUANT",1,Nil})
aadd(aLinha,{"C3_PRECO",39,Nil})
aadd(aLinha,{"C3_TOTAL",39,Nil})
else
aadd(aLinha,{"C3_PRODUTO" ,"COM000000000000000000000000126",Nil})
aadd(aLinha,{"C3_QUANT",2,Nil})
aadd(aLinha,{"C3_PRECO",100,Nil})
aadd(aLinha,{"C3_TOTAL",200,Nil})
END /* aadd(aLinha,{"C3_PRODUTO" ,"COM000000000000000000000000047",Nil})
aadd(aLinha,{"C3_QUANT",2,Nil})
aadd(aLinha,{"C3_PRECO",135,Nil})
aadd(aLinha,{"C3_TOTAL",270,Nil}) */
aadd(aLinha,{"C3_DATPRI",dDataBase,Nil})
aadd(aLinha,{"C3_DATPRF",dDataBase,Nil})
aadd(aItens,aLinha)
Next nX
//Rateio Projeto
aAdd(aRatPrj, Array(2))
aRatPrj[1][1] := "0001"
aRatPrj[1][2] := {}
For nX := 1 To Len(aItemPrj)
aLinha := {}
aAdd(aLinha, {"AJ7_FILIAL" , xFilial("AJ7") , Nil})
aAdd(aLinha, {"AJ7_PROJET" , aItemPrj[nX][1], Nil})
aAdd(aLinha, {"AJ7_TAREFA" , PadR(aItemPrj[nX][2],TamSX3("AF9_TAREFA")[1]), Nil})
aAdd(aLinha, {"AJ7_NUMPC" , cDoc , Nil})
aAdd(aLinha, {"AJ7_ITEMPC" , "0001" , Nil})
aAdd(aLinha, {"AJ7_COD" , "0001" , Nil})
aAdd(aLinha, {"AJ7_QUANT" , 1 , Nil})
aAdd(aLinha, {"AJ7_REVISA" , "0001" , Nil})
aAdd(aRatPrj[1][2], aClone(aLinha))
Next nX
nX
MSExecAuto( {|x,y,z| mata125(x,y,z)},aCab,aItens,3,aRatPrj)
If lMsErroAuto
MostraErro()
Else
MsgAlert("Incluido com sucesso! "+cDoc)
Endif *
///ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Teste de Alteração
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
...
For nX := 1 To 3
aLinha := {}
//aadd(aLinha,{"C3_FILIAL",xFilial("SC3"),Nil})
//aadd(aLinha,{"LINPOS","C3_ITEM",StrZero(nX,len(SC3->C3_ITEM)),Nil})
//aadd(aLinha,{"AUTDELETA","N",Nil})
If nX==1
aadd(aLinha,{"C3_PRODUTO" ,"COM000000000000000000000000047",Nil})
aadd(aLinha,{"C3_QUANT",1,Nil})
aadd(aLinha,{"C3_PRECO",59,Nil})
aadd(aLinha,{"C3_TOTAL",59,Nil})
elseif nx==2
aadd(aLinha,{"C3_PRODUTO" ,"COM000000000000000000000000126",Nil})
aadd(aLinha,{"C3_QUANT",2,Nil})
aadd(aLinha,{"C3_PRECO",110,Nil})
aadd(aLinha,{"C3_TOTAL",220,Nil})
elseif nx==3
aadd(aLinha,{"C3_PRODUTO" ,"COM000000000000000000000000167",Nil})
aadd(aLinha,{"C3_QUANT",2,Nil})
aadd(aLinha,{"C3_PRECO",110,Nil})
aadd(aLinha,{"C3_TOTAL",220,Nil})
END
aadd(aLinha,{"C3_DATPRI",dDataBase,Nil})
aadd(aLinha,{"C3_DATPRF",dDataBase,Nil})
aadd(aItens,aLinha)
Next nX
...