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. | Localização: | Em que ponto: | Programa Fonte: | Sintaxe: | Retorno: | Variáveis: | Nome | Tipo | Escopo | Pode Alterar | Descrição | Array of Record | Global | Não | Observaçõ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.) |