♥ 0 | Bom dia, Estou a tentar atualizar uma grelha base, neste caso a grelha dos movimentos contabilísticos, depois de fazer umas alterações a um CDU via extensibilidade. Alguém consegue fornecer um exemplo que como fazer tal coisa? Basicamente, pretendo replicar a acção do utilizador carregar no botão “Atualizar” (Crtl+U). Já estive a procurar aqui no fórum bem como no Git mas não encontro nada.
Obrigado desde já! Marcado como spam |
1 respostas
Resposta privada Olá Alex, também já reparei que há algumas acções que não são possiveis no Primavera, dependendo do local onde estamos a mexer. As linhas dos documentos de vendas e compras são simples de manipular, mas as tabelas das fichas não parecem ter maneira de ser mexidas. Consegue dizer qual o do Editor/Ficha no código em que está a mexer? Marcado como spam Comentários Olá Ricardo, Estou a falar da seguinte grelha:
Módulo de "Finanças" > Separador "Contabilidade" > Opção "Movimentos" Presumo então que seja o EditorMovimentos.
Para fazer alterações dentro de um Editor aberto, tem de usar os vários overrides que a Primavera dispõe. Estes overrides activam em certos eventos do Editor como AntesDeGravar, ContaIdentificada ou DepoisDeEstornar entre outros.
Também é possível fazer alterações em qualquer momento. a um documento já emitido No caso de documentos de Contabilidade sería com:
CblBE100.CblBEDocumento docCont = BSO.Contabilidade.Documentos.Edita(Ano, Diario, NumDiario);
Algum destes casos encaixam no que precisa? Sim, estou no Editor de Movimentos. Diria que poderá ser o primeiro caso se bem que não percebi completamente o que disse. A minha situação é a seguinte: no fim da execução da função da extensibilidade, pretendo fazer refresh ao Editor de Movimentos, de forma a que, a informação que eu coloquei fique visível. Atualmente, é necessário o utilizador carregar no botão de Atualizar para as alterações ficarem visíveis. Certo então é como expliquei, os editores só permitem interacção em certos eventos (override) como por exemplo o DepoisDeEditar que até faría sentido no seu caso. No entanto, e após um bom tempo à procura, não encontrei um método que permita replicar o que faz o botão Actualizar (nem "carregar" no botão). Sabe se é possível (e como) despoletar algum desses eventos num outro local partindo do pressuposto que no fim da execução da função desses eventos, o editor é atualizado? Por outras palavras, a ideia seria eu emitir um evento apanhado pela função DepoisDeEditar na minha extensibilidade e o sistema atualizaria a grelha. Obrigado pela sua colaboração na tentativa de resolver este assunto ! Tive um problema muito parecido o ano passado na versão 9 e foi-me dito que não é bug, os editores não permitem certas coisas de propósito. Pelo que já procurei nos métodos fornecidos para o EditorMovimentos, não nos é dado um que faça o Actualizar. Existe o CommitContext e o RefreshContext... não experimentei e não encontro documentação no site da API mas vale a pena tentar; talvez usar o Commit e depois o Refresh após fazer alterações.
Em último caso, talvez contactar directamente a Primavera seja a solução. Há uns bons tempos que não vejo ninguém de lá aqui nos fóruns mas existem outros canais para os contactar |