Browse - Error BASE/1449 Syntax error: &

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Vandi
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 16 Set 2011 23:26
Localização: Brasilia-DF

Browse - Error BASE/1449 Syntax error: &

Mensagem por Vandi »

Boa tarde,

Tenho um sisteminha que, entre outros aliases, tenho um chamado CONSL e outro MOVTO.
Nêsse sistema, estou aproveitando uma rotina de BROWSE de um determinado módulo para criar outro módulo de consulta e para isso copiei a rotina abaixo. Porém, quando fiz as adaptações para a nova rotina dá o seguinte erro:

Error BASE/1449 Syntax error: &

Called from _BROWSEREFRESH(974)
Called from INITDIALOGBROWSE(384)
Called from _DEFINEBROWSE(314)
Called from CONSULTAGERAL(1263)
Called from (b)MOVIME011(151)
Called from _DOCONTROLEVENTPROCEDURE(1574)
Called from EVENTS(1444)
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(1311)
Called from MOVIME011(181)
Called from VALIDA_DATA(92)
Called from (b)MOVIME01(31)
Called from _DOCONTROLEVENTPROCEDURE(1574)
Called from EVENTS(1933)
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(1311)
Called from MOVIME01(36)
Called from (b)MAIN(106)
Called from _DOCONTROLEVENTPROCEDURE(1574)
Called from EVENTS(1377)
Called from _DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(1311)
Called from MAIN(188)


Êsse erro só ocorre quando eu coloco MOVTO na cláusula WORKAREA, pois quando vou testar com CONSL o sistema monta a grade normalmente. Já cansei de quebrar a cabeça e não consigo resolver essa questão.
A rotina do Browse é a seguinte:

Código: Selecionar todos

                DEFINE BROWSE Browse_1
                        ROW 10
                        COL 10
                        WIDTH 800
                        HEIGHT 290                                                                               
                        HEADERS { 'Cód','Empresa','Evento','Histórico' , 'Recibo','Valor' }
                        WIDTHS  { 50 , 270 , 60 , 250 , 60 , 100 } 
                        JUSTIFY { BROWSE_JTFY_CENTER ,BROWSE_JTFY_CENTER ,, BROWSE_JTFY_RIGHT }
                        WORKAREA MOVTO        // com WORKAREA CONSL a grade é montada normalmente
                        FIELDS { 'Refe' , 'Code' , ' If( Empresas->(DbSeek(Code)) , Left(Empresas->Empr,25) , Nil ) ' , 'CodH' , ' Hist ' , 'If( Valor>0 , Valor , Valor * -1 )' }
                        VALUE 1
                END BROWSE
Alguém poderia me dar uma luz???

Agradecimentos,

Gilvandi
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Browse - Error BASE/1449 Syntax error: &

Mensagem por Toledo »

Gilvandi, você tem certeza que a área MOVTO está aberta?

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Vandi
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 16 Set 2011 23:26
Localização: Brasilia-DF

Browse - Error BASE/1449 Syntax error: &

Mensagem por Vandi »

Toledo,
Boa noite (ou melhor, bom dia)

Sim... o alias MOVTO já está aberto.
Fiz um teste: logo anterior ao DEFINE BROWSE eu coloquei

Código: Selecionar todos

Use &NomeArquivo  ALIAS  MOVTO  SHARED NEW
e deu o seguinte erro:
ALIAS ALREADY IN USE: MOVTO

Se eu mudar WORKAREA para CONSL a grade é apresentada normalmente.
Um detalhe: eu falei, como anteriormente, que a grade é apresentada normalmente, porém vazia.

Digo isso porque, nêsse ponto do sistema com certeza CONSL não está aberto, logo eu acho que qualquer nome que eu coloque que não seja MOVTO a grade será montada.

Não é esquisito???

Gilvandi
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Browse - Error BASE/1449 Syntax error: &

Mensagem por Mario Mesquita »

Olá!

Como voce usa MOVTO no ALIAS(), não existe uma area já aberta com esse alias?

Sendo assim , deveria fechar o MOVTO anterior.

Sds,
Mario.
Vandi
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 16 Set 2011 23:26
Localização: Brasilia-DF

Browse - Error BASE/1449 Syntax error: &

Mensagem por Vandi »

Srs. Mário e Toledo,
Boa noite...

Primeiramente agradecer o empenho em me ajudar, obrigado...
Quero dizer que detectei exatamente o que está ocasionando o erro acima.

No meu DBF tenho um campo tipo data, denominado 'Refe' e tenho uma variável tbém tipo data denominada 'Lanc1.MesReferencia.Value'.

Pois bem, o erro ocorre somente quando coloco as seguintes instruções:

Código: Selecionar todos

        MOVTO->(OrdSetFocus('Refe'))
        MOVTO->(DBSETFILTER({||Refe == Lanc_1.MesReferencia.Value},"Refe == Lanc_1.MesReferencia.Value"))
Não deu certo. Então resolví mudar o DBSETFILTER por:

Código: Selecionar todos

        MOVTO->(DBSETFILTER({||DTOS(Refe) == DTOS(Lanc_1.MesReferencia.Value)},"DTOS(Refe) == DTOS(Lanc_1.MesReferencia.Value)"))
mas tbém não deu resultado.

Diante do expôsto, poderiam me dizer o que está errado nessas linhas de comando?

Agradecimentos,

Gilvandi
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Browse - Error BASE/1449 Syntax error: &

Mensagem por Toledo »

Gilvandi, só uma dúvida: como chama a WINDOW onde está o Browse? Este campo "Lanc1.MesReferencia.Value" está na mesma WINDOW do Browse?

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Vandi
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 16 Set 2011 23:26
Localização: Brasilia-DF

Browse - Error BASE/1449 Syntax error: &

Mensagem por Vandi »

Toledo,
Boa noite...

Respondendo: a window onde está o browse chama-se Form_1.

Gilvandi
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Browse - Error BASE/1449 Syntax error: &

Mensagem por Toledo »

Gilvandi, me corrija se estiver errado: pela lógica, de dentro da Window Lanc1 (onde está o campo MesReferencia) você chama a Window Form_1, onde você cria o Browse. Neste caso, no início da função que cria a Window Form_1, declare uma variável private para receber o conteúdo de Lanc1.MesReferencia.Value.

Código: Selecionar todos

Private dMesRef:=Lanc1.MesReferencia.Value
Ai no filtro altere para:

Código: Selecionar todos

MOVTO->(DBSETFILTER({||DTOS(Refe) == DTOS(dMesRef)},"DTOS(Refe) == DTOS(dMesRef)"))
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Vandi
Usuário Nível 2
Usuário Nível 2
Mensagens: 83
Registrado em: 16 Set 2011 23:26
Localização: Brasilia-DF

Browse - Error BASE/1449 Syntax error: &

Mensagem por Vandi »

:)) RESOLVIDO... :))

Toledo,
Bom dia...

Desculpe a demora em responder.
Funcionou perfeitamente, ficou 100%... Muito obrigado!!!

Gilvandi
Responder