Jump to content

Desarrollador de modulo o script para actualizar stock auto. desde archi xml o csv.


GRC

Recommended Posts

Hola. Necesitaria que alguien me pasara presupuesto de un modulo, script o lo que sea para actualizar/sincronizar el stock de mi tienda online con el de mis tiendas fisicas. Mi programa informático puede generar archivos xml, csv, xls, con los datos de stock, y referencia (con productos con talla y color, es decir con combinaciones) pero no contiene todos los campos que pide prestashop.De momento me conformaría con la actualización del stock automatizada con una tarea CRON por ejemplo, cada x minutos modificando únicamente el stock disponible incluido en el archivo que mi programa genera. El resto de campos deberia dejarlos igual, sin machacarlos.. El importar todos los artículos se me antoja mas complicado por que el programa informatico no contiene todos los campos necesarios para rellenar los que necesita prestashop: Descripcion corta, larga, metas etc...y deberia añadirlos en mi programa para que al generar el csv, éste los incluyera.

He contactado con una persona pero creo que sus exigencias son demasiado elevadas para lo que pido, o por lo menos eso creo. 

Si alguien puede desarrollar esto estoy muy interesado. 

 

Gracias.

Link to comment
Share on other sites

Buenas, no habíamos visto este mensaje hasta ahora e intuyo que tú tampoco nos habías visto a nosotros a pesar de que a veces damos la "lata" en este subforo, bueno indicarte que disponemos de experiencia en esto y podemos enviarte presupuesto si aun lo necesitas. Te mando PM...

 

Saludos.

Link to comment
Share on other sites

Buenas tardes Jose Luis,

 

Yo estoy en la misma situacion que el compañero, tengo una tienda fisica en la que trabajo con un programa TPV que se basa en una base de datos Access, a la que tengo acceso total para modificar sin problemas, pero estoy montando una tienda online con todos los articulos de mi tienda fisica y estoy volviendome loco para poder encontrar la forma de que la tienda fisica y la tienda online utilicen el mismo stock automaticamente.

 

Si me puedes enviar informacion y precios te estaria agradecido.

 

Gracias.

 

www.CompatiblesValencia.es

Link to comment
Share on other sites

  • 1 month later...

Hola:

 

Por si te fuese de utilidad, indicarte que nosotros disponemos de un CONECTOR, que por un lado está 100% integrado con PrestaShop (a través de sus Servicios Web), y por el otro lado lo podemos configurar contra cualquier ERP, actualmente lo tenemos configurado con varios ERP (SAP.B.1, A3ERP, ...).

Quedamos a tu disposición por si precisas ampliar información.

 

José María Caballero Castejón

[email protected]

www.algoratma.es

Link to comment
Share on other sites

Si es para trabajar con CSV, XML o XLS nosotros tenemos un módulo que dependiendo del EAN del producto, puede hacer varias cosas, solo habría que modificar un poco para acoplarlo al formato de vuestros ficheros.

 

Mandarnos un mail o llamarnos y lo hablamos.

 

Saludos

Link to comment
Share on other sites

Hola, soy Tomás.

Estamos desarrollando un TPV y ERP online para Prestashop, donde podrás gestionar tu negocio y tu tienda online.

Podrás llevar un stock actualizado en tiempo real, varios almacenes, traspaso entre almacenes y mucho mas...

Para mas información, visita www.riojasolutions.com

Cualquier duda o comentario que hacernos, contacta con nosotros.

 

Saludos

Link to comment
Share on other sites

  • 1 year later...

Hola,

 

WASATO ha creado un módulo para la integración / sincronización completa de tu tienda PrestaShop con cualquier formato legible, proveedor, ERP,  o archivo CSV y XML: Si lo que desea es poder dedicar más tiempo a las ventas, ¡esta es tu solución!

 

El módulo WDAILY es la herramienta indispensable para crear desde “0” Tu catálogo de productos sirve para importar y mantener actualizada de manera automática la información de los productos, precios, stock y mucho más.

 

Este módulo también puede ser usado en tiendas que ya tienen creado el catálogo de productos, con WDAILY podrás agregar el número de proveedores que desee y relacionar categorías.

 

Esta herramienta es completamente configurable a las necesidades de cada usuario, pudiendo así personalizar esta solución a su propia estrategia de marketing. Además podrá trabajar desde cualquier lugar que tenga acceso a internet bastara entre al back office de su tienda y listo.

 

Si desea más información puede ponerse en contacto con nosotros haciendo clic aquí

Edited by WASATO
Eliminado 3 de 4 enlaces (see edit history)
Link to comment
Share on other sites

Hola. Necesitaria que alguien me pasara presupuesto de un modulo, script o lo que sea para actualizar/sincronizar el stock de mi tienda online con el de mis tiendas fisicas. Mi programa informático puede generar archivos xml, csv, xls, con los datos de stock, y referencia (con productos con talla y color, es decir con combinaciones) pero no contiene todos los campos que pide prestashop.De momento me conformaría con la actualización del stock automatizada con una tarea CRON por ejemplo, cada x minutos modificando únicamente el stock disponible incluido en el archivo que mi programa genera. El resto de campos deberia dejarlos igual, sin machacarlos.. El importar todos los artículos se me antoja mas complicado por que el programa informatico no contiene todos los campos necesarios para rellenar los que necesita prestashop: Descripcion corta, larga, metas etc...y deberia añadirlos en mi programa para que al generar el csv, éste los incluyera.

He contactado con una persona pero creo que sus exigencias son demasiado elevadas para lo que pido, o por lo menos eso creo. 

Si alguien puede desarrollar esto estoy muy interesado. 

 

Gracias.

 

Les recomiendo este servicio: http://prestashop-sync.com/

Link to comment
Share on other sites

  • 2 years later...

Aquí os dejo un script que encontré y yo le añadí algunos campos mas lo que pasa es que como no entiendo mucho...

<?php

// REMOTE CSV FILE (CUSTOMIZE YOURCSVFILEPATH, CAN BE AN URL OR A LOCAL PATH)
$remote_csv_file = 'http://tuurl.csv';
//MY PATH; CHANGE TO YOUR NEED, SAME FOR THE FILE NAME
// DB CONNECTION (CUSTOMIZE YOURDBHOSTNAME AND YOURDBPORT)
$db = new PDO("mysql:host=localhost;port=3306;dbname=" . tu base de datos . "", tu usuario, contraseña);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

set_time_limit(6000);

// RESET CYCLE

//START

$default_qta = 0;
$updateAll   = $db->prepare("update " . ps_ . "product SET quantity = :default_qta");
$updateAll->execute(array(
    ':default_qta' => $default_qta
));

$updateAll = $db->prepare("update " . ps_ . "product_attribute SET quantity = :default_qta");
$updateAll->execute(array(
    ':default_qta' => $default_qta
));

$updateAll = $db->prepare("update " . ps_ . "stock_available SET quantity = :default_qta");
$updateAll->execute(array(
    ':default_qta' => $default_qta
));
// END

// MAIN CYCLE
$row_num = 0;
if (($handle = fopen($remote_csv_file, "r")) !== false) {
    while (($data = fgetcsv($handle, 1000, ";")) !== false) {
        $row_num++;
        if ($row_num == 1) {
            // SKIP FIRST LINE (HEADER)
            continue;
        }
        if ($data[4] == '' || !is_numeric($data[15])) {
            // SKIP EMPTY VALUES
            continue;
        }
        // INPUT SANITIZATION
        $reference =':reference';
        $quantity  =':quantity';
        $price = ':price';
        $ean13 = ':ean13';
        $reference = trim($data[4]);
        $quantity  = ($data[15] >= 0) ? $data[15] : 0;
        $price = ($data[11]);
        $ean13 =($data[19]);
       
        try {
            $res4 = $db->prepare("SELECT id_product, id_product_attribute from " . ps_ . "product_attribute WHERE reference = :reference");
            $res4->execute(array(
                ':reference' => $reference
            ));
           
            if ($res4 -> rowCount() > 0){
               
                // IT'S A PRODUCT COMBINATION
               
                $row4 = $res4->fetch();
               
                $res = $db->prepare("update " . ps_ . "stock_available set quantity = :q where id_product_attribute = :id_product_attribute");
                $res->execute(array(
                    ':q' => $quantity,
                    ':id_product_attribute' => $row4['id_product_attribute']
                ));
               
                $res = $db->prepare("update " . ps_ . "product_attribute set quantity = :q where id_product_attribute = :id_product_attribute");
                $res->execute(array(
                    ':q' => $quantity,
                    ':id_product_attribute' => $row4['id_product_attribute']
                ));
               
                $res = $db->prepare("update " . ps_ . "stock_available set quantity = quantity + :q where id_product = :id_product and id_product_attribute = 0");
                $res->execute(array(
                    ':q' => $quantity,
                    ':id_product' => $row4['id_product']
                ));
               
                $res = $db->prepare("update " . ps_ . "product set quantity = quantity + :q where id_product = :id_product");
                $res->execute(array(
                    ':q' => $quantity,
                    ':id_product' => $row4['id_product']
                ));

                   $res = $db->prepare("update " . ps_ . "product_attribute set price = :P where id_product = :id_product");
                $res->execute(array(
                    ':p' => $price,
                    ':id_product' => $row4['id_product']
                ));
               
                $row4 = $res4->fetch();
               
                $res = $db->prepare("update " . ps_ . "product_attribute set ean13 = :e where id_product_attribute = :id_product_attribute");
                $res->execute(array(
                    ':e' => $ean13,
                    ':id_product_attribute' => $row4['id_product_attribute']
                ));

              
               
            } else {
               
                // IT'S A SIMPLE PRODUCT
               
                $res4 = $db->prepare("SELECT id_product from " . ps_ . "product WHERE reference = :reference");
                $res4->execute(array(
                    ':reference' => $reference
                ));

                if ($res4 -> rowCount() > 0) {
                    $row4 = $res4->fetch();
                   
                    $res = $db->prepare("update " . ps_ . "stock_available set quantity = :q where id_product = :id_product and id_product_attribute = 0");
                    $res->execute(array(
                        ':q' => $quantity,
                        ':id_product' => $row4['id_product']
                    ));
                   
                    $res = $db->prepare("update " . ps_ . "product set quantity = :q where id_product = :id_product");
                    $res->execute(array(
                        ':q' => $quantity,
                        ':id_product' => $row4['id_product']
                    ));

                     $res = $db->prepare("update " . ps_ . "product set price = :P where id_product = :id_product");
                     $res->execute(array(
                        ':p' => $price,
                        ':id_product' => $row4['id_product']
                ));

                     $res = $db->prepare("update " . ps_ . "product set ean13 = :e where id_product = :id_product");
                     $res->execute(array(
                        ':e' => $ean13,
                        ':id_product' => $row4['id_product']
                ));

                }
               
            }
        }
        catch (PDOException $e) {
            echo 'Sql Error: ' . $e->getMessage() . '<br /><br />';
        }
    }
    fclose($handle);
}
?>
<br><br><br></br></br></br><center>Actualizacion realizada con exito</center>

 

 

Cambiar números de columnas del CSV por los vuestros recordad que la primera columna del CSV es 0 la segunda 1 etc etc

 

Si da error de síntesis cambiar por vuestros datos en la conexión a la base de datos. Tenia los mios funcionando a la perfección y lo edite sin comprobarlo.

 

Espero que OS sirva igual que me sirve a mi. Actualiza productos simples y productos con combinación.

 

Saludos

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...