Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug - Abrir Ordem de Serviço para edição #4

Open
GoogleCodeExporter opened this issue Apr 28, 2015 · 4 comments
Open

Bug - Abrir Ordem de Serviço para edição #4

GoogleCodeExporter opened this issue Apr 28, 2015 · 4 comments

Comments

@GoogleCodeExporter
Copy link

Modulo: Freedom-GMS
Versão atual: 1.2.2.5
Sistema operacional: Linux
Opção do menu: Serviço-> Ordem de Serviço 
Ação em que o erro ocorre: Ao buscar uma Ordem de Serviço (F2) selecione uma 
OS de clique em OK, e o seguinte erro é apresentado:

Erro ao montar grid para tabela EQITRECMERC
GDS Exception. 335544652. multiple rows in singleton select 

Descrição detalhada do problema: Ao debugar o código descobri que o problema 
está no SQL gerado:
"SELECT  CodItRecMerc,CodProd,(SELECT DescProd FROM EQPRODUTO WHERE 
CODEMP=master.CODEMPPD AND CODFILIAL=master.CODFILIALPD AND codprod = 
master.CodProd AND ATIVOPROD='S'), 
RefProd,QtdItRecMerc,NumSerie,CodProcRecMerc,(SELECT
DescProcRecMerc FROM EQPROCRECMERC WHERE CODEMP=master.CODEMPTP AND
CODFILIAL=master.CODFILIALTP AND CodProcRecMerc =
master.CodProcRecMerc),CodTipoRecMerc,garantia,StatusItRecMerc,DescItRecMerc,Def
eitoItRecMerc,CondicoesItRecMerc,ServicoSolicItRecMerc,ObsItRecMerc
FROM EQITRECMERC master WHERE master.CODEMP=? AND master.CODFILIAL=?
AND Ticket=?

O problema está no subselec que retorna a "DescProcRecMerc". Na
clausula WHERE dessa subselect está faltando a condição "AND CODTIPORECMERC 
= master.CODTIPORECMERC".

Pelo que entendi o código que faz com que exista esse subselect são as linhas 
503, 504, 505 do arquivo FOrdemServico.java

adicCampoInvisivel( txtCodProcRecMerc, "CodProcRecMerc", "Cod.Proc.", 
ListaCampos.DB_FK, txtDescProcRecMerc, true );
        adicDescFKInvisivel( txtDescProcRecMerc, "DescProcRecMerc", "Descrição do processo" );
        adicCampoInvisivel( txtCodTipoRecMercDet, "CodTipoRecMerc", "Cod.Tp.Rec.Merc", ListaCampos.DB_SI, true );


Original issue reported on code.google.com by [email protected] on 25 Jun 2010 at 12:43

@GoogleCodeExporter
Copy link
Author

Fiz a seguinte implementação que aparentemente resolveu o problema:
Inseri o seguinte código logo abaixo da linha 503 do arquivo FOrdemServico.java

txtCodProcRecMerc.getTabelaExterna().setWhereAdicSubSel( "CODTIPORECMERC = 
master.CODTIPORECMERC" );

Acredito que não seja a melhor solução mas por enquanto resolveu.

Mas logo após resolver esse erro surgiu um outro, informando que não foi 
encontrada a coluna REFPROD na tabela EQITRECMERCITOS.

Criei essa coluna na tabela somente para testar e aparentemente funcionou.

Original comment by [email protected] on 25 Jun 2010 at 3:20

@GoogleCodeExporter
Copy link
Author

A solução de criar o campo na tabela não é a recomendada.
O problema já foi corrigido no código fonte.
Quanto ao primeiro problema, não foi possível reproduzir, 
pode ser algum problema referente à parametrização. 
Informe como estão as preferencias do módulo GMS , bem como o cadastros
de tipos de recepção em Recepção/Tipos de recepção. Outra informação 
relevante é se você utiliza mais de uma empresa ou filial.

Original comment by [email protected] on 28 Jun 2010 at 3:04

@GoogleCodeExporter
Copy link
Author

Você não deve ter conseguido reproduzir o erro porque provavelmente você 
você só tenha um tipo de recepção cadastrado, cadastre mais de um tipo de 
recebimento e teste por favor.

Original comment by [email protected] on 29 Jun 2010 at 7:00

@GoogleCodeExporter
Copy link
Author

Problema corrigido Paulo, no método GuardaCampos existe um parâmetro que 
informa se o campo é uma Primary Key (ListaCampos.DB_PK), Foreign Key 
(ListaCampos.DB_FK), 
Simpes (ListaCampos.DB_SI) ou Primary Key e Foreign Key ao mesmo tempo 
(ListaCampos.DB_PF), no caso do campo CodTipoRecMerc o parâmetro deveria ser 
ListaCampos.DB_PF, com isso o ListaCampos completa a SQL corretamente.

Original comment by [email protected] on 7 Jul 2010 at 3:15

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant