Fonte TLPP Cadastro em MVC

Bom dia.

Alguém teve problema com cadastro em MVC utilizando arquivo com extensão TLPP? Quando crio um cadastro ele não abre a opção incluir, se mudar para PRW ele funciona corretamente sem mudar nada, tem que fazer alguma coisa diferente para a extensão TLPP?

1 curtida

Só complementando, vi alguns chamados sobre o assunto e a resposta do suporte é que a função MenuDef não funciona com a extensão TLPP. Mas se alguém tiver algo diferente disso, manda ai.

Bom dia, Felipe!

Os Includes da versão estão atualizados?

Caso sim, ao meu ver, isso é falha do framework. Não vejo motivo de uma função funcionar no .PRW e não no .TLPP, ainda mais do MVC que é tecnologia nova.

Giordano, sim, estão atualizados.

Boa tarde,

Temos uma resposta nas documentações do TDN:

https://tdn.totvs.com/pages/viewpage.action?pageId=334340072

O MVC (Model-View-Controller) Protheus utiliza o recurso de "StaticCall", portanto as rotinas que possuem MVC não poderão migrar para .tlpp e acessar os novos recursos do TL++, nesse caso aconselhamos a manter esse fonte em .prw (ADVPL).


A situação continua a mesma, não é possível utilizar TLPP para MVC, cadastros que ficam no menu, schedules, fwcallapp entre outras questões dentro do Protheus. Isso se deve a diversos fatores:

  • Remoção de uma feature que existia em ADVPL.
    • Cadastros limitados a dez caracteres, logo qualquer nome longo pode gerar problemas.
    • Legado sempre chama funções de usuário com U_ no começo da string, isso não é uma verdade com namespace.

Verifique a possiblidade de uso pontualmente para cada caso.

1 curtida

Daniel, Como cadastro para ver este material?

Marco, esse material é aberto e não precisa de credenciais para acessar!
Abs,
Denardi

Boa tarde,

Tive problemas tive que mudar a extensão para o funcionamento. para prw

Prezados,

MVC e Restful ainda não estão disponíveis na linguagem TLPP. Temos que usar ADVPL mesmo. A grande vantagem do TLPP até o momento é essencialmente na orientação a objetos, tipagem forte e uso de nomes longos para funções e variáveis. Construam seus objetos com TLPP, mas os programas em MVC e Restful ainda não dá.

Olá Felipe,

O MVC só funcionará com fonte .prw (ADVPL), pois ele faz uso da função "StaticCall".

Em .tlpp esse recurso foi bloqueado pois o TLPP respeita o escopo definido pelo desenvolvedor para funções, classes, métodos, propriedades e variáveis.

Nesse caso, funções criadas com "static" só podem ser acessadas por funções que estejam no mesmo código-fonte.

Portanto, ainda será necessário utilizar rotinas em MVC com a extensão .prw.

Att, Denardi

Pessoal, alguem sabe se isso já foi normalizado e se já podemos ysar MVC com tlpp ?

Olá, não é possível utilizar TLPP para rotinas de menu, schedules com scheddef, MVC entre outras questões. Além do Protheus não estar pronto para a utilização e o TLPP ter removidos algumas features do ADVPL que permitiam esse funcionamento, temos inúmeros cadastros que são limitados as 10 caracteres, logo qualquer nome longo não funcionará, além disso, temos também a questão de customização que por padrão compreende que o U_ é sempre no começo, porém quando trata-se de um fonte com namespace, isso deixa de ser uma verdade.

Olá,

A partir do release 12.1.2410, a lib foi atualizada assim como os dicionários de dados, de forma a dar um melhor suporte ao TLPP dentro do Protheus.

Com isso, é possível criar schedule, rotinas de menu, MVC entre outras implementações em TLPP, sempre com o uso do namespace:
https://tdn.totvs.com.br/display/public/framework/Suporte+a+TLPP+no+Protheus
https://tdn.totvs.com/pages/viewpage.action?pageId=824199300

1 curtida