Actualización valores de campos a mostrar

90 views
Skip to first unread message

Ayuda en Informatica

unread,
Oct 14, 2023, 8:09:54 PM10/14/23
to oo...@googlegroups.com

Hola Gente

Los vuelvo a consultar con temas que sencillos pero no logro encontrar la solución.

En mi aprendizaje del lenguaje voy reconvirtiendo y usando el ejemplo “agenda”.

En Este caso tengo dos dbf (empleados y liquidación), mi idea era mostrar los datos de empleados

Desde el browse y traer algunos datos de la liquidación, peeero no puedo mostrar esos datos

En la rutina de búsqueda de datos puse a modo de muestreo unos msgbox() con los datos que busco (periodo y total)

Y el seek se hace bien y los datos los encuentro pero estoy fallando en la manera de mostrarlos o en actualizar el valor de los controles.

Cualquier consejo es bienvenido como siempre.

Gracias.

Claudio.

 

 

Esta es la pantalla que muestra los datos: Periodo y Total Sueldo son los datos que no se muestran

 

Este es el armado de la pantalla:

                               @ 56,10 BROWSE Browse_1                      ;

                                               WIDTH 190                                                        ;

                                               HEIGHT 360                                                       ;             

                                               HEADERS { 'Nombre' , 'Legajo' } ;

                                               WIDTHS { 180 , 80 }                        ;

                                               WORKAREA Empleados                ;

                                               FIELDS { 'Empleados->Nombre' , 'Empleados->Legajo' } ;

                                               ON CHANGE Actualiza_RSuel()

 

                               @ 56, 210 FRAME FRAME_1       ;

                                               WIDTH 400                        ;

                                               HEIGHT 360                                                      

 

                                // El control LABEL permite mostrar textos.

                               // Mediante la clausula VALUE puede establecerse su contenido inicial.

 

                               @ 76, 220 LABEL LABEL_1            ;

                                               VALUE "Legajo:"              ;

                                               WIDTH 80

 

                               @ 76 , 290 TEXTBOX Control_1;

                                     WIDTH 100                                                 ;

                                               Numeric InputMask "999999"

 

                               @ 116 , 220 LABEL LABEL_2;

                                               VALUE "Nombre:"           ;

                                               WIDTH 80

 

                               @ 116 , 290 TEXTBOX Control_2;

                                               WIDTH 250                                                        ;

                                               MAXLENGTH 30

 

                               @ 156 , 220 LABEL LABEL_3;

                                               VALUE "CUIL:"   ;

                                               WIDTH 80

 

                               @ 156 , 290 TEXTBOX Control_3;

                                               WIDTH 250                                                        ;

                                               MAXLENGTH 30

 

                               @ 196 , 220 LABEL LABEL_4;

                                               VALUE "Perφodo:" ;

                                               WIDTH 100

 

                               @ 196 , 320 TEXTBOX Control_4;

                                               WIDTH 250                                                        ;

                                               InputMask "99/99/9999"

 

                               @ 226 , 220 LABEL LABEL_5;

                                               VALUE "Total Sueldo:" ;

                                               WIDTH 100

 

                               @ 226 , 320 TEXTBOX Control_5;

                                               WIDTH 250                                                        ;

                                               InputMask "999999,99"

 

                               @ 256 , 220 LABEL LABEL_6;

                                               VALUE "Haberes:" ;

                                               WIDTH 100

 

                               @ 256 , 320 LABEL Label_6A;

                                               WIDTH 250                                  

 

                               @ 286 , 220 LABEL LABEL_7;

                                               VALUE "Deducciones:" ;

                                               WIDTH 100

 

                               @ 286 , 320 LABEL Label_7A;

                                               WIDTH 250                                  

 

                               @ 316 , 220 LABEL LABEL_8;

                                               VALUE "No Remunerativos:" ;

                                               WIDTH 120

 

                               @ 316 , 350 LABEL Label_8A;

                                               WIDTH 250                                   

 

 

                               @ 376,320 BUTTON ACEPTAR ;

                                               CAPTION 'Acep&tar'   ;

                                               ACTION AceptaEdit_RSuel()

 

                               @ 376,425 BUTTON CANCELAR ;

                                               CAPTION 'Cancela&r'   ;

                                               ACTION CancelaEdit_RSuel()

 

                END WINDOW

 

 

Esta es mi rutina de búsqueda:

*------------------------------------------------------------------------------*

PROCEDURE Actualiza_RSuel()

*------------------------------------------------------------------------------*

                // Este procedimiento, actualiza el contenido de los controles

                // que permiten ver y editar el contenido de la tabla.

                // Para ello, se asigna a la propiedad value el contenido actual

                // del campo que corresponde a cada control.

 

Win_1.Control_1.Value := Empleados->Legajo

Win_1.Control_2.Value := Empleados->Nombre

Win_1.Control_3.Value := Empleados->Cuil

cCuilEmp:=Empleados->Cuil

  

select(2)  && Liquidacion

*   AutoMsgBox(Alias(),"Base")

*   AutoMsgBox(IndexKey(),"Indice")

*   AutoMsgBox(Win_1.Control_1.Value,"Cod.Legajo")

*   AutoMsgBox(recno(),"Registro Inicial")

 

liquidacion->(dbSeek(Win_1.Control_1.Value))

 

*   AutoMsgBox(recno(),"Registro Encontrado")

*   AutoMsgBox(Liquidacion->legajo,"Cod.Legajo Encontrado")

*   AutoMsgBox(Liquidacion->periodo,"Periodo Encontrado")

*   AutoMsgBox(Liquidacion->total,"Importe Encontrado")

Win_1.Control_4.Value := Liquidacion->periodo

Win_1.Control_5.Value := Liquidacion->total

   Select(1)  && Empleados

 

Return

 

 


Libre de virus.www.avast.com
image003.jpg

Ricardo Sassy

unread,
Oct 16, 2023, 2:32:20 AM10/16/23
to oo...@googlegroups.com

Quizás te esté faltando la cláusula “SET BROWSESYNC ON” que hace que el puntero de la tabla dbf se sincronice automáticamente con el browse.

https://hmgs-minigui.sourceforge.net/manual/setbrowsesync.html

 

Saludos...

Ricardo Sassy

--
Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/oohg/000101d9fefb%24e822a010%24b867e030%24%40yahoo.com.ar.

image001.jpg

Ayuda en Informatica

unread,
Oct 16, 2023, 8:50:41 AM10/16/23
to oo...@googlegroups.com

Ricardo

Gracias por responder

Sigo sin ver los datos.

Los primeros 3 texbox, corresponden a tabla del browse

Los 2 últimos textbox corresponden a otra tabla.

Puse varios  AutoMsgBox(Liquidacion->total,"Importe Encontrado")

Que si me muestra los valores correctos pero no puedo mostrarlos en el textbox.

Ahí radica mi inconveniente.

Gracias.

Claudio.

image001.jpg

Miguel Ingles

unread,
Oct 17, 2023, 1:21:23 PM10/17/23
to oo...@googlegroups.com
Hola Claudio

Prueba a poner un DO EVENTS cuando asignas el valor:

Win_1.Control_4.Value := Liquidacion->periodo

Win_1.Control_5.Value := Liquidacion->total

DO EVENTS


Saludos


--

Ayuda en Informatica

unread,
Oct 17, 2023, 11:37:22 PM10/17/23
to oo...@googlegroups.com

Gracias Miguel por contestar pero no funcionó

Hago un msgbox para ver los datos de la base y eso está bien.

Pero sigo sin verlo en pantalla.

Seguimos participando…

Gracias nuevamente.

Claudio.

 

 

De: oo...@googlegroups.com [mailto:oo...@googlegroups.com] En nombre de Miguel Ingles
Enviado el: martes, 17 de octubre de 2023 14:21
Para: oo...@googlegroups.com
Asunto: Re: [oohg] Actualización valores de campos a mostrar

 

Hola Claudio

 

Prueba a poner un DO EVENTS cuando asignas el valor:

 

Win_1.Control_4.Value := Liquidacion->periodo

Win_1.Control_5.Value := Liquidacion->total

DO EVENTS

 

Saludos

 

El dom, 15 oct 2023 a las 2:09, 'Ayuda en Informatica' via [oohg] (<oo...@googlegroups.com>) escribió:

Hola Gente

Los vuelvo a consultar con temas que sencillos pero no logro encontrar la solución.

En mi aprendizaje del lenguaje voy reconvirtiendo y usando el ejemplo “agenda”.

En Este caso tengo dos dbf (empleados y liquidación), mi idea era mostrar los datos de empleados

Desde el browse y traer algunos datos de la liquidación, peeero no puedo mostrar esos datos

En la rutina de búsqueda de datos puse a modo de muestreo unos msgbox() con los datos que busco (periodo y total)

Y el seek se hace bien y los datos los encuentro pero estoy fallando en la manera de mostrarlos o en actualizar el valor de los controles.

Cualquier consejo es bienvenido como siempre.

Gracias.

Claudio.

 

 

Esta es la pantalla que muestra los datos: Periodo y Total Sueldo son los datos que no se muestran

cid:image003.jpg@01DA015B.117E1BE0

 

https://s-install.avcdn.net/ipm/preview/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif

Libre de virus.www.avast.com

--
Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/oohg/000101d9fefb%24e822a010%24b867e030%24%40yahoo.com.ar.

--
Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.

image003.jpg
image001.jpg

Jose Antonio Leon Tellez

unread,
Oct 18, 2023, 12:09:14 AM10/18/23
to oo...@googlegroups.com
Buenas noches Claudio,

Después de :

Win_1.Control_4.Value := Liquidacion->periodo

Win_1.Control_5.Value := Liquidacion->total


adicione estas dos líneas para refrescar los valores:


Win_1.Control_4.Refresh

Win_1.Control_5.Refresh


Saludos,

José Antonio León Téllez


Ayuda en Informatica

unread,
Oct 18, 2023, 10:52:49 AM10/18/23
to oo...@googlegroups.com

José Antonio, gracias por responder

Tampoco me funcionó

Comento abajo lo que probé y me desconcertó aun mas.

Gracias.

Claudio.

 

Lo que hice fue lo siguiente:

1- Busco en la segunda base los datos y los muestro en un msgbox

   liquidacion->(dbSeek(Win_1.Control_1.Value))

   AutoMsgBox("Registro Encontrado: "+Str(recno())+Chr(13)+Chr(10)+"Legajo Encontrado: "+Str(Liquidacion->legajo)+;

   Chr(13)+Chr(10)+"Periodo Encontrado: "+DToC(Liquidacion->periodo)+Chr(13)+Chr(10)+"Importe Encontrado: "+Str(Liquidacion->total),"Encontrado")

    cid:image003.jpg@01DA01B7.DC48C350

2- Actualizo los datos los valores del textbox

                Win_1.Control_4.Value := Liquidacion->periodo

                Win_1.Control_5.Value := Liquidacion->total

              Win_1.Control_4.Refresh

              Win_1.Control_5.Refresh

 

3- muestro los valores cargados en los textbox y no hay nada L

   AutoMsgBox("Periodo TextBox: "+(Win_1.Control_4.Value)+Chr(13)+Chr(10)+"Importe textbox: "+(Win_1.Control_5.Value),"Textbox")

Los datos están vacios como si no hubiera actualizado el valor de los  textbox.

 

 

De: oo...@googlegroups.com [mailto:oo...@googlegroups.com] En nombre de Jose Antonio Leon Tellez
Enviado el: miércoles, 18 de octubre de 2023 01:09
Para: oo...@googlegroups.com
Asunto: Re: [oohg] Actualización valores de campos a mostrar

 

Buenas noches Claudio,

 

Después de :

 

Win_1.Control_4.Value := Liquidacion->periodo

Win_1.Control_5.Value := Liquidacion->total

 

adicione estas dos líneas para refrescar los valores:

 

Win_1.Control_4.Refresh

Win_1.Control_5.Refresh

 

Saludos,

 

José Antonio León Téllez

 

El mar, 17 oct 2023 a la(s) 22:37, 'Ayuda en Informatica' via [oohg] (oo...@googlegroups.com) escribió:

Gracias Miguel por contestar pero no funcionó

Hago un msgbox para ver los datos de la base y eso está bien.

Pero sigo sin verlo en pantalla.

Seguimos participando…

Gracias nuevamente.

Claudio.

 

cid:image001.jpg@01DA01A2.5E2E6700

image001.jpg
image002.jpg
image003.jpg
image004.jpg

José Quintas

unread,
Oct 18, 2023, 11:28:21 AM10/18/23
to [oohg]
Mais dois testes
win_1.control_4.refresh()
win_1.control_4.refresh()

repita operação sem oop:
SetProperty( "win_1", "control_4", "Value", liquidacion->periodo )
SetProperty( "win_1", "control_5", "value", "liquidacion->total )
win_1.control_4.refresh()
win_1.control_4.refresh()

José M. C. Quintas

Ayuda en Informatica

unread,
Oct 18, 2023, 1:08:31 PM10/18/23
to oo...@googlegroups.com

José gracias por responder.

Probé las 2 alternativas.

Sigo sin solucionar el problema.

Claudio.-

Jorge Gárate

unread,
Oct 18, 2023, 3:53:53 PM10/18/23
to oo...@googlegroups.com

Hola Claudio:
Prueba sacando los INPUT MASK o verifica que sean correctos al tipo de dato.

 

Saludos,

 

Jorge

 

Ayuda en Informatica

unread,
Oct 19, 2023, 6:03:17 AM10/19/23
to oo...@googlegroups.com

Hola Jorge, gracias por responder.

Los tipos de datos son correctos para las máscaras utilizadas, pero igual saque los input mask (por las dudas). Igual sigo sin ver los datos en los textbox.

Hice una prueba más, muevo los valores de la tabla a otras variables visualizo esas variables con msgbox() y se muestran en forma correcta. Muevo las variables a los textbox y nada.

Claudio.

                Win_1.Control_4Value := Liquidacion->periodo

                Win_1.Control_5.Value := Liquidacion->total

Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns..@googlegroups.com.

--
Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.

--
Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/oohg/73072f22-4d1d-42be-806b-b110ecb4c115n%40googlegroups.com.

 

Libre de virus.www.avast.com

--
Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/oohg/005301da01e5%24b57938d0%24206baa70%24%40yahoo.com.ar.

--

Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.

Message has been deleted

Jorge Garate

unread,
Oct 19, 2023, 11:58:30 AM10/19/23
to [oohg]
Quizás si pudiéramos revisar el .prg completo por si hay algo en otra parte que no se ve y genere el problema?

Tienes actualizado el ooHG?

Has probado recompilar completo sin modo Incremental ¿?

Jorge
Message has been deleted

David Field

unread,
Oct 19, 2023, 2:28:57 PM10/19/23
to [oohg]
Hola,

Intenta agregando NUMERIC y DATE a tus controles de esta forma:

@ 196 , 320 TEXTBOX Control_4 DATE;

                                               WIDTH 250                                                        ;

                                               InputMask "99/99/9999"

 

                                 @ 226 , 320 TEXTBOX Control_5 NUMERIC;

                                               WIDTH 250                                                        ;

                                               InputMask "999999,99"

 

Saludos,
David Field

PD, por si vieron el mensaje anterior, ya lo borre por mi equivocación

Ayuda en Informatica

unread,
Oct 20, 2023, 7:43:01 AM10/20/23
to oo...@googlegroups.com

David, Gracias por responder.

Con tus tips pude avanzar en mostrar los datos nuemericos.

Con la fecha sigo renegando.

Mi inquietud es porque no sucedió antes en otros abm que fui haciendo, bueno al menos sentamos un “protocolo” de aquí en adelamnte para trabajar.

Claudio.

 

 

 

De: oo...@googlegroups.com [mailto:oo...@googlegroups.com] En nombre de David Field
Enviado el: jueves, 19 de octubre de 2023 15:27
Para: [oohg] <oo...@googlegroups.com>
Asunto: [oohg] Re: Actualización valores de campos a mostrar

 

Hola,

Intenta agregando NUMERIC y DATE a tus controles de esta forma:

 

@ 196 , 320 TEXTBOX Control_4 NUMERIC;

                                               WIDTH 250                                                        ;

                                               InputMask "99/99/9999"

 

                                @ 226 , 320 TEXTBOX Control_5 DATE;

                                               WIDTH 250                                                        ;

                                               InputMask "999999,99"

 

Saludos,

David Field

--

Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.

image001.jpg

Ayuda en Informatica

unread,
Oct 20, 2023, 7:47:34 AM10/20/23
to oo...@googlegroups.com

Jorge Gracias por tu respuestas

He probado forzar no incremental y nada

La versión que estoy usando es de Agosto/2017

No tengo problemas en enviarte fuentes y tablas pero no quiero perturbar la lista.

Si queres lo mando a tu particular, decime que crees que es lo mejor.

Saludos.

Claudio.-

 

De: oo...@googlegroups.com [mailto:oo...@googlegroups.com] En nombre de Jorge Garate
Enviado el: jueves, 19 de octubre de 2023 12:59
Para: [oohg] <oo...@googlegroups.com>
Asunto: Re: [oohg] Actualización valores de campos a mostrar

 

Quizás si pudiéramos revisar el .prg completo por si hay algo en otra parte que no se ve y genere el problema?

Jorge Garate

unread,
Oct 20, 2023, 9:58:31 AM10/20/23
to oo...@googlegroups.com
Sí,  a ver si encuentro algo o con mi versión de oohg funciona



Saludos,
 
Jorge 

   

Juan Manuel Del Valle

unread,
Oct 20, 2023, 1:17:20 PM10/20/23
to [oohg]

Hola Claudio, probaste asi?

Win_1.Control_4.Value:=alltrim(DToC(Liquidacion->periodo))
Win_1.Control_5.Value :=alltrim(Str(Liquidacion->total))


Win_1.Control_4.Refresh

Win_1.Control_5.Refresh


Donde queda en foco el sistema?

Ayuda en Informatica

unread,
Oct 23, 2023, 8:55:02 PM10/23/23
to oo...@googlegroups.com

Ø  Win_1.Control_4.Value:=alltrim(DToC(Liquidacion->periodo))

Juan Manuel, Gracias por responder

 

Esto si Funcionó!

Seguramente debe haber una explicación técnica de porque funciono así y no de todas las otras maneras. Quizás el hecho de convertir a carácter debe ser mas fácil para mostrar en un textbox sin necesidad de agregar tantos modificadores.

Gracias nuevamente a todos los que aportaron.

Claudio.-

 

 

 

De: oo...@googlegroups.com [mailto:oo...@googlegroups.com] En nombre de Juan Manuel Del Valle


Enviado el: viernes, 20 de octubre de 2023 14:17
Para: [oohg] <oo...@googlegroups.com>

Jorge Gárate

unread,
Oct 24, 2023, 2:59:09 PM10/24/23
to oo...@googlegroups.com

Hola Claudio:

mira este ejemplo que hay en Tutor.exe

 

 

Saludos,

 

Jorge

 

image001.png
Reply all
Reply to author
Forward
0 new messages