Árvore de páginas

Versões comparadas

Chave

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

...

Totvs custom tabs box
tabsRemito de Entrada, Factura de Entrada, Nota de Débito Proveedor, Nota de Crédito Interna
idspasso1,passo2,passo3,passo4
Totvs custom tabs box items
defaultyes
referenciapasso1
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
Static Function LOCX60AUTO()
Local oMdlTab
Local aError    := {}
Local cMsj      := "Registrado con éxito."
Local cFornece  := "000001"
Local cLoja     := "01"
Local cDoc      := "090420240001"
Local cSerie    := "R"
      
    SetFunName("COMA221")
 
    // Se define el modelo LOCX60  
    oMdlTab  := FwLoadModel("LOCX60")
   
    // Se define la operación INSERT en el modelo
    oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
  
    // Se activa el modelo
    oMdlTab:Activate()
   
    //Encabezado - SF1
    oMdlTab:SetValue('SF1_MASTER', "F1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SF1_MASTER', "F1_FORNECE" ,   cFornece )
    oMdlTab:SetValue('SF1_MASTER', "F1_LOJA"    ,   cLoja )
    oMdlTab:SetValue('SF1_MASTER', "F1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SF1_MASTER', "F1_SERIE"   ,   cSerie)
    oMdlTab:SetValue('SF1_MASTER', "F1_EMISSAO" ,   dDataBase)
    oMdlTab:SetValue('SF1_MASTER', "F1_MOEDA"   ,   1)
    oMdlTab:SetValue('SF1_MASTER', "F1_PROVENT" ,   "BA" )
    oMdlTab:SetValue('SF1_MASTER', "F1_FRETE"   ,   100 )
    oMdlTab:SetValue('SF1_MASTER', "F1_SEGURO " ,   200 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESPESA" ,   300 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESCONT" ,   200 )

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "001")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "001")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    //Se ejecuta el commit
    If oMdlTab:VldData() // Se detonan las validaciones del modelo
        // Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
        oMdlTab:CommitData()
    Endif

    // Se obtienen los errores del modelo
    aError := oMdlTab:GetErrorMessage()
    If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    ConOut("Mensaje de proceso: " + cMsj)
     
    oMdlTab:DeActivate()
Return   
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'


Totvs custom tabs box items
defaultno
referenciapasso2

a

Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
UserFunction LOCX10AUTO  

User Function LOCX60AUTO()
Local oMdlTab
Local aError    := {}
Local cMsj      := "RegistradoRegistro borrado con éxito."
Local
 cFornece  := SetFunName("000025COMA221")
Local cLoja     := "01"
Local cDoc   oMdlTab   := FwLoadModel("090420240002LOCX60")
Local cSerie    := "A"DbSelectArea("SF1")
    SF1->(DbSetOrder(1))  
//F1_FILIAL+F1_DOC+F1_SERIE+F1_FORNECE+F1_LOJA+F1_TIPO     SetFunName("COMA222")
 
    // Se define el modelo LOCX10  
    oMdlTab  := FwLoadModel("LOCX10")
   
    // Se define la operación INSERT en el modelo
    oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
  
    // Se activa el modelo
    oMdlTab:Activate()
   
    //Encabezado - SF1
          oMdlTab:SetValue('SF1_MASTER', "F1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SF1_MASTER', "F1_FORNECE" ,   cFornece )
    oMdlTab:SetValue('SF1_MASTER', "F1_LOJA"    ,   cLoja )
    oMdlTab:SetValue('SF1_MASTER', "F1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SF1_MASTER', "F1_SERIE"   ,   cSerie)
    oMdlTab:SetValue('SF1_MASTER', "F1_EMISSAO" ,   dDataBase)
    oMdlTab:SetValue('SF1_MASTER', "F1_MOEDA"   ,   1)
    oMdlTab:SetValue('SF1_MASTER', "F1_PROVENT" ,   "BA" )
    oMdlTab:SetValue('SF1_MASTER', "F1_COND"    ,   "001" )
    oMdlTab:SetValue('SF1_MASTER', "F1_FRETE"   ,   100 )
    oMdlTab:SetValue('SF1_MASTER', "F1_SEGURO " ,   200    )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESPESA" ,   300 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESCONT" ,   200 )


    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM" 
    ,   "0001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000001" )
If SF1->(MsSeek(xFilial("SF1") + "090420240001" + "R  " + "000001" + "01" + "N",.T.))
        oMdlTab:SetValueSetOperation('SD1_DETAIL', "D1_DOC"MODEL_OPERATION_DELETE)
     ,   cDocoMdlTab:Activate()
        If oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"VldData()
     ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"CommitData()
       , Endif  1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"EndIf
 
    ,aError   1000:= oMdlTab:GetErrorMessage()
    If oMdlTab:SetValue('SD1_DETAIL', "D1_TES"alltrim(aError[6]) <> ""
     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF" cMsj := aError[6]
    Endif
    CONOUT("Mensaje ,de proceso:  "112"+cMsj)
 
    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:DeActivate()
 
Return 
Totvs custom tabs box items
defaultno
referenciapasso2
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
UserFunction LOCX10AUTO()
Local oMdlTab
Local aError    := {}
Local cMsj      := "Registrado con éxito."
Local cFornece  := "000025"
Local cLoja     := "01"
Local cDoc      := "090420240002"
Local cSerie    := "A"
      
    SetFunName("COMA222")
 
    // Se define el modelo LOCX10  
    oMdlTab  := FwLoadModel("LOCX10")
   
    // Se define la operación INSERT en el modeloSetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)SetOperation(MODEL_OPERATION_INSERT)
  
    // Se activa el modelo
    oMdlTab:Activate()
   
    //Encabezado - SF1
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_TESFILIAL"     ,   xFilial("175SF1"))
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_CFFORNECE" ,     ,   "112"cFornece )

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_FILIALLOJA"    ,   xFilial("SF1"))cLoja )
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_ITEMDOC"     ,   "0003" cDoc)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_CODSERIE"     ,   "000003" cSerie)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_DOCEMISSAO"     ,   cDocdDataBase)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_QUANTMOEDA"   ,   1)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_VUNITPROVENT" ,  , "BA"  1000)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_TOTALCOND"    ,   "001" 1000)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_TESFRETE"   ,  , 100  "175")
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_CFSEGURO " ,   200 )
  ,  oMdlTab:SetValue('SF1_MASTER', "112")

 F1_DESPESA" ,   //Se ejecuta el commit300 )
    If oMdlTab:VldData() // Se detonan las validaciones del modeloSetValue('SF1_MASTER', "F1_DESCONT" ,   200 )


    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"   // Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
        oMdlTab:CommitData()
    Endif

    // Se obtienen los errores del modelo
    aError := oMdlTab:GetErrorMessage()
    If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    ConOut("Mensaje de proceso: " + cMsj)
     ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:DeActivate()
Return  
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
Static Function LOCX10AUTO()
Local oMdlTab
Local aError    := {}
Local cMsj      := "Registrado con éxito."
Local cFornece  := "000025"
Local cLoja     := "01"
Local cDoc      := "090420240003"
Local cSerie    := "A"
      
    SetFunName("COMA222")
 
    // Se define el modelo LOCX10  
    oMdlTab  := FwLoadModel("LOCX10")
   
    // Se define la operación INSERT en el modelo
    oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
  
    // Se activa el modeloSetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:Activate()
   
    //Encabezado - SF1SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_FILIALTES"     ,   xFilial("SF1175"))
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_FORNECECF"      ,   cFornece "112")

    oMdlTab:SetValue('SF1_MASTERGetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "F1D1_LOJAFILIAL"    ,   cLoja xFilial("SF1"))
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_DOCITEM"    , ,  "0003" cDoc)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_SERIECOD"     ,   "000003" cSerie)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_EMISSAODOC"     ,   dDataBasecDoc)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_MOEDAQUANT"   ,   21)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_TXMOEDAVUNIT"   ,   101000)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_PROVENTTOTAL"   ,   "BA" 1000)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_CONDTES"     ,   "001175" )
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_FRETECF"      ,   100 "112")

    oMdlTab:SetValue('SF1_MASTER', "F1_SEGURO " ,//Se ejecuta el commit
   200 )
   If oMdlTab:SetValue('SF1_MASTER', "F1_DESPESA" ,   300 )VldData() // Se detonan las validaciones del modelo
    oMdlTab:SetValue('SF1_MASTER', "F1_DESCONT" ,  // 200 )


    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0001" Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
        oMdlTab:CommitData()
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"Endif

    // Se ,obtienen los errores "000001"del )modelo
    aError := oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"GetErrorMessage()
      ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    ConOut("Mensaje de proceso: " + cMsj)
     
    oMdlTab:DeActivate()
Return  
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
Static Function LOCX10AUTO()
Local oMdlTab
Local aError    := {}
Local cMsj      := "Registrado con éxito."
Local cFornece  := "000025"
Local cLoja     := "01"
Local cDoc      := "090420240003"
Local cSerie    := "A"
      
    SetFunName("COMA222")
 
    // Se define el modelo LOCX10  
    oMdlTab  := FwLoadModel("LOCX10")
   
    // Se define la operación INSERT en el modelo
    oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
  
    // Se activa el modeloSetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"Activate()
   
   , //Encabezado - 1000)SF1
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_TOTALFILIAL"   ,   1000xFilial("SF1"))
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_TESFORNECE" ,   cFornece ,   "175")
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_CFLOJA"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()
cLoja )
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_FILIALDOC"     ,   xFilial("SF1"cDoc))
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_ITEMSERIE"    ,   "0003" cSerie)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_CODEMISSAO"     ,   "000003" dDataBase)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_DOCMOEDA"     ,   cDoc2)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_QUANTTXMOEDA"   ,   110)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_VUNITPROVENT" ,  , "BA"  1000)
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_TOTALCOND"    ,   1000"001" )
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_TESFRETE"    , ,  100 "175")
    oMdlTab:SetValue('SD1SF1_DETAILMASTER', "D1F1_CFSEGURO " ,   200 )
 ,   "112")

 oMdlTab:SetValue('SF1_MASTER', "F1_DESPESA" ,   //Se ejecuta el commit
 300 )
   If oMdlTab:VldData() // Se detonan las validaciones del modeloSetValue('SF1_MASTER', "F1_DESCONT" ,   200 )


        // Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0001" )
    oMdlTab:CommitData()
 SetValue('SD1_DETAIL', "D1_COD"   Endif

  ,  // Se obtienen los errores del modelo
 "000001" )
   aError := oMdlTab:GetErrorMessage()
SetValue('SD1_DETAIL', "D1_DOC"     If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    ConOut("Mensaje de proceso: " + cMsj)
     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:DeActivate()
Return 
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'


Totvs custom tabs box items
defaultno
referenciapasso3

a

Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'

UserFunction LOCX09AUTO()
Local oMdlTab
Local aError    := {}
Local cMsjSetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      :=, "Registrado con éxito."112")
Local
  cFornece  := "000025"
Local cLojaoMdlTab:GetModel('SD1_DETAIL' ):AddLine()

      := "01"
Local cDoc      := "090420240004"
Local cSerie    := "A"
      oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0002" )
    SetFunName("COMA223")
 
oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     //, Se define el modelo LOCX09  "000002" )
    oMdlTab  := FwLoadModel("LOCX09")
:SetValue('SD1_DETAIL', "D1_DOC"   
  ,  // Se define la operación INSERT en el modelo cDoc)
    oMdlTab:SetOperationSetValue(MODEL_OPERATION_INSERT)
  
    // Se activa el modelo'SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:Activate()
   
    //Encabezado - SF1SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_FILIALTOTAL"   ,   xFilial("SF1")1000)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_FORNECETES"     ,   cFornece "175")
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_LOJACF"      ,   cLoja "112")

    oMdlTab:SetValueGetModel('SF1SD1_MASTERDETAIL', "F1_DOC"     ,   cDoc)
 ):AddLine()

    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_SERIEFILIAL"   ,   cSeriexFilial("SF1"))
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_EMISSAOITEM"    ,   "0003" dDataBase)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_MOEDACOD"     ,   "000003" 1)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_PROVENTDOC"     ,   "BA" cDoc)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_CONDQUANT"    ,   "001" 1)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_FRETEVUNIT"   ,   100 1000)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_SEGUROTOTAL"  " ,   200 1000)
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_DESPESATES"     ,   300 "175")
    oMdlTab:SetValue('SF1SD1_MASTERDETAIL', "F1D1_DESCONTCF" ,   200 )


  ,  oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
112")

    //Se ejecuta el commit
    If oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"VldData() // Se detonan las validaciones del modelo
        // Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
     ,   cDocoMdlTab:CommitData()
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"Endif

    ,// Se obtienen 1)
los errores del  oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")
modelo
    aError := oMdlTab:GetErrorMessage()
    If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    ConOut("Mensaje de proceso: " + cMsj)
     
    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))DeActivate()
Return 
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'  
User Function LOCX10AUTO()
Local oMdlTab
Local cMsj := "Registro borrado con éxito."

    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0002" )SetFunName("COMA222")
     
    oMdlTab :SetValue('SD1_DETAIL', "D1_COD"= FwLoadModel("LOCX10")
     ,   "000002" DbSelectArea("SF1")
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"SF1->(DbSetOrder(1)) //F1_FILIAL+F1_DOC+F1_SERIE+F1_FORNECE+F1_LOJA+F1_TIPO      ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"        ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0003" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000003" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
     oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    //Se ejecuta el commit
    If oMdlTab:VldData() // Se detonan las validaciones del modelo
                // Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
   
     oMdlTab:CommitData()
    Endif

    // Se obtienen los errores del modelo
    aError := oMdlTab:GetErrorMessage(If SF1->(MsSeek(xFilial("SF1") + "090420240002" + "A  " + "000025" + "01" + "N",.T.))
        oMdlTab:SetOperation(MODEL_OPERATION_DELETE)
    If alltrim(aError[6]) <> ""
    oMdlTab:Activate()
        If oMdlTab:VldData()
            oMdlTab:CommitData()
        Endif  
    EndIf
 
    aError := oMdlTab:GetErrorMessage()
    If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    ConOutCONOUT("Mensaje de proceso: " + cMsj) 
     
    oMdlTab:DeActivate()
 
Return  
Totvs custom tabs box items
defaultno
referenciapasso3
Bloco de código
language
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'

User FunctionUserFunction LOCX09AUTO()
Local oMdlTab
Local aError    := {}
Local cMsj      := "Registrado con éxito."
Local cFornece  := "000025"
Local cLoja     := "01"
Local cDoc      := "090420240005090420240004"
Local cSerie    := "A"
      
    SetFunName("COMA223")
 
    // Se define el modelo LOCX09  
    oMdlTab  := FwLoadModel("LOCX09")
   
    // Se define la operación INSERT en el modelo
    oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
  
    // Se activa el modelo
    oMdlTab:Activate()
   
    //Encabezado - SF1
    oMdlTab:SetValue('SF1_MASTER', "F1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SF1_MASTER', "F1_FORNECE" ,   cFornece )
    oMdlTab:SetValue('SF1_MASTER', "F1_LOJA"    ,   cLoja )
    oMdlTab:SetValue('SF1_MASTER', "F1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SF1_MASTER', "F1_SERIE"   ,   cSerie)
    oMdlTab:SetValue('SF1_MASTER', "F1_EMISSAO" ,   dDataBase)
    oMdlTab:SetValue('SF1_MASTER', "F1_MOEDA"   ,   2)
    oMdlTab:SetValue('SF1_MASTER', "F1_TXMOEDA" ,   101)
    oMdlTab:SetValue('SF1_MASTER', "F1_PROVENT" ,   "BA" )
    oMdlTab:SetValue('SF1_MASTER', "F1_COND"    ,   "001" )
    oMdlTab:SetValue('SF1_MASTER', "F1_FRETE"   ,   100 )
    oMdlTab:SetValue('SF1_MASTER', "F1_SEGURO " ,   200 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESPESA" ,   300 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESCONT" ,   200 )


    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0003" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000003" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    //Se ejecuta el commit
    If oMdlTab:VldData() // Se detonan las validaciones del modelo
        // Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
        oMdlTab:CommitData()
    Endif

    // Se obtienen los errores del modelo
    aError := oMdlTab:GetErrorMessage()
    If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    ConOut("Mensaje de proceso: " + cMsj)
     
    oMdlTab:DeActivate()
Return  
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'


User Function LOCX09AUTO()
Local oMdlTab
Local aError    := {}
Local cMsj      := "Registrado con éxito."
Local cFornece  := "000025"
Local cLoja     := "01"
Local cDoc      := "090420240005"
Local cSerie    := "A"
      
    SetFunName("COMA223")
 
    // Se define el modelo LOCX09  
    oMdlTab  := FwLoadModel("LOCX09")
   
    // Se define la operación INSERT en el modelo
    oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
  
    // Se activa el modelo
    oMdlTab:Activate()
   
    //Encabezado - SF1
    oMdlTab:SetValue('SF1_MASTER', "F1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SF1_MASTER', "F1_FORNECE" ,   cFornece )
    oMdlTab:SetValue('SF1_MASTER', "F1_LOJA"    ,   cLoja )
    oMdlTab:SetValue('SF1_MASTER', "F1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SF1_MASTER', "F1_SERIE"   ,   cSerie)
    oMdlTab:SetValue('SF1_MASTER', "F1_EMISSAO" ,   dDataBase)
    oMdlTab:SetValue('SF1_MASTER', "F1_MOEDA"   ,   2)
    oMdlTab:SetValue('SF1_MASTER', "F1_TXMOEDA" ,   10)
    oMdlTab:SetValue('SF1_MASTER', "F1_PROVENT" ,   "BA" )
    oMdlTab:SetValue('SF1_MASTER', "F1_COND"    ,   "001" )
    oMdlTab:SetValue('SF1_MASTER', "F1_FRETE"   ,   100 )
    oMdlTab:SetValue('SF1_MASTER', "F1_SEGURO " ,   200 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESPESA" ,   300 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESCONT" ,   200 )


    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0003" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000003" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    //Se ejecuta el commit
    If oMdlTab:VldData() // Se detonan las validaciones del modelo
        // Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
        oMdlTab:CommitData()
    Endif

    // Se obtienen los errores del modelo
    aError := oMdlTab:GetErrorMessage()
    If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    ConOut("Mensaje de proceso: " + cMsj)
     
    oMdlTab:DeActivate()
Return  
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'

User Function LOCX09AUTO()
Local oMdlTab
Local cMsj := "Registro borrado con éxito."

    SetFunName("COMA223")
     
    oMdlTab := FwLoadModel("LOCX09")
    DbSelectArea("SF1")
    SF1->(DbSetOrder(1)) //F1_FILIAL+F1_DOC+F1_SERIE+F1_FORNECE+F1_LOJA+F1_TIPO                                                                                                                                                                                                                                       
    If SF1->(MsSeek(xFilial("SF1") + "090420240004" + "A  " + "000025" + "01" + "C",.T.))
        oMdlTab:SetOperation(MODEL_OPERATION_DELETE)
        oMdlTab:Activate()
        If oMdlTab:VldData()
            oMdlTab:CommitData()
        Endif  
    EndIf
 
    aError := oMdlTab:GetErrorMessage()
    If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    CONOUT("Mensaje de proceso: "+cMsj) 
     
    oMdlTab:DeActivate()
 
Return   
Totvs custom tabs box items
defaultno
referenciapasso2
Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'

User Function LOCX08AUTO()
Local oMdlTab
Local aError    := {}
Local cMsj      := "Registrado con éxito."
Local cFornece  := "000001"
Local cLoja     := "01"
Local cDoc      := "000100000250"
Local cSerie    := "A"
      
    SetFunName("COMA224")
 
    // Se define el modelo LOCX08  
    oMdlTab  := FwLoadModel("LOCX08")
   
    // Se define la operación INSERT en el modelo
    oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
  
    // Se activa el modelo
    oMdlTab:Activate()
   
    //Encabezado - SF1
    oMdlTab:SetValue('SF1_MASTER', "F1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SF1_MASTER', "F1_PV"      ,   "0001" )
    oMdlTab:SetValue('SF1_MASTER', "F1_FORNECE" ,   cFornece )
    oMdlTab:SetValue('SF1_MASTER', "F1_LOJA"    ,   cLoja )
    oMdlTab:SetValue('SF1_MASTER', "F1_SERIE"   ,   cSerie)
    oMdlTab:SetValue('SF1_MASTER', "F1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SF1_MASTER', "F1_EMISSAO" ,   dDataBase)
    oMdlTab:SetValue('SF1_MASTER', "F1_MOEDA"   ,   1)
    oMdlTab:SetValue('SF1_MASTER', "F1_PROVENT" ,   "BA" )
    oMdlTab:SetValue('SF1_MASTER', "F1_TPVENT"  ,   "B" )
    oMdlTab:SetValue('SF1_MASTER', "F1_COND"    ,   "001" )
    oMdlTab:SetValue('SF1_MASTER', "F1_FRETE"   ,   100 )
    oMdlTab:SetValue('SF1_MASTER', "F1_SEGURO " ,   200 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESPESA" ,   300 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESCONT" ,   200 )


    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0003" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000003" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    //Se ejecuta el commit
    If oMdlTab:VldData() // Se detonan las validaciones del modelo
        // Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
        oMdlTab:CommitData()
    Endif

    // Se obtienen los errores del modelo
    aError := oMdlTab:GetErrorMessage()
    If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    ConOut("Mensaje de proceso: " + cMsj)
     
    oMdlTab:DeActivate()
Return


Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'

User Function LOCX08AUTO()
Local oMdlTab
Local aError    := {}
Local cMsj      := "Registrado con éxito."
Local cFornece  := "000001"
Local cLoja     := "01"
Local cDoc      := "000100000251"
Local cSerie    := "A"
      
    SetFunName("COMA224")
 
    // Se define el modelo LOCX08  
    oMdlTab  := FwLoadModel("LOCX08")
   
    // Se define la operación INSERT en el modelo
    oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
  
    // Se activa el modelo
    oMdlTab:Activate()
   
    //Encabezado - SF1
    oMdlTab:SetValue('SF1_MASTER', "F1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SF1_MASTER', "F1_PV"      ,   "0001" )
    oMdlTab:SetValue('SF1_MASTER', "F1_FORNECE" ,   cFornece )
    oMdlTab:SetValue('SF1_MASTER', "F1_LOJA"    ,   cLoja )
    oMdlTab:SetValue('SF1_MASTER', "F1_SERIE"   ,   cSerie)
    oMdlTab:SetValue('SF1_MASTER', "F1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SF1_MASTER', "F1_EMISSAO" ,   dDataBase)
    oMdlTab:SetValue('SF1_MASTER', "F1_MOEDA"   ,   2)
    oMdlTab:SetValue('SF1_MASTER', "F1_TXMOEDA" ,   10)
    oMdlTab:SetValue('SF1_MASTER', "F1_PROVENT" ,   "BA" )
    oMdlTab:SetValue('SF1_MASTER', "F1_TPVENT"  ,   "B" )
    oMdlTab:SetValue('SF1_MASTER', "F1_COND"    ,   "001" )
    oMdlTab:SetValue('SF1_MASTER', "F1_FRETE"   ,   100 )
    oMdlTab:SetValue('SF1_MASTER', "F1_SEGURO " ,   200 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESPESA" ,   300 )
    oMdlTab:SetValue('SF1_MASTER', "F1_DESCONT" ,   200 )


    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000001" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000002" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    oMdlTab:GetModel('SD1_DETAIL' ):AddLine()

    oMdlTab:SetValue('SD1_DETAIL', "D1_FILIAL"  ,   xFilial("SF1"))
    oMdlTab:SetValue('SD1_DETAIL', "D1_ITEM"    ,   "0003" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_COD"     ,   "000003" )
    oMdlTab:SetValue('SD1_DETAIL', "D1_DOC"     ,   cDoc)
    oMdlTab:SetValue('SD1_DETAIL', "D1_QUANT"   ,   1)
    oMdlTab:SetValue('SD1_DETAIL', "D1_VUNIT"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TOTAL"   ,   1000)
    oMdlTab:SetValue('SD1_DETAIL', "D1_TES"     ,   "175")
    oMdlTab:SetValue('SD1_DETAIL', "D1_CF"      ,   "112")

    //Se ejecuta el commit
    If oMdlTab:VldData() // Se detonan las validaciones del modelo
        // Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos.
        oMdlTab:CommitData()
    Endif

    // Se obtienen los errores del modelo
    aError := oMdlTab:GetErrorMessage()
    If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    ConOut("Mensaje de proceso: " + cMsj)
     
    oMdlTab:DeActivate()
Return


Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'

User Function LOCX08AUTO()
Local oMdlTab
Local cMsj := "Registro borrado con éxito."

    SetFunName("COMA224")
     
    oMdlTab := FwLoadModel("LOCX08")
    DbSelectArea("SF1")
    SF1->(DbSetOrder(1)) //F1_FILIAL+F1_DOC+F1_SERIE+F1_FORNECE+F1_LOJA+F1_TIPO                                                                                                                                                                                                                                       
    If SF1->(MsSeek(xFilial("SF1") + "000100000250" + "A  " + "000001" + "01" + "C",.T.))
        oMdlTab:SetOperation(MODEL_OPERATION_DELETE)
        oMdlTab:Activate()
        If oMdlTab:VldData()
            oMdlTab:CommitData()
        Endif  
    EndIf
 
    aError := oMdlTab:GetErrorMessage()
    If alltrim(aError[6]) <> ""
        cMsj := aError[6]
    Endif
    CONOUT("Mensaje de proceso: "+cMsj) 
     
    oMdlTab:DeActivate()
 
Return  
Totvs custom tabs box items
defaultno
referenciapasso2

a

Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'


Bloco de código
languagejava
firstline1
titleEjemplo completo:
linenumberstrue
collapsetrue
#INCLUDE 'protheus.ch'