- Este debate está vacío.
-
AutorEntradas
-
14 abril, 2010 a las 2:25 pm #31374Juan CasabiancaMiembro
Trate de incorporar mediante elproceso de importar, articulos.
El archivo CSV tiene el siguiente formato.
#26 NEGRO,Cartucho Tinta #26,0,25,0,0En los dos caso me da el siguiente mensaje.
Filas en el archivo / cargadas y preparadas para importar
2 / 0#El error que tira es:
Code:===========> DB.executeUpdate: Update=UPDATE I_Product SET Value=’#26 NEGRO’,Name=’Cartucho Tinta #26′,UPC=0,PriceList=25,C_BPartner_ID=0,M_Product_Category_ID=0,IsActive=’Y’,Processed=’N’,I_IsImported=’N’,Updated=CURRENT_TIMESTAMP,UpdatedBy=100 WHERE I_Product_ID=1014663 [null] [127]
org.postgresql.util.PSQLException: ERROR: insert or update on table “i_product” violates foreign key constraint “cbpartner_iproduct”
Detail: Key (c_bpartner_id)=(0) is not present in table “c_bpartner”.; State=23503; ErrorCode=0
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:437)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:307)
at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.postgresql.ds.common.PooledConnectionImpl$StatementHandler.invoke(PooledConnectionImpl.java:467)
at $Proxy1.executeUpdate(Unknown Source)
at org.openXpertya.util.CPreparedStatement.executeUpdate(CPreparedStatement.java:227)
at org.openXpertya.util.DB.executeUpdate(DB.java:839)
at org.openXpertya.util.DB.executeUpdate(DB.java:786)
at org.openXpertya.impexp.ImpFormat.updateDB(ImpFormat.java:739)
at org.openXpertya.apps.form.VFileImport.cmd_process(VFileImport.java:551)
at org.openXpertya.apps.form.VFileImport.access$000(VFileImport.java:65)
at org.openXpertya.apps.form.VFileImport$1.construct(VFileImport.java:331)
at org.openXpertya.apps.SwingWorker$2.run(SwingWorker.java:45)
at java.lang.Thread.run(Unknown Source)——————————-
===========> DB.saveError: DBExecuteErrorrr – ERROR: insert or update on table “i_product” violates foreign key constraint “cbpartner_iproduct”
Detail: Key (c_bpartner_id)=(0) is not present in table “c_bpartner”. [127]
——————————-
===========> ImpFormat.updateDB: I_Product_ID=1014663 – rows updated=-1 [127]Vi en otro post, que la subfamilia es obligatoria.
-Como saber que campos son obligatorios? En el caso de Subfamilia, va el identificador? De donde lo saco?
Intente Tambien cambiando el tipo de la subfamilia a cadena y poniendo el nombre de la subfamilia.-Para que sirve la funcion copiar lineas en formato de importacion de datos. Con esto copio columnas para mi importacion y podes tener mas campos que importar?
-En Formato de importacion de datos, mas precisamente el registro de Importar Datos, me aparece como Tabla I_Product_Import. En la base yo tengo I_Product, como es esto?
-El boton Importar Productos, dentro de Importar productos, importa todos los articulos que se hayan importado mediante un archivo csv?
-Cual es la tabla de formato de importacion?Saludos
14 abril, 2010 a las 2:38 pm #34384Juan CasabiancaMiembroEl otro caso que no lo cite es
#26 NEGRO,Cartucho Tinta #26,0,25,0,CartuchosEn el formato de importacion cambie el tipo de Familia a Cadena y vi que tira un error con el tipo de datos.
15 abril, 2010 a las 12:24 am #34385Javier AderParticipanteAntes que nada, edita tu post, es muy ancho y no se puede leer
correctamente (bueno, el error es en parte del foro…)
Que versión de libertya estás usando? Al menos en la 10.3 hay un
temita con le formato de importación actual; esta creado para
que en el CVS pongas el id del proveedor y el id de la “subfamilia”
(ojo, NO de la famiilia; esta definido el nombre en el importador).
Ninguno de estos datos es obligatorio, pero si los pones NO tenes
que poner 0; en vez no pongas nada (en vez de
#26 NEGRO,Cartucho Tinta #26,0,25,0,0
pone
#26 NEGRO,Cartucho Tinta #26,0,25,,
)Obvio que de esa manera cuando importes no va a tener asociado ni
una subfamilia ni un proveedor. Si queres solucionar esto tenes
dos opciones:
1)averiguas el id interno del proveedores y de la subamilias que uses
y las pones en el las últimas dos columnas del cvs
o
2) cambias el formato de importación para que las ultimas dos entradas
del cvs no solo sean strings si no que apunten a otra columnas (
en vez C_BPartner_ID_Entidad Comercial; pone BPartner_Value_Bussiness,
para el caso del proveedor y en lugar de M_Product_Category_ID_xxxx
pone ProductCategory_Value_Clave de Categoria; en el caso de la
subfamilia). Ok, pero en este caso tenes que saber el
busqueda del proveedor y de la subfamilia; estos los tenes
en Pestaña Subfamilia-> Valor de Busqueda y Entidades Comerciales->
Valor de busqueda. En cualquier caso, lo que tiene de bueno esta opción
es que aunque pongas cualuqier cosa en las utlimas dos columnss
no te va a tirar error (a lo sumo el producto no va a quedar asociado
a ningun proveedor ni a ninguna subfamilia)15 abril, 2010 a las 2:06 am #34386Federico CristinaSuperadministradorJuan,
Edité el texto para que no se presenten problemas en la visualización del thread.
Cuando tegas que escribir código, podés agregarle el tag “code” para evitar este problema.
Saludos,
Federico15 abril, 2010 a las 7:12 pm #34396Juan CasabiancaMiembroImporte de la manera que respondieron en este post y cuando voy a la venta de Importar Articulos, hago click en Importa productos y me tira el siguiente mensaje:
Code:Importar Artículos0.000000 Errores
0.000000 Artículo: Insertar
0.000000 Artículo: Actualizado
0.000000 Artículo Compra: Insertar
0.000000 Artículo Compra: ActualizadoCambiando la vista a rejilla de datos, me muestra el primer articulo, con el tilde en Importar. Como lo soluciono, no logro incorporar los articulos.
POr otro lado como obtengo los identificadores de las subfamilias y proveedores?
Salidos
16 abril, 2010 a las 4:15 pm #34387Norberto MartinParticipanteBuenas. En mi caso me ocurre exactamente lo mismo. Y otra cosa, importar productos, que diferencia hay con importar artículos?
19 abril, 2010 a las 11:53 am #34407Federico CristinaSuperadministradorBuenas,
Más allá de la aplicación, las tareas de importación son generalmente bastante engorrosas y requieren de mucha paciencia.
El origen del podría deberse a varios factores (por ejemplo, todos los campos están correctamente seteados en cada línea del CSV? se encuentran acorde al formato de importación de artículos? se cargaron correctamente las entradas a partir de la ventana cargar archivos?).
Deberías probar a refrescar la ventana y ver si se presenta algún mensaje en el campo de error, o si la consola puede ayudarte un poco al respecto. También verificá la ventana de errores (herramientas -> preferencias -> errores).
Suerte!
Federico19 abril, 2010 a las 1:41 pm #34411Juan CasabiancaMiembroDespues de varios intentos con el mismo mensaje, de 0 importacion, tiro el siguiente error:
MTab.query No value for link clumn AD_WF_Process_IDDespues cuando guarde el log, me aparece lo siguiente:
Code:——————————-
———–> Msg.getMsg: NOT found: OXPSYS [11]
———–> Msg.getMsg: NOT found: OXPSYS [11]
———–> MLookup.run: AD_Message.AD_Message_ID: Loader – Too many records [46]
———–> MLookup.run: MLookupInfo[AD_Message.AD_Message_ID – Direct=SELECT AD_Message.AD_Message_ID,NULL,AD_Message.Value,AD_Message.IsActive FROM AD_Message WHERE AD_Message.AD_Message_ID=?] [46]
———–> MLookup.run: AD_Message.AD_Message_ID: Loader – Too many records [54]
———–> MLookup.run: MLookupInfo[AD_Message.AD_Message_ID – Direct=SELECT AD_Message.AD_Message_ID,NULL,AD_Message.Value,AD_Message.IsActive FROM AD_Message WHERE AD_Message.AD_Message_ID=?] [54]
———–> MLookup.run: AD_Message.AD_Message_ID: Loader – Too many records [57]
———–> MLookup.run: MLookupInfo[AD_Message.AD_Message_ID – Direct=SELECT AD_Message.AD_Message_ID,NULL,AD_Message.Value,AD_Message.IsActive FROM AD_Message WHERE AD_Message.AD_Message_ID=?] [57]
———–> MLookup.run: AD_Message.AD_Message_ID: Loader – Too many records [59]
———–> MLookup.run: MLookupInfo[AD_Message.AD_Message_ID – Direct=SELECT AD_Message.AD_Message_ID,NULL,AD_Message.Value,AD_Message.IsActive FROM AD_Message WHERE AD_Message.AD_Message_ID=?] [59]
===========> MTab.query: No value for link column AD_WF_Process_ID [11]
——————————-
===========> MTab.query: No value for link column AD_WF_Process_ID [11]Saludos
PD: De donde puedo sacar los identificadores de subfamilias y proveedores?
22 abril, 2010 a las 11:01 am #34412Federico CristinaSuperadministradorJuan,
Ese error no lo encuentro muy relacionado con la actividad de importación. ¿Te fijaste si luego de intentar importar se presenta alguna información en la columna Mensaje de Error al importar de la ventana de Importar Artículos?
Respecto de los identificadores de subfamilias y proveedores que tengas cargados en Libertya, la manera más sencilla de saber que valores tienen es hacer la consulta SQL correspondiente (por ejemplo: SELECT * FROM C_BPartner_ID).
Saludos,
Federico18 mayo, 2010 a las 2:01 pm #34388Dario ParenteMiembroSigo el hilo de este problema de la importacion de articulos.
Quisiera saber si como primer medida esta claro que hay un bug en libertya 10.03 con respecto a la forma de importar articulos.
He probado de varias forma con respecto al archivo cvs y no importa nada, exactamente como le pasa a este usuario que ya lo expuso aca.
En el curso incluso que he tomado tampoco anduvo cuando se tarto el tema de importacion.
Dejo un error que he tomado del log a ver si pueden ayudarme a solucionarlo y que los campos funcionen para la importacion.El erroe que da es.
Code:——————————-
===========> DB.saveError: DBExecuteErrorrr – ERROR: insert or update on table “i_product” violates foreign key constraint “cbpartner_iproduct”
Detail: Key (c_bpartner_id)=(3) is not present in table “c_bpartner”. [52]
——————————-
===========> ImpFormat.updateDB: I_Product_ID=1013631 – rows updated=-1 [52]
——————————-
===========> DB.executeUpdate: Update=UPDATE I_Product SET Value=’3743T’,Name=’ACOPLE DE EXTREMO DIRECCION’,PriceList=254.42,C_BPartner_ID=3,M_Product_Category_ID=0,IsActive=’Y’,Processed=’N’,I_IsImported=’N’,Updated=CURRENT_TIMESTAMP,UpdatedBy=1010717 WHERE I_Product_ID=1013632 [null] [52]
org.postgresql.util.PSQLException: ERROR: insert or update on table “i_product” violates foreign key constraint “cbpartner_iproduct”
Detail: Key (c_bpartner_id)=(3) is not present in table “c_bpartner”.; State=23503; ErrorCode=0
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:437)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:307)
at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.postgresql.ds.common.PooledConnectionImpl$StatementHandler.invoke(PooledConnectionImpl.java:467)
at $Proxy1.executeUpdate(Unknown Source)
at org.openXpertya.util.CPreparedStatement.executeUpdate(CPreparedStatement.java:227)
at org.openXpertya.util.DB.executeUpdate(DB.java:839)
at org.openXpertya.util.DB.executeUpdate(DB.java:786)
at org.openXpertya.impexp.ImpFormat.updateDB(ImpFormat.java:739)
at org.openXpertya.apps.form.VFileImport.cmd_process(VFileImport.java:551)
at org.openXpertya.apps.form.VFileImport.access$000(VFileImport.java:65)
at org.openXpertya.apps.form.VFileImport$1.construct(VFileImport.java:331)
at org.openXpertya.apps.SwingWorker$2.run(SwingWorker.java:45)
at java.lang.Thread.run(Unknown Source)——————————-
===========> DB.saveError: DBExecuteErrorrr – ERROR: insert or update on table “i_product” violates foreign key constraint “cbpartner_iproduct”
Detail: Key (c_bpartner_id)=(3) is not present in table “c_bpartner”. [52]
——————————-
===========> ImpFormat.updateDB: I_Product_ID=1013632 – rows updated=-1 [52]
——————————-
===========> DB.executeUpdate: Update=UPDATE I_Product SET Value=’3745T’,Name=’ACOPLE DE EXTREMO DIRECCION’,PriceList=0,C_BPartner_ID=3,M_Product_Category_ID=0,IsActive=’Y’,Processed=’N’,I_IsImported=’N’,Updated=CURRENT_TIMESTAMP,UpdatedBy=1010717 WHERE I_Product_ID=1013633 [null] [52]
org.postgresql.util.PSQLException: ERROR: insert or update on table “i_product” violates foreign key constraint “cbpartner_iproduct”
Detail: Key (c_bpartner_id)=(3) is not present in table “c_bpartner”.; State=23503; ErrorCode=0
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:437)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:307)
at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.postgresql.ds.common.PooledConnectionImpl$StatementHandler.invoke(PooledConnectionImpl.java:467)
at $Proxy1.executeUpdate(Unknown Source)
at org.openXpertya.util.CPreparedStatement.executeUpdate(CPreparedStatement.java:227)
at org.openXpertya.util.DB.executeUpdate(DB.java:839)
at org.openXpertya.util.DB.executeUpdate(DB.java:786)
at org.openXpertya.impexp.ImpFormat.updateDB(ImpFormat.java:739)
at org.openXpertya.apps.form.VFileImport.cmd_process(VFileImport.java:551)
at org.openXpertya.apps.form.VFileImport.access$000(VFileImport.java:65)
at org.openXpertya.apps.form.VFileImport$1.construct(VFileImport.java:331)
at org.openXpertya.apps.SwingWorker$2.run(SwingWorker.java:45)
at java.lang.Thread.run(Unknown Source)disculpen si s largo.
Gracias
Dario19 mayo, 2010 a las 1:23 pm #34548Cognitiva ConsultoresMiembroDario, el error es muy claro, y te lo enuncia el propio log:
ERROR: insert or update on table “i_product” violates foreign key constraint “cbpartner_iproduct”
Detail: Key (c_bpartner_id)=(3) is not present in table “c_bpartner”.En otras palabras, existe un producto que esta referenciando a un proveedor que no existe, en particular al proveedor con Id = 3.
Las “violates foreign key constraint” o violaciones de restricciones de integridad referencial, impiden que insertes referencias a cosas que no existen. Para solucionarlo, deberías eliminar el producto que referencia al proveedor inexistente o bien insertar primero un proveedor con ese id.
20 mayo, 2010 a las 2:17 pm #34389Dario ParenteMiembroBueno si presisamente como decis el error es porque no existe ese dato.
De todos modos si o si es obligatorio poner el dato de la entidad comercial y de la subfamilia.
Si no se coloca ningun dato al cargar el archivo te lo toma, pero despues uno a uno hay que colocar esos datos antes de importar los articulos.Bien esto es realmente muy engorroso y es por eso que hay que colocar esos datos para poder importar los articulos.
Esos datos y ahi esta el problema se da porque en los campos entidad comercial y familia, (que no es familia sino subfamilia), se tiene que colocar el ID correspondiente a entidad comercial y a subfamilia y no el nombre como se lo cargo a la entidad comercial y a la subfamia.
Aca biene otro problema o pequeño inconveniente para averiguar esos ID respectivos.
Una manera es como explicaron mas arriba y es haciendo la consulta al postgres para poder ver los ID.
Una manera mas facil que yo resolvi es consultando la entidad respectiva a esos articulos y la subfamilia.
Una ves que estamos posicionados en la entidad o subfamilia que corresponde, se puede ver el ID haciendo un click en los numeros que se encuentran en la parte inferior derecha de la pantalla que nos esta dando los datos de entidad comercial o de subfamilia.
Ya con estos datos se pueden cargar los articulos y realizar la importacion con total exito.Tal vez en un futuro la aplicacion libertya maneje una mejor manera o mas sencilla de importar datos, es decir que en ves de averiguar el ID te permita cargar por el nombre de la entidad o algun dato que se vea en el formulario de la entidad o subfamilia como ser nombre o clave.
Dejo claro esto para quienes se vieron en estos problemas de cargar datos y tambien para recordar yo por si me olvido que suele sucederme a menudo, ja.
-
AutorEntradas
- Debes estar registrado para responder a este debate.