Função: MATA110 - Solicitação de Compras
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 o registro de qualquer Solicitação de Compras de mercadorias na empresa. A entrada das solicitações inicia o processo de compras.
Programa Fonte:
MATA110.PRW
Sintaxe:
MATA110 - Solicitação de Compras ( [ PARAMIXB1 ] [ PARAMIXB2 ] [ PARAMIXB3 ] [ PARAMIXB4 ] [ PARAMIXB5 ] )
Retorno:
-
()
Observações
Esta rotina pode ser utilizada via Rotina Automática.
Exemplos
User Function MyMata110()Local aCabec := {}Local aItens := {}Local aLinha := {}Local nX := 0Local nY := 0Local cDoc := ""Local lOk := .T. Private lMsHelpAuto := .T.PRIVATE lMsErroAuto := .F.//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//| Abertura do ambiente |//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙConOut(Repl("-",80))ConOut(PadC(OemToAnsi("Teste de Inclusao de 2 solicitacoes de compra com 2 itens cada"),80))PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" TABLES "SC1","SB1"//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//| Verificacao do ambiente para teste |//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙDbSelectArea("SB1")DbSetOrder(1)If !SB1->(MsSeek(xFilial("SB1")+"01")) lOk := .F. ConOut(OemToAnsi("Cadastrar produto: 01"))EndIfIf !SB1->(MsSeek(xFilial("SB1")+"02")) lOk := .F. ConOut(OemToAnsi("Cadastrar produto: 02"))EndIfIf lOk ConOut(OemToAnsi("Inicio: ")+Time()) For nY := 1 To 2 aCabec := {} aItens := {} //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //| Verifica numero da SC | //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ cDoc := GetSXENum("SC1","C1_NUM") SC1->(dbSetOrder(1)) While SC1->(dbSeek(xFilial("SC1")+cDoc)) ConfirmSX8() cDoc := GetSXENum("SC1","C1_NUM") EndDo aadd(aCabec,{"C1_NUM" ,cDoc}) aadd(aCabec,{"C1_SOLICIT","Administrador"}) aadd(aCabec,{"C1_EMISSAO",dDataBase}) For nX := 1 To 2 aLinha := {} aadd(aLinha,{"C1_ITEM" ,StrZero(nx,len(SC1->C1_ITEM)),Nil}) aadd(aLinha,{"C1_PRODUTO","01",Nil}) aadd(aLinha,{"C1_QUANT" ,1 ,Nil}) aadd(aItens,aLinha) Next nX //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //| Teste de Inclusao | //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ MSExecAuto({|x,y| mata110(x,y)},aCabec,aItens) If !lMsErroAuto ConOut(OemToAnsi("Incluido com sucesso! ")+cDoc) Else ConOut(OemToAnsi("Erro na inclusao!")) EndIf Next nY ConOut(OemToAnsi("Fim : ")+Time())EndIfRESET ENVIRONMENTReturn(.T.)
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência | ||||||||||||
PARAMIXB1 | Vetor | Array contendo o cabeçalho da Solicitação de Compra. | |||||||||||||||
PARAMIXB2 | Vetor | Array contendo os itens da Solicitação de Compra. | |||||||||||||||
PARAMIXB3 | Numérico | Opção desejada: 3-Inclusão; 4-Alteração ; 5-Exclusão ; 7-Aprovação (Somente versão Protheus 10) | 3 | ||||||||||||||
PARAMIXB4 | Lógico | Controle Interno - Informa se a rotina é chamada via MRP. | .F. | ||||||||||||||
PARAMIXB5 | Lógico | Indica se apresenta ou não a Dialog da Rotina Automática. | .F. |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas