Esta consulta es de hace 3 años. No tome esta información como actualizada. Si tiene problemas con FacturaScripts, consulte la sección ayuda o la sección contacto.
juanjoseprieto88_f74d39
juanjoseprieto88_f74d39
México

Plugin: import_export_csv Tengo una duda con el plugin...

Plugin: import_export_csv

Tengo una duda con el plugin import export csv, cuando se realiza la importacion de articulos, porque tiene que recorrer todos los articulos que tenga registrados en lugar de recorrer solo los que se encuentran en el archivo a importar, es que si tengo 5000 productos los recorre todos y lo hace un poco tardado.
24-11-2017 01:47:04   27-11-2017 14:24:22   64   [NeoRazorX]
Hola, el plugin import_export_csv realiza muchos tipos de importaciones. Necesitaría un poco más de detalle para saber en qué punto no está funcionando correctamente.
Ya lo verifique es en la importacion de articulos avanzada, cuando hace el post_proceso para descargar las imagenes lo hace recorriendo todos los articulos existentes y no solamente en los datos cargados del csv.

<code>
public function post_procesar() {
$continuar = FALSE;

$this->next_offset = $this->offset;
foreach ($this->articulo->all($this->offset, $this->limit2) as $art) {
$aprops = $this->articulo_prop->array_get($art->referencia);
if (isset($aprops['url_img'])) {
$this->descargar_imagen($art, $aprops['url_img']);
$this->articulo_prop->simple_delete($art->referencia, 'url_img');
}

$continuar = TRUE;
$this->next_offset++;
}

if ($continuar) {
if ($this->fuente_csv) {
$this->url_recarga = $this->fuente_csv->url() . '&pprocesar=TRUE&offset2=' . $this->next_offset;
$this->messages[] = 'Recargando...   <i class="fa fa-refresh fa-spin"></i>';
}
} else {
$this->advices[] = 'Terminado <span class="glyphicon glyphicon-ok"></span>';
$this->next_offset = 0;
}

return $continuar;
}
<code>
Ahora si.


public function post_procesar() {
$continuar = FALSE;

$this->next_offset = $this->offset;
foreach ($this->articulo->all($this->offset, $this->limit2) as $art) {
$aprops = $this->articulo_prop->array_get($art->referencia);
if (isset($aprops['url_img'])) {
$this->descargar_imagen($art, $aprops['url_img']);
$this->articulo_prop->simple_delete($art->referencia, 'url_img');
}

$continuar = TRUE;
$this->next_offset++;
}

if ($continuar) {
if ($this->fuente_csv) {
$this->url_recarga = $this->fuente_csv->url() . '&pprocesar=TRUE&offset2=' . $this->next_offset;
$this->messages[] = 'Recargando...   <i class="fa fa-refresh fa-spin"></i>';
}
} else {
$this->advices[] = 'Terminado <span class="glyphicon glyphicon-ok"></span>';
$this->next_offset = 0;
}

return $continuar;
}
Si, lo correcto es que recorra solamente aquellos artículos que debe, pero lo implementé de esa manera por no dar acceso a la base de datos a esa clase.
Cuando migre todo el código a FacturaScripts 2018 ya lo corregiré.
Saludos.
Ok perfecto, por ahora ya lo cambie para que me funcione de esa manera mientras esperamos la actualizacion. gracias.
¿Problemas con FacturaScripts?
Si tiene problemas con FacturaScripts consulte la sección ayuda o la sección contacto.




Copyright (c) 2013-2021 FacturaScripts