#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" ) //Campo para Argentina, este campo debe ser informado antes de los demás.
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 )
//Detalle Items - SD1
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