CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
  3. Operações
  4. Principais Campos
  5. Pré condições para utilização da rotina
  6. Parâmetros do sistema
  7. Pontos de entrada
  8. Adapter EAI
  9. M-messenger
  10. Tabelas utilizadas
  11. Processos relacionados
  12. Perguntas e respostas mais frequentes (FAQ)


01. VISÃO GERAL

Permite que a empresa gerencie de forma mais organizada e estruturada as solicitações e efetivações de transferência de materiais, seja entre locais de estoque da mesma filial ou entre filiais distintas.

As principais vantagens desta funcionalidade são:


O processo que envolve o Solicitação de Transferência de Materiais contempla as seguintes etapas:

O registro da transferência de diversos materiais no mesmo documento viabiliza o saldo empenhado no armazém de origem e a previsão de entrada no armazém de destino.

Esta rotina pode ser utilizada com a alçada de aprovação de documentos, assim, o documento de solicitação de transferência passa por um controle de aprovação antes de ser efetivado, proporcionando mais controle e o registro do seu histórico.

Após o registro e aprovação (caso o controle de alçadas de aprovação esteja habilitado), é possível efetivar a transferência que fará o estorno dos empenhos e previsões de entrada. Ao término do processo, o documento de transferência fica disponível para consulta e o número gerado pode ser visualizado, mantendo assim, o histórico da transação realizada, sendo: Movimento Interno para transferência de armazéns e Documento de Saída para transferência entre filiais.

02. EXEMPLO DE UTILIZAÇÃO

A rotina Produtos permite onde as operações podem ser utilizadas em suas customizações conforme exemplos abaixo:


#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

/*
Exemplo de inclusão de ums solicitacao de transferencia 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' )

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

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

/*
Exemplo de Copia de ums solicitacao de transferencia 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 transferencia 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 transferencia não encontrado")
ENDIF

Return NIL

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

/*
Exemplo de alteracao de ums solicitacao de transferencia 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 transferencia 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 transferencia nгo encontrado")
ENDIF

Return NIL
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

/*
Exemplo de Efetivar uma solicitacao de transferencia via rotina automatica
*/
User Function m311efet()
Local oModel
Local nX
Local cCodDoc

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 transferencia 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" )

		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 transferencia não encontrado")
	ENDIF

Return NIL

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

/*
Exemplo de Excluir uma solicitacao de transferencia 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 transferencia 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 transferencia n?o encontrado")
	ENDIF

Return NIL

03. OPERAÇÕES

Na página principal da rotina, estão disponíveis as opções:


Permite a inclusão de informações de um produto.

As informações devem ser preenchidas de acordo com as orientações descritas em Principais Campos.

Após preencher as informações desejadas e clique em Confirmar.

Não é permitida a alteração dos campos código, data e solicitante em Documento de Transferencia, sendo gerado automaticamente, conforme usuario logado e ddatabase.

Permite a alteração de informações da solicitação selecionado.

As informações devem ser ajustadas de acordo com as orientações descritas em Principais Campos.

Após alterar as informações desejadas e clique em Confirmar.


Não é permitida a alteração dos campos código, data e solicitante em Documento de Transferencia.

Permite a visualização de informações da solicitação.

Após visualizar as informações desejadas e clique em Confirmar.


Permite a exclusão da solicitação de transferencia.

Confira as informações disponíveis e clique em Confirmar.


Permite a visualização de informações da solicitação e somente editando dos campos Tp.Doc Entr, Especie NF e Just. Rejeic em Documento de Transferencia. Em Dados de Transferencia será somente possivel navegar nas informações.

Após visualizar as informações desejadas e clique em Confirmar.


Facilita a inclusão de solicitação de transferencia de materiais. O sistema faz uma copia da solicitação selecionada atualizando o codigo, data e solicitante , possibilitando a edição e a gravação do o cadastro de um novo produto.



Procedimentos

Para cadastrar uma solicitação de transferência utilizando a opção Copiar:

  1. Em Solicitação de Transferencia de Materiais, posicione o cursor sobre o solicitação a ser copiado.
  2. Clique em Copiar.
  3. É exibida a tela de inclusão apresentando todos os campos preenchidos da mesma forma como foram preenchidos para a solicitação selecionado.
  4. Se necessário altere/preencha os campos que desejar.
  5. Confira os dados e confirme a inclusão.


04. Principais Campos


Nessa pasta são informados os dados de identificação do produto como código, tipo de produto, unidade de medida primária e secundária, uso de controles específicos por produto como uso de rastreabilidade, alçada, endereçamento e outras.


Campo:

Descrição

Tp. Doc Entr

Selecione a opção desejada:

1=A Classificar: o Documento de Entrada será gerado na filial destino com pendência das informações fiscais (TES não definido), ou seja, trata-se de um Pré Documento de Entrada.

2=Classificado: o Documento de Entrada será gerado na filial destino com as informações fiscais (TES definido).

Nessa pasta são informados os dados de identificação do produto como código, tipo de produto, unidade de medida primária e secundária, uso de controles específicos por produto como uso de rastreabilidade, alçada, endereçamento e outras.


Campo:

Descrição

Produto informe o código do produto de origem.
Armaz. Orig. informe o código do armazém de origem.
Quantidade informe a quantidade do produto que será transferido.
Filial Dest. informe a filial destino desejada.
Prod. Destino informe o código do produto de destino.
Armaz. Destino informe o código do armazém de destino.
TES Saída informe o tipo de Saída. No cadastro de TES, os campos Atu. Estoque e Trans. Filial devem estar com o conteúdo igual a Sim; ambos estão localizados na pasta Adm/Fin/Cust.       
TES Entrada informe o tipo de Entrada. No cadastro de TES, os campos Atu. Estoque e Trans. Filial devem estar com o conteúdo igual a Sim; ambos estão localizados na pasta Adm/Fin/Cust.


05. PRÉ CONDIÇÕES PARA UTILIZAÇÃO DA ROTINA


06. PARÂMETROS DO SISTEMA

NomePropósitoLink 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_CUSFILindica 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_AGCUSTOindica 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_MTNLOTEmanté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_ESTNEGindica 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


NomePropósitoEquivalente em MVCLink da documentação

MT311ROT

possa manipular os botões existentes e adicionar novos botões na rotina Solicitação de Transferência.Não alteradoPEST07671_PONTO_DE_ENTRADA_MT311ROT

M311FILIAL

Validação para inclusão ou alteração do ProdutoNão alteradoDT 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 produtoNão alteradoPEST07666_MT311LEG_ADICIONA_LEGENDA


08. ADAPTER EAI

Não se aplica a esta rotina

Saiba mais em: A camada do EAI

09. MILE

Não se aplica a esta rotina.

Saiba mais: MILE - Model Integrator Layout Engine

10. M-MESSENGER

Não se aplica a esta rotina.

Saiba mais: M-Messenger - MATA045

11. TABELAS UTILIZADAS

12. PROCESSOS RELACIONADOS

13. PERGUNTAS E RESPOSTAS MAIS FREQUENTES(FAQ)

No momento não há FAQs referente a esta rotina.


<!-- 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>