[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 594: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 650: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
Fórum Xmaker • Novo campo em tabela já existente
Página 1 de 1

Novo campo em tabela já existente

Enviado: Novembro 14th, 2014, 10:34 am
por Pedro Gomes
Olá a todos.

Por favor, preciso solucionar o seguinte:

Utilizo, ainda, o XMaker 5 e tenho uma tabela que está funcionado normalmente (tabela e tabela filha) com alguns registros. Na tabela pai foi criado um relacionamento com a tabela filha exclusão em cascata. Na tabela pai existe um campo acumulador de valores e estão funcionado normalmente.
Acontece que por necessidade, inclui um campo novo (na tabela filha), numérico fracionário, com duas casas decimais e este campo (calculado) recebe o valor e faz os devidos cálculos e após gravado, faz as devidas correções (atualizações ou acréscimos no campo acumulador na tabela pai).
Fiz a compilação de todos os módulos, mandei compilar e executar o adapter. Rodei o adapter, porém quando tento fazer alguma alteração nos dados já existentes, o campo acumulador na tabela pai sofre deduções que não são reais e não atualiza, ou seja, os valores vão sendo subtraidos.
Fiz então o seguinte:
Apaguei o registro na tabela pai que consequentemente também foram excluídos os registros na tabela filha e fazendo a inclusão dos mesmos registros e inclusive acrescentando novos registros, tudo voltou ao normal.
Pergunto: - O que fazer para solucionar este erro, pois imaginem um caso deste em uma tabela com muitos registros. Não será possível excluir os registros e novamente incluí-los para que os cálculos sejam feitos corretamente.
AQlguém pode me ajudar nesta questão?
Fico no aguardo e desde já agradeço.

Re: Novo campo em tabela já existente

Enviado: Novembro 15th, 2014, 10:21 am
por hudnet
Pedro coloque a estrutura das tabelas envolvidas (só os campos cruciais, se for grande não precisa colocar todos os campos) e o código que está no campo calculado para tentarmos entender o problema.

Re: Novo campo em tabela já existente

Enviado: Novembro 17th, 2014, 8:09 am
por flaviogonzaga
Bom dia!!!
O Pedro não disse nada a respeito mas penso que o problema possa estar relacionado a algum processamento direto/inverso que esteja fazendo na tabela pai.
O que aconselho e que ele, caso exista, retire o processamento rode o adapter somente para criar o campo na tabela filha e depois coloque novamente o processamento e refaça os testes.

Pedro, experimente fazer assim e vá postando aqui o resultado.
Tenho certeza que vai funcionar.
Grande abraço!!

Re: Novo campo em tabela já existente

Enviado: Novembro 24th, 2014, 10:27 am
por Pedro Gomes
Olá a todos.

Obrigado pelas duas respostas a minha questão.
Vou fazeer os testes sugeridos pelo Flávio e depois postarei aqui o(s) resultado(s) conseguido.

Pedro Gomes