Árvore de páginas

Versões comparadas

Chave

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

...

Por este motivo esta rotina apresenta este formulário neste modelo, com o centro de custo único para todos os movimentos.

Informações
titleObservação

A rotina MATA241 - Movimentos Internos Modelo 2 possui o limite máximo para inclusão de até 999 itens.

02. EXEMPLO DE UTILIZAÇÃO

A rotina de movimentações múltiplas permite realizar as operações de inclusão e estorno, conforme exemplos abaixo: 

Bloco de código
languagejava
themeConfluence
titleRotina Automática
linenumberstrue
//------------------------------------------------------------------------
/*
EXEMPLO DE INCLUSÃO
*/
//------------------------------------------------------------------------

#INCLUDE "RWMAKE.CH" 
#INCLUDE "TBICONN.CH"

User Function TMATA241()
Local _aCab1 	:= {}
Local _aItem 	:= {}
Local _atotitem := {}
Local cCodigoTM := "503"
Local cCodProd 	:= "PRODUTO "
Local cUnid 	:= "PC "

Private lMsHelpAuto := .T.
Private lMsErroAuto := .F.

//Private _acod := {"1","MP1"}

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"

_aCab1 := {{"D3_DOC" ,NextNumero("SD3",2,"D3_DOC",.T.), NIL},;
          {"D3_TM" ,cCodigoTM , NIL},;
          {"D3_CC" ,"        ", NIL},;
          {"D3_EMISSAO" ,ddatabase, NIL}}


_aItem:={{"D3_COD" ,cCodProd ,NIL},;
  {"D3_UM" ,cUnid ,NIL},; 
  {"D3_QUANT" ,1 ,NIL},;
  {"D3_LOCAL" ,"01" ,NIL},;
  {"D3_LOTECTL" ,"",NIL},;
  {"D3_LOCALIZ" , "ENDEREÇO            ",NIL}}

aadd(_atotitem,_aitem) 
MSExecAuto({|x,y,z| MATA241(x,y,z)},_aCab1,_atotitem,3)

If lMsErroAuto 
	Mostraerro() 
	DisarmTransaction() 
	break
EndIf

Return 


//------------------------------------------------------------------------
/*
EXEMPLO DE ESTORNO
*/
//-Obs: O estorno será realizado por documento ou item conforme pergunte MTA240 configurado para o usuário
que executar a rotina automática
*/
//------------------------------------------------------------------------
 
#INCLUDE "RWMAKE.CH" 
#INCLUDE "TBICONN.CH"
 
User Function TMata241()
 
Local aCab  	:= {}
Local aItem := {}

Private lMsErroAuto := .F.
 
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
 
dbSelectArea("SD3")
dbSetOrder(2)
If dbSeek(xFilial()+"X00002004")
	    aCab := { {"D3_DOC" ,SD3->D3_DOC,Nil}}
	aItem := {{"D3_COD",
       "2",        NIL},;
              {"D3_UM",           "UN",MSExecAuto({|x,y,z| MATA241(x,y,z)},aCab,Nil,6)
    If lMsErroAuto  NIL},;
        Mostraerro()
    Endif
EndIf
  {"D3_QUANT",        1,          NIL},;
              {"D3_LOCAL",        "01",       NIL
Return  

//------------------------------------------------------------------------
/*
EXEMPLO DE ESTORNO POR DOCUMENTO
Obs: O parâmetro AUTOESTORN estará disponível a partir do fonte MATA241.PRX
com data igual ou superior à 14/03/2023
*/
//------------------------------------------------------------------------

#INCLUDE "RWMAKE.CH" 
#INCLUDE "TBICONN.CH"

User Function TMata241()

Local aCab 	:= {}

Private lMsErroAuto := .F.

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"

dbSelectArea("SD3")
dbSetOrder(2) //D3_FILIAL+D3_DOC+D3_COD 
If dbSeek(xFilial()+"X00002004")
	aCab := { {"D3_DOC", SD3->D3_DOC, Nil},;
              {"AUTOESTORN", "DOC",   Nil}}

	MSExecAuto({|x,y,z| MATA241(x,y,z)},aCab,Nil,6)
    If lMsErroAuto  
    	Mostraerro()
    Endif
EndIf

Return


//------------------------------------------------------------------------
/*
EXEMPLO DE ESTORNO POR ITEM
Obs: O parâmetro AUTOESTORN estará disponível a partir do fonte MATA241.PRX
com data igual ou superior à 14/03/2023
*/
//------------------------------------------------------------------------

#INCLUDE "RWMAKE.CH" 
#INCLUDE "TBICONN.CH"

User Function TMata241()

Local aCab 	:= {}

Private lMsErroAuto := .F.

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"

dbSelectArea("SD3")
dbSetOrder(4) //D3_FILIAL+D3_NUMSEQ+D3_CHAVE+D3_COD
If dbSeek(xFilial()+"144908")
	aCab := { {"D3_DOC", SD3->D3_DOC, Nil},;
              {"D3_ESTORNOAUTOESTORN",      "SITEM",        NILNil}}

	MSExecAuto({|x,y,z| MATA241(x,y,z)},aCab,{aItem}Nil,6)
    If lMsErroAuto  
    	Mostraerro()
    Endif
EndIf

Return

...

NomePropósitoLink da Documentação
MV_ATFDCBA

Indica como será desmembrado o ativo.

  • 0 - Desmembra o item
  • 1 - Desmembra o código base do ativo
DT MV_ATFDCBA
MV_CBASEAFIndica próximo código base do ativo imobilizado a ser incluído automaticamente pela NFE.DT MV_CBASEAF
MV_CQLocal (Armazém) do Controle de Qualidade.DT MV_CQ
MV_CUSMED

Utilizado no cálculo do custo médio para identificar se o custo será calculado online ou não.

  • O→Online
  • M→Mensal (Recálculo Custo)
DT MV_CUSMED
MV_DAMARCTIndica se deverá desconsiderar checagem da amarração contábil na inclusão de documento de entrada.DT MV_DAMARCT
MV_DBLQMOV

Indica a data para bloqueio de movimentos. Não podem ser:

  • Alterados 
  • Criados 
  • Excluídos

movimentos com data menor ou igual a data informada no parâmetro.

DT MV_DBLQMOV
MV_ESTNEG

Indica se o sistema permitirá que os saldos em estoque dos produtos fique negativo através de movimentação. Conteúdo deve ser:

  • (S)im
  • (N)ão
DT MV_ESTNEG
MV_GRADE

Indica a utilização do recurso grade de produto:

  • T - Ativa o uso da grade de produto
  • F - Desativa o uso da grade de produto
DT Parâmetro MV_GRADE
MV_IMPMOVIndica se permite a impressão da relação dos movimentos não realizados por falta de saldos.DT MV_IMPMOV
MV_INTTMSIdentifica se o módulo do Gestão de Frotas - SIGATMS está integrado aos outros módulos.DT MV_INTTMS
MV_LOCPROCIndica o local padrão a ser enviado os materiais indiretos em processo.DT MV_LOCPROC
MV_PIMSINTHabilita integração Protheus x PimsGraos.DT MV_PIMSINT
MV_PRODMNTIndica o item de estoque para ordem de produção do SIGAMNT.DT MV_PRODMNT
MV_QTDPREVindicar se soma quantidade dos campos de ordens de produção previstas nos cálculos de quantidade empenhada e quantidade prevista de entrada.DT MV_QTDPREV
MV_REVPRODIndica se utiliza controle de revisão de produto.DT MV_REVPROD
MV_TPSALDO

Indica qual tipo de saldo será considerado nos movimentos internos:

  • (S) Utiliza a funcao SaldoSB2
  • (Q) Utiliza o valor B2_QATU-B2_QACLASS-B2_RESERVA
DT MV_TPSALDO
MV_VLDALMOIndica se deve validar existência do almoxarifado destino do movimento.DT MV_VLDALMO
MV_WMSNEWIndica se utiliza novo conceito WMS (Movimentações e Estoque por Endereço).DT MV_WMSNEW

...

NomePropósitoLink da Documentação
MT241GRVTem a finalidade de atualizar algum arquivo ou campo, após a gravação dos dados (aCols) no SD3.MT241GRV - Atualiza arquivo ou campo
MT241MEM

Tem a finalidade de adicionar campos memo do usuário.

MT241MEM - Adição de campos memo do usuário
M240BROWTem a finalidade de realizar tratamentos de exibição dos dados no browse (filtro, por exemplo).M240BROW - Tratamentos de exibição dos dados no browse

MTA241CPO

Tem a finalidade de incluir campos do usuário na getdados após a montagem do aHeader e aCols.MTA241CPO - Inclui campos do usuário na getdados
A241BUTEste ponto de entrada permitirá ao usuário manipular a barra de botões nas rotinas de visualização, inclusão e estorno de movimentos internos.PEST07521 - A241BUT: Movimentações Internas.
MT241CABTem a finalidade de permitir a inclusão de campos no cabeçalho da rotina "Movimentos Internos - Modelo 2".PE MT241CAB - Inclusão de campos no cabeçalho da rotina Movimentos Internos Mod2
MT241SD3É executado logo após a gravação dos movimentos internos (SD3), na inclusão e tem como finalidade a atualização de algum arquivo ou campo.MT241SD3 - Atualização de Arquivo ou campo
MT241CANTem a finalidade de realizar tratamentos específicos de arquivos/campos do usuário durante o cancelamento da inclusão;MT241CAN - Tratamento específicos de campos do usuário
MTA241DOCTem a finalidade de permitir ou não a digitação do campo 'Numero do Documento'.MTA241DOC - Permite ou não a digitação do campo "Número do Documento"
MTA241PCOTem a finalidade de validar os campos pelo SIGAPCO após a montagem do aCols, vale ressaltar que este ponto de entrada e somente utilizado quando utilizada a rotina de baixa da pre-requisição.MTA241PCO - Rotina de baixa da pré-requisição
M241BUTTem a finalidade de incluir botões de usuário na barra de ferramentas da rotina de inclusão em Movimentos Internos Modelo II.M241BUT - Inclusão de botões em Movimentos Internos Modelo II
MT241ESTTem a finalidade de atualizar de algum arquivo ou campo após a atualização do registro de movimentos internos (SD3) no estorno do movimento.MT241EST - Atualização de arquivo ou campo
MT241TOKTem a finalidade de ser utilizado como validação da inclusão do movimento pelo usuário.MT241TOK - Valida inclusão de movimento
CPOSDH1Gravação de Campos do Usuário na Tabela DH1.CPOSDH1 - Gravação de campos na tabela DH1
MT241LOKApós a confirmação da digitação da linha, antes da gravação, deve ser utilizado como validação complementar desta. Este ponto de entrada somente será executado se a linha da getdados for validada pela função A241LinOk.MT241LOK - Ponto de Validação Complementar
MTA241IApós a validação da data do movimento, no cabeçalho da rotina e tem a finalidade de validar esta mesma data.MTA241I - Valida data do movimento
MT241EXTTem a finalidade de permitir validar campos específicos do usuário no momento do estorno.MT241EXT - Valida campos específicos de usuário
MT241SETem a finalidade de adicionar itens no aCols, no final da função M241SeleEs.MT241SE - Adição de campos no aCols
MTA241MNUPermite a inclusão de novas rotinas ao Menu Padrão da rotina de Movimentos Internos (Modelo 2).MTA241MNU - Altera o Menu
MT241EAIPonto de entrada MT241EAI, localizada na MATI241, altera os vetores de dados que são enviados para a rotina automática da MATA241 (movimentação de estoque).MT241EAI - Ponto de entrada para manipulação de dados
M241FILBM241FILB: Filtro dos registros da tabela SD3 na execução da função Mbrowse da rotina MATA241M241FILB: Filtro dos registros da tabela SD3 na execução da função Mbrowse da rotina MATA241

...