Árvore de páginas

Versões comparadas

Chave

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

...

Descrição:

Possibilita a realização das transferências múltiplas, ou seja, transferências de um único produto para vários produtos, através do mecanismo de rotina automática.

Produto:

Microsiga Protheus

Segmento:Serviços
Módulo:SIGAEST - Estoque/custos
Rotina:
RotinaNome Técnico
MATA242.PRX Desmontagem de produto
País(es):Todos
Banco(s) de Dados:Todos Homologados pela TOTVS
Tabelas Utilizadas:SD3 - Movimentações Internas
Parâmetros:
NomeTipoDescriçãoObrigatório
aCabecArray of RecordCabeçalhoX
aItensArray of RecordItensX
nOpcnumericOpção :3=Incluir 4=Alterar 5=EstornarX

Observações:

Alguns campos da tabela SD3 recebem o tratamento via dicionario de dados (SX3) ao qual permite ser utilizado somente por alguns módulos (X3_USADO). Por exemplo, o campo D3_RATEIO (% Rateio).
Para esses casos é necessário executar a preparação do ambiente passando a opção módulo ativa.

Exemplo: PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" Modulo "EST" tables "SB1", "SD3"

Importante:A ordem dos campos informados no cabeçalho deve estar igual à ordem apresentada na rotina via tela.
Exemplo
Bloco de código
languageactionscript3
themeMidnight
linenumberstrue
#include 'protheus.ch'
#include 'parmtype.ch'
#include "tbiconn.ch"
 
User Function myMATA242()
 
Local aAutoCab := {}
Local aAutoItens := {}
 
Private lMsErroAuto := .F.
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" Modulo "EST" tables "SB1", "SD3"
 
aAutoCab := {      {"cProduto" , Pad("02 ", Len(SD3->D3_COD))               , Nil},;
                                   {"cLocOrig" , "01"                                                 , Nil},;
                  {"nQtdOrig                  {"cLocaliza" , 100                 CriaVar("D3_LOCALIZ")               , Nil},;           
                  {"nQtdOrigSe           
                  {"cLoteDigi" , CriaVar("D3_QTSEGUMLOTECTL")                      , Nil},;           
                  {"cDocumento           
                  {"cNumLote" , PadCriaVar("000000002", Len(SD3->D3_DOC))D3_NUMLOTE")                , Nil},;          
                  {"cNumLote           
                  {"dDtValid" , CriaVar("D3_NUMLOTEDTVALID")                       , Nil},;           
                  {"cLoteDigi           
                  {"nPotencia" , CriaVar("D3_LOTECTLPOTENCI")                      , Nil},;           
                                   {"dDtValidcNumSerie" , CriaVar("D3_DTVALIDNUMSERI")                      , Nil},;           
                  {"nPotencia           
                  {"nQtdOrig" , CriaVar("D3_POTENCI")        100                                  , Nil},;           
                  {"cLocaliza           
                  {"nQtdOrigSe" , CriaVar("D3_LOCALIZQTSEGUM")                     , Nil},;           
                  {"cNumSerie           
                  {"cDocumento" , CriaVarPad("D3_NUMSERI")       000000002", Len(SD3->D3_DOC)) , Nil}}          
                                     
aAutoItens := {{        {"D3_COD" , Pad("03 ", Len(SD3->D3_COD))     , Nil}, ;
                                            {"D3_LOCAL" , "01"                                               , Nil}, ;           
                                   
                    {"D3_QUANT" , 1                             1                         , Nil}, ;           
                                   
                    {"D3_QTSEGUM",                          CriaVar("D3_QTSEGUM")    , Nil}, ;           
                                   
                    {"D3_RATEIO" , 20                                                  , Nil}},;                    
                     {                     
                 {  {"D3_COD" , Pad("04 ", Len(SD3->D3_COD)) , Nil}, ;           
                                   
                    {"D3_LOCAL" , "01"                                               , Nil}, ;           
                                   
                    {"D3_QUANT" , 24                            24                        , Nil}, ;           
                                   
                    {"D3_QTSEGUM",                           CriaVar("D3_QTSEGUM")    , Nil}, ;           
                                   
                    {"D3_RATEIO" , 80                                                  , Nil}}}
                       
//inclusão                                              
//inclusão                      
MSExecAuto({|v,x,y,z| Mata242(v,x,y,z)},aAutoCab,aAutoItens,3,.T.)
 

If lMsErroAuto  
    MostraerrolMsErroAuto  
    Mostraerro()
EndIf
 
Alert("Inclusao Ok. Verifique arquivos e continue para estorno")
 
Return