Tabela temporária MVC

Boa tarde, tem como utilizar uma tabela temporária (FWTemporaryTable) no GRID do Modelo 3 ou X? Fiz um fonte que cria uma tabela temporária a partir da DA1: Tab principal (Field) - cabeçalho Tab secundária (Grid) - produtos Tab temporária (Grid) - de acordo com o produto posicionado na "tab Secundária" mostraria as tabelas DA1 nessa tabela temporária.

Crio a tabela antes de montar o MVC e populo via INSERT, até aqui ok. Porém ao clicar em VISUALIZAR um registro, acho que relacionado ao SETRELATION para apresentar os itens filtrados na tabela temporária, apresenta error log que a tabela não existe. Se utilizo o GetRealName, dá erro ao montar a tela.

1 curtida

Lucas, você quer montar uma MVC apenas para a visualização certo?

Isso Daniel. DA1 possui registros que não utilizamos mais e não preciso mostrar, por isso gerei uma temporária com os dados que preciso.
Na tela, seria um segundo grid (Field/Grid01/Grid02). Ao movimentar as linhas no grid 01 que possui código de produtos, mostraria nesse grid 02 as tabelas de preço da minha tabela temporária vinculadas ao produto posicionado grid 02. O MVC com tabela temporária ficou certo pq o INSERIR carregou a tela (sem dados).
Não consigo é vincular a tabela criada no DB (FwTemporaryTable) com essa struct do MVC que montei (FWFormModelStruct e FWFormViewStruct).

1 curtida

Lucas, coloque o seu código como exemplo, é provável que seja possível de ser feito, mas quando o MVC não tem metadados, você precisa montar as coisas “na mão” e não utilizar por exemplo da MPFormModel, pois ela entende que seu MVC tem metadados do Protheus.

Bom dia, o SETRELATION realmente não funciona com tabelas temporárias, o ALIAS atribuído não é encontrado no SELECT interno. Consegui “ajustar” utilizando o CHANGELINE. Dica do Daniel em outra dúvida minha.

1 curtida

Boa tarde Lucas, você poderia por favor postar o resultado final do seu (trecho de) código, incluindo o uso do CHANGELINE? Estou recebendo o mesmo erro no SetRelation. Obrigado!

1 curtida

O Error Log gerado ao VISUALIZAR a tela. O SELECT interno pra preencher o último grid não existe o ALIAS SCGN000015 no banco, pois o FWTemporaryTable gerou um tabela com nome dbo.##SC0...

THREAD ERROR ([10132], lucas.lima, 01TI010) 08/07/2021 08:15:13 : Error : 208 (S0002) (RC=-1) - [Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid object name 'SCGN000015'.

SELECT RE_C_N_O RECNO, TMPCODTAB,TMP_DESTAB,TMP_DATDE,TMP_DATATE,TMP_ATIVO,TMP_PRCVEN,TMP_CODPRO FROM SCGN000015 WHERE TMP_CODPRO='100015 ' AND SCGN000015.D_E_L_E_T = ' ' ORDER BY TMP_PRCVEN on BUILDQUERY(PROTHEUSFUNCTIONMVC.PRX) 08/04/2021 17:34:12 line : 6387

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

1 curtida

OLá. Poderia postar o trecho que utiliza o CHANGELINE? Não tem mais o fonte disponivel. Estou com o mesmo problema

1 curtida