Á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
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},;
                  {"nQtdOrigcLocaliza" , 100                 CriaVar("D3_LOCALIZ")        , Nil},;           
                  {"nQtdOrigSecLoteDigi" , CriaVar("D3_QTSEGUMLOTECTL")        , Nil},;           
                  {"cDocumentocNumLote" , PadCriaVar("000000002", Len(SD3->D3_DOC))D3_NUMLOTE")        , Nil},;                     
                  {"cNumLotedDtValid" , CriaVar("D3_NUMLOTEDTVALID")        , Nil},;           
                  {"cLoteDiginPotencia" , CriaVar("D3_LOTECTLPOTENCI")        , Nil},;           
                  {"dDtValidcNumSerie" , CriaVar("D3_DTVALIDNUMSERI")        , Nil},;           
                  {"nPotencianQtdOrig" , CriaVar("D3_POTENCI")        100                  , Nil},;           
                  {"cLocalizanQtdOrigSe" , CriaVar("D3_LOCALIZQTSEGUM")        , Nil},;           
                  {"cNumSeriecDocumento" , 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                            , Nil}, ;           
                        {"D3_QTSEGUM",                          , Nil}, ;           
                        {"D3_RATEIO" , 20                           , Nil}},;                    
                     {  {"D3_COD" , Pad("04 ", Len(SD3->D3_COD)) , Nil}, ;           
                        {"D3_LOCAL" , "01"                         , Nil}, ;           
                        {"D3_QUANT" , 24                           , Nil}, ;           
                        {"D3_QTSEGUM",                          , Nil}, ;           
                        {"D3_RATEIO" , 80                           , Nil}}}
                       
//inclusão                      
MSExecAuto({|v,x,y,z| Mata242(v,x,y,z)},aAutoCab,aAutoItens,3,.T.) 

If lMsErroAuto  
    Mostraerro()
EndIf

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

Return

...