> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/data-logic/referencing/data-write-global.md).

# Data Write Global

Este bloque de función almacena datos entrantes en un almacenamiento global accesible en todo el escenario. Úsalo para compartir valores, imágenes o datos estructurados entre distintas partes de tu sistema o para crear un estado global sencillo.

## 📥 Entradas

`Generic`\
Conector de entrada que acepta cualquier dato para escribir en el almacenamiento global.

## 📤 Salidas

Este bloque de función no proporciona salidas.

## 🕹️ Controles

`Data Key` — Campo de texto donde introduces el nombre de la clave usada para almacenar el dato en el almacenamiento global. El control ofrece sugerencias basadas en claves globales existentes para que puedas reutilizarlas o sobrescribirlas.

## ⚙️ Mecanismo de ejecución

* Cuando el bloque se ejecuta, lee el valor proporcionado en la entrada `Generic` y el texto en `Data Key`.
* Si hay un valor de entrada presente, el bloque escribe ese valor en el almacenamiento global bajo la `Data Key` elegida.
* El almacenamiento global se comparte en todo el escenario. Debido a esta visibilidad global, usar este bloque puede crear bucles implícitos o dependencias cruzadas; el bloque no garantiza un orden estricto del flujo de datos.

## 🎯 Funcionalidades

* Compartición persistente de datos a nivel de escenario para valores, imágenes o datos complejos.
* Autocompletado de claves para evitar errores de tipeo y fomentar la reutilización de claves.
* Forma simple de pasar información entre partes distantes del flujo sin conexiones directas.

## 📝 Instrucciones de uso

1. Conecta el valor que quieres almacenar al conector de entrada `Generic`.
2. Escribe o selecciona un nombre en el control `Data Key` para identificar el ítem almacenado.
3. Ejecuta el escenario. El valor estará disponible para cualquier otro bloque que lea del almacenamiento global usando la misma clave.

## 💡 Consejos y trucos

* Recupera el valor almacenado más tarde usando el bloque `Data Read Global`.
* Para compartición de corta duración o local a un bucle, prefiere `Data Write Local` y `Data Read Local` en lugar del almacenamiento global.
* Para evitar escribir valores vacíos, combínalo con `Is None` o `Replace None` antes de escribir.
* Añade marcas temporales combinando con `Date-Time` o `Date-Time List` cuando necesites valores registrados.
* Para flujos de registro o exportación, empareja con `Data to JSON` y `CSV Export` para serializar y guardar datos.
* Para datos de imagen, considera usar `Image Logger` o `Image Write` además del almacenamiento global para persistir imágenes en disco.
* Usa `Logic Input` para condicionar cuándo ocurre la escritura (escribir solo con un disparador) y `Debug Input` para inspeccionar valores durante el desarrollo.
* Si quieres congelar un valor que no deba actualizarse en cada ejecución, usa `Data Memory` para controlar cuándo ocurren las actualizaciones.

## ⚠️ Precauciones

* El almacenamiento global puede crear dependencias implícitas. Evita abusar de escrituras globales para datos que se actualizan con frecuencia en flujos sensibles al rendimiento o críticos en tiempo.
* Pueden ocurrir colisiones de nombres si varios bloques usan la misma clave sin intención. Usa claves descriptivas y consistentes y confía en el autocompletado para reducir errores.
