Objetivo desse documento é exemplificar a utilização do ExecAuto da nova rotina de Documentos(CNTA171).
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
/*Exemplo de inclusão de um novo documento*/
User Function Exemplo001()
Local oModel := NIL
Local oMdlCNK := Nil
Local oMdlCXR := Nil
Local cContra := "TREINAMENTO1954"
Local cChave := xFilial("CN9") + cContra
Local aErro := {}
Local cNumero := ""
CN9->(DbSetOrder(1))
if CN9->(DbSeek(cChave))
oModel := FwLoadModel("CNTA171")
oModel:SetOperation(MODEL_OPERATION_INSERT)
if oModel:Activate()
oMdlCNK := oModel:GetModel("CNKMASTER")
oMdlCNK:SetValue("CNK_DESCRI" , "DOC 001 - INCLUSAO")
oMdlCNK:SetValue("CNK_CONTRA" , CN9->CN9_NUMERO)
oMdlCNK:SetValue("CNK_TPDOC" , "001")
oMdlCNK:SetValue("CNK_DTEMIS" , dDatabase)
oMdlCNK:SetValue("CNK_DTVALI" , dDatabase+30)
oMdlCNK:SetValue("CNK_OBS" , "Exemplo inclusão")
if AliasInDic('CXR')
oMdlCXR := oModel:GetModel("CXRDETAIL")
cNumero := StrZero(oMdlCXR:Length(), GetSx3Cache('CXR_ITEM','X3_TAMANHO'))
oMdlCXR:SetValue("CXR_ITEM" , cNumero)
oMdlCXR:SetValue("CXR_NOME" , "Responsavel XPTO")
oMdlCXR:SetValue("CXR_EMAIL", "[email protected]")
oMdlCXR:AddLine()
oMdlCXR:SetValue("CXR_ITEM" , Soma1(cNumero))
oMdlCXR:SetValue("CXR_NOME" , "Auxiliar XPTO")
oMdlCXR:SetValue("CXR_EMAIL", "[email protected]")
endif
If oModel:VldData()
oModel:CommitData()
EndIf
endif
if oModel:HasErrorMessage()
aErro := aClone(oModel:GetErrorMessage())
endif
If oModel:IsActive()
oModel:DeActivate()
EndIf
FreeObj(oModel)
If !Empty(aErro)
VarInfo('Erro apresentado:', aErro)
EndIf
endif
Return |
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
/*Exemplo de alteração de um documento*/
User Function Exemplo002()
Local oModel := NIL
Local oMdlCNK := Nil
Local oMdlCXR := Nil
Local cContra := "TREINAMENTO1954"
Local cChave := xFilial("CNK") + cContra
Local aErro := {}
CNK->(DbSetOrder(3))//CNK_FILIAL+CNK_CONTRA+CNK_TPDOC
if CNK->(DbSeek(cChave))
oModel := FwLoadModel("CNTA171")
oModel:SetOperation(MODEL_OPERATION_UPDATE)
if oModel:Activate()
oMdlCNK := oModel:GetModel("CNKMASTER")
oMdlCNK:SetValue("CNK_OBS" , "Exemplo Modificação")
if AliasInDic('CXR')
oMdlCXR := oModel:GetModel("CXRDETAIL")
oMdlCXR:GoLine(2)
oMdlCXR:SetValue("CXR_NOME" , "Operacao de Atualização")
endif
If oModel:VldData()
oModel:CommitData()
EndIf
endif
if oModel:HasErrorMessage()
aErro := aClone(oModel:GetErrorMessage())
endif
If oModel:IsActive()
oModel:DeActivate()
EndIf
FreeObj(oModel)
If !Empty(aErro)
VarInfo('Erro apresentado:', aErro)
EndIf
endif
Return |
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
/*Exemplo de exclusão de um documento*/
User Function Exemplo003()
Local oModel := NIL
Local cContra := "TREINAMENTO1954"
Local cChave := xFilial("CNK") + cContra
Local aErro := {}
CNK->(DbSetOrder(3))//CNK_FILIAL+CNK_CONTRA+CNK_TPDOC
if CNK->(DbSeek(cChave))
oModel := FwLoadModel("CNTA171")
oModel:SetOperation(MODEL_OPERATION_DELETE)
if oModel:Activate()
If oModel:VldData()
oModel:CommitData()
EndIf
endif
if oModel:HasErrorMessage()
aErro := aClone(oModel:GetErrorMessage())
endif
If oModel:IsActive()
oModel:DeActivate()
EndIf
FreeObj(oModel)
If !Empty(aErro)
VarInfo('Erro apresentado:', aErro)
EndIf
endif
Return |
<!-- esconder o menu -->
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
</style>
|