O objetivo da rotina MATA241 - Movimentos Internos Modelo 2 é agilizar a operação de digitação dos movimentos a serem realizados. Na grande maioria dos casos estes movimentos pertencem a um mesmo contexto (ex: baixa de insumos para uma ordem de produção, baixa de material de consumo para uma solicitação ao armazém) e assim estão relacionados ao mesmo centro de custo. Por este motivo esta rotina apresenta este formulário neste modelo, com o centro de custo único para todos os movimentos.
A rotina de movimentações múltiplas permite realizar as operações de inclusão e estorno, conforme exemplos abaixo:
//------------------------------------------------------------------------
/*
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
*/
//------------------------------------------------------------------------
#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", NIL},;
{"D3_QUANT", 1, NIL},;
{"D3_LOCAL", "01", NIL},;
{"D3_ESTORNO", "S", NIL}}
MSExecAuto({|x,y,z| MATA241(x,y,z)},aCab,{aItem},6)
If lMsErroAuto
Mostraerro()
Endif
EndIf
Return |
Na página principal da rotina, estão disponíveis as seguintes opções:
| Ação | Descrição |
|---|---|
| Inclua a ação | Inclua a descrição relacionada |
| Inclua a ação | Inclua a descrição relacionada |
| Inclua a ação | Inclua a descrição relacionada |
Principais Campos e Parâmetros
| Campo | Descrição |
|---|---|
| Inclua o campo | Inclua a descrição relacionada |
| Inclua o campo | Inclua a descrição relacionada |
| Inclua o campo | Inclua a descrição relacionada |
<!-- 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>
|