In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Duvidas utilizando SetRelation()

Foro público de Xailer en español
Responder
wmsei
Mensajes: 28
Registrado: Lun Feb 18, 2013 9:07 pm

Duvidas utilizando SetRelation()

Mensaje por wmsei »

Srs boa tarde,
Estou migrando do Clipper/xHarbour para o Xailer, utilizo muito a função DbSetRelation(), no Xailer quando uso SetRelation do DataSet, não traz o resultado que tinha no clipper, tem algum macete para trabalhar com o SetRelation no Xailer, se possí­vel enviem alguns exemplos com a funcionalidade do SetRelation.
Grato pelo retorno e atenção
Wagner
Cassiano de Oliveira
Mensajes: 475
Registrado: Mar Jul 24, 2012 10:21 pm

Duvidas utilizando SetRelation()

Mensaje por Cassiano de Oliveira »

Wagner bem vindo... disponibilize um exemplo com o teste q vc averiguou q
não funciona para que possamos ajudá-lo...
[]´s
"Wagner" wrote in message news:51520106$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Srs boa tarde,
Estou migrando do Clipper/xHarbour para o Xailer, utilizo
muito a função DbSetRelation(), no Xailer quando uso
SetRelation do DataSet, não traz o resultado que tinha no
clipper, tem algum macete para trabalhar com o SetRelation
no Xailer, se possí­vel enviem alguns exemplos com a
funcionalidade do SetRelation.
Grato pelo retorno e atenção
Wagner
wmsei
Mensajes: 28
Registrado: Lun Feb 18, 2013 9:07 pm

Duvidas utilizando SetRelation()

Mensaje por wmsei »

Cassiano bom dia,
Segue conforme solicitado:
::dbfMaster:cName := "CLIENT.DBF"
::dbfMaster:cProcess := "GENERAL"
::dbfMaster:lOpen := .t.
::dbfMaster:OrdSetFocus(2) //Nome
::dbfMaster:GoTop()
::dbfContasReceber:oDataSource := ::cdxdsMaster
::dbfContasReceber:cName := "CONREC.DBF"
::dbfContasReceber:lOpen := .t.
::dbfContasReceber:OrdSetFocus(2)
::dbfContasPagar:oDataSource := ::cdxdsMaster
::dbfContasPagar:cName := "CONPAG.DBF"
::dbfContasPagar:lOpen := .t.
::dbfContasPagar:OrdSetFocus(6)
::dbfMaster:SetRelation("CODIGO", ::dbfContasReceber, .t.)
::dbfMaster:SetRelation("CODIGO", ::dbfContasPagar, .t.)

Quando vou mostrar os dados do cliente e seus respectivos dados de Contas a Pagar e Contas a Receber, mostra todos os dados, nao relacionando somente os dados do cliente que esta selecionado.
Grato pelo retorno e atenção.
Wagner.
ChrisSoares
Mensajes: 5
Registrado: Mié Ene 30, 2013 11:54 am

Duvidas utilizando SetRelation()

Mensaje por ChrisSoares »

Também estou tendo problemas com o setRelation. Cheguei a postar a duvida a um tempo atrás, porém não tive nenhum retorno: Duvidas sobre o SetRelation.
Vou acompanhar seu post, caso tenha alguma novidade não deixe de relatar para eu e outros possam tirar essa duvida. Qualquer novidade lhe informo.
Abraços,
Que Deus continue nos abençoando a cada dia!
Christiano Ribeiro Soares
Desenvolvedor
www.bhdados.com.br
Cassiano de Oliveira
Mensajes: 475
Registrado: Mar Jul 24, 2012 10:21 pm

Duvidas utilizando SetRelation()

Mensaje por Cassiano de Oliveira »

Colegas estou começando a poucos meses talvez q nem alguns de vcs, na minha aplicação antes do Xailer utilizo DBF + CDX porém no Xailer estou fazendo em MySQL, mesmo assim baseado no exemplo do Cristiano fiz 2 projetos 1 relacionado ao SetRelation q foi a idéia inicial do tópico e fiz funcionar, porém não sei se da maneira correta, pois até onde sei o Relation não separa os registros da tabela, exemplo se eu estou no cliente 10 Fulano de tal o q o relation faz é posionar nas tabelas relacionadas ( CONREC - Contas a Receber e CONPAG - Contas a Pagar) nos registros q satisfaçam o relacionamento no caso que sejam o cliente 10 Fulano de tal, porém se rolarmos o Grid veremos q vemos os registros dos outros clientes q tem contas a receber e tb q tem contas a pagar...
No meu ponto de vista a maneira q ficaria mais clara seria "Filtrar" somente o q é do cliente 10 Fulano... então eu tb fiz um exemplo baseado na lógica, forms, tabelas etc do projeto inicial do Relation e fiz um com o Filter....
Deem uma olhada vejam se resolve, mas eu sou iniciante tb talvez tenha outra maneira de fazer, pois uma dificuldade q tive foi q ao mudar no DBNavigator e colocar no evento OnClickNext por exemplo para ele atualizar os browsers ele não pegava o Registro Seguinte e sim o registro q estava, ou seja, não funcionava... a maneira q encontrei para resolver isto tanto no projeto do Relation qto no projeto do Filter foi fazer com q após uma mudança via DBNavigator ativasse o Timer e após 100 milisegundos executava uma função q verificava se o registro foi alterado do que estava e atualizava os browsers... talvez tenha ficado meio gambiarra porque eu não domino muito bem os Eventos e demais ferramentas existentes no Xailer.
Caso algum colega possa melhorar o projeto fazendo de outra maneira q não tenha q passar por esse Timer seria interessante e talvez mais eficiente.
ATENí‡íƒO NOS ARQUIVOS ANEXADOS NíƒO ESTíƒO AS TABELAS, DEVIDO A LIMITES DE POSTAGEM DO Fí“RUM, AS TABELAS REFERENCIADAS NOS PROJETOS CONSTAM DO LINK DO PROJETO ORIGINAL FEITO PELO CRISTIANO... Duvidas sobre o SetRelation.
[]´s

Attached files SetFilter.rar (10.3 KB)Â SetRelation.rar (4.4 KB)Â
Cassiano de Oliveira
Mensajes: 475
Registrado: Mar Jul 24, 2012 10:21 pm

Duvidas utilizando SetRelation()

Mensaje por Cassiano de Oliveira »

Texto original pois a postagem via WEB bagunçou os caracteres...
Colegas estou começando a poucos meses talvez q nem alguns de vcs, na minha
aplicação antes do Xailer utilizo DBF + CDX porém no Xailer estou fazendo
em MySQL, mesmo assim baseado no exemplo do Cristiano fiz 2 projetos 1
relacionado ao SetRelation q foi a idéia inicial do tópico e fiz funcionar,
porém não sei se da maneira correta, pois até onde sei o Relation não separa
os registros da tabela, exemplo se eu estou no cliente 10 Fulano de tal o q
o relation faz é posionar nas tabelas relacionadas ( CONREC - Contas a
Receber e CONPAG - Contas a Pagar) nos registros q satifaçam o
relacionamento no caso que sejam o cliente 10 Fulano de tal, porém se
rolarmos o Grid veremos q vemos os registros dos outros clientes q tem
contas a receber e tb q tem contas a pagar...
No meu ponto de vista a maneira q ficaria mais clara seria "Filtrar" somente
o q é do cliente 10 Fulano... então eu tb fiz um exemplo baseado na lógica,
forms, tabelas etc do projeto inicial do Relation e fiz um com o Filter....
Deem uma olhada vejam se resolve, mas eu sou iniciante tb talvez tenha outra
maneira de fazer, pois uma dificuldade q tive foi q ao mudar no DBNavigator
e colocar no Evento OnClickNext por exemplo para ele atualizar os browsers
ele não pegava o Registro Seguinte e sim o registro q estava, ou seja, não
funcionava... a maneira q encontrei para resolver isto tanto no projeto do
Relation qto no projeto do Filter foi fazer com q após uma mudança via
DBNavigator ativasse o Timer e após 100 milisegundos executava uma função q
verificava se o registro foi alterado do que estava e atualizava os
browsers... talvez tenha ficado meio gambiarra porque eu não domino muito
bem os Eventos e demais ferramentas existentes no Xailer.
Caso algum colega possa melhorar o projeto fazendo de outra maneira q não
tenha q passar por esse Timer seria interessante e talvez mais eficiente.
[]´s
"Cassiano de Oliveira" wrote in message news:5154d352$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Colegas estou comeíƒÂ§ando a poucos meses talvez q nem alguns
de vcs, na minha aplicaíƒÂ§íƒÂ£o antes do Xailer utilizo DBF +
CDX poríƒÂ©m no Xailer estou fazendo em MySQL, mesmo assim
baseado no exemplo do Cristiano fiz 2 projetos 1 relacionado
ao SetRelation q foi a idíƒÂ©ia inicial do tíƒÂ³pico e fiz
funcionar, poríƒÂ©m níƒÂ£o sei se da maneira correta, pois atíƒÂ©
onde sei o Relation níƒÂ£o separa os registros da tabela,
exemplo se eu estou no cliente 10 Fulano de tal o q o
relation faz íƒÂ© posionar nas tabelas relacionadas ( CONREC -
Contas a Receber e CONPAG - Contas a Pagar) nos registros q
satisfaíƒÂ§am o relacionamento no caso que sejam o cliente 10
Fulano de tal, poríƒÂ©m se rolarmos o Grid veremos q vemos os
registros dos outros clientes q tem contas a receber e tb q
tem contas a pagar...
No meu ponto de vista a maneira q ficaria mais clara seria
"Filtrar" somente o q íƒÂ© do cliente 10 Fulano... entíƒÂ£o eu
tb fiz um exemplo baseado na líƒÂ³gica, forms, tabelas etc do
projeto inicial do Relation e fiz um com o Filter....
Deem uma olhada vejam se resolve, mas eu sou iniciante tb
talvez tenha outra maneira de fazer, pois uma dificuldade q
tive foi q ao mudar no DBNavigator e colocar no evento
OnClickNext por exemplo para ele atualizar os browsers ele
níƒÂ£o pegava o Registro Seguinte e sim o registro q estava,
ou seja, níƒÂ£o funcionava... a maneira q encontrei para
resolver isto tanto no projeto do Relation qto no projeto do
Filter foi fazer com q apíƒÂ³s uma mudaníƒÂ§a via DBNavigator
ativasse o Timer e apíƒÂ³s 100 milisegundos executava uma
funíƒÂ§íƒÂ£o q verificava se o registro foi alterado do que
estava e atualizava os browsers... talvez tenha ficado meio
gambiarra porque eu níƒÂ£o domino muito bem os Eventos e
demais ferramentas existentes no Xailer.
Caso algum colega possa melhorar o projeto fazendo de outra
maneira q níƒÂ£o tenha q passar por esse Timer seria
interessante e talvez mais eficiente.
ATENíƒâ€¡íƒÆ’O NOS ARQUIVOS ANEXADOS NíƒÆ’O ESTíƒÆ’O AS TABELAS,
DEVIDO A LIMITES DE POSTAGEM DO Fíƒâ€œRUM, AS TABELAS
REFERENCIADAS NOS PROJETOS CONSTAM DO LINK DO PROJETO
ORIGINAL FEITO PELO CRISTIANO...
http://www.xailer.com/forum/index.php?t ... =16806&amp ;start=0&
[]í‚´s
Responder