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.

Una de DataSet/DataSource

Foro de Xailer profesional en español
Responder
emilio gil[1]
Mensajes: 16
Registrado: Jue Abr 06, 2006 6:22 pm

Una de DataSet/DataSource

Mensaje por emilio gil[1] »

Hola amigos:
Toda la vida para conseguir trabajar en programación multiempresa y/o
multianual, he utilizado la técnica de solicitar en el primer formulario
una serie de datos que me han permitido redireccionar la busqueda de los
ficheros necesarios a través de la generación de un path, en xailer lo
he resuelto de este modo
cSubdir1 := "perolemp" + ::oMemDataSet1:Cod_emp
cSubdir2 := cSubdir1 + "eje" + ::oMemDataSet1:Anyo
cSubdir0 := cSubdir1 + ";" + cSubdir2
set path to &cSubdir0.
aqui tengo dbf/cdx en dos subdirectorios uno troncal a la empresa y
otro anual ,que podrí­a ser:
perolemp001
perolemp001eje2006
por lo tanto cuando hago un use(....) el path ya se encarga de
encontrar el subdirectorio adecuado.
Como podrí­a reutilizar este técnica para poder hacer uso de los
DataSet/DataSource, sobre todo en las ordenes:
oDataSource:oConnect := //aqui podrian ser varios directorios
oDataSet:cName := //aqui no habrí­a ningún problema, supongo, por
que igual se puede utilizar el nombre de la dbf o su alias ??
Gracias anticipadas,
Emilio Gil.
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Una de DataSet/DataSource

Mensaje por Xevi »

Emilio,
Yo estoy utilizando la clase AppData para este menester.
Es una Clase PUBLICA, accesible en TODA la aplicación, a la que puedes
añadir/eliminar valores que creas puedas necesitar en toda la aplicación.
Por ej.
Creo las variables que necesito...
AppData:AddData( "cSubDir1", "perolemp" )
Y cuando la necesito...
cSubdir1 := AppData:cSubDir1 + ::oMemDataSet1:Cod_emp
Espero que te pueda servir.
Un Saludo,
Xevi.
"emilio gil" <emiliogil@ya.com> escribió en el mensaje
news:4448e12b$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola amigos:
>
> Toda la vida para conseguir trabajar en programación multiempresa y/o
> multianual, he utilizado la técnica de solicitar en el primer formulario
> una serie de datos que me han permitido redireccionar la busqueda de los
> ficheros necesarios a través de la generación de un path, en xailer lo he
> resuelto de este modo
>
> cSubdir1 := "perolemp" + ::oMemDataSet1:Cod_emp
> cSubdir2 := cSubdir1 + "eje" + ::oMemDataSet1:Anyo
> cSubdir0 := cSubdir1 + ";" + cSubdir2
>
> set path to &cSubdir0.
>
> aqui tengo dbf/cdx en dos subdirectorios uno troncal a la empresa y otro
> anual ,que podría ser:
>
> perolemp001
> perolemp001eje2006
>
> por lo tanto cuando hago un use(....) el path ya se encarga de
> encontrar el subdirectorio adecuado.
>
> Como podría reutilizar este técnica para poder hacer uso de los
> DataSet/DataSource, sobre todo en las ordenes:
>
> oDataSource:oConnect := //aqui podrian ser varios directorios
>
> oDataSet:cName := //aqui no habría ningún problema, supongo, por que
> igual se puede utilizar el nombre de la dbf o su alias ??
>
>
> Gracias anticipadas,
> Emilio Gil.
>
emilio gil[1]
Mensajes: 16
Registrado: Jue Abr 06, 2006 6:22 pm

Una de DataSet/DataSource

Mensaje por emilio gil[1] »

Hola Xevi:
El problema no está ahí­, yo en cualquier momento utilizando la clase
pública AppData puedo hacer
oDataSource:oConnect := AppData:cSubDir1 + ::oMemDataSet1:Cod_emp
el problema radica en que los dbfs de una aplicación los puedo tener en
2 o 3 subdirectorios distintos, por ejemplo el diario.dbf estar en
perolemp001 porque será el mismo durante toda la vida de la empresa y
el plan contable abrirle uno para cada ejercicio y puede estar en
perolemp001eje005 o perolemp001eje06. ¿como le digo a Xailer que
puede conectar en 2 o 3 subdirectorios distintos ?
Gracias, Xebi
Emilio Gil.
Xevi escribió:
> Emilio,
>
> Yo estoy utilizando la clase AppData para este menester.
> Es una Clase PUBLICA, accesible en TODA la aplicación, a la que puedes
> añadir/eliminar valores que creas puedas necesitar en toda la aplicación.
>
> Por ej.
> Creo las variables que necesito...
> AppData:AddData( "cSubDir1", "perolemp" )
>
> Y cuando la necesito...
> cSubdir1 := AppData:cSubDir1 + ::oMemDataSet1:Cod_emp
>
>
> Espero que te pueda servir.
>
> Un Saludo,
> Xevi.
>
>
> "emilio gil" <emiliogil@ya.com> escribió en el mensaje
> news:4448e12b$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
>>Hola amigos:
>>
>>Toda la vida para conseguir trabajar en programación multiempresa y/o
>>multianual, he utilizado la técnica de solicitar en el primer formulario
>>una serie de datos que me han permitido redireccionar la busqueda de los
>>ficheros necesarios a través de la generación de un path, en xailer lo he
>>resuelto de este modo
>>
>> cSubdir1 := "perolemp" + ::oMemDataSet1:Cod_emp
>> cSubdir2 := cSubdir1 + "eje" + ::oMemDataSet1:Anyo
>> cSubdir0 := cSubdir1 + ";" + cSubdir2
>>
>> set path to &cSubdir0.
>>
>>aqui tengo dbf/cdx en dos subdirectorios uno troncal a la empresa y otro
>>anual ,que podrí­a ser:
>>
>>perolemp001
>>perolemp001eje2006
>>
>> por lo tanto cuando hago un use(....) el path ya se encarga de
>>encontrar el subdirectorio adecuado.
>>
>>Como podrí­a reutilizar este técnica para poder hacer uso de los
>>DataSet/DataSource, sobre todo en las ordenes:
>>
>> oDataSource:oConnect := //aqui podrian ser varios directorios
>>
>> oDataSet:cName := //aqui no habrí­a ningún problema, supongo, por que
>>igual se puede utilizar el nombre de la dbf o su alias ??
>>
>>
>>Gracias anticipadas,
>>Emilio Gil.
>>
>
>
>
>
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Una de DataSet/DataSource

Mensaje por jose.luis »

Emilio,
¿Y porque no puedes tener varios datasources ?
Saludos,
José Luis Capel
"emilio gil" <emiliogil@ya.com> escribió en el mensaje
news:4448f739$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola Xevi:
>
> El problema no está ahí, yo en cualquier momento utilizando la clase
> pública AppData puedo hacer
>
> oDataSource:oConnect := AppData:cSubDir1 + ::oMemDataSet1:Cod_emp
>
> el problema radica en que los dbfs de una aplicación los puedo tener en 2
> o 3 subdirectorios distintos, por ejemplo el diario.dbf estar en
> perolemp001 porque será el mismo durante toda la vida de la empresa y el
> plan contable abrirle uno para cada ejercicio y puede estar en
> perolemp001eje005 o perolemp001eje06. ¿como le digo a Xailer que
> puede conectar en 2 o 3 subdirectorios distintos ?
>
> Gracias, Xebi
> Emilio Gil.
>
> Xevi escribió:
>> Emilio,
>>
>> Yo estoy utilizando la clase AppData para este menester.
>> Es una Clase PUBLICA, accesible en TODA la aplicación, a la que puedes
>> añadir/eliminar valores que creas puedas necesitar en toda la aplicación.
>>
>> Por ej.
>> Creo las variables que necesito...
>> AppData:AddData( "cSubDir1", "perolemp" )
>>
>> Y cuando la necesito...
>> cSubdir1 := AppData:cSubDir1 + ::oMemDataSet1:Cod_emp
>>
>>
>> Espero que te pueda servir.
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "emilio gil" <emiliogil@ya.com> escribió en el mensaje
>> news:4448e12b$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>
>>>Hola amigos:
>>>
>>>Toda la vida para conseguir trabajar en programación multiempresa y/o
>>>multianual, he utilizado la técnica de solicitar en el primer formulario
>>>una serie de datos que me han permitido redireccionar la busqueda de los
>>>ficheros necesarios a través de la generación de un path, en xailer lo he
>>>resuelto de este modo
>>>
>>> cSubdir1 := "perolemp" + ::oMemDataSet1:Cod_emp
>>> cSubdir2 := cSubdir1 + "eje" + ::oMemDataSet1:Anyo
>>> cSubdir0 := cSubdir1 + ";" + cSubdir2
>>>
>>> set path to &cSubdir0.
>>>
>>>aqui tengo dbf/cdx en dos subdirectorios uno troncal a la empresa y otro
>>>anual ,que podría ser:
>>>
>>>perolemp001
>>>perolemp001eje2006
>>>
>>> por lo tanto cuando hago un use(....) el path ya se encarga de
>>> encontrar el subdirectorio adecuado.
>>>
>>>Como podría reutilizar este técnica para poder hacer uso de los
>>>DataSet/DataSource, sobre todo en las ordenes:
>>>
>>> oDataSource:oConnect := //aqui podrian ser varios directorios
>>>
>>> oDataSet:cName := //aqui no habría ningún problema, supongo, por que
>>> igual se puede utilizar el nombre de la dbf o su alias ??
>>>
>>>
>>>Gracias anticipadas,
>>>Emilio Gil.
>>>
>>
>>
>>
>>
>
emilio gil[1]
Mensajes: 16
Registrado: Jue Abr 06, 2006 6:22 pm

Una de DataSet/DataSource

Mensaje por emilio gil[1] »

José Luí­s,
Eso estaba pensando yo, ¿porque no puedo tener dos tres datasources
abiertos a la vez? me parece que me he liado yo solo, pero como esta
parte de los dataXXXX todaví­a no la tengo muy practicada pues surgen
dudas como estas.
Gracias a los dos,
Emilio Gil
José Luis Capel escribió:
> Emilio,
>
> ¿Y porque no puedes tener varios datasources ?
>
> Saludos,
> José Luis Capel
>
> "emilio gil" <emiliogil@ya.com> escribió en el mensaje
> news:4448f739$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
>>Hola Xevi:
>>
>>El problema no está ahí­, yo en cualquier momento utilizando la clase
>>pública AppData puedo hacer
>>
>> oDataSource:oConnect := AppData:cSubDir1 + ::oMemDataSet1:Cod_emp
>>
>>el problema radica en que los dbfs de una aplicación los puedo tener en 2
>>o 3 subdirectorios distintos, por ejemplo el diario.dbf estar en
>>perolemp001 porque será el mismo durante toda la vida de la empresa y el
>>plan contable abrirle uno para cada ejercicio y puede estar en
>>perolemp001eje005 o perolemp001eje06. ¿como le digo a Xailer que
>>puede conectar en 2 o 3 subdirectorios distintos ?
>>
>>Gracias, Xebi
>>Emilio Gil.
>>
>>Xevi escribió:
>>
>>>Emilio,
>>>
>>>Yo estoy utilizando la clase AppData para este menester.
>>>Es una Clase PUBLICA, accesible en TODA la aplicación, a la que puedes
>>>añadir/eliminar valores que creas puedas necesitar en toda la aplicación.
>>>
>>>Por ej.
>>>Creo las variables que necesito...
>>>AppData:AddData( "cSubDir1", "perolemp" )
>>>
>>>Y cuando la necesito...
>>>cSubdir1 := AppData:cSubDir1 + ::oMemDataSet1:Cod_emp
>>>
>>>
>>>Espero que te pueda servir.
>>>
>>>Un Saludo,
>>>Xevi.
>>>
>>>
>>>"emilio gil" <emiliogil@ya.com> escribió en el mensaje
>>>news:4448e12b$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>>
>>>
>>>>Hola amigos:
>>>>
>>>>Toda la vida para conseguir trabajar en programación multiempresa y/o
>>>>multianual, he utilizado la técnica de solicitar en el primer formulario
>>>>una serie de datos que me han permitido redireccionar la busqueda de los
>>>>ficheros necesarios a través de la generación de un path, en xailer lo he
>>>>resuelto de este modo
>>>>
>>>> cSubdir1 := "perolemp" + ::oMemDataSet1:Cod_emp
>>>> cSubdir2 := cSubdir1 + "eje" + ::oMemDataSet1:Anyo
>>>> cSubdir0 := cSubdir1 + ";" + cSubdir2
>>>>
>>>> set path to &cSubdir0.
>>>>
>>>>aqui tengo dbf/cdx en dos subdirectorios uno troncal a la empresa y otro
>>>>anual ,que podrí­a ser:
>>>>
>>>>perolemp001
>>>>perolemp001eje2006
>>>>
>>>> por lo tanto cuando hago un use(....) el path ya se encarga de
>>>>encontrar el subdirectorio adecuado.
>>>>
>>>>Como podrí­a reutilizar este técnica para poder hacer uso de los
>>>>DataSet/DataSource, sobre todo en las ordenes:
>>>>
>>>> oDataSource:oConnect := //aqui podrian ser varios directorios
>>>>
>>>> oDataSet:cName := //aqui no habrí­a ningún problema, supongo, por que
>>>>igual se puede utilizar el nombre de la dbf o su alias ??
>>>>
>>>>
>>>>Gracias anticipadas,
>>>>Emilio Gil.
>>>>
>>>
>>>
>>>
>>>
>
>
>
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Una de DataSet/DataSource

Mensaje por Xevi »

Igual no nos entendemos...
Vamos a ver... yo creo que estoy utilizando la misma técnica que tu... en
una carpeta guardo cada ejercicio de cada empresa.
Bien, pues lo que yo tengo es una variable AppData:cRuta que es la carpeta
donde tengo ubicados los datos de la empresa...
A partir de ahí... ¿porque necesitas conectar mas de una carpeta???
Aunque releido tu mensaje... tu lo que haces es tener genéricamente unas
DBFs y anualmente otras DBFs...
Yo no lo hago así, pues cada ejercicio físico debe de tener SUS datos...
pero para hallar una solución a tu manera de trabajo...
Lo que debes es "guardar" en alguna DBF o fichero INI, los datos de
configuración de la empresa... y allí guardas el nombre de la carpeta de
CADA ejercicio...
cCarpetaEjercicio="Eje06"
Luego al acceder a los datos genéricos utilizarás AppData:cRuta
Pero para acceder a los datos de un ejercicio
AppData:cRuta+""+cCarpetaEjercicio
Así es como te funcionará en tu esquema.
Un Saludo,
Xevi.
"emilio gil" <emiliogil@ya.com> escribió en el mensaje
news:4448f739$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola Xevi:
>
> El problema no está ahí, yo en cualquier momento utilizando la clase
> pública AppData puedo hacer
>
> oDataSource:oConnect := AppData:cSubDir1 + ::oMemDataSet1:Cod_emp
>
> el problema radica en que los dbfs de una aplicación los puedo tener en 2
> o 3 subdirectorios distintos, por ejemplo el diario.dbf estar en
> perolemp001 porque será el mismo durante toda la vida de la empresa y el
> plan contable abrirle uno para cada ejercicio y puede estar en
> perolemp001eje005 o perolemp001eje06. ¿como le digo a Xailer que
> puede conectar en 2 o 3 subdirectorios distintos ?
>
> Gracias, Xebi
> Emilio Gil.
>
> Xevi escribió:
>> Emilio,
>>
>> Yo estoy utilizando la clase AppData para este menester.
>> Es una Clase PUBLICA, accesible en TODA la aplicación, a la que puedes
>> añadir/eliminar valores que creas puedas necesitar en toda la aplicación.
>>
>> Por ej.
>> Creo las variables que necesito...
>> AppData:AddData( "cSubDir1", "perolemp" )
>>
>> Y cuando la necesito...
>> cSubdir1 := AppData:cSubDir1 + ::oMemDataSet1:Cod_emp
>>
>>
>> Espero que te pueda servir.
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "emilio gil" <emiliogil@ya.com> escribió en el mensaje
>> news:4448e12b$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>
>>>Hola amigos:
>>>
>>>Toda la vida para conseguir trabajar en programación multiempresa y/o
>>>multianual, he utilizado la técnica de solicitar en el primer formulario
>>>una serie de datos que me han permitido redireccionar la busqueda de los
>>>ficheros necesarios a través de la generación de un path, en xailer lo he
>>>resuelto de este modo
>>>
>>> cSubdir1 := "perolemp" + ::oMemDataSet1:Cod_emp
>>> cSubdir2 := cSubdir1 + "eje" + ::oMemDataSet1:Anyo
>>> cSubdir0 := cSubdir1 + ";" + cSubdir2
>>>
>>> set path to &cSubdir0.
>>>
>>>aqui tengo dbf/cdx en dos subdirectorios uno troncal a la empresa y otro
>>>anual ,que podría ser:
>>>
>>>perolemp001
>>>perolemp001eje2006
>>>
>>> por lo tanto cuando hago un use(....) el path ya se encarga de
>>> encontrar el subdirectorio adecuado.
>>>
>>>Como podría reutilizar este técnica para poder hacer uso de los
>>>DataSet/DataSource, sobre todo en las ordenes:
>>>
>>> oDataSource:oConnect := //aqui podrian ser varios directorios
>>>
>>> oDataSet:cName := //aqui no habría ningún problema, supongo, por que
>>> igual se puede utilizar el nombre de la dbf o su alias ??
>>>
>>>
>>>Gracias anticipadas,
>>>Emilio Gil.
>>>
>>
>>
>>
>>
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9449
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Una de DataSet/DataSource

Mensaje por ignacio »

Emilio,
La clase TDbfDataSet debería admitir paths relativos, es decir, algo así:
oDataSource:cConnect := "c:factur"
oDataSet:cFileName := .Emp.001clientes.dbf"
Sin embargo compruebo que estaba fallando. Ya está arreglado. Gracias por su
colaboración. No le puedo enviar un módulo para arreglarlo ya que afecta
incluso al propio IDE.
Un saludo,
"emilio gil" <emiliogil@ya.com> escribió en el mensaje
news:4448e12b$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola amigos:
>
> Toda la vida para conseguir trabajar en programación multiempresa y/o
> multianual, he utilizado la técnica de solicitar en el primer formulario
> una serie de datos que me han permitido redireccionar la busqueda de los
> ficheros necesarios a través de la generación de un path, en xailer lo he
> resuelto de este modo
>
> cSubdir1 := "perolemp" + ::oMemDataSet1:Cod_emp
> cSubdir2 := cSubdir1 + "eje" + ::oMemDataSet1:Anyo
> cSubdir0 := cSubdir1 + ";" + cSubdir2
>
> set path to &cSubdir0.
>
> aqui tengo dbf/cdx en dos subdirectorios uno troncal a la empresa y otro
> anual ,que podría ser:
>
> perolemp001
> perolemp001eje2006
>
> por lo tanto cuando hago un use(....) el path ya se encarga de
> encontrar el subdirectorio adecuado.
>
> Como podría reutilizar este técnica para poder hacer uso de los
> DataSet/DataSource, sobre todo en las ordenes:
>
> oDataSource:oConnect := //aqui podrian ser varios directorios
>
> oDataSet:cName := //aqui no habría ningún problema, supongo, por que
> igual se puede utilizar el nombre de la dbf o su alias ??
>
>
> Gracias anticipadas,
> Emilio Gil.
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder