# Funciones remotas

**URL:** <https://foros.velneo.com/t/funciones-remotas/8387>\
**Category:** Velneo\
**Created:** [16 Octubre, 2015 08:49 UTC](https://foros.velneo.com/t/funciones-remotas/8387 "2015-10-16T08:49:48Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![antoniaorenes](https://avatars.discourse-cdn.com/v4/letter/a/a9adbd/32.png) [@antoniaorenes](https://foros.velneo.com/u/antoniaorenes)\
**Post date:** [16 Octubre, 2015 08:49 UTC](https://foros.velneo.com/t/funciones-remotas/8387/1 "2015-10-16T08:49:48Z")

</div>

Buenos días… Tengo una duda… Necesito montar un servidor en Cloud además de tres equipos que funcionen fuera de línea. La razón es porque el trabajo a realizar serán tareas de mantenimiento de equipos industriales en zonas de penosa cobertura. Es la razón por la que olvido un montaje convencional de equipos conectados vía 3G para decantarme por equipos sin conexión.  
Esto implica que una vez al día dichos equipos portátiles y remotos, tendrán que llegar a la central y cargar y descargar los datos generados. Pienso en tabletas con Windows y motores mono puesto en cada una de estos equipos remotos.

Hasta aquí todo bien, el problema me surge porque necesito que los equipos remotos vuelquen datos al servidor principal y que el servidor principal también vuelque a los remotos. Por lo que he leído esto no se puede hacer con funciones remotas o no sé hacerlo yo… Desconozco las IP que tendrían los equipos remotos y la IP la necesito si utilizo funciones remotas… Según tengo entendido yo. ¿Se puede suplir esto de alguna manera?

¿Cuál es el medio más adecuado? ¿Se puede hacer con la función TCP? ¿El componente tcp permite que una vez establecida la comunicación desde las estaciones remotas, sean dichas estaciones las que lean en tablas del servidor en la nube y se graben los datos leídos en dichos equipos remotos?

Gracias, un saludo.

---

<div class="post-metadata">

**Author:** ![manuel.rd](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/manuel.rd/32/3508_2.png) [@manuel.rd](https://foros.velneo.com/u/manuel.rd)\
**Post date:** [16 Octubre, 2015 09:39 UTC](https://foros.velneo.com/t/funciones-remotas/8387/2 "2015-10-16T09:39:29Z")

</div>

Por mi experiencia lo principal es pensar en la cantidad de datos a sincronizar y como enviar independiente a los terminales.

- Si solo conoces la ip del servidor, puedes lanzar una función remota desde los terminales y recibir la información.
- Si el servidor en cloud lo puedes administrar puedes montar un ftp y dejar los ficheros ahí, tanto de envio como de recepción. El servidor deja los ficheros para los terminales y los terminales para que el servidor los reciba. Montas una estructura de directorios para saber el terminal y si es entrada o salida y procesas ficheros planos.

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [16 Octubre, 2015 09:39 UTC](https://foros.velneo.com/t/funciones-remotas/8387/3 "2015-10-16T09:39:34Z")

</div>

Hola antoniaorenes.

No tienes ningún problema. Solo necesitas saber el dominio o la IP del servidor remoto o en cloud.

Cuando la tableta esté en la central ejecutas las Funciones remotas contra el servidor en cloud que cargan/descargan la información necesaria.

Por supuesto, tendrás que habilitar un formato de intercambio de datos (Texto plano, JSON, XML, …)

Saludos y suerte con el proyecto.  
Paco Satué

---

<div class="post-metadata">

**Author:** ![programador](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/programador/32/5498_2.png) [@programador](https://foros.velneo.com/u/programador)\
**Post date:** [16 Octubre, 2015 10:19 UTC](https://foros.velneo.com/t/funciones-remotas/8387/4 "2015-10-16T10:19:48Z")

</div>

Hola nosotros tenemos desarrollada una API para comunicar tablets windows, web, ios, etc. con nuestras aplicaciones ERP…, el principal problema que tuvimos que resolver es que los envíos podemos hacerlos por TCP, es lo más fácil, y mediante funciones remotas realizar peticiones o envíos de datos. Pero…

El problema viene cuando tenemos que recibir en las tablets datos, hay un problema con el tema de IP y puertos, aunque sea windows, optamos por utilizar los comandos SDV, para recibir ficheros en las tablets, enviar lo hacemos por TCP, lo que hacemos brevemente es:

1.- Enviamos el fichero por TCP  
2.- Indicamos al Servidor por TCP-Enviar linea, los datos de lo enviado y el proceso que debe realizarse  
3.- Mediante comandos SDV recogemos el resultado del servidor

A día de hoy nos funciona perfectamente y tenemos varias aplicaciones de servios técnicos, vendedores, etc. funcionando y sincronizando

---

<div class="post-metadata">

**Author:** ![antoniaorenes](https://avatars.discourse-cdn.com/v4/letter/a/a9adbd/32.png) [@antoniaorenes](https://foros.velneo.com/u/antoniaorenes)\
**Post date:** [16 Octubre, 2015 14:28 UTC](https://foros.velneo.com/t/funciones-remotas/8387/5 "2015-10-16T14:28:03Z")

</div>

gracias señores… me alienta saber que funciona… voy a hacerlo por funciones remotas… creo que me será mas sencillo, pues ya las utilizaba en v6.

Gracias, buen fin de semana

---

<div class="post-metadata">

**Author:** ![antoniaorenes](https://avatars.discourse-cdn.com/v4/letter/a/a9adbd/32.png) [@antoniaorenes](https://foros.velneo.com/u/antoniaorenes)\
**Post date:** [17 Octubre, 2015 08:58 UTC](https://foros.velneo.com/t/funciones-remotas/8387/6 "2015-10-17T08:58:17Z")

</div>

Buenos días… al final he decidido hacerlo con funciones remotas… pues bien hasta aquí todo perfecto, el problema me surge al introducir los datos en la formula rfc:REMOTO1(“vatp://v7cloud1.velneo.com:1615”, “CRM”, “remoto”,“1111”, OK) Si os dais cuenta veréis que he escrito directamente en la formula, los valores del servidor, la instancia, el usuario y su contraseña, ¿por que? pues porque si lo hago con variables no me funciona… ¿a alguien le ha pasado algo similar?

Son variables alfabéticas, he probado la función trimmedString, le he puesto las “” dentro y fuera de la variable, en fin, he probado todo lo que pienso que puede influir en el contenido de dichas variables. Como digo… ¿a alguien le ha pasado algo similar?

Gracias, un saludo

---

<div class="post-metadata">

**Author:** ![tic-software](https://avatars.discourse-cdn.com/v4/letter/t/c4cdca/32.png) [@tic-software](https://foros.velneo.com/u/tic-software)\
**Post date:** [19 Octubre, 2015 07:43 UTC](https://foros.velneo.com/t/funciones-remotas/8387/7 "2015-10-19T07:43:14Z")

</div>

Hola.

Si pasas variables alfabéticas ya no tienes que poner las comillas, eso es sólo si pasas los valores literalmente.

¿Las estás poniendo?

---

<div class="post-metadata">

**Author:** ![antoniaorenes](https://avatars.discourse-cdn.com/v4/letter/a/a9adbd/32.png) [@antoniaorenes](https://foros.velneo.com/u/antoniaorenes)\
**Post date:** [19 Octubre, 2015 10:13 UTC](https://foros.velneo.com/t/funciones-remotas/8387/8 "2015-10-19T10:13:30Z")

</div>

Gracias… ese era el error, ponía comillas en los contenidos dentro de las variables.

---

<div class="post-metadata">

**Author:** ![antoniaorenes](https://avatars.discourse-cdn.com/v4/letter/a/a9adbd/32.png) [@antoniaorenes](https://foros.velneo.com/u/antoniaorenes)\
**Post date:** [19 Octubre, 2015 14:17 UTC](https://foros.velneo.com/t/funciones-remotas/8387/9 "2015-10-19T14:17:34Z")

</div>

Una cuestión mas… necesito retornar desde funciones remotas, contenido de campos binarios. ¿se puede hacer?

Gracias, un saludo.

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [19 Octubre, 2015 15:56 UTC](https://foros.velneo.com/t/funciones-remotas/8387/10 "2015-10-19T15:56:26Z")

</div>

Hola antoniaorenes.

Tendrás que pasar el campo binario a un String (codificado en base64) y en el cliente hacer el proceso contrario.  
Esto es posible con la clase VByteArray del API de Velneo.

Pruébala.  
Saludos  
Paco Satué
