FSx-Connector Diccionario


Este componente de FSx-Connector se encarga de establecer el Diccionario de equivalencias entre FactuSOL y PrestaShop.


Requerimientos previos

Antes de usar el componente FSx-Connector Diccionario es necesario:

  • Actualizar la Base de Datos de FactuSOLWeb (componente FSx-Configuración).
    Este paso es obligatorio.

Impuestos en FactuSOL

Esta sección contiene los Parámetros para establecer Equivalencias (Diccionario o Tabla de Equivalencias) para los Tipos de Impuesto, entre FactuSol y PrestaShop.

fsxdic_impuestos

FactuSOL Impuesto Directo Tipo 1

Corresponde a IVA Normal en la configuración por defecto de FactuSOL (FactuSOL -> Utilidades -> IVA / IRPF).

  • Valor: desplegable con las Reglas de Impuestos definidas en la Tienda PrestaShop.
  • Por defecto: vacío.

FactuSOL Impuesto Directo Tipo 2

Corresponde a IVA Reducido en la configuración por defecto de FactuSOL (FactuSOL -> Utilidades -> IVA / IRPF).

  • Valor: desplegable con las Reglas de Impuestos definidas en la Tienda PrestaShop.
  • Por defecto: vacío.

FactuSOL Impuesto Directo Tipo 3

Corresponde a IVA Super-Reducido en la configuración por defecto de FactuSOL (FactuSOL -> Utilidades -> IVA / IRPF).

  • Valor: desplegable con las Reglas de Impuestos definidas en la Tienda PrestaShop.
  • Por defecto: vacío.

lamp Sólo es necesario asignar una Regla de Impuestos de PrestaShop equivalente a los Tipos de Impuesto de FactuSOL que realmente utilizan los Productos que se utilizan en la Tienda. Por ejemplo, si sólo venderá Productos grabados con IVA Normal, podrá dejar "FactuSOL Impuesto Directo Tipo 2" y "FactuSOL Impuesto Directo Tipo 3" sin asignar una Regla de Impuesto.

Si no configura completamente esta sección, es posible que se produzcan errores cuando ejecuta la actualización del Catálogo (no se creará un Producto en la Tienda si no se halla la correspondencia del impuesto) y la descarga de Pedidos (no se descargará un Pedido a FactuSOL si no se halla la correspondencia del impuesto).


Tarifas de FactuSOL y Grupos de Clientes en PrestaShop

Esta funcionalidad es opcional, y no forma parte del núcleo de FSx-Connector. Si no dispone de ella en su instalación, verá algo como:

fsxdic_tarifas

La sección "Tarifas de FactuSOL y Grupos de Clientes en PrestaShop" de FSx-Diccionario contiene los Parámetros para establecer Asignacioness (Diccionario o Tabla de Equivalencias) de las Tarifas de FactuSol a los Grupos de Clientes de PrestaShop.

fsxdic_tarifas

A los Grupos de Clientes que PrestaShop establece por defecto (Visitante / Visitor, Invitado / Guest, Cliente / Customer) les corresponde la "Tarifa de precios a mostrar a los clientes sin autenticar", que se definine en FactuSOL en la solapa "Internet" (FactuSOL -> Internet -> Configuración -> Consulta de Artículos). Por tanto esta asignación no puede modificarse aquí.

A los otros Grupos de Clientes de PrestaShop (los definidos por el dueño de la tienda PrestaShop) se puede asignar cualquier Tarifa de FactuSOL, incluyendo la "Tarifa de precios a mostrar a los clientes sin autenticar".

lamp Cuande se crea un Producto o cuando de actualizan Precios en PrestaShop mediante el componente FSx-Catálogo, se tiene en cuenta el Diccionario de Tarifas y Grupos de Clientes para crear las reglas de precio necesarias y que cada Grupo tenga su Precio Específico. Se pueden visualizar en PrestaShop -> Back-Office -> Producto -> Precios específicos.

fsxdic_tarifas_ppg

Los "Precios específicos" creados por FSx-Connector se indican con un visé verde. Cuando actualice los Precios con FSx-Catálogo, estas líneas podrán cambiar según la Tarifa de FactuSOL y el Grupo de Clientes de PrestaShop. Si añade un precio específico manualmente, aparecerá con una cruz roja. Esto indica a FSx-Connector que ese precio específico debe respetarlo cuando actualice los Precios con FSx-Catálogo.


lampModificación del formato de "Precios específicos"

Para visualizar el formato de "Precios específicos" como se indica más arriba, es necesario hacer unos sencillos cambios en PrestaShop.

fsxdic_tarifas_ppg_mod

Las modificaciones deben realizarse como sigue, ya que la plantilla de "Precios específicos" no está totalmente separada del controlador AdminProductsController.php.

1.- Fichero <su_tienda>/<su_back-office>/themes/default/template/controllers/products/prices.tpl

Sobre la línea 395, localizar (encabezado de la tabla "Precios específicos"):


<td class="cell border" style="width: 13%;">{l s='Impact'}</td>
<td class="cell border" style="width: 15%;">{l s='Period'}</td>
<td class="cell border" style="width: 13%;">{l s='From (quantity)'}</td>
<td class="cell border" style="width: 2%;">{l s='Action'}</td>
</tr>';

Y reemplazar por:


<td class="cell border" style="width: 13%;">{l s='Impact'}</td>
<td class="cell border" style="width: 15%;">{l s='Period'}</td>
<td class="cell border" style="width: 13%;">{l s='From (quantity)'}</td>
<td class="cell border" style="width: 1%;">{l s='FSx'}</td>
<td class="cell border" style="width: 2%;">{l s='Action'}</td>
</tr>';

En rojo se muestra lo que se debe añadir.


2.- Fichero <su_tienda>/controllers/admin/AdminProductsController.php

En la función _displaySpecificPriceModificationForm, sobre la línea 3190, localizar (cuerpo de la tabla "Precios específicos"):


<td class="cell border">'.$impact.'</td>
<td class="cell border">'.$period.'</td>
<td class="cell border">'.$specific_price['from_quantity'].'</th>
<td class="cell border">'.((!$rule->id && $can_delete_specific_prices) ? '<a name="delete_link" href="'.self::$currentIndex.'&id_product='.(int)Tools::getValue('id_product').'&action=deleteSpecificPrice&id_specific_price='.(int)($specific_price['id_specific_price']).'&token='.Tools::getValue('token').'"><img src="../img/admin/delete.gif" alt="'.$this->l('Delete').'" /></a>': '').'</td>
</tr>';

Y reemplazar por:


<td class="cell border">'.$impact.'</td>
<td class="cell border">'.$period.'</td>
<td class="cell border">'.$specific_price['from_quantity'].'</th>
<td class="cell border"><img title="'.($specific_price['fsx_ppg']?$this->l('Creado por FSx-Connector').'" src="../img/admin/enabled':'" src="../img/admin/disabled').'.gif"></th>
<td class="cell border">'.((!$rule->id && $can_delete_specific_prices) ? '<a name="delete_link" href="'.self::$currentIndex.'&id_product='.(int)Tools::getValue('id_product').'&action=deleteSpecificPrice&id_specific_price='.(int)($specific_price['id_specific_price']).'&token='.Tools::getValue('token').'"><img src="../img/admin/delete.gif" alt="'.$this->l('Delete').'" /></a>': '').'</td>
</tr>';

En rojo se muestra lo que se debe añadir.



Formas de Pago en PrestaShop

Esta sección contiene los Parámetros para establecer Equivalencias (Diccionario o Tabla de Equivalencias) para las Formas de Pago, entre FactuSol y PrestaShop.

fsxdic_formaspago

Para cada Forma de Pago disponible en la Tienda aparece un desplegable con las Formas de Pago definidas en FactuSOL. Tenga en cuenta que deberá haber rellenado en FactuSOL el campo "Descripción en la web de la forma de pago":

fsxdic_formaspago_1

Puede asociar varias formas de pago de su Tienda a una única Forma de Pago en FactuSOL. Pero no podrá asociar una Forma de Pago de su Tienda a varias formas de pago de FactuSOL.

Si no configura completamente esta sección, no se producirán errores cuando ejecuta la descarga de Pedidos, pero obtendrá información en el LOG sobre los problemas encontrados (componente FSx-LOG). Los Pedidos se descargarán, pero el campo "Forma de Pago" del Pedido en FactuSOL, estará vacío.


La Caja de Catálogo permite realizar dos tareas sobre la estructura del Catálogo: Comprobar el Diccionario de Categorías y mostrar el Mapa de Secciones, Familias y Categorías.

fsxdic_box_catalogo

Comprobar Diccionario de Categorías

Esta opción se utiliza para comprobar la correspondencia entre Secciones / Familias y Categorías.

  • Valor: desplegable con los valores:

    • 'Comprobar e informar'
      Comprueba el Diccionario de Categorías e informa (en el LOG) si encuentra una Sección / Familia sin correspondencia en PrestaShop, o si encuentra una Categoría sin correspondencia en FactuSOL. Esta opción no realiza ninguna reparación.

    • 'Reparar'
      Comprueba el Diccionario de Categorías y elimina las entradas "huérfanas" (sin correspondencia) del Diccionario.

  • Por defecto: 'Comprobar e informar'.


Mapa de Secciones, Familias y Categorías

Pulsando sobre el botón "Ver Mapa" se accede a otra pantalla donde aparece el Mapa de relaciones entre las Secciones y Familias de FactuSOL y las Categorías de PrestaShop.

fsxdic_mapa

En la parte izquierda se muestra el árbol de Secciones y Familias tal como se ha cargado desde FactuSOL. En la parte derecha aparecen las Categorías de PrestaShop correspondientes en un desplegable.

lamp ¿Cómo funciona el Mapa de Secciones, Familias y Categorías?

Cuando se realiza "Actualizar Categorías y Productos" con el componente FSx-Catálogo, y FSx-Connector encuentra una Sección en la Base de Datos de FactuSOLWeb, sigue los pasos:
  • Toma el Código de la Sección, y busca una correspondencia en el Mapa de Secciones, Familias y Categorías.

  • Si encuentra una correspondencia de una Categoría, no hace nada.

  • Si no encuentra una correspondencia de una Categoría, hace dos cosas:

    • Crea una nueva Categoría en PrestaShop. Como proviene de una Sección, se creará en la raíz del Catálogo de la Tienda PrestaShop.

    • Actualiza el Mapa de Secciones, Familias y Categorías con la nueva correspondencia entre la Sección y la nueva Categoría.

Cuando se realiza "Actualizar Categorías y Productos" con el componente FSx-Catálogo, y FSx-Connector encuentra una Familia en la Base de Datos de FactuSOLWeb, sigue los pasos:
  • Toma el Código de la Familia, y busca una correspondencia en el Mapa de Secciones, Familias y Categorías.

  • Si encuentra una correspondencia de una Categoría, no hace nada.

  • Si no encuentra una correspondencia de una Categoría, hace dos cosas:

    • Crear una nueva Categoría en PrestaShop. Como proviene de una Familia, se utiliza el Mapa de Secciones, Familias y Categorías para obtener la correspondencia de la Sección a la que pertenece la Familia, que será la "Categoría Padre" de la nueva Categoría.

      • Si no encuentra una correspondencia válida para la "Categoría Padre", se produce un mensaje de error en el componente FSx-Log, y no se creará la Categoría.

    • Si pudo crear la Categoría, actualiza el Mapa de Secciones, Familias y Categorías con la nueva correspondencia entre la Familia y la nueva Categoría.

Cuando se realiza "Actualizar Categorías y Productos" con el componente FSx-Catálogo, y FSx-Connector encuentra un Artículo en la Base de Datos de FactuSOLWeb, sigue los pasos:
  • Toma el Código de la Familia a la que pertenece el Artículo, y busca una correspondencia en el Mapa de Secciones, Familias y Categorías.

  • Si encuentra una correspondencia de una Categoría, creará un Producto en esa Categoría.

  • Si no encuentra una correspondencia de una Categoría, busca el valor de "Categoría por defecto"

  • Si "Categoría por defecto" tiene corresponcia con una Categoría válida, creará un Producto en esa Categoría.

  • Si "Categoría por defecto" no tiene corresponcia con una Categoría válida o es nulo (no tiene asignado ningún valor), se produce un mensaje de error en el componente FSx-Log, y no se creará el Producto.


Cuando las Categorías de la Tienda se crean mediante FSx-Connector (con el componente FSx-Catálogo), las relaciones se establecen automáticamente. En caso de que el árbol de Categorías en la Tienda deba ser diferente al de FactuSOL (o si ha creado ya las Categorías en la Tienda), deberá modificar manualmente las relaciones entre Secciones y Categorías o entre Familias y Categorías.

fsxdic_mapa_opt

tip Cómo Asignar una categoría diferente a una Sección o familia

Siga los pasos:
  • Seleccione la nueva categoría de PrestaShop en el desplegable.

  • Pulse el Icono 'Actualizar' (marcado con (1) en la figura). El Diccionario de Categorías se actualizará sin necesidad de recargar la página (se realiza una petición Ajax).

  • Si la actualización se hizo correctamente, aparecerá el Icono marcado con (2) en la figura.

  • Si falló la actualización, aparecerá el Icono marcado con (3) en la figura.


Tenga en cuenta que una asociación acertada entre Secciones y Categorías, y entre Familias y Categorías, hará posible que FSx-Connector pueda ubicar correctamente los Artículos nuevos que carga en la Tienda (dentro de la Categoría apropiada). También evitará Categorías duplicadas cuando FSx-Connector actualiza el Catálogo (con el componente FSx-Catálogo).

lamp Puede asociar varias Familias de FactuSOL a la misma Categoría de PrestaShop. Los Artículos de todas esas Familias se crearán en la categoría especificada.

lamp NOTA: No se recomienda dejar ninguna Familia sin una Categoría asignada, a menos que en el componente FSx-Catálogo seleccione "Cargar Familias" igual a 'No', y ponga algún valor no nulo para "Categoría por defecto".


Caja de Clientes

En la Caja de Clientes hay dos utilidades para manejar las equivalencias entre Clientes de la Tienda PrestaShop y de FactuSOL.

fsxdic_box_clientes

lamp ¿Cómo funciona el Diccionario de Clientes?

Cuando se importan Clientes a FactuSOL, el Código de Cliente en FactuSOL se calcula sumando el ID (identificador) del Cliente en PrestaShop al Código Base. El resultado es único para cada Cliente de PrestaShop, y si el Código Base es suficientemente alto, no existirá en FactuSOL un Cliente con ese código. De esta forma se establece una correspondencia entre el Código del Cliente en PrestaShop y el que tiene en FactuSOL, que forma una entrada del Diccionario de Clientes. Esta relación es indispensable para realizar correctamente la Descarga de Pedidos desde PrestaShop a FactuSOL.

Ejemplo: supongamos que en FactuSOL los Clientes del mundo real se numeran secuencialmente, empezando desde 1. Un Cliente de PrestaShop cuyo ID es 4 se descargará a FactuSOL y su Código en FactuSOL será 50004.

Las utilidades de la Caja de Clientes permiten alterar las entradas del Diccionario de Clientes, modificando así las correspondencias entre PrestaShop y FactuSOL.

Ejemplo: siguiendo con el ejemplo anterior, supongamos que descubrimos que el Cliente de PrestaShop cuyo ID es 4 ya existía en FactuSOL, y su Código en FactuSOL es 257. Entonces, con "Actualizar Código de Cliente en FactuSOL", haríamos: 'ID en PrestaShop' = 4 , 'ID en FactuSol' = 257 y pulsar "Guardar". La entrada correspondiente del Diccionario de Clientes se actualiza teniendo en cuenta esta relación.


Si introduce un Código de Cliente de PrestaShop, obtendrá, si existe la correspondencia en el Diccionario de Clientes, el Código para este Cliente en FactuSOL.


Actualizar Código de Cliente en FactuSOL

Esta utilidad permite asignar manualmente un Código de FactuSOL a un Cliente de la Tienda PrestaShop (actualizar una correspondencia del Diccionario de Clientes). Se utiliza, por ejemplo, cuando se registra en la Tienda PrestaShop un Cliente que ya existe en FactuSOL.

Si fuera necesario eliminar una correspondencia del Diccionario de Clientes, indique el 'ID en PrestaShop' del Cliente, y haga 'ID en FactuSol' = 0.




Su mensaje:

Cerrar [X]

Gracias por su colaboración.

Cerrar [X]

COMPARTIR