Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
firstline1
titleAlteração de um documento
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"  

/*Exemplo de alteração de um documento*/ 
StaticUser 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

04. Exclusão de um documento

Bloco de código
firstline1
titleExclusão de um documento
linenumberstrue
#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

04. Integração com o Totvs Assinatura Eletrônica(TAE)

Aviso
titleAutenticação

Antes de realizar a integração sem interface gráfica, é necessário que o usuário realize a autenticação em tela ao menos uma vez, para que o usuário/senha do TAE fique gravado no profile do usuário do Protheus. 

Bloco de código
firstline1
titleIntegração com TAE
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"  

/*Exemplo de integração com o TAE*/   
User Function Exemplo004()
    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))
        /*
            ATENÇÃO: 
            É NECESSÁRIO REALIZAR A OPERAÇÃO UMA VEZ EM TELA PARA QUE O USUÁRIO/SENHA FIQUE ARMAZENADA NO PROFILE DO USUÁRIO,
        DEPOIS DISSO SERÁ POSSÍVEL REALIZAR A OPERAÇÃO SEM INTERFACE GRÁFICA.    
        
        */
        CN171SOpSg(1)//1- Envia/publica documento; 2- Republica documento; 3- Atualiza situação da assinatura
        oModel := FwLoadModel("CNTA171")
        oModel:SetOperation(MODEL_OPERATION_UPDATE)

        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

        CN171SOpSg(0)//Restaura operação
    endif

Return
HTML
<!-- 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>