Autor |
Mensaje |
Miembro
Ocasional
|
#1 Publicado: 22 May 2023 22:41
Buenos días,
Quiero hacer un script que copie 3 valores en tres campos diferentes (DIA, HORA_ENTRADA y HORA_SALIDA) y los pegue al inico del texto de un cuarto campo (TRABAJO).
De momento he hecho esto:
1. Establecer Variable $DIA... $HORA_IN... $HORA_OUT 2. Establecer Seleccion [Documentos::TRABAJO ; Posicion Inicio: 0 ; Posicion Final: 0] 3. Aquí es donde me gustaría insertar las variables (si es posible con formato, p.e. el día en negrita)... pero no se como hacerlo.
Gracias de antemano!
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
OS13 - FM19.6
|
Moderador

|
#2 Publicado: 22 May 2023 22:43
Hola. Usa un paso de guion Establecer campo para cada uno. Establecer selección es para otra cosa. Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|
Moderador

|
#3 Publicado: 23 May 2023 00:21
Para el formato negrita usa en Establecer campo TextStyleAdd ( $DIA ; negrita ) por ejemplo para negrita en el campo DIA. Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|
Miembro
Ocasional
|
#4 Publicado: 23 May 2023 00:23
Gracias flusheddata
Con Establecer Campo el texto de las variables substituye el texto de TRABAJO (cabe la posibilidad que no lo esté haciendo bien) en lugar de insertarse al inicio de dicho texto.
Quizás no me he explicado bien, tengo:
Campo DIA: 22/5/23 Campo HORA_INICIO: 10h30 Campo HORA_FIN: 12h30 Campo TRABAJO: "21/5/23 16h00 18h00 Bla, bla, bla..."
Quiero conseguir:
Campo TRABAJO: "22/5/23 10h30 12h30
21/5/23 16h00 18h00 Bla, bla, bla..."
Gracias!
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
OS13 - FM19.6
|
Moderador

|
#5 Publicado: 23 May 2023 01:26 - Editado por: flusheddata
Establecer campo [ TRABAJO ; TextStyleAdd ( DIA ; Negrita ) & " " & HORA_INICIO & " " & HORA_FIN ]
Aunque ni siquiera necesitas un guion para eso. Puedes poner un cálculo autointroducido en el campo TRABAJO con la fórmula de arriba que es, básicamente, una concatenación de campos con espacios en medio.
Adjunto archivo.
Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|
Miembro
Ocasional
|
#6 Publicado: 23 May 2023 09:48
Gracias flusheddata,
Disculpa, ahora veo que no te he dado toda la información, disculpame.
TRABAJO está en la tabla principal (FACTURAS). DIA, HORA_INICIO y HORA_FIN están en una tabla relacionada (VISISTAS).
En el campo TRABAJO quiero hacer la lista de trabajos (dias + horas de entrada + horas de salida + descripciones de los trabajos realizados) para esa factura.
Cada factura puede incluir trabajos de varios días.
Quiero que al crear un nuevo registro en la tabla relacionada VISITAS y pulsar un botón, se inserten los datos de este nuevo registro al pricipio del texto que haya (si lo hay) en el campo TRABAJO y se quede el cursor allí para que se añada a mano la tarea realizada ese dia entre esas horas.
Se que sería mas lógico hacer un albaran para cada día y luego juntar los albaranes en una factura, pero por varias razones a mi me iría mejor así.
Muchas gracias de nuevo
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
OS13 - FM19.6
|
Miembro
Asiduo
 
|
#7 Publicado: 23 May 2023 10:58 - Editado por: charlicamisa
Hola @cat_jordi,
Yo haría:
–––––––– Campos –––––––– FACTURAS::TRABAJO = "MiTexto" -- VISITAS: IA = 22/05/23 VISITAS::HORA_IN = "12:30" VISITAS::HORA_OUT = "13:00"
–––––––– Cálculo –––––––– Let ( [
TextoExistente = GetField ( FACTURAS::TRABAJO ) ; TextoAgregar = VISITAS: IA &" "& VISITAS::HORA_IN &" "& VISITAS::HORA_OUT ; //----- result = List ( TextoAgregar ; TextoExistente ) ];
result
)
-------- Probarlo >> Copia y Pega en Visor de datos -------- Let ( [
TextoExistente = "MiTexto" ; TextoAgregar = "Midia" &" "& "12:30" &" "& "13:00" ; //----- result = List ( TextoAgregar ; TextoExistente )
;
TextoExistente2 = "MiTexto2" ; TextoAgregar2 = "Midia2" &" "& "12:30" &" "& "13:00" ; //----- result2 = List ( TextoAgregar2 ; TextoExistente2 ) ];
List ( result ; ¶ ; result2 )
)
–––––––– –––––––– ––––––––
El cálculo lo puedes configurar como autointrocción, como apunta @flusheddata, o en tu guión preferido para ello.
Espero te sirva. Un saludo,
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Carlos CM
Mac OSX Monterey Claris Pro 19
|
Moderador

|
#8 Publicado: 23 May 2023 14:48 - Editado por: flusheddata
cat_jordi: Se que sería mas lógico hacer un albaran para cada día y luego juntar los albaranes en una factura, pero por varias razones a mi me iría mejor así. Creo que no. Lo más lógico sería tener unas líneas de detalle (llámalo VISITAS si quieres) en un portal en FACTURA. No veo por qué tienes que traer nada a factura, más allá de usar campos de agregación para sumar horas de factura_VISITA, por ejemplo. Y cuando quieras imprimir la factura tienes que hacerlo en una presentación basada en VISITAS. En la cabecera y en el pie pones los datos relacionados de la factura (padre). Para imprimir tienes que estar en factura, ir a registros relacionados factura_VISITA (mostrar solo relacionados) y usando la presentación de arriba. Después ir a la presentación original. Dale un pensado por si hay algo que pudieses tener mal planteado de base. Un saludo,
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|
Miembro
Ocasional
|
#9 Publicado: 23 May 2023 18:08
flusheddata,
Gracias por la información, le daré una vuelta.
Lo hago así porque a demás de la descripción de los trabajos realizados tengo otra tabla relacionada con las LINEAS_PRODUCTO que se facturan (desplazamiento, horas de mano de obra, piezas).
En el informe de impresión (basada en LINEAS_PRODUCTO) utilizo las lineas para mostrar los productos. Debajo, en el pié pongo el campo TRABAJO con el listado de todos los trabajos realizados, que al ser un campo de texto puedo ajustar de tamaño segun la cantidad de texto introducido.
Te parece coherente o hay maneras mas eficientes?
Gracias charlicamisa por tu ayuda. A partir de lo que creo entender que propones (no tengo ese nivel) lo que he hago es volver a re-escribir el texto de TRABAJO cada vez que añado algo. He creado un loop que crea variables de los diferentes campos de todos los registros de VISITAS y los pega en TRABAJO.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
OS13 - FM19.6
|
Moderador

|
#10 Publicado: 23 May 2023 22:23
cat_jordi: Te parece coherente o hay maneras mas eficientes?  Donde pone COMPRA sustitúyelo por FACTURA. Donde pone PROVEEDOR sustitúyelo por CLIENTE Donde pone DETALLE_COMPRA sustitúyelo por VISITA ARTICULO serían todos aquellos artítulos o servicios que tienen un precio predeterminado.
Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|
Miembro
Ocasional
|
#11 Publicado: 24 May 2023 01:03
flusheddata,
Muchas gracias.
Para los productos tengo una estructura similar, pero, por otro lado, tengo la tabla de trabajos para describir los trabajo realizados.
Te agradezco los consejos sobre este tema y tus comentarios en otros hilos que también me han ayudado ;)
Saludos!
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
OS13 - FM19.6
|
Moderador

|
#12 Publicado: 24 May 2023 16:27 - Editado por: flusheddata
Hola. Lo que te planteo en este archivo de ejemplo es que uses una tabla para líneas de detalle y tres relaciones diferentes desde factura con ella. Una solo para Productos, otra para Trabajos y otra para Todos. Al imprimir puedes poner una parte de subsumario al ordenarse por el campo TipoDeDetalle en el que pondría una P para Productos y T para Trabajos.
Las relaciones para Productos y Trabajos usan dos operadores: ClavePrimaria = ClaveExterna y ConstanteProducto_c = TipoDeDetalle para Productos y ClavePrimaria = ClaveExterna y ConstanteTrabajo_c = TipoDeDetalle para Productos
En la versión impresa hay que ocultar algunos campos en función de si la parte corresponde a Productos o Trabajos.
Espero que te sirva. Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|
Miembro
Ocasional
|
#13 Publicado: 24 May 2023 23:15
flusheddata, muy bueno! Tengo que mirarmelo con un poco de tiempo para entender bien como lo haces, pero es una solucion ideal.
Gracias!
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
OS13 - FM19.6
|
Moderador

|
#14 Publicado: 1 Jun 2023 19:48 - Editado por: flusheddata
Una versión con protección de registros. Usuario predeterminado: Usuario/Sin contraseña Usuario administrador: Admin/Sin contraseña Sls.
Si este mensaje te ha servido de ayuda dale tu voto
, si quieres penalizarlo
Hay solo 10 tipos de personas en el mundo: las que saben binario y las que no.
__Date de alta en la Zona De Descargas Reservada__
Windows 10 + FileMaker Pro 11/19
|