#Include 'TOTVS.ch'
#Include 'FWMVCDef.ch'
#Include 'Protheus.ch'
/*/{Protheus.doc} EdicaoComp
Ejemplo de rutina automática con la función NFCA020, para editar una cotización existente
@author equipe
@since 10/10/2024
@return nil, nil, nil.
/*/
User Function U_EdicaoComp()
Local cNumCotacao := "000007"
Local cCodFornec := "000001"
Local cLoja := "01"
Local cNomeFornec := "PROVEEDOR 01 "
Local cNumProposta := "01"
Local oModel := nil
Local oGridSC8 := nil
Local oFormDHU := nil
Local nFor := 0
Local cMsg := ""
DHU->( DbSetOrder(1) ) //DHU_FILIAL+DHU_NUM
if ( DHU->( DbSeek(xFilial("DHU") + cNumCotacao) ) )
oModel := FwLoadModel("NFCA020")
oFormDHU := oModel:GetModel("DHUMASTER")
oGridSC8 := oModel:GetModel("SC8DETAIL")
/*Activar la siguiente función, informando el número de la cotización, código del proveedor, nombre del proveedor y número de la propuesta, para que
ocurra la inicialización correcta de los objetos JSON de la rutina. Si no lo hicieran, ocurrirá un error, porque los objetos estarán vacÃos y es ESENCIAL llamar a la rutina .*/
NF020SetSup(cNumCotacao, cCodFornec, cLoja, cNomeFornec, cNumProposta)
oModel:SetOperation(MODEL_OPERATION_UPDATE)
oModel:Activate()
//Editar el valor del Seguro, Gasto y Contacto en la cotización
//oFormDHU:SetValue('DHU_SEGURO' , 95.79)
//oFormDHU:SetValue('DHU_DESPESA', 248.41)
//oFormDHU:SetValue('DHU_CONTATO', 'Antonio Moreira')
//Editando los Ãtems de la cotización
for nFor := 1 to oGridSC8:Length()
oGridSC8:GoLine(nFor)
oGridSC8:setValue("C8_PRECO", 47.56)
oGridSC8:setValue("C8_QTDISP", 1)
//oGridSC8:LoadValue("C8_ALIIPI", 5.00)
next nFor
//Válido si el formulario está con información correcta y consistente
if ( oModel:VldData() )
oModel:commitData()
msgalert("¡Cotización editada!" )
else
cMsg := oModel:getErrorMessage()[6] + " - " + oModel:getErrorMessage()[4] + CRLF
cMsg += oModel:getErrorMessage()[8] //https://tdn.totvs.com/display/public/framework/FWFormModel - GetErrorMessage
msgalert("ERRO: " + cMsg)
endif
endif
FWFreeObj(oModel)
FWFreeObj(oGridSC8)
FWFreeObj(oFormDHU)
return nil
0 Comentarios