Forum
See question

Log Primavera   

35 views
0
0

Boas,

Necessito criar o log de alterações de uma tabela (não está na BD do Primavera) num projeto de extensibilidade mas não estou a conseguir chegar lá.

Estou a executar o seguinte código após inserção de uma linha nessa tabela:


string mensagem = “Nova linha”;
string chave = “99999”;
PSO.Log.ActualizaLinha(“BAS”, “Campanhas”, StdBE100.StdBETipos.EnumTipoOperLog.toInserir, mensagem, chave);


Neste momento já vi que insere o registo na tabela HistoricoObjectos mas faltam três coisas:
– Não aparece o filtro da entidade “Campanhas” dentro da Base Aplicacional de Negócio quando vou consultar o LOG;
– Não sei como gravar o Objecto que representa a entidade e as suas alterações através dos motores de forma a poder consultar;
– Qual o método a invocar para consulta do histórico da entidade gravada?

 

V10
Administrador
Marked as spam
Created 2 months ago nunovidal
nunovidal Iniciante
2 answers
0
Private answer

boas sérgio,

não consegui chegar lá com essa sugestão.

entretanto consegui colocar a aparecer o log no ERP conforme pode ver na imagem em anexo.
a parte de ser possível consultar no administrador com o nome da categoria não é essencial, o que falta mesmo é aparecer o meu Objecto com os valores das propriedades.
copiei de uma outra linha de histórico e aparece no ERP onde eu pretendo, mas agora precisava de saber como é que eu coloco esses valores quando faço PSO.Log.ActualizaLinha.

mesmo tentando fazer eu "à mão" a string que representa o meu Objecto, não estou a conseguir pois quando insiro um registo (PSO.Log.ActualizaLinha("BAS", "Campanhas", StdBE100.StdBETipos.EnumTipoOperLog.toAlterar, mensagem, pRegra.ID)), depois não tenho como apontar para a linha inserida para atualizar o campo "Objecto" desse registo na tabela "HistoricoObjectos" pois não sei como ficar com o ID da linha inserida.

Attachments:
Marked as spam
Created 2 months ago nunovidal
nunovidal Iniciante
    0
    Private answer

    Olá essa entidade "Campanhas" não é do ERP nem está no modulo base como tal isso não vai funcionar. Para registar informação no Log tens de indicar o modulo certo, a entidade e a tipo de operação.

    Se a entidade é tua e é referente a essa tabela tens de criar um projeto de extensibilidade no ADM para que ai no LOG apareça a tua entidade.

    Exemplo

    object[] parlog= new object[4];

    parlog[0] = Filial;
    parlog[1] = Tipodoc;
    parlog[2] = Serie;
    parlog[3] = NumDoc;

    PriEngine.Platform.Log.ActualizaLinha( "VND", "DocVenda", EnumTipoOperLog.toInserir, "Fatura com origem em aplicação Externa", parlog);

    Isto vai inserir este registo associado à gravação da fatura.

    Marked as spam
    Created 2 months ago sergiosereno
    sergiosereno Most Valuable Professional