Histórico da Página
...
- Visão Geral
- Exemplo de utilização
- Operações
- Principais Campos
- Pré condições para utilização da rotina
- Parâmetros do sistema
- Pontos de entrada
- Adapter EAI
- MILE
- M-messenger
- Tabelas utilizadas
- Processos relacionados
- Perguntas e respostas mais frequentes (FAQ)
...
A rotina Produtos permite onde as operações podem ser utilizadas em suas customizações conforme exemplos abaixo:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "TBICONN.CH" /* Exemplo de inclusão de ums solicitacao de transferência via rotina automatica */ User Function M311Inc() Local oModel Local aLog Local cMensLog Local nX PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01' USER 'admin' PASSWORD '' MODULO "EST" oModel := FWLoadModel("MATA311") //Carrega o modelo oModel:SetOperation(MODEL_OPERATION_INSERT) // Seta operação de inclusão oModel:Activate() // Ativa o Modelo //Cabeçalho da solicitacao oModel:SetValue( 'NNSMASTER', 'NNS_CLASS', '1' ) oModel:SetValue( 'NNSMASTER', 'NNS_ESPECI', ' ' ) //Itens da solicitacao // produto e local de origem oModel:SetValue( 'NNTDETAIL', 'NNT_FILORI', '01' ) oModel:SetValue( 'NNTDETAIL', 'NNT_PROD', 'PRO001' ) oModel:SetValue( 'NNTDETAIL', 'NNT_LOCAL', '0A' ) oModel:SetValue( 'NNTDETAIL', 'NNT_QUANT', 1 ) // produto e local de destino oModel:SetValue( 'NNTDETAIL', 'NNT_FILDES', '01' ) oModel:SetValue( 'NNTDETAIL', 'NNT_PRODD', 'PRO001' ) oModel:SetValue( 'NNTDETAIL', 'NNT_LOCLD', '0B' ) // Caso seja transferencia de filiais os campos de TES de entrada e saida são obrigatorios //oModel:SetValue( 'NNTDETAIL', 'NNT_TS', '549' ) //oModel:SetValue( 'NNTDETAIL', 'NNT_TE', '072' ) If oModel:VldData() //Validação do modelo oModel:CommitData() // Gravação do Modelo Else aLog := oModel:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData cMensLog := '' //laco para gravar em string cLog conteudo do array aLog For nX := 1 to Len(aLog) If !Empty(aLog[nX]) cMensLog += Alltrim(aLog[nX]) + CHR(13)+CHR(10) EndIf Next nX lMsErroAuto := .T. //seta variavel private como erro AutoGRLog(cMensLog) //grava log para exibir com funcao mostraerro MostraErro() EndIf oModel:DeActivate() //desativa modelo Return NIL |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "TBICONN.CH" /* Exemplo de Copia de ums solicitacao de transferência via rotina automatica */ User Function m311Copy() Local oModel Local nX Local cCodDoc Private cOpId311 := "004" // DECLARACAO PARA O REALIZAR A COPIA DA SOLICITACAO PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01' USER 'admin' PASSWORD '' MODULO "EST" cCodDoc := "0000000001" // codigo do documento de solicitação de transferência a ser copiado //Posiciona registro dbSelectArea("NNS") NNS->(DbSetOrder(1)) If NNS->(DbSeek(xFilial("NNS") + cCodDoc)) //carrega o model oModel := FWLoadModel( "MATA311" ) //Define operação do modelo oModel:SetOperation( MODEL_OPERATION_INSERT ) //Ativação do modelo oModel:Activate( .T. ) //-- Preenchimento dos campos da NNT da 1a linha oModel:SetValue( "NNTDETAIL","NNT_QUANT",3) If oModel:VldData() //Validação do modelo oModel:CommitData() // Gravação do Modelo Else aLog := oModel:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData cMensLog := '' //laco para gravar em string cLog conteudo do array aLog For nX := 1 to Len(aLog) If !Empty(aLog[nX]) cMensLog += Alltrim(aLog[nX]) + CHR(13)+CHR(10) EndIf Next nX lMsErroAuto := .T. //seta variavel private como erro AutoGRLog(cMensLog) //grava log para exibir com funcao mostraerro MostraErro() EndIf ELSE conout("Documento de Solicitação de transferência não encontrado") ENDIF Return NIL |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "TBICONN.CH" /* Exemplo de alteracao de ums solicitacao de transferência via rotina automatica */ User Function m311Alt() Local oModel Local nX Local cCodDoc Private cOpId311 := "004" // DECLARACAO PARA O REALIZAR A ALTERACAO DA SOLICITACAO PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01' USER 'admin' PASSWORD '' MODULO "EST" cCodDoc := "0000000001" // codigo do documento de solicitaзгo de transferência a ser alterado //Posiciona registro dbSelectArea("NNS") NNS->(DbSetOrder(1)) If NNS->(DbSeek(xFilial("NNS") + cCodDoc)) //carrega o model oModel := FWLoadModel( "MATA311" ) //Define operaзгo do modelo oModel:SetOperation( MODEL_OPERATION_UPDATE ) //Ativaзгo do modelo oModel:Activate() //-- Preenchimento dos campos da NNT da 1a linha oModel:SetValue( "NNTDETAIL","NNT_QUANT",4) If oModel:VldData() //Validaзгo do modelo oModel:CommitData() // Gravaзгo do Modelo Else aLog := oModel:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData cMensLog := '' //laco para gravar em string cLog conteudo do array aLog For nX := 1 to Len(aLog) If !Empty(aLog[nX]) cMensLog += Alltrim(aLog[nX]) + CHR(13)+CHR(10) EndIf Next nX lMsErroAuto := .T. //seta variavel private como erro AutoGRLog(cMensLog) //grava log para exibir com funcao mostraerro MostraErro() EndIf ELSE conout("Documento de Solicitaзгo de transferência nгo encontrado") ENDIF Return NIL |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "TBICONN.CH" /* Exemplo de Efetivar uma solicitacao de transferência via rotina automatica */ User Function m311efet() Local oModel Local nX Local cCodDoc Local oModelNNT Private cOpId311 := "011" // DECLARACAO PARA O REALIZAR A EFETIVACAO DA SOLICITACAO PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01' USER 'admin' PASSWORD '' MODULO "EST" cCodDoc := "0000000001" // codigo do documento de solicitaçãoo de transferência a ser efetivado //Posiciona registro dbSelectArea("NNS") NNS->(DbSetOrder(1)) If NNS->(DbSeek(xFilial("NNS") + cCodDoc)) //carrega o model oModel := FWLoadModel( "MATA311" ) //Define operação do modelo oModel:SetOperation( MODEL_OPERATION_UPDATE ) //Ativação do modelo oModel:Activate() //-- Preenchimento dos campos da NNS oModel:SetValue( 'NNSMASTER' , 'NNS_STATUS' , '2' ) oModel:SetValue( 'NNSMASTER' , 'NNS_ESPECI' , "NF" ) oModelNNT := oModel:GetModel("NNTDETAIL") For nX := 1 To oModelNNT:Length() oModelNNT:GoLine( nX ) oModel:SetValue( 'NNTDETAIL' , 'NNT_SERIE' , "001" )// Informe a série desejada Next nx If oModel:VldData() //Valida??o do modelo oModel:CommitData() // Grava??o do Modelo Else aLog := oModel:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData cMensLog := '' //laco para gravar em string cLog conteudo do array aLog For nX := 1 to Len(aLog) If !Empty(aLog[nX]) cMensLog += Alltrim(aLog[nX]) + CHR(13)+CHR(10) EndIf Next nX lMsErroAuto := .T. //seta variavel private como erro AutoGRLog(cMensLog) //grava log para exibir com funcao mostraerro MostraErro() EndIf oModel:DeActivate() //desativa modelo ELSE conout("Documento de Solicitação de transferência não encontrado") ENDIF Return NIL |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "TBICONN.CH" /* Exemplo de Excluir uma solicitacao de transferência via rotina automatica */ User Function m311Exc() Local oModel Local nX Local cCodDoc PREPARE ENVIRONMENT EMPRESA '99' FILIAL '01' USER 'admin' PASSWORD '' MODULO "EST" cCodDoc := "0000000002" // codigo do documento de solicitação de transferência a ser excluida //Posiciona registro dbSelectArea("NNS") NNS->(DbSetOrder(1)) If NNS->(DbSeek(xFilial("NNS") + cCodDoc)) //carrega o model oModel := FWLoadModel( "MATA311" ) //Define operação do modelo oModel:SetOperation( MODEL_OPERATION_DELETE ) //Ativação do modelo oModel:Activate() If oModel:VldData() //Validação do modelo oModel:CommitData() // Gravação do Modelo Else aLog := oModel:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData cMensLog := '' //laco para gravar em string cLog conteudo do array aLog For nX := 1 to Len(aLog) If !Empty(aLog[nX]) cMensLog += Alltrim(aLog[nX]) + CHR(13)+CHR(10) EndIf Next nX lMsErroAuto := .T. //seta variavel private como erro AutoGRLog(cMensLog) //grava log para exibir com funcao mostraerro MostraErro() EndIf oModel:DeActivate() //desativa modelo ELSE conout("Documento de Solicitaão de transferência n?o encontrado") ENDIF Return NIL |
...
Informações | ||
---|---|---|
| ||
Na |
...
execução automatica da rotina, |
...
não devem ser informados os campos:
|
03. OPERAÇÕES
Na página principal da rotina, estão disponíveis as opções:
Deck of Cards | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Deck of Cards | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
04. Principais Campos
...
Deck of Cards | ||||||
---|---|---|---|---|---|---|
effectDuration | 0
| 5history | false||||
id | samples | |||||
effectType | fade |
|
05. PRÉ CONDIÇÕES PARA UTILIZAÇÃO DA ROTINA
- Processo de transferência entre Armazéns
- Processo de transferência entre filiais
- Unidade de medida
- Local de Estoque
- Produtos
- Saldos Iniciais
- Condição de Pagamento
- Tipo de Entrada Saída
- Fornecedor
- Cliente
06. PARÂMETROS DO SISTEMA
|
04. Principais Campos
Âncora #principaiscampos #principaiscampos
Deck of Cards | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||
|
05. PRÉ CONDIÇÕES PARA UTILIZAÇÃO DA ROTINA
- Processo de transferência entre Armazéns
- Processo de transferência entre filiais
- Unidade de medida
- Local de Estoque
- Produtos
- Saldos Iniciais
- Condição de Pagamento
- Tipo de Entrada Saída
- Fornecedor
- Cliente
06. PARÂMETROS DO SISTEMA
Nome | Propósito | Link da documentação | ||||||||||
MV_TPCUSST | define o custo do produto que deve ser considerado no registro de transferência. Apresenta as opções 1=Lista de Preço; 2=Custo Standard; 3=Último preço de Compra e 4=Custo Unitário. | |||||||||||
MV_APROVTR | indica se o controle de transferência de produto deve ser submetido para alçada de aprovação. A opção padrão é F. | |||||||||||
MV_STAPROV | Com o parametro MV_APROVTR ativo, que submete para alçada de aprovação configurada, este parametro fixa qual grupo de aprovação será submetido. A opção padrão é vazio, em branco. | |||||||||||
MV_CUSFIL | indica se o recalculo do custo médio deverá calcular o custo aglutinando por Filial (F), por Empresa (E) ou por Armazém (A). A opção padrão é A. | |||||||||||
MV_AGCUSTO | indica se deve aglutinar o custo on-line (por Filial ou Empresa). Respeita a definição do parâmetro MV_CUSFIL. A opção padrão é F. | |||||||||||
MV_MTNLOTE | mantém o número do sub-lote para as transferências entre o mesmo produto e o mesmo lote. A opção padrão é N. | |||||||||||
MV_ESTNEG | indica se o Sistema permite que os saldos em estoque dos produtos fiquem negativos por meio de movimentações. A opção padrão é S. | |||||||||||
MV_LIBTRF | indica se o sistema assume a liberação de credito nos pedidos de transferência de filiais. A opção padrão é desativado .F. | |||||||||||
MV_ARQPROD | Define a tabela usada para buscar dados dos produtos. Quando configurado como SBZ junto com a configuração dos parametros MV_ARQPROP igual a .F. e o parâmetro MV_TPCUSST igual a 2 o sistema utiliza o custo de transferência do campo BZ_CUSTD em vez do B1_CUSTD. | |||||||||||
MV_ARQPROP | Define se o sistema considera o controle de propriedade nos cálculos de custos e movimentações; .T. verifica o preenchimento dos campos e .F. considera o parâmetro MV_ARQPROD | |||||||||||
Nome | Propósito | Link da documentação | ||||||||||
MV_TPCUSST | define o custo do produto que deve ser considerado no registro de transferência. Apresenta as opções 1=Lista de Preço; 2=Custo Standard; 3=Último preço de Compra e 4=Custo Unitário. | MV_APROVTR | indica se o controle de transferência de produto deve ser submetido para alçada de aprovação. A opção padrão é F. | MV_CUSFIL | indica se o recalculo do custo médio deverá calcular o custo aglutinando por Filial (F), por Empresa (E) ou por Armazém (A). A opção padrão é A. | MV_AGCUSTO | indica se deve aglutinar o custo on-line (por Filial ou Empresa). Respeita a definição do parâmetro MV_CUSFIL. A opção padrão é F. | MV_MTNLOTE | mantém o número do sub-lote para as transferências entre o mesmo produto e o mesmo lote. A opção padrão é N. | MV_ESTNEG | indica se o Sistema permite que os saldos em estoque dos produtos fiquem negativos por meio de movimentações. A opção padrão é S. |
07. PONTOS DE ENTRADA
Nome | Propósito | Equivalente em MVC | Link da documentação | |
---|---|---|---|---|
MT311ROT | possa manipular os botões existentes e adicionar novos botões na rotina Solicitação de transferência.na rotina Solicitação de transferência. | Não alterado | PEST07671_PONTO_DE_ENTRADA_MT311ROT | |
M311FILIAL | Validação para inclusão ou alteração do Produto | Não alterado | DT PE M311FILIAL - Permite definição de filiais destino na solicitação de transferência | |
MT311Leg | Permite limpar o conteúdo dos campos de complemento de produto | Não alterado | PEST07671PEST07666_ | PONTOMT311LEG_ | DE_ENTRADA_MT311ROT
M311FILIAL | Validação para inclusão ou alteração do Produto | Não alterado | DT PE M311FILIAL - Permite definição de filiais destino na solicitação de transferência | |
MT311Leg | Permite limpar o conteúdo dos campos de complemento de produto | Não alterado | PEST07666_MT311LEG_ADICIONA_LEGENDA |
08. ADAPTER EAI
Não se aplica a esta rotina
Saiba mais em: A camada do EAI
09. MILE
...
08. ADAPTER EAI
Não se aplica a esta rotina
Saiba mais em: A camada do EAI
09. MILE
Configurar o layout conforme necessidade da importação dos dados. Pontos de atenção:
- Tipo Adapter: MVC
- Adapter: MATA311
- Criar dois canais:
- Principal com ID saída NNTMASTER e ocorrência 1-Única
- Secundário com ID saída NNSDETAIL com ocorrência N-Várias
- Não informar os campos:
NNT_FILIAL
NNS_FILIAL
NNS_FILORI
NNT_COD
e NNS_COD.
Vide observações no item 02.
- A rotina utiliza a configuração padrão de máximo permitido para linhas na grid de um modelo MVC (990)
Saiba mais: MILE - Model Integrator Layout Engine
...
13. PERGUNTAS E RESPOSTAS MAIS FREQUENTES(FAQ)
...
HTML |
---|
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |