Hoje vou mostrar como fazer o download de um fonte padrão de relatório via suporte.totvs.com e fazer a customização no fonte.
O ato de você fazer o download de um fonte padrão, e transformar para a sua necessidade, alguns autores chamam de “Congelar”, que basicamente consiste em alterar constantes e Function para User Function.
1. Primeiramente, para fazer o download, é necessário acessar o suporte da TOTVS, e em seguida clicar em TOTVS Linha Protheus
2. Depois clique em Artefatos Gerais de Produto
3. Clique Em Fontes de Relatório
4. Basta realizar o download dos pacotes e descompactar.
Agora vamos ao passo a passo de como Congelar o fonte:
1. Após descompactar, procure o arquivo desejado, e altere o nome colocando um caracter antes como “x” ou “z”. Por exemplo, no matr010.prx, foi alterado o nome para xMATR010.prw
2. Coloque esse novo fonte dentro da workspace, e coloque a include dele se precisar, na sua pasta de includes
3. Abra o arquivo, e procure pela palavra Function (não por Static Function, apenas Function)
3.1. Onde tiver a palavra Function, na função da frente, acrescente um x minúsculo e troque de Function para User Function, por exemplo, Function MATR010() = User Function xMATR010()
3.2. Onde tinha a chamada da função, trocar pela nova chamada, por exemplo, MATR010() = u_xMATR010()
4. Repetir os passos 3, 3.1 e 3.2 até o fim do arquivo
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Muito bom Dan, ter os fontes padrões para analisar algumas situações é muito bom e apesar de trabalhar com o protheus a tempos eu não sabia dessa possibilidade.
Muito Obrigado novamente
Eu que agradeço Walter.
Um grande abraço.
Segui os passo para renomear o arquivo e as funções, porém, ao compilar recebo essa mensagem de erro: “Cannot overwrite TOTVS programs (MATR110A.PRW)”
O que pode ser?
Bom dia Jonathan, que estranho, era para quando você renomear o arquivo de MATR110A.prw para por exemplo, xMATR110A.prw, ele não fazer essa validação.
Poderia nos mandar o fonte para analisarmos?
Agradeço muito seu retorno.
Acredito que era algum problema com a IDE,pois apenas criei um novo arquivo e copiei as funções e funcionou!
Seus tópicos são nota Dez!
Abraço.
Opa, fico feliz que tenha ajudado.
Obrigado pelo comentário jovem.
Grande abraço.
Olá peço por favor ajuda, já tentei com o pessoal da totvs e não tive sucesso, inclusive tive ajuda do pessoal do ADVPL e não consegui, o relatório MATR700 é bloqueado para personalização, eu segui seu tutorial e consegui desbloquear ele para personalização, além dos procedimentos que vc orientou comentei as funções SetReadOnly que estavam bloqueando a personalização. Após concluir tudo, incluindo os campos necessários, o protheus retorna com a seguinte mensagem: A CONFIGURAÇÃO DESSE RELATÓRIO NÃO PERMITE A INCLUSÃO DE CAMPOS DO USUÁRIO… não sei o que fazer mais.. por favor me ajuda…
uma outra tentativa que fiz foi inserir um novo campo na tabela dos pedidos de venda e chamar este campo no fonte do relatório, fiz os testes, e o campo apareceu perfeitamente no relatório, com as informações que coloquei no campo lá no pedido, porém o campo C6_DESCRI que traz a descrição do produto está replicando o campo novo que criei (C6_PEND) que traz a pendencia do item no pedido. olhei via APSDU e a informação está armazenada corretamente, em ambos os campos…
Bom dia Oesly, tudo bem?
Então, no caso se mesmo assim ele mostrando a mensagem de não permitir a inclusão de campos, é somente via AdvPL.
Agora quanto a adição do campo e sair com dados dobrados, ai se possível, nos envie o fonte, ou mostre como você criou o TRCell e está imprimindo as informações.
Bom dia, Dan. Tudo bom?
Sou iniciante do Protheus e preciso adicionar e remover campos num relatório não personalizável (MATR090.prx). Após a edição do arquivo fonte com a transformação da função em função de usuário e a adequação da chamada ao novo nome do arquivo xMATR090(), o que fazer? Sua orientação é para edição do relatório no Treports, Sigarpm ou edição em fonte mesmo?
Bom dia Sérgio, bem e você?
Após você fazer a alteração, utilizando o VSCode, compile o novo código fonte.
Com isso, ele já estará dentro do RPO do seu Protheus, agora basta colocar um item no menu via Configurador, chamando a sua função xMATR090 com o tipo Função de Usuário.