Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Histórico das transferências.
  • Alçada de aprovação de documentos.
  • Transferência transferência entre filiais e armazéns em um mesmo documento.

...

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

...

Bloco de código
themeConfluence
titleIncluir uma solicitação de transferência
linenumberstrue
collapsetrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

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

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
titleCopiar uma solicitação de transfência
linenumberstrue
collapsetrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

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

Return NIL

Bloco de código
titleAlterar uma solicitação de transferencia
linenumberstrue
collapsetrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

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

Return NIL
Bloco de código
title Efetivar uma solicitação de transferencia
linenumberstrue
collapsetrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

/*
Exemplo de Efetivar uma solicitacao de transferenciatransferência 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 transferenciatransferê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" )

		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 transferenciatransferência não encontrado")
	ENDIF

Return NIL

Bloco de código
titleExcluir uma solicitação de transferencia
linenumberstrue
collapsetrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "TBICONN.CH"

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

Return NIL

...

Deck of Cards
effectDuration0.5
historyfalse
idsamples
effectTypefade
Card
defaulttrue
id1
labelIncluir

Permite a inclusão de informações da solicitação de um produtotransferência.

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.

Aviso
titleBloqueio de Campos

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

Card
defaulttrue
id2
labelAlterar

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.


Aviso
titleBloqueio de Campos

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

Card
id3
labelVisualizar

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

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


Card
id4
labelExcluir

Permite a exclusão da solicitação de transferenciatransferência.

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


Card
id5
labelEfetivar

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 Transferenciatransferência. Em Dados de Transferencia transferência será somente possivel navegar nas informações.

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


Card
id6
labelCopia

Facilita a inclusão de solicitação de transferencia transferência 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 transferência 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.

...

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

...

12. PROCESSOS RELACIONADOS

...