FSx-Connector Catálogo


Este componente contiene los parámetros que controlan la sincronización del Catálogo entre FactuSOL y la Tienda Web.


fsxcat_configuracion

Con este componente podrá crear en WooCommerce los Productos que ya tiene en FactuSOL. También se crearán en WooCommerce Categorías en correspondencia con las Secciones y Familias que tiene en FactuSOL.

El vínculo entre los Productos de WooCommerce y de FactuSOL se establece escribiendo el "Código del Artículo" de FactuSOL en el campo "SKU" del Producto en WooCommerce. Esto lo hace automáticamente FSx-Connector cuando crea un Producto nuevo, pero puede hacerse manualmente (con el mismo efecto) para los Productos que ya existen en WooCommerce antes de usar FSx-Connector (ver más).

Una vez que haya creado un Producto en WooCommerce sólo podrá actualizar el Precio y el Stock desde FactuSOL. Por tanto podrá hacer cambios al Producto en WooCommerce, tales como modificar las descripciones o añadir más imágenes, sin que sean sobre-escritos al Actualizar el Catálogo.


Configuración Carga del Catálogo

Familias en la raíz del Catálogo

Cargar las Familias de FactuSOL en la raíz del Catálogo.

  • Valor: selector Si, No.
  • Por defecto: 'No'.
lamp ¿Cómo funciona "Familias en la raíz del Catálogo"?
  • Valor 'Si'
    Se creará una Categoría en WooCommerce correspondiente a la Familia a la que pertenece el Artículo en FactuSOL. Esta Categoría NO tendrá ninguna Categoría Superior. Además, NO se creará una Categoría correspondiente a la Sección a la que pertenece la Familia en FactuSOL.

  • Valor 'No'
    Se creará una Categoría en WooCommerce correspondiente a la Familia a la que pertenece el Artículo en FactuSOL. También se creará una Categoría correspondiente a la Sección a la que pertenece la Familia en FactuSOL, que será la Categoría Superior de la anterior.


Cargar Artículos

Cargar los Artículos de FactuSOL que no existen en WooCommerce.

  • Valor: selector Si, No.
  • Por defecto: 'Si'.

lamp ¿Qué pasa si hay Productos en la papelera de WooCommerce?

FSx-Connector reconocerá si hay Productos en la papelera de WooCommerce, y le avisará: fsxcat_papelera
Si FSx-Connector encuentra un Producto en la papelera de WooCommerce NO lo creará de nuevo, ya que, como está en la papelera, puede que se restaure en algún momento.



Asignar Productos a todas las Categorías

Asigna el Producto a su Categoría (Familia) y también a la Categoría-Padre (Sección).

  • Valor: selector Si, No.
  • Por defecto: 'No'.
lamp ¿Cómo funciona "Asignar Productos a todas las Categorías"?
  • Valor 'Si'
    Se creará una Categoría en WooCommerce correspondiente a la Familia a la que pertenece el Artículo en FactuSOL. También se creará una Categoría correspondiente a la Sección a la que pertenece la Familia en FactuSOL, que será la Categoría Superior de la anterior. El Producto creado se asignará a las dos Categorías.

  • Valor 'No'
    Se creará una Categoría en WooCommerce correspondiente a la Familia a la que pertenece el Artículo en FactuSOL. El Producto creado se asignará SOLO a esta Categorías. También se creará una Categoría correspondiente a la Sección a la que pertenece la Familia en FactuSOL, que será la Categoría Superior de la anterior.

lamp NOTA: Este parámetro no tiene efecto si "Familias en la raíz del Catálogo" es 'Si'.



Copiar la "Descripción del Artículo en la Web" de FactuSOL a

La "Descripción Corta" aparece en las Listas de Productos.
La "Descripción Larga" (o simplemente Descripción) aparece en el cuerpo de la Página del Producto.

  • Valor: desplegable con los valores: 'la Descripción Corta del Producto', 'la Descripción Larga del Producto', 'Ambas'.
  • Por defecto: 'Ambas'.
lamp
Vea más adelante: 'Sintaxis especial de "Descripción web del artículo" en FactuSOL'


tip Tenga en cuenta que si la etiqueta "<--**-->" aparece en el campo de FactuSOL "Descripción web del artículo" entonces el valor de Copiar la "Descripción del Artículo en la Web" de FactuSOL a no será tenido en cuenta, ya que entonces FSx-Connector puede encontrar valores diferentes para las Descripciones Corta y Larga.



Estado para los nuevos Productos

Los nuevos Productos se crearán con este Estado.

  • Valor: desplegable con los valores: 'Publicado', 'Pendiente de revisión', 'Borrador'.
  • Por defecto: 'Borrador'.

lamp Los Estados se definen en WordPress.


Visibilidad del Catálogo para los nuevos Productos

Los nuevos Productos se crearán con esta Visibilidad del Catálogo.

  • Valor: desplegable con los valores: 'Catálogo/búsqueda', 'Catálogo', 'Búsqueda', 'Oculto'.
  • Por defecto: 'Catálogo/búsqueda'.

lamp Los valores para la Visibilidad del Catálogo se definen en WooCommerce.


Actualizar precios

Actualizar el Precio de todos los Productos. Observe que esta opción es independiente del valor de "Cargar Artículos". Es decir, podrá actualizar el Precio de los Productos aunque "Cargar Artículos" sea igual a 'No'.

  • Valor: selector Si, No.
  • Por defecto: 'No'.

Actualizar stock

Actualizar el Stock de todos los Productos. Observe que esta opción es independiente del valor de "Cargar Artículos". Es decir, podrá actualizar el Stock de los Productos aunque "Cargar Artículos" sea igual a 'No'.

  • Valor: selector Si, No.
  • Por defecto: 'No'.

Ocultar los Productos no encontrados

Ocultar los Productos de la Tienda que no tienen correspondencia en FactuSOL. La "Visibilidad del Catálogo" del Producto se cambiará a 'Oculto'.

  • Valor: selector Si, No.
  • Por defecto: 'No'.
lamp ¿Cómo funciona "Ocultar los Productos no encontrados"?

Cuando se realiza "Actualizar la Base de Datos de FactuSOLWeb" (componente FSx-Configuración), se cargarán en la Base de Datos de FactuSOLWeb los datos que se obtuvieron de FactuSOL (los marcados para permitir el uso en la web). Cuando "Ocultar los Productos no encontrados" es 'Si', FSx-Connector consulta los Productos que existen en la Tienda, y si no encuentra una correspondencia en la Base de Datos de FactuSOLWeb, los oculta del Catálogo, y no serán visibles para los Clientes.

tip Cuándo hacer "Ocultar los Productos no encontrados" = 'Si'

Cuando se discontinúa la comercialización de un Producto, y en FactuSOL se marca para no permitir el uso en la web. En este caso no debería borrarse el Producto de la Tienda, ya que puede haber Pedidos de ese Producto; bastará con desactivarlo ("Visibilidad del Catálogo" = 'Oculto').

tip Cuándo hacer "Ocultar los Productos no encontrados" = 'No'

Por ejemplo, cuando quiere tener en la Tienda WooCommerce Productos de otros Fabricantes, pero no desea darlos de alta en FactuSOL, ya que no tiene stock de los mismos.

Caja de Tareas

Una vez fijados los parámetros de FSx-Connector, puede iniciar el proceso de actualización del Catálogo pulsando "Comenzar". Este proceso carga las Secciones, Familias y Artículos desde la Base de Datos de FactoSOLWeb a Categorías, Sub-Categorías y Productos de WooCommerce.

Ajustando convenientemente los parámetros de este componente, puede también realizar los procesos periódicos de actualización de stock y actualización de precios de Productos.

fsxcat_box_tareas

lamp Se recomienda que, previamente a la actualización del Catálogo, se vacíe el LOG (consulte el apartado correspondiente al componente FSx-LOG).


El Proceso de Actualización del Catálogo

El proceso de actualización del Catálogo puede requerir mucho tiempo si el Catálogo es extenso. Esto puede agotar el tiempo de ejecución concedido por el Servidor y provocar un error (timeout).

Para evitar el timeout, FSx-Connector divide la tarea total en partes, cada una de ellas dentro del tiempo máximo que permite el Servidor, e irá informando por pantalla del progreso de la actualización.

fsxcat_proceso

Control de Tiempos

Si su Catálogo es extenso (muchas Categorías y / o Productos), el proceso de Carga o Actualización del Catálogo puede ser una tarea que necesite mucho tiempo de ejecución, y por tanto se corre el riesgo de alcanzar el Tiempo Máximo de Ejecución del script (timeout) permitido por el Servidor. Cuando esto sucede, el programa se detiene inmediatamente, y no se completa la Actualización del Catálogo.

lamp El Timeout

El Tiempo Máximo de Ejecución del script (timeout) lo controla la variable: max_execution_time, que se define en el fichero de configuración php.ini del intérprete de comandos PHP. Esto ayuda a prevenir que scripts mal escritos bloqueen el servidor. El valor por defecto es 30 segundos, pero puede ser diferente en cada proveedor de hosting.

No se puede cambiar esta opción con ini_set() cuando PHP se ejecuta en safe mode. La única manera es desactivar safe mode o cambiando el límite en php.ini (para ello es posible que deba contactar con su proveedor de hosting).


Para evitar estos inconvenientes, el Componente FSx-Catálogo incorpora un Sistema de Control del Tiempo de Ejecución. Este Sistema contabiliza el tiempo consumido en operaciones elementales y el total acumulado, de forma que detiene el programa de forma segura antes de alcanzar el Tiempo Máximo de Ejecución del script.

Si a Actualización del Catálogo agotó el tiempo y no terminó, FSx-Connector hará continuar el proceso automáticamente desde el punto donde se quedó.


tip Si el proceso de Carga del Catálogo termina abruptamente con Error 500

FSx-Connector conoce el Tiempo Máximo de Ejecución consultando la variable max_execution_time, que obtiene del intérprete de comandos PHP. No obstante, en algunos servidores existen otras limitaciones al Tiempo Máximo de Ejecución que no pueden ser conocidas por el intérprete de comandos PHP.

Un ejemplo del caso anterior es cuando el intérprete PHP se está ejecutando como CGI, y hay un límite de tiempo para los hilos de ejecución que es inferior a max_execution_time.

Otra situación similar es cuando el límite de tiempo se establece a nivel de servidor Apache, y es inferior a max_execution_time. En este caso, como en el anterior, el intérprete PHP no puede conocer el verdadero Tiempo Máximo de Ejecución (que es inferior al valor de max_execution_time), y el proceso de Carga del Catálogo puede terminar abruptamente con un Error 500 del servidor.

También deberá analizarse el consumo de recursos del servidor durante el proceso de Carga del Catálogo, particularmente el consumo de memoria (variable memory_limit, que se define en el fichero de configuración php.ini).

lamp Si el proceso de Carga del Catálogo termina abruptamente con Error 500 es porque el intérprete de comandos PHP está dando un valor incorrecto del Tiempo Máximo de Ejecución.

Para solucionar esto, ajuste el valor de Tiempo máximo para FSx-Catálogo en FSx-Configuración a una cantidad inferior al Tiempo Máximo de Ejecución (max_execution_time) que se muestra en la Caja de Informaciones de FSx-Configuración. Si el error persiste, pruebe con valores inferiores hasta que el error desaparezca.

Funcionando normalmente y para evitar errores, FSx-Connector divide el proceso de Carga del Catálogo en ciclos de duración un poco inferior al 'Tiempo Máximo de Ejecución' (max_execution_time). Si el intérprete de comandos PHP está dando un valor incorrecto del 'Tiempo Máximo de Ejecución', al fijar un valor para el 'Tiempo máximo para FSx-Catálogo' (que debe ser inferior al anterior a max_execution_time), entonces FSx-Connector dividirá el proceso de Carga del Catálogo en ciclos de duración un poco inferior al 'Tiempo máximo para FSx-Catálogo' especificado. La duración total del proceso no varía, sólo el número de ciclos, que serán más y de menor duración cada uno.




lamp No siempre es correcto el tiempo de ejecución máximo que obtiene PHP

El intérprete PHP tiene limitado el tiempo de ejecución máximo permitido a un script, especialmente si está en un hosting compartido. El límite de tiempo por defecto es de 30 segundos y se define en la opción max_execution_time del fichero de configuración php.ini (consulte a su proveedor de hosting para más detalles sobre la configuración de su instalación). PHP dispone de la función 'ini_get' para conocer el tiempo de ejecución máximo permitido:

$maxTime = ini_get ('max_execution_time');

PHP tiene además una función llamada 'set_time_limit' que se puede utilizar para ajustar dinámicamente el tiempo de ejecución máximo permitido a un script. Permite especificar el tiempo en segundos y fija el tiempo de ejecución del script a ese número de segundos.

Normalmente 'set_time_limit' se llama al principio de un scipt para extender el tiempo de ejecución del script a esa cantidad de segundos. Así

set_time_limit(480);

hace que el tiempo de ejecución máximo permitido al script sea de 480 segundos.

Sin embargo cuando el script se ejecuta desde un navegador (es decir dentro de un entorno externo al intérprete PHP, como es el servidor Apache), y necesita mantener PHP enviando salida de datos al navegador, entonces la opción 'max_execution_time' de php.ini y la función 'set_time_limit' de PHP no son los únicos que controlan el tiempo que el script PHP puede ejecutar y la salida de los datos al navegador. La configuración del servidor también puede imponer restricciones de tiempo al script, más severas incluso que las de PHP.

Si está ejecutando PHP usando mod_php de Apache entonces usted puede utilizar set_time_limit(480) para ajustar el límite de tiempo de ejecución en el script PHP. Esto funcionará como se espera en la mayoría de situaciones.

Sin embargo, cuando PHP se ejecuta a través de mod_fcgid o mod_fastcgi o con un gestor de procesos fastcgi como PHP-FPM, entonces el entorno de ejecución impondrá sus propias restricciones de tiempo al script. En estos casos es posible que, incluso después de ajustar set_time_limit a 480, el script termine después de un período de tiempo específico, pero inferior al establecido por max_execution_time o la función 'set_time_limit'. Esta será la restricción de tiempo forzada por el entorno de ejecución.

Por ejemplo, mod_fastcgi tiene una opción llamada "-idle-timeout" que controla el tiempo de inactividad del script. Así que si el script no produce ninguna salida al controlador fastcgi en esa cantidad de segundos, entonces fastcgi forzará la terminación del script. La arquitectura es algo como esto:

Apache <-> mod_fastcgi <-> procesos PHP

Lo mismo sucede con mod_fcgid. También tiene una restricción de tiempo incorporado. PHP-FPM tiene la opción llamada "request_terminate_timeout" que hará terminar el proceso después de la cantidad de segundos especificada.

lamp Consulte a su proveedor de hosting para más detalles sobre la configuración de su instalación.




Caja Catálogo FactuSOL

En la caja Catálogo FactuSOL puede comprobar la estructura del Catálogo que va a cargar a su Tienda Web, tal como se exportó desde FactuSOL. En todas las Familias aparece entre paréntesis el número de Artículos que contienen. También se muestra los Artículos pertenecientes a la Familia de FactuSOL que ya están en WooCommerce, y los Artículos de la Familia que no se han cargado aún en WooCommerce.

fsxcat_box_catalogo

lamp Para facilitar la visualización, al situar el ratón sobre una fila, ésta se oscurece.

tip El botón [Actualizar]

Tiene el mismo efecto que el botón [Comenzar] de la Caja de Tareas, pero restringido a una Familia. Es decir, podrá cargar Artículos nuevos, actualizar Precios o actualizar Stock (según la configuración que tenga) de los Productos que corresponden a la Familia seleccionada.



Antes de usar FSx-Connector existen Productos en WooCommerce

Si antes de empezar a usar FSx-Connector existen Productos en WooCommerce y desea conservar dichos Productos, debe realizar las tareas previas:

  • Preparar Productos en WooCommerce
    Debe rellenar el campo "SKU" del Producto en WooCommerce con el "Código del Artículo" que le corresponde en FactuSOL. De esta forma evitará que se creen Productos duplicados en WooCommerce.

  • Preparar Secciones y Familias en FactuSOL
    El nombre de las Secciones y Familias de FactuSOL debe coincidir con el nombre de las Categorías y (sub-)Categorías que les correspondan en WooCommerce. Con ello evitará que aparezcan Categorías duplicadas en WooCommerce cuando se creen Productos nuevos.

  • Preparar Pedidos en FSx-Connector
    Es posible que tenga cierta cantidad de Pedidos en WooCommerce que ya pasó manualmente a FactuSOL. Para que no se descarguen de nuevo, debería marcarlos como descargados desde la Caja Herramientas de FSx-Pedidos.

  • Preparar Clientes en FSx-Connector
    Si ya pasó algunos Pedidos manualmente a FactuSOL, habrá creado también los correspondientes Clientes. Para que estos Clientes no se descarguen de nuevo, debería actualizar el Diccionario de Clientes en la Caja Diccionario de Clientes de FSx-Diccionario. Recuerde que para las Cuentas de Invitado en WooCommerce debe utilizar la Dirección de Correo Electrónico en el campo "ID en WooCommerce" (ver FSx-Pedidos).

A continuación podrá utilizar FSx-Connector normalmente (ver FSx-Esquema General).



Sintaxis especial de "Descripción web del artículo" en FactuSOL

Puede encontrar la definición de las etiquetas permitidas en Preparar FactuSOL.

Veamos la sintaxis especial de "Descripción web del artículo" en FactuSOL con un ejemplo.

fsxfsol_factusol_tags_1

Tareas previas

Debería definir los atributos siguientes en la forma que se indica:

fsxcat_atributos

Datos que tomará FSx-Connector para crear un Producto en WooCommerce

  1. Descripción Corta del Producto
    fsxfsol_factusol_tags_3_dcorta
  2. Descripción Larga del Producto
    fsxfsol_factusol_tags_3_dlarga
  3. Datos adicionales
    fsxfsol_factusol_tags_3_marca

    El valor de la Marca se grabará en el Atributo del Producto con el mismo nombre.

    El valor del Peso se grabará en el Campo del Producto con el mismo nombre. Note que, como el valor tiene decimales, se ha usado el punto como separador de la parte decimal.

  4. El EAN

    El valor del EAN se exporta desde FactuSOL, y se grabará en el Atributo del Producto con el nombre definido en la opción "Campo para el EAN" (ver aquí).

  5. El resto de datos exportados desde FactuSOL

    Los valores se grabarán en los Campos del Producto que correspondan.





Su mensaje:

Cerrar [X]

Gracias por su colaboración.

Cerrar [X]

COMPARTIR