- /
- /
- /
ExecAuto – CTBA020 (MVC)
Rotina Automática para criação de dados nas Contas Contábeis
Exemplo da Rotina:
oModelCtb := FWLoadModel('CTBA020') EndIf oModelCtb:SetOperation(4) oModelCtb:Activate() oCVD := oModelCtb:GetModel('CVDDETAIL') oCVD:SetValue('CVD_FILIAL', FWxFilial('CVD')) ... If oModelCtb:VldData() oModelCtb:CommitData() EndIf
Exemplo 1- Alterando e incluindo dados na CVD:
cPasta := "C:\TOTVS\log_CVD\" //Se for nulo, carrega o modelo de dados If oModelCtb == Nil oModelCtb := FWLoadModel('CTBA020') EndIf //Posiciona no Plano de Contas DBSelectArea("CT1") CT1->(DbGoTo(QRY_CONTA->CT1REC)) //Seta a operação de Alteração no modelo, e ativa ele oModelCtb:SetOperation(nOpcAuto) oModelCtb:Activate() //Pega o modelo (grid) da CVD, e define os campos oCVD := oModelCtb:GetModel('CVDDETAIL') oCVD:SetValue('CVD_FILIAL', FWxFilial('CVD')) oCVD:SetValue('CVD_ENTREF', cEntidade ) oCVD:SetValue('CVD_CODPLA', cPlanoRef ) oCVD:SetValue('CVD_VERSAO', cVersao ) oCVD:SetValue('CVD_CTAREF', cContaRef ) oCVD:SetValue('CVD_CUSTO' , cCenCusto ) oCVD:SetValue('CVD_CLASSE', cClaConta ) oCVD:SetValue('CVD_TPUTIL', cTpUtil ) oCVD:SetValue('CVD_NATCTA', cNatConta ) oCVD:SetValue('CVD_CTASUP', cEntSuper ) //Valida os dados preenchidos, se deu certo If oModelCtb:VldData() //Grava a informação no banco oModelCtb:CommitData() cIncluido += "- " + QRY_CONTA->CT1_CONTA + " (Cta.Ref.: " + cContaRef + ");" + CRLF Else //Recupera o erro e joga no array de log aLog := oModelCtb:GetErrorMessage() cLog := "" //Percorre as linhas do log For nX := 1 to Len(aLog) //Se tiver conteúdo na linha do log, adiciona na variável de log If ! Empty(aLog[nX]) cLog += Alltrim(aLog[nX]) + CRLF EndIf Next //Monta o nome do arquivo, e grava o log nele cArquivo := QRY_CONTA->CT1_CONTA + " - log - " + dToS(Date()) + " - " + StrTran(Time(), ':', '-')+".txt" MemoWrite(cPasta + cArquivo, cLog) cErros += "- " + QRY_CONTA->CT1_CONTA + " (Log em '" + cPasta + cArquivo + "');" + CRLF EndIf //Desativa o modelo de dados oModelCtb:DeActivate()
Observações:
– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;
Receba novidades
Junte-se a 1.926 outros assinantes