• Nenhum resultado encontrado

Lista-MSEXECAUTO

N/A
N/A
Protected

Academic year: 2021

Share "Lista-MSEXECAUTO"

Copied!
5
0
0

Texto

(1)

Modulo : Programa : SIGAAUT

| Quark 1.00B | Descrição: ROTINAS AUTOMATICAS

| --- | +---+---+---+---+ | MICROSIGA SOFTWARE | | Microsiga Software S/A | 13/03/2002 | 14:54:18 | pAgina 0001 | +=====================+============================================================+============+==========+=============+ 1) Objetivo :

Fazer manutenção,ao automática (inclusão, alteração e exclusão) automatizando o processo de entrada de dados sem a necessidade de desenvolver rotinas especificas.

2) Aplicação:

Esta técnica esta aplicada em todas as versões Protheus, porem esta documentação se baseou na versão 6.09.

3) Vantagens:

1) Interface : A entrada de dados e enviada a rotina em forma de campos e conteúdos (array) e desta forma não sendo necessário a apresentação de nenhuma interface ao usuário.

2) Segurança : Em relação a este aspecto e fundamental sua utilização desta forma, pois esta se usando a rotina padrão no sistema, onde se a rotina sofrer manutenção a atualização será automática para o usuário final.

3) Agilidade no processo : Aumenta consideravelmente a agilidade, pois neste processo se bem construído elimina-se a entrada de dados via teclado (digitação).

4) Procedimento:

Existe duas maneiras de esta utilizando a rotina automática. 1§ Por um job

2§ Direto do sistema

A principal diferença entre elas e que quando usamos por um Job , devemos utilizar diretamente os nomes da funções 1§)Procedimento utilizando em JOB

Para a utilização da rotina automática em JOB nao utilizar a função MSExecAuto mas sim direto o nome da função. Exemplo:

Mata010(aProduto,nOpc) // utilizando em JOB

Ja para rotinas que não são em Job , devemos usar a MSExecAuto, pois a mesma tem a função de guardar o ambiente , executar a função automática e retornar de onde parou.

2§)Procedimentos utilizando MSExecAuto ---Exemplo:

MSExecAuto({|x,y| mata010(x,y)},aProduto,3) // utilizando em aplicação normal. Modelos de Rotinas Automáticas:

(2)

Existem 2 modelos de rotinas automáticas: 1§Modelo

Rotinas que utilizam somente a Enchoice (Baseada no dicionário de dados para uma tabela). CONA060(aRotAuto)-- Cadastro de Centro de Custo Custo

FINA040(aRotAuto,nOpc)--Cadastro Titulo a Receber

FINA050(aRotAuto,nOpcion,nOpc)*--Cadastro Titulo A pagar MATA010(aRotAuto,nOpc)--Cadastro de produtos

MATA020(aRotAuto,nOpc)--Cadastro de Fornecedor MATA030(aRotAuto,nOpc)--Cadastro de Clientes MATA040(aRotAuto,nOpc)--Cadastro de Vendedor

MATA050(aRotAuto,nOpc)--Cadastro de Transportadora

MATA060(aRotAuto,nOpc)--Atualização da Amarração Produto Fornecedor MATA080(aRotAuto,nOpc)--Cadastro de Tipo entrada e saída

MATA180(aRotAuto,nOpc)--Atualização dos dados complementares do produto MATA240(aRotAuto,nOpc)--Movimentações Internas (Requisições/Devoluções) MATA250(aRotAuto)--Programa para digitação das produções.

MATA270(aRotAuto)--Programa de digitação do inventario MATA650(aRotAuto,nOpc)--Cadastramento de Ordens de Produção

MATA680(aRotAuto)--Programa de atualização do movimento de produção

MATA681(aRotAuto)-Apontamento de Produção baseado no Roteiro de de Operações MATA682(aRotAuto)--Apontamento de Horas Improdutivas

QADA020(aRotAuto,nOpc)--Cadastro de Check List

QIEA030(aRotAuto)--Programa de atualização de Unidades de Medida

Obs.: As funções que não tem o parâmetro 'nOpc' estão disponíveis somente a rotina de inclusão. *nOpcion= utilizado para localização, para os processos automáticos passar NIL.

Parâmetros:

---NOpc - numérico com tipo da operação 3-inclusão, 4-alteração e 5 exclusão

ARotAuto - array contendo os campos e conteúdos, no mínimo passar os campos obrigatórios. NIL - parâmetro reservado

Exemplo:

User Function IncProd() Local aRotAuto := {}

Local nOpc := 3 // inclusão

Private lMsHelpAuto := .t. // se .t. direciona as mensagens de help para o arq. de log Private lMsErroAuto := .f. //necessário a criação, pois será //atualizado quando houver //alguma inconsistência nos parâmetros

Begin Transaction

aRotAuto:= {{"B1_COD","1010" ,Nil},; {"B1_DESC" ,"Produto teste",Nil},; {"B1_TIPO" ,"PA" ,Nil},;

(3)

{"B1_UM" ,"UN" ,Nil},; {"B1_LOCPAD" ,"01" ,Nil},; {"B1_PICM" ,0 ,Nil},; {"B1_IPI" ,0 ,Nil},; {"B1_PRV1" ,100 ,Nil},; {"B1_LOCALIZ" ,"N" ,Nil},; {"B1_CODBAR" ,'789888800001' ,Nil}} MSExecAuto({|x,y| mata010(x,y)},aProduto,nOpc) If lMsErroAuto DisarmTransaction() break EndIf End Transaction If lMsErroAuto /*

Se estiver em uma aplicação normal e ocorrer alguma inconsistência nos parâmetros passados,mostrar na tela o log informando qual coluna teve a inconsistência.

*/ Mostraerro() Return .f. EndIf Return .t. 2§MODELO

Rotinas que utilizam enchoice e getdados. Rotinas disponíveis:

CONA050(lLanc,xAutoCab,xAutoItens)*- Lançamentos Contábeis

MATA100(xAutoCab,xAutoItens,nOpc103)-Entrada de Notas Fiscais de Compra MATA102(xAutoCab,xAutoItens,nOpc)-Remito de Entrada de Materiais (Compras) MATA103(xAutoCab,xAutoItens,nOpc,lWhenGet)**- Notas Fiscais de Entrada MATA110(xAutoCab,xAutoItens, nOpc)-Solicitação de Compra

MATA120(nFuncao,xAutoCab,xAutoItens,nOpcAuto)***-Pedidos de Compra

MATA140(xAutoCab,xAutoItens,nOpc)-Digitação das Notas Fiscais de Entrada sem os dados Fiscais MATA150(xAutoCab,xAutoItens,nOpc)-Rotina de atualização manual das cotações de compra

MATA241(xAutoCab,xAutoItens)-Programa de Movimentações Internas (Requisições/Devoluções) MATA265(xAutoCab,xAutoItens,nOpc)-Distribuição de Produtos.

MATA410(xAutoCab,xAutoItens,nOpc)-Programa de atualização de Pedidos de Venda MATA415(xAutoCab,xAutoItens,nOpc)-Rotina de atualização dos Orçamentos de venda MATA920(xAutoCab,xAutoItens,nOpc)-SAIDA de Notas Fiscais de Venda Manual

TMKA061(xAutoCab,xAutoItens,nOpc)-Gerador de Listas

CFGX016(xAutoCab,xAutoItens)-Manutenção do arquivo de tabelas do sistema FINA070(xAutoCab,nOpc)-Programa de Baixa de Títulos a Receber

FINA080(xAutoCab,nOpc)-Programa de Baixa de Títulos a Pagar

(4)

Obs.: As funções que não tem o parâmetro 'nOpc' estão disponíveis somente a rotina de inclusão. * lLanc -Utilizado para ..., nos processos automáticos passar falso(.f.).

** lWhenGet - Nas rotinas automáticas passar NIL

***nOpcAuto-Passar o tipo que usa o modulo mata120 (1 pra pedido de compra, 2 Atualização de Entrega) Parâmetros:

nOpc - numérico com tipo da operação 3-inclusão, 4-alteração e 5 exclusão

xAutoCab - array contendo os campos e conteúdos do cabeçalho, no mínimo passar os campos obrigatórios. xAutoItens - array contendo outro array com os campos e conteúdo referente aos itens.

NIL - parâmetro reservado Exemplo:

User Function IncPed() Local aCabPV := {} Local aItemPV1:= {} Local aItemPV2:= {}

Local nOpc := 3 // inclusao Private lMsHelpAuto := .t. Private lMsErroAuto := .f. Begin Transaction

//Cabeçalho

aCabPV:={{"C5_NUM" ,"000108" ,Nil},; // Numero do pedido {"C5_CLIENTE","000001" ,Nil},; // Código do cliente {"C5_LOJAENT","00" ,Nil},; // Loja para entrada {"C5_LOJACLI","00" ,Nil},; // Loja do cliente {"C5_EMISSAO",dDatabase ,Nil},; // Data de emissão {"C5_TIPO" ,"N" ,Nil},; // Tipo de pedido

{"C5_CONDPAG","001" ,Nil},; // Código da condição de pagamento* {"C5_LIBEROK","S" ,Nil}} // Liberação Total

//Itens

aItemPV1:={ {"C6_NUM","000108",Nil},; // Numero do Pedido

{"C6_ITEM" ,"01" ,Nil},; // Numero do Item no Pedido {"C6_PRODUTO","1010" ,Nil},; // Código do Produto

{"C6_QTDVEN" ,1 ,Nil},; // Quantidade Vendida {"C6_PRCVEN" ,100 ,Nil},; // Preço Unitário Liquido {"C6_VALOR" ,100 ,Nil},; // Valor Total do Item {"C6_ENTREG",dDataBase,Nil},; // Data da Entrega

{"C6_UM" ,"UN" ,Nil},; // Unidade de Medida Primar. {"C6_TES" ,"510" ,Nil},; // Tipo de Entrada/Saída do Item {"C6_LOCAL" ,"01" ,Nil},; // Almoxarifado

{"C6_DESCONT",1 ,Nil},; // Percentual de Desconto {"C6_COMIS1" ,0 ,Nil},; // Comissão Vendedor {"C6_CLI" ,"000001",Nil},; // Cliente

{"C6_LOJA" ,"00" ,Nil},; // Loja do Cliente {"C6_QTDEMP" ,1 ,Nil},; // Quantidade Empenhada {"C6_QTDLIB" ,1 ,Nil}} // Quantidade Liberada Itens

(5)

aItemPV2:={ {"C6_NUM" ,"000108",Nil},; // Numero do Pedido

{"C6_ITEM" ,"01" ,Nil},; // Numero do Item no Pedido {"C6_PRODUTO","1010" ,Nil},; // Código do Produto

{"C6_QTDVEN" ,1 ,Nil},; // Quantidade Vendida {"C6_PRCVEN" ,100 ,Nil},; // Preço Unitário Liquido {"C6_VALOR" ,100 ,Nil},; // Valor Total do Item {"C6_ENTREG",dDataBase,Nil},; // Data da Entrega

{"C6_UM" ,"UN" ,Nil},; // Unidade de Medida Primar. {"C6_TES" ,"510" ,Nil},; // Tipo de Entrada/Saída do Item {"C6_LOCAL" ,"01" ,Nil},; // Almoxarifado

{"C6_DESCONT",1 ,Nil},; // Percentual de Desconto {"C6_COMIS1" ,0 ,Nil},; // Comissão Vendedor {"C6_CLI" ,"000001",Nil},; // Cliente

{"C6_LOJA" ,"00" ,Nil},; // Loja do Cliente

{"C6_QTDEMP" ,1 ,Nil},; // Quantidade Empenhada {"C6_QTDLIB" ,1 ,Nil}} // Quantidade Liberada

MSExecAuto({|x,y,z|Mata410(x,y,z)},aCabPv,{aItemPV1,aItemPV2},nOpc) If lMsErroAuto DisarmTransaction() break EndIf End Transaction If lMsErroAuto /*

Se estiver em uma aplicação normal e ocorrer alguma inconsistência nos parâmetros passados, mostrar na tela o log informando qual coluna teve a inconsistência.

*/ Mostraerro() Return .f. EndIf Return .t. ========================================================================================================================

Referências

Documentos relacionados

Forte compromisso Corporativo de RSE Forte compromisso Corporativo de RSE Forte compromisso Corporativo de RSE Forte compromisso Corporativo de RSE Expo Perspectivas 50 años Escuela

1.1 A presente seleção de Tutor a Distância será regida por este Edital e será executada pelo DEaD/IFMA Campus São Luís Monte Castelo e Comissão de

Não tem informações sobre a sua modificação química e, pelo exposto acima, no presente trabalho tem-se estudado a modificação química deste amido variando a concentração

Em cada caso foram obtidos três grupos de imagens, compreendendo as valvas cardíacas, a área da meia altura e o interior da câmara ventricular esquerda (evidenciando o septo e

Avaliar, quanto à adesão de suas camadas, filmes coextrusados de PET/PEBD e PET/EVOH/PEBD usados na fabricação de embalagens para alimentos, assim como estudar as interfaces e

Em média, a Vivo forneceu a melhor velocidade de download para os seus clientes em 2020... A Vivo progrediu em especial a partir de abril

Pela primeira vez foi organizado e produzido um livro com a participação de inúmeros filiados denominado "Cerimonial por Cerimonialistas", lançado por ocasião da realização

־ Uma relação de herança surge quando um objecto também é uma instância de uma outra classe mais geral (exemplo: “automóvel é um veículo”). ־ É sempre possível