Á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

...