GeneXus - cargar dos transacciones en el mismo formulario

 
Vista:

cargar dos transacciones en el mismo formulario

Publicado por flaco (10 intervenciones) el 09/09/2004 16:01:28
Hola, Como soy nuevo en el foro me precento :)
Soy Alejadro Rozza de Argentina

Uso Genexus 8.0+crack MOdel: Accces+Vbasic 6.0

Les comento lo que nesecito:
tengo TPersona(5 campos), y TCliente(20 campos) que contiene datos personales.

Nececito poder cargar todos los campos de una en un mismo formulario (de windows) para los Data Entry.
Les cuento las cosas que he pobado... Sin buenos resultados.

Primero pence hacer un Work Panel, pero luego me di cuenta que son unicamente de lectura (Soy nuevo en esto :). llege a la conclucion que si uso un Wpanel tengo que definir las variables a mano y luego insertar con 2 Procedure los datos en las 2 trasacciones :(
Esto es correcto? no puede usar un Wpanel para lo que quiero?

Luego pence agregar TPersonaCliente(25 campos) que contiene los atributos de Tclientes y Tpersonas, pero cuando cargo un perCod de una persona que no existe, me envia a seleccionar una persona y no me deja cargarla en la trasaccion TPersonaCliente, Si coloco perCod que existe me completalos datos de persona automaticamente, pero me los deja solo lectura.
Definiendo una TPersonaCliente puedo usarla para lo que quiero? si es asi Como majejo los eventos? Me pueden orientar en este caso...

Ahora por lo que poco conosco de genexus voy a ver como hacer
que cuando carge un preCod me llame a TPersona, que el user carge a la persona y vuelva a TCinete.
En este caso cual seria el evento para perCod para poder llamar a TPersona, lo unico que encontre es isValid peo este es luego de validar
necesitaria un onChange o similar.

Ante todo gracias.. (Espero que se alla entendido)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:cargar dos transacciones en el mismo formulario

Publicado por Federico (120 intervenciones) el 09/09/2004 19:16:06
Si , el Work panel es de solo lectura y no te serviria para esto.
Existe una regla Recall( Objeto, Atributo ) que te resuelve el problema para llamar a Tpersona. Esta regla se basa en la referencia de integridad y automaticamente despues de que pases por el campo persona ,si el valor no existe en la tabla persona te ejecuta el obbjeto que le indicas).
Indicame como diste de alta las transacciones, es decir si hay una relacion entre persona y cliente. Si es asi lo tenes que definir con niveles
Percod*
nombrePersona
Boton derecho ->Opcion Add Level
codClie*
Credito

Y Asi te va a permitir cargar los datos de persona y para cada persona vas a poder cargar datos de varios clientes. Esto seguro hay que revisarlo pero espero que te sirva de algo.

Saludos Atte.
Federico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Describo un poco mejor el diseno

Publicado por Flaco (1 intervención) el 10/09/2004 14:15:45
Hola de nuevo, Tengo TPersona(Key:perCod,PerNombre,...)
TCliente(Key:CliCod,perCod,Organizacion,.....)
La realcion es: un Cliente esta asociado a una unica persona

Estoy Disenando una aplicacion para cargar 2 planilas (de papel) tiene datos relacionados entre ellas, las planilas cambia de forma entre periodios (por eso no me sirve niveles). Como nesecito mantener un historial de de estas,los datos de las planlillas se distribuyen en 3 tablas.
Y como es para dataEntry es vastante incomodo manejarse por menues (cargar primero persona y luego Cliente), necesito poder cargar toda la planilla de Papel en un mismo formulario de windows (o Work Panel).

El ejemplo de Cliente/Persona es similar al que tengo...

Como dije ariba No me sirve el de poner en un 2do nivel a Cliente, porque solo hay un cliente.

si pongo 'Recall( TPersona , PerCod ); en Reglas en TCliente, me dice que no es regla valida (lo mismo en TPersonaCliente). en la Ayuda no la encuentro (esta bien escrita?)

El evento que descrivis encaja justo en lo que necesito para ganarle al menu de selecion de Persona en TCliente.
Hay otra forma de hacerlo.

He penado en usar una variable y luego llamar a TPersona, pero no me andubo (voy a agregar un mensaje para esto)



Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias Ya lo solucione con refCall

Publicado por flaco (10 intervenciones) el 13/09/2004 22:28:22
Hola Federico, lo solucione con lo que me dijiste use Refcall(TPersona,perCod) y andubo Ok
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar