Gracias Omar, lo voy a probar
Saludos

  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Omar Bellio
Enviado el: Miércoles, 12 de Diciembre de 2007 04:55 p.m.
Para: GUFA List Member
Asunto: [GUFA] Problema en Capa de Datos en TierAdapter


Hola Oscar, si usás PRETEXT 15 no necesitás hacer 
 lcSQL = STRTRAN( lcSQL, CHR(13)+CHR(10), "" )
Probalo, vas a ver que funciona igual y usás menos líneas de código

  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Oscar Gonzalez
Enviado el: 2007/December/12 4:40 PM
Para: GUFA List Member
Asunto: [GUFA] Problema en Capa de Datos en TierAdapter


Hola Walter. no soy un experto en TA, pero te hago esto un poco mas paso a
paso
en la capa de datos:
  This.cGetAllFields = "Mov.*, DepO.Descripcion as DescDepositoO,
DepD.Descripcion as DescDepositoD "
   This.cGetAllJoins = "LEFT OUTER JOIN Depositos DepO  ON
Mov.DepositoOrigenId = DepO.DepositoId "+; 
                                "LEFT OUTER JOIN Depositos DepD ON
Mov.DepositoDestinoId = DepO.DepositoId "

Local lcSQL AS String
 
 TEXT TO lcSQL NOSHOW PRETEXT 15

SELECT Mov.*, DepO.Descripcion as DescDepositoO, DepD.Descripcion as
DescDepositoD ;
    FROM Movimientos  Mov ;
    LEFT OUTER JOIN Depositos DepO ;
        ON Mov.DepositoOrigenId = DepO.DepositoId ;
    LEFT OUTER JOIN Depositos DepD ;
        ON Mov.DepositoDestinoId = DepO.DepositoId 
 ENDTEXT

 lcSQL = STRTRAN( lcSQL, CHR(13)+CHR(10), "" )
 This.ColTables.AddTable(...
 
Hasta aca te queda la entidad principal con la descripcion de los dos campos
de depositos
Lo que yo hago de distinto ( y no se si es mejor pero lo saque de la demo)
es en el init del form llamo a una entidad externa "Depositos" y un getAll()
con lo que te queda un cursor para utilizar en un combo o en un TapickOne
 
Saludos
Oscar

 
  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Ricardo Aidelman
Enviado el: Miércoles, 12 de Diciembre de 2007 10:59 a.m.
Para: GUFA List Member
Asunto: [GUFA] Problema en Capa de Datos en TierAdapter


Hola Walter:
Según creo entender, lo que tenés es una tabla de Movimientos con sendos
campos DepositoOrigenId y DepositoDestinoId, que son FK a la tabla
Depositos.
Desde mi punto de vista, la vinculación del las FK con la tabla Depositos la
deberías hacer en la Capa de Usuario.
Lo que yo hago es tener 2 combos, cboDepositoOrigen y cboDepositoDestino,
que contienen el cursor cDepositosO y cDepositosD, que los cargas una sola
vez al principio con un GetAll() de la entidad Deposito, y el controlsource
de cada combo es el campo correspondiente a cada FK en el cursor
cMovimientos.
 
No se por qué decís que necesitas vincular esos datos en la Capa de Datos.
El único caso que se me ocurre es que necesites mandar a la Capa de Usuario
un cursor de movimientos que contenga la "descripción" de los depósitos, no
solamente el Id.
En ese caso, eso lo resolverías con un Join en la doMovimientos, tipo:
 
SELECT Mov.*, DepO.Descripcion as DescDepositoO, DepD.Descripcion as
DescDepositoD ;
    FROM Movimientos  Mov ;
    LEFT OUTER JOIN Depositos DepO ;
        ON Mov.DepositoOrigenId = DepO.DepositoId ;
    LEFT OUTER JOIN Depositos DepD ;
        ON Mov.DepositoDestinoId = DepO.DepositoId 
    
Espero haber no haber entendido tu problema y no haber oscurecido un poco
más la poca luz que tenías :-)
 
 
ricardo aidelman (socio 1545)
praxis computación
buenos aires
argentina
 


  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Walter Ferrero
Enviado el: Miércoles, 12 de Diciembre de 2007 09:43 a.m.
Para: GUFA List Member
Asunto: [GUFA] Problema en Capa de Datos en TierAdapter



Omar,

                Antes que nada, muchas gracias por responder tan pronto.
Ahora bien, te comento un poco cómo viene la mano: en la tabla Movimientos
tengo dos campos que representan respectivamente el depósito origen y el
depósito destino del movimiento. El objeto de hacer la consulta previa al
Init es que ambos (Origen y Destino) pertenecen a la misma tabla
(Depósitos), ya que un mismo depósito puede operar como origen en una
transacción y como destino en otra. Espero haber podido ser un poco más
claro en el concepto, pero de todas maneras, cualquier duda la seguimos.
Muchas gracias nuevamente. Saludos,

 

 

 

 

Ferrero & Marossero - Consultores Informáticos

Walter A. Ferrero - ASC MP 1846 CPCIPC

Socio Gerente

Cel. 03472-15584171

 

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Omar Bellio
Enviado el: miércoles, 12 de diciembre de 2007 09:17 a.m.
Para: GUFA List Member
Asunto: [GUFA] Problema en Capa de Datos en TierAdapter

 

Walter, para qué necesitás las consultas en el init de la capa de datos? En
general el init de las do... es para establecer las relaciones entre las
tablas que componen la capa.

 

De todos modos, las consultas las podrías hacer instanciando la capa de
negocios de Depósitos desde la capa de negocios de Movimientos. Es decir,
desde la boMovimientos deberías instanciar boDepositos y ahí hacer la
consulta necesaria obteniendo los cursores con el método GetData. Si es para
algún proceso que te arroje un resultado definido a la capa de usuario, está
bien, pero si es para tener una relación en la capa o interfaz de usuario,
las relaciones convendría hacerlas arriba, una vez que los xml están
transformados en cursor.

 

No sé, es muy temprano y no suelo entender bien (a ninguna hora del día...)

 


  _____  


De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Walter Ferrero
Enviado el: 2007/December/12 8:51 AM
Para: GUFA List Member
Asunto: [GUFA] Problema en Capa de Datos en TierAdapter

Gente, 

                Tengo el siguiente problema en la capa de datos de una de
las entidades: Previo al Init de la Capa doMovimientos.prg necesito hacer
dos consultas con filtros de una misma entidad (Depósitos). Estas consultas
deberían arrojar como resultado dos cursores (cDepOrigen y cDepDestino), los
cuales se vincularían con la tabla movimientos en el método Init de la capa
de datos del mismo. El problema es que no logro resolver cómo hacer las
consultas previas al Init. Si alguien de los que ha utilizado el framework
pudiera pasarme algún ejemplo se los agradecería. Saludos,

 

 

 

 

Ferrero & Marossero - Consultores Informáticos

Walter A. Ferrero - ASC MP 1846 CPCIPC

Socio Gerente

Cel. 03472-15584171

 

 

No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.17.0/1180 - Release Date: 07/12/10
2:51 PM

 

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.17.0/1180 - Release Date: 07/12/10
2:51 PM


No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.17.0/1180 - Release Date: 10/12/2007
02:51 p.m.



No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.17.1/1182 - Release Date: 12/12/2007
11:29 a.m.



No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.17.1/1182 - Release Date: 07/12/12
11:29 AM



No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.17.1/1182 - Release Date: 07/12/12
11:29 AM


Responder a