Árvore de páginas

Versões comparadas

Chave

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

Rotina Automática de Desmontagem de Produtos

Descrição:

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

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:

Observação: 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 ex: ). 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

 
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
>D3_COD))
     ,
           , Nil},;

                 

                  {"cLocOrig" , "01"
                 ,
                                 , Nil},;

                 {"nQtdOrig" , 100                  , Nil},;           
                 {"nQtdOrigSe" ,

                  {"cLocaliza" , CriaVar("D3_LOCALIZ")               , Nil},;           
                  {"cLoteDigi" , CriaVar("D3_
QTSEGUM
LOTECTL")
        ,
               , Nil},;
           
                 {"cDocumento" , Pad("000000002", Len(SD3->D3_DOC)) , Nil},;          
                 {"cNumLote" ,
           
                  {"cNumLote" , CriaVar("D3_NUMLOTE")                , Nil},;           
                  {"dDtValid" , CriaVar("D3_
NUMLOTE
DTVALID")
        ,
                , Nil},;
           
                 {"cLoteDigi" ,
           
                  {"nPotencia" , CriaVar("D3_
LOTECTL
POTENCI")
        ,
               , Nil},;
           
                 {"dDtValid" ,

                  {"cNumSerie" , CriaVar("D3_
DTVALID
NUMSERI")
        ,
               , Nil},;
           
                 {"nPotencia" , CriaVar("D3_POTENCI")        , Nil},;           
                 {"cLocaliza" ,
           
                  {"nQtdOrig" , 100                                  , Nil},;           
                  {"nQtdOrigSe" , CriaVar("D3_
LOCALIZ
QTSEGUM")
        ,
              , Nil},;
           
                 {"cNumSerie" , CriaVar("D3_NUMSERI")        , Nil}}
                 
                 
aAutoItens := {{    
           
                  {"cDocumento" , Pad("000000002", Len(SD3->D3_DOC)) , Nil}}          
                   
aAutoItens := {{    {"D3_COD" , Pad("03 ", Len(SD3-
>D3
>D3_COD))
 
    , Nil},
;
                        
 ;
                    {"D3_LOCAL" , "01"
                         ,
                      , Nil},
;           
                        
 ;           
                    {"D3_QUANT" ,
1                            ,
 1                         , Nil},
;           
                        
 ;           
                    {"D3_QTSEGUM",
                         ,
 CriaVar("D3_QTSEGUM")    , Nil},
;           
                        
 ;           
                    {"D3_RATEIO" ,
20                           ,
 20                       , Nil}},;
                   
                     {  
                   
                 {  {"D3_COD" , Pad("04 ", Len(SD3-
>D3
>D3_COD))
 
, Nil},
;           
                        
 ;           
                    {"D3_LOCAL" , "01"
                         ,
                      , Nil},
;           
                        
 ;           
                    {"D3_QUANT" ,
24                           ,
 24                        , Nil},
;           
                        
 ;           
                    {"D3_QTSEGUM",
                         ,
 CriaVar("D3_QTSEGUM")    , Nil},
;           
                        
 ;           
                    {"D3_RATEIO" ,
80                           , Nil}}}
                        
                        
//inclusão                      
 80                       , Nil}}}
                        
//inclusão                      
MSExecAuto({|v,x,y,z| Mata242(v,x,y,z)},aAutoCab,aAutoItens,3,.T.)

If lMsErroAuto  
    

 
If lMsErroAuto  
    Mostraerro()


EndIf


 
Alert("Inclusao Ok. Verifique arquivos e continue para estorno")


 
Return