Bienvenido a los foros %s

Foro comunidad hispana Dolibarr

Identificarse Registrarse

Problema al revisar un producto compuesto

Si cree que ha encontrado un error en una versión estable, siéntase libre de comunicarlo aquí, indicando la versión.
ejtorres4
Novato
Mensajes: 7
Registrado: Mié, 03/07/2013, 00:18

Problema al revisar un producto compuesto

Mensaje por ejtorres4 »

Buenas tardes!!

He instalado dolibarr,
he registrado los productos
cuando voy a la seccion
"Productos Compuestos"
compongo un producto, parace ser que registra bien la composicion pero al consultar nuevamente la seccion "Productos Compuestos" sale error 500

pero si reviso la misma seccion de un producto no compuesto puedo componerlo, pero al consultarlo ya sale con error 500 la seccion "Productos compuestos"

ejtorres4
Novato
Mensajes: 7
Registrado: Mié, 03/07/2013, 00:18

Mensaje por ejtorres4 »

Perdon la version es la 3.3.2

Avatar de Usuario
marcosgdf
Jedi
Mensajes: 772
Registrado: Vie, 20/07/2012, 14:42
Ubicación: Valladolid, España

Mensaje por marcosgdf »

Hola ejtorres,

La única posibilidad de diagnosticar el problema es revisando el archivo de errores de php, normalmente con el nombre php_error.log. Necesito que lo busques y me pegues aquí las líneas que aparecen en el momento del error 500.

Si no descubrimos más información de diagnóstico me temo que no podré ayudarte...

Un saludo.
Desarrollador con categoría Almirante de Dolibarr.
¿Quiere soporte personalizado? Contacte conmigo.

ejtorres4
Novato
Mensajes: 7
Registrado: Mié, 03/07/2013, 00:18

Mensaje por ejtorres4 »

hola marcosgdf:

Pues no se si dolibarr genera un error php_error.log pero el logs del servidor es el siguiente:

2013-07-03 14:26:55 W3SVC1114 XWDZ7 199.85.212.14 GET /ERP/ERP/htdocs/product/composition/fiche.php id=26 80 - 190.85.33.10 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.1)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/27.0.1453.116+Safari/537.36 locale=en-US;+DOLSESSID_e2e0f633226dd81cb19c4a4fc6778687=od2av7vfvaj8mop7rckteh7gf5;+psaContext=dashboard;+PLESKSESSID=c9877930ffd7d63b2a806790900fdc9c http://www.aguacero.com.co/ERP/ERP/htdo ... .php?id=26 www.aguacero.com.co 500 0 0 1570 614 1528
2013-07-03 14:26:56 W3SVC1114 XWDZ7 199.85.212.14 GET /favicon.ico - 80 - 190.85.33.10 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.1)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/27.0.1453.116+Safari/537.36 locale=en-US;+DOLSESSID_e2e0f633226dd81cb19c4a4fc6778687=od2av7vfvaj8mop7rckteh7gf5;+psaContext=dashboard;+PLESKSESSID=c9877930ffd7d63b2a806790900fdc9c - www.aguacero.com.co 404 0 2 1251 439 312
#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2013-07-03 14:44:43
#Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
2013-07-03 14:44:43 W3SVC1114 XWDZ7 199.85.212.14 GET /ERP/ERP/htdocs/product/composition/fiche.php id=26 80 - 190.85.33.10 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.1)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/27.0.1453.116+Safari/537.36 locale=en-US;+DOLSESSID_e2e0f633226dd81cb19c4a4fc6778687=od2av7vfvaj8mop7rckteh7gf5;+psaContext=dashboard;+PLESKSESSID=c9877930ffd7d63b2a806790900fdc9c http://www.aguacero.com.co/ERP/ERP/htdo ... .php?id=26 www.aguacero.com.co 500 0 0 1570 640 2324
2013-07-03 14:44:44 W3SVC1114 XWDZ7 199.85.212.14 GET /favicon.ico - 80 - 190.85.33.10 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.1)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/27.0.1453.116+Safari/537.36 locale=en-US;+DOLSESSID_e2e0f633226dd81cb19c4a4fc6778687=od2av7vfvaj8mop7rckteh7gf5;+psaContext=dashboard;+PLESKSESSID=c9877930ffd7d63b2a806790900fdc9c - www.aguacero.com.co 404 0 2 1251 439 327

Avatar de Usuario
marcosgdf
Jedi
Mensajes: 772
Registrado: Vie, 20/07/2012, 14:42
Ubicación: Valladolid, España

Mensaje por marcosgdf »

Hola ejtorres4,

Ese es el access_log. Ahí aparecen los accesos al servidor, no los errores...

Busca un poco más a ver si lo puedes encontrar.

Un saludo.
Desarrollador con categoría Almirante de Dolibarr.
¿Quiere soporte personalizado? Contacte conmigo.

ejtorres4
Novato
Mensajes: 7
Registrado: Mié, 03/07/2013, 00:18

Mensaje por ejtorres4 »

hola marcosgdf:

Gracias por tu ayuda, eres muy amable la verdad no encontre el archivo php_error.log pero encontre el dolibarr.log no se si te sirva la verdad.... En el momento del error se genera este registros:

2013-07-04 16:18:36 DEBUG 190.85.33.10 This is an already logged session. _SESSION['dol_login']=ejtorres4
2013-07-04 16:18:36 DEBUG 190.85.33.10 User::fetch sql=SELECT u.rowid, u.name, u.firstname, u.email, u.job, u.signature, u.office_phone, u.office_fax, u.user_mobile, u.admin, u.login, u.webcal_login, u.phenix_login, u.phenix_pass, u.note, u.pass, u.pass_crypted, u.pass_temp, u.fk_societe, u.fk_socpeople, u.fk_member, u.ldap_sid, u.statut, u.lang, u.entity, u.datec as datec, u.tms as datem, u.datelastlogin as datel, u.datepreviouslogin as datep, u.photo as photo, u.openid as openid, u.ref_int, u.ref_ext FROM llx_user as u WHERE u.entity IN (0,1) AND u.login = 'ejtorres4'
2013-07-04 16:18:36 DEBUG 190.85.33.10 User::getrights sql=SELECT r.module, r.perms, r.subperms FROM llx_user_rights as ur, llx_rights_def as r WHERE r.id = ur.fk_id AND r.entity IN (0,1) AND ur.fk_user= 1 AND r.perms IS NOT NULL
2013-07-04 16:18:36 DEBUG 190.85.33.10 User::getrights sql=SELECT r.module, r.perms, r.subperms FROM llx_usergroup_rights as gr, llx_usergroup_user as gu, llx_rights_def as r WHERE r.id = gr.fk_id AND r.entity = 1 AND gr.fk_usergroup = gu.fk_usergroup AND gu.fk_user = 1 AND r.perms IS NOT NULL
2013-07-04 16:18:36 DEBUG 190.85.33.10 --- Access to /ERP/ERP/htdocs/product/composition/fiche.php
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch id=26 ref= ref_ext=
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch sql=SELECT rowid, ref, label, description, note, customcode, fk_country, price, price_ttc, price_min, price_min_ttc, price_base_type, tva_tx, recuperableonly as tva_npr, localtax1_tx, localtax2_tx, tosell, tobuy, fk_product_type, duration, seuil_stock_alerte, canvas, weight, weight_units, length, length_units, surface, surface_units, volume, volume_units, barcode, fk_barcode_type, finished, accountancy_code_buy, accountancy_code_sell, stock, pmp, datec, tms, import_key, entity FROM llx_product WHERE rowid = '26'
2013-07-04 16:18:36 DEBUG 190.85.33.10 Company.lib::getCountry sql=SELECT rowid, code, libelle FROM llx_c_pays WHERE rowid=70
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 26
2013-07-04 16:18:36 DEBUG 190.85.33.10 Menubase::menuLoad mymainmenu= myleftmenu= type_user=0 menu_handler=eldy tabMenu size=0 sql=SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position FROM llx_menu as m WHERE m.entity IN (0,1) AND m.menu_handler IN ('eldy','all') AND m.usertype IN (0,2) ORDER BY m.position, m.rowid
2013-07-04 16:18:36 DEBUG 190.85.33.10 Menubase::menuLoad mymainmenu=products myleftmenu= type_user=0 menu_handler=eldy tabMenu size=0 sql=SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position FROM llx_menu as m WHERE m.entity IN (0,1) AND m.menu_handler IN ('eldy','all') AND m.usertype IN (0,2) ORDER BY m.position, m.rowid
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::getChildsArbo sql=SELECT p.rowid, p.label as label, pa.qty as qty, pa.fk_product_fils as id, p.fk_product_type FROM llx_product as p, llx_product_association as pa WHERE p.rowid = pa.fk_product_fils AND pa.fk_product_pere = 26 AND pa.fk_product_fils != 26
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::getChildsArbo sql=SELECT p.rowid, p.label as label, pa.qty as qty, pa.fk_product_fils as id, p.fk_product_type FROM llx_product as p, llx_product_association as pa WHERE p.rowid = pa.fk_product_fils AND pa.fk_product_pere = 2 AND pa.fk_product_fils != 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch id=2 ref= ref_ext=
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch sql=SELECT rowid, ref, label, description, note, customcode, fk_country, price, price_ttc, price_min, price_min_ttc, price_base_type, tva_tx, recuperableonly as tva_npr, localtax1_tx, localtax2_tx, tosell, tobuy, fk_product_type, duration, seuil_stock_alerte, canvas, weight, weight_units, length, length_units, surface, surface_units, volume, volume_units, barcode, fk_barcode_type, finished, accountancy_code_buy, accountancy_code_sell, stock, pmp, datec, tms, import_key, entity FROM llx_product WHERE rowid = '2'
2013-07-04 16:18:36 DEBUG 190.85.33.10 Company.lib::getCountry sql=SELECT rowid, code, libelle FROM llx_c_pays WHERE rowid=70
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch id=2 ref= ref_ext=
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch sql=SELECT rowid, ref, label, description, note, customcode, fk_country, price, price_ttc, price_min, price_min_ttc, price_base_type, tva_tx, recuperableonly as tva_npr, localtax1_tx, localtax2_tx, tosell, tobuy, fk_product_type, duration, seuil_stock_alerte, canvas, weight, weight_units, length, length_units, surface, surface_units, volume, volume_units, barcode, fk_barcode_type, finished, accountancy_code_buy, accountancy_code_sell, stock, pmp, datec, tms, import_key, entity FROM llx_product WHERE rowid = '2'
2013-07-04 16:18:36 DEBUG 190.85.33.10 Company.lib::getCountry sql=SELECT rowid, code, libelle FROM llx_c_pays WHERE rowid=70
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 --- End access to /ERP/ERP/htdocs/product/composition/fiche.php

Avatar de Usuario
marcosgdf
Jedi
Mensajes: 772
Registrado: Vie, 20/07/2012, 14:42
Ubicación: Valladolid, España

Mensaje por marcosgdf »

Hola ejtorres4,

Me temo que sin el log de errores de PHP no podemos hacer nada... Siento no poder decirte nada más pero sin más información no puedo diagnosticar el fallo.

Se me ocurre que crees otro producto y pruebes la composición a ver si funciona. Si funciona, yo lo que haría sería borrar el producto anterior y crear uno nuevo con las opciones del anterior.

Perdona las molestias.

Un saludo y gracias por confiar en Dolibarr.
Desarrollador con categoría Almirante de Dolibarr.
¿Quiere soporte personalizado? Contacte conmigo.

ejtorres4
Novato
Mensajes: 7
Registrado: Mié, 03/07/2013, 00:18

Mensaje por ejtorres4 »

hola marcosgdf:

Gracias por tu ayuda, eres muy amable la verdad no encontre el archivo php_error.log pero encontre el dolibarr.log no se si te sirva la verdad.... En el momento del error se genera este registros:

2013-07-04 16:18:36 DEBUG 190.85.33.10 This is an already logged session. _SESSION['dol_login']=ejtorres4
2013-07-04 16:18:36 DEBUG 190.85.33.10 User::fetch sql=SELECT u.rowid, u.name, u.firstname, u.email, u.job, u.signature, u.office_phone, u.office_fax, u.user_mobile, u.admin, u.login, u.webcal_login, u.phenix_login, u.phenix_pass, u.note, u.pass, u.pass_crypted, u.pass_temp, u.fk_societe, u.fk_socpeople, u.fk_member, u.ldap_sid, u.statut, u.lang, u.entity, u.datec as datec, u.tms as datem, u.datelastlogin as datel, u.datepreviouslogin as datep, u.photo as photo, u.openid as openid, u.ref_int, u.ref_ext FROM llx_user as u WHERE u.entity IN (0,1) AND u.login = 'ejtorres4'
2013-07-04 16:18:36 DEBUG 190.85.33.10 User::getrights sql=SELECT r.module, r.perms, r.subperms FROM llx_user_rights as ur, llx_rights_def as r WHERE r.id = ur.fk_id AND r.entity IN (0,1) AND ur.fk_user= 1 AND r.perms IS NOT NULL
2013-07-04 16:18:36 DEBUG 190.85.33.10 User::getrights sql=SELECT r.module, r.perms, r.subperms FROM llx_usergroup_rights as gr, llx_usergroup_user as gu, llx_rights_def as r WHERE r.id = gr.fk_id AND r.entity = 1 AND gr.fk_usergroup = gu.fk_usergroup AND gu.fk_user = 1 AND r.perms IS NOT NULL
2013-07-04 16:18:36 DEBUG 190.85.33.10 --- Access to /ERP/ERP/htdocs/product/composition/fiche.php
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch id=26 ref= ref_ext=
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch sql=SELECT rowid, ref, label, description, note, customcode, fk_country, price, price_ttc, price_min, price_min_ttc, price_base_type, tva_tx, recuperableonly as tva_npr, localtax1_tx, localtax2_tx, tosell, tobuy, fk_product_type, duration, seuil_stock_alerte, canvas, weight, weight_units, length, length_units, surface, surface_units, volume, volume_units, barcode, fk_barcode_type, finished, accountancy_code_buy, accountancy_code_sell, stock, pmp, datec, tms, import_key, entity FROM llx_product WHERE rowid = '26'
2013-07-04 16:18:36 DEBUG 190.85.33.10 Company.lib::getCountry sql=SELECT rowid, code, libelle FROM llx_c_pays WHERE rowid=70
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 26
2013-07-04 16:18:36 DEBUG 190.85.33.10 Menubase::menuLoad mymainmenu= myleftmenu= type_user=0 menu_handler=eldy tabMenu size=0 sql=SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position FROM llx_menu as m WHERE m.entity IN (0,1) AND m.menu_handler IN ('eldy','all') AND m.usertype IN (0,2) ORDER BY m.position, m.rowid
2013-07-04 16:18:36 DEBUG 190.85.33.10 Menubase::menuLoad mymainmenu=products myleftmenu= type_user=0 menu_handler=eldy tabMenu size=0 sql=SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position FROM llx_menu as m WHERE m.entity IN (0,1) AND m.menu_handler IN ('eldy','all') AND m.usertype IN (0,2) ORDER BY m.position, m.rowid
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::getChildsArbo sql=SELECT p.rowid, p.label as label, pa.qty as qty, pa.fk_product_fils as id, p.fk_product_type FROM llx_product as p, llx_product_association as pa WHERE p.rowid = pa.fk_product_fils AND pa.fk_product_pere = 26 AND pa.fk_product_fils != 26
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::getChildsArbo sql=SELECT p.rowid, p.label as label, pa.qty as qty, pa.fk_product_fils as id, p.fk_product_type FROM llx_product as p, llx_product_association as pa WHERE p.rowid = pa.fk_product_fils AND pa.fk_product_pere = 2 AND pa.fk_product_fils != 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch id=2 ref= ref_ext=
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch sql=SELECT rowid, ref, label, description, note, customcode, fk_country, price, price_ttc, price_min, price_min_ttc, price_base_type, tva_tx, recuperableonly as tva_npr, localtax1_tx, localtax2_tx, tosell, tobuy, fk_product_type, duration, seuil_stock_alerte, canvas, weight, weight_units, length, length_units, surface, surface_units, volume, volume_units, barcode, fk_barcode_type, finished, accountancy_code_buy, accountancy_code_sell, stock, pmp, datec, tms, import_key, entity FROM llx_product WHERE rowid = '2'
2013-07-04 16:18:36 DEBUG 190.85.33.10 Company.lib::getCountry sql=SELECT rowid, code, libelle FROM llx_c_pays WHERE rowid=70
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch id=2 ref= ref_ext=
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::fetch sql=SELECT rowid, ref, label, description, note, customcode, fk_country, price, price_ttc, price_min, price_min_ttc, price_base_type, tva_tx, recuperableonly as tva_npr, localtax1_tx, localtax2_tx, tosell, tobuy, fk_product_type, duration, seuil_stock_alerte, canvas, weight, weight_units, length, length_units, surface, surface_units, volume, volume_units, barcode, fk_barcode_type, finished, accountancy_code_buy, accountancy_code_sell, stock, pmp, datec, tms, import_key, entity FROM llx_product WHERE rowid = '2'
2013-07-04 16:18:36 DEBUG 190.85.33.10 Company.lib::getCountry sql=SELECT rowid, code, libelle FROM llx_c_pays WHERE rowid=70
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 Product::load_stock sql=SELECT ps.reel, ps.fk_entrepot, ps.pmp FROM llx_product_stock as ps, llx_entrepot as w WHERE w.entity IN (1) AND w.rowid = ps.fk_entrepot AND ps.fk_product = 2
2013-07-04 16:18:36 DEBUG 190.85.33.10 --- End access to /ERP/ERP/htdocs/product/composition/fiche.php
La verdad necesito una solucion si se puede desde aca.. Gracias

ejtorres4
Novato
Mensajes: 7
Registrado: Mié, 03/07/2013, 00:18

Mensaje por ejtorres4 »

ya encontre el error me toco instalarlo en el localhost de mi computador personal y arroja el siguiente error Warning: Illegal string offset 'childs' in htdocsproductclassproduct.class.php on line 2163

Gracias por tu colaboracion

Avatar de Usuario
marcosgdf
Jedi
Mensajes: 772
Registrado: Vie, 20/07/2012, 14:42
Ubicación: Valladolid, España

Mensaje por marcosgdf »

Hola ejtorres4:

¿Te sigue pasando con la última versión de Dolibarr?

Un saludo.
Desarrollador con categoría Almirante de Dolibarr.
¿Quiere soporte personalizado? Contacte conmigo.