Histórico da Página
MATA120 - Autorização de Entrega
Linha de Produto: | Protheus | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Segmento: | Manufatura | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parâmetro(s): |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Nível de Acesso | Nível 1 (Acesso Clientes) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Idiomas: | Espanhol, Inglês | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
País(es): | Todos | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Banco(s) de Dados: | Todos | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
Descrição: | Para o recebimento de material com contrato de parceria é necessário que seja executada a rotina Automática (MATA125) ou a rotina Manual antes da Autorização de Entrega para que as baixas dos itens do contrato de parceria e o registro da autorização da compra sejam realizados. Este procedimento é utilizado para autorizar a entrega dos itens do contrato de parceria que deve ser realizado antes do recebimento do material. É possível autorizar a entrega de apenas parte da quantidade total determinada no contrato, ficando o restante em aberto para outras autorizações. |
Programa Fonte: | MATA120.PRX |
Observações: |
|
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "RWMAKE.CH" |
#INCLUDE "PROTHEUS.CH" |
#INCLUDE "tbiconn.CH" |
User Function MyMata120() |
Local aCabec := {} |
Local aItens := {} |
Local aLinha := {} |
Local nY := 0 |
Local cDoc := "" |
Local lOk := .T. |
Local cSeek := "" |
Local nCount := 0 |
PRIVATE lMsErroAuto := .F. |
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "FAT" TABLES "SC7" |
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
//| Abertura do ambiente | |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
ConOut(Repl("-",80)) |
ConOut(PadC("Teste de Inclusao de 10 pedidos de compra com 30 itens cada",80)) |
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
//| Verificacao do ambiente para teste | |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
dbSelectArea("SB1") |
dbSetOrder(1) |
If !SB1->(MsSeek(xFilial("SB1")+"PA002")) |
lOk := .F. |
ConOut("Cadastrar produto: PA002") |
EndIf |
dbSelectArea("SF4") |
dbSetOrder(1) |
If !SF4->(MsSeek(xFilial("SF4")+"001")) |
lOk := .F. |
ConOut("Cadastrar TES: 001") |
EndIf |
dbSelectArea("SE4") |
dbSetOrder(1) |
If !SE4->(MsSeek(xFilial("SE4")+"001")) |
lOk := .F. |
ConOut("Cadastrar condicao de pagamento: 001") |
EndIf |
dbSelectArea("SA2") |
dbSetOrder(1) |
If !SA2->(MsSeek(xFilial("SA2")+"F0000101")) |
lOk := .F. |
ConOut("Cadastrar fornecedor: F0000101") |
EndIf |
If lOk |
ConOut("Inicio: "+Time()) |
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
//| Verifica o ultimo documento valido para um fornecedor | |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
dbSelectArea("SC7") |
dbSetOrder(1) |
MsSeek(xFilial("SC7")+"zzzzzz",.T.) |
dbSkip(-1) |
cDoc := SC7->C7_NUM |
For nY := 1 To 1 |
aCabec := {} |
aItens := {} |
If Empty(cDoc) |
cDoc := StrZero(1,Len(SC7->C7_NUM)) |
Else |
cDoc := Soma1(cDoc) |
EndIf |
aadd(aCabec,{"C7_NUM" ,cDoc}) |
aadd(aCabec,{"C7_EMISSAO" ,dDataBase}) |
aadd(aCabec,{"C7_FORNECE" ,"F00001"}) |
aadd(aCabec,{"C7_LOJA" ,"01"}) |
aadd(aCabec,{"C7_COND" ,"001"}) |
aadd(aCabec,{"C7_CONTATO" ,"AUTO"}) |
aadd(aCabec,{"C7_FILENT" ,CriaVar("C7_FILENT")}) |
cSeek:= xFilial("SC3")+"F0000101" |
dbSelectArea("SC3") |
dbSetOrder(2) |
MsSeek(cSeek) |
While SC3->(!Eof()) .And. xFilial("SC3")+SC3->C3_FORNECE+SC3->C3_LOJA == cSeek |
aLinha := {} |
aadd(aLinha,{"C7_PRODUTO" ,SC3->C3_PRODUTO,Nil}) |
aadd(aLinha,{"C7_QUANT" ,SC3->C3_QUANT ,Nil}) |
aadd(aLinha,{"C7_PRECO" ,SC3->C3_PRECO ,Nil}) |
aadd(aLinha,{"C7_TOTAL" ,SC3->C3_TOTAL ,Nil}) |
aadd(aLinha,{"C7_NUMSC" ,SC3->C3_NUM ,Nil}) |
aadd(aLinha,{"C7_ITEMSC" ,SC3->C3_ITEM ,Nil}) |
aadd(aItens,aLinha) |
SC3->(dbSkip()) |
nCount++ |
Enddo |
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
//| Teste de Inclusao | |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
If nCount > 0 |
MATA120(2,aCabec,aItens,3) |
If !lMsErroAuto |
ConOut("Incluido com sucesso! "+cDoc) |
Else |
ConOut("Erro na inclusao!") |
MostraErro() |
EndIf |
Else |
ConOut("Autorização não incluida!") |
EndIF |
Next nY |
ConOut("Fim : "+Time()) |
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
//| Teste de Alteracao | |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
dbSelectArea("SC7") |
dbSetOrder(1) |
MsSeek(xFilial("SC7")+cDoc) |
//C7_FILIAL+C7_NUM+C7_ITEM+C7_SEQUEN |
aCabec := {} |
aItens := {} |
aadd(aCabec,{"C7_NUM" ,SC7->C7_NUM}) |
aadd(aCabec,{"C7_EMISSAO" ,SC7->C7_EMISSAO}) |
aadd(aCabec,{"C7_FORNECE" ,SC7->C7_FORNECE}) |
aadd(aCabec,{"C7_LOJA" ,SC7->C7_LOJA}) |
aadd(aCabec,{"C7_COND" ,SC7->C7_COND}) |
aadd(aCabec,{"C7_CONTATO" ,SC7->C7_CONTATO}) |
aadd(aCabec,{"C7_FILENT" ,SC7->C7_FILENT}) |
aLinha := {} |
aadd(aLinha,{"C7_ITEM" ,SC7->C7_ITEM ,Nil}) |
aadd(aLinha,{"C7_PRODUTO" ,SC7->C7_PRODUTO ,Nil}) |
aadd(aLinha,{"C7_QUANT" ,3 ,Nil}) |
aadd(aLinha,{"C7_PRECO" ,SC7->C7_PRECO ,Nil}) |
aadd(aLinha,{"C7_TOTAL" ,3*SC7->C7_PRECO ,Nil}) |
aadd(aLinha,{"C7_NUMSC" ,SC7->C7_NUMSC ,Nil}) |
aadd(aLinha,{"C7_ITEMSC" ,SC7->C7_ITEMSC ,Nil}) |
aadd(aLinha,{"C7_REC_WT" ,SC7->(RECNO()) ,Nil}) |
aadd(aItens,aLinha) |
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
//| Teste de alteracao | |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
ConOut(PadC("Teste de alteracao",80)) |
ConOut("Inicio: "+Time()) |
MATA120(2,aCabec,aItens,4) |
If !lMsErroAuto |
ConOut("Alteracao com sucesso! "+cDoc) |
Else |
ConOut("Erro na Alteracao!") |
EndIf |
ConOut("Fim : "+Time()) |
ConOut(Repl("-",80)) |
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
//| Teste de exclusao | |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
dbSelectArea("SC7") |
dbSetOrder(1) |
MsSeek(xFilial("SC7")+cDoc) |
aCabec := {} |
aItens := {} |
aadd(aCabec,{"C7_NUM" ,SC7->C7_NUM}) |
aadd(aCabec,{"C7_EMISSAO" ,SC7->C7_EMISSAO}) |
aadd(aCabec,{"C7_FORNECE" ,SC7->C7_FORNECE}) |
aadd(aCabec,{"C7_LOJA" ,SC7->C7_LOJA}) |
aadd(aCabec,{"C7_COND" ,SC7->C7_COND}) |
aadd(aCabec,{"C7_CONTATO" ,SC7->C7_CONTATO}) |
aadd(aCabec,{"C7_FILENT" ,SC7->C7_FILENT}) |
aLinha := {} |
aadd(aLinha,{"C7_ITEM" ,SC7->C7_ITEM ,Nil}) |
aadd(aLinha,{"C7_PRODUTO" ,SC7->C7_PRODUTO ,Nil}) |
aadd(aLinha,{"C7_QUANT" ,SC7->C7_QUANT ,Nil}) |
aadd(aLinha,{"C7_PRECO" ,SC7->C7_PRECO ,Nil}) |
aadd(aLinha,{"C7_NUMSC" ,SC7->C7_NUMSC ,Nil}) |
aadd(aLinha,{"C7_ITEMSC" ,SC7->C7_ITEMSC ,Nil}) |
aadd(aLinha,{"C7_REC_WT" ,SC7->(RECNO()) ,Nil}) |
aadd(aItens,aLinha) |
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ |
//| Teste de Exclusao | |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ |
ConOut(PadC("Teste de exclusao",80)) |
ConOut("Inicio: "+Time()) |
MATA120(2,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.) |