- Este debate tiene 18 respuestas, 6 mensajes y ha sido actualizado por última vez el hace 10 años por Saulo Gil.
-
AutorEntradas
-
19 noviembre, 2013 a las 12:31 am #32549Saulo GilMiembroCode:set search_path to libertya, public;
set constraints all deferred;delete from M_RMALine;
delete from M_RMA;
delete from M_PackageLine;
delete from M_Package;
delete from M_MatchPO;
delete from M_MatchInv;
delete from M_InventoryLineMA;
delete from M_Transaction;
delete from M_InOutLine;
delete from M_InventoryLine;
delete from Fact_Acct;
delete from fact_acct_balance;
delete from M_Storage;
delete from C_AcctProcessorLog;
delete from M_Retencion_Invoice;
delete from C_PaySelectionLine;
delete from C_InvoiceLine;
delete from C_OrderLine;
delete from M_InOutLineMA;
delete from C_OrderTax;
delete from C_InvoiceTax;
update c_cashline set c_invoice_id = null where c_invoice_id is not null;
update c_invoice set c_order_id = null where c_order_id is not null;
delete from C_DocumentDiscount;
update C_CashLine set c_allocationhdr_id = null;
delete from C_BankStatementLine;
delete from m_transaction;
delete from M_InOut;
delete from C_AllocationLine;
delete from C_Order;
delete from M_MatchPO;
delete from M_MatchINV;
delete from C_Invoice;
delete from C_CashLine;
delete from C_AllocationHdr;
delete from C_Cash;
delete from T_Invoice;
delete from T_LibroIva;
delete from C_InvoicePaySchedule;
delete from R_RequestProcessorLog;
delete from C_PaySelectionCheck;
delete from M_BoletaDepositoLine;
delete from M_BoletaDeposito;
delete from C_Payment;
delete from C_BankStatementLine;
delete from C_BankStatement;
update C_BankAccount set currentbalance = 0;
update C_Bpartner set totalopenbalance = 0, so_creditused = 0;Enjoy!
17 octubre, 2014 a las 7:12 pm #37978Kristiam AlvarezMiembroEl script no me funcionaba al principio pero no se porque funciono perfectamente y me borro justo lo que yo queria solo quedaron los productos pero sin existencias gracias
20 octubre, 2014 a las 3:30 pm #37979DAVID GOMEZParticipantekrispish es que creo el script hace justamente eso. borrar todas las transacciones, [entre las que entiendo están entradas y salidas de artículos] pero no los artículos en si.
21 octubre, 2014 a las 5:04 am #37980Kristiam AlvarezMiembroAl Aplicar dicho script ahora me aparece lo siguiente:
ERROR: update or delete on table “c_allocationhdr” violates foreign key constraint “allocation_ccashline” on table “c_cashline”
DETAIL: Key (c_allocationhdr_id)=(1011870) is still referenced from table “c_cashline”.********** Error **********
ERROR: update or delete on table “c_allocationhdr” violates foreign key constraint “allocation_ccashline” on table “c_cashline”
SQL state: 23503
Detail: Key (c_allocationhdr_id)=(1011870) is still referenced from table “c_cashline”.21 octubre, 2014 a las 3:35 pm #38806DAVID GOMEZParticipantealguien lo probó ya? me sería muy util ya que estuvimos haciendo pruebas sobre una organización y es mucho más cómodo que hacer odo de nuevo.
31 octubre, 2014 a las 11:59 pm #38808Saulo GilMiembroAcabo de actualizar el script con algunos cambios menores. En caso de cualquier problema pueden seguir reportando aquí así lo seguimos refinando.
Este script actualmente funciona (o debería) en Libertya v13.01 y 14.02, en PostgreSQL >= v8.3 incluyendo la rama v9.x.
4 noviembre, 2014 a las 8:27 pm #38836DAVID GOMEZParticipantecuales serían los cambios menores? o se puede usar como está en 14?
muchas gracias!4 noviembre, 2014 a las 11:25 pm #38807Juan Manuel MartínezParticipanteQuote:Al Aplicar dicho script ahora me aparece lo siguiente:
ERROR: update or delete on table “c_allocationhdr” violates foreign key constraint “allocation_ccashline” on table “c_cashline”
DETAIL: Key (c_allocationhdr_id)=(1011870) is still referenced from table “c_cashline”.********** Error **********
ERROR: update or delete on table “c_allocationhdr” violates foreign key constraint “allocation_ccashline” on table “c_cashline”
SQL state: 23503
Detail: Key (c_allocationhdr_id)=(1011870) is still referenced from table “c_cashline”.Me pasó algo similar. Adjunto la versión modificada que solucionó el problema:
Code:set search_path=libertya, public;
SET CONSTRAINTS ALL DEFERRED;
delete from M_RMALine;
delete from M_RMA;
delete from M_PackageLine;
delete from M_Package;
delete from M_MatchPO;
delete from M_MatchInv;
delete from M_InventoryLineMA;
delete from M_Transaction;
delete from M_InOutLine;
delete from M_InventoryLine;
delete from Fact_Acct;
delete from M_Storage;
delete from C_AcctProcessorLog;
delete from M_Retencion_Invoice;
delete from C_PaySelectionLine;
delete from C_InvoiceLine;
delete from C_OrderLine;
delete from M_InOutLineMA;
delete from C_OrderTax;
delete from C_InvoiceTax;
delete from C_BankStatementLine;
delete from C_DocumentDiscount;
update c_cashline set c_invoice_id = null where c_invoice_id is not null;
update c_invoice set c_order_id = null where c_order_id is not null;
delete from M_InOut;
delete from C_AllocationLine;
delete from C_Invoice;
delete from C_Order;
delete from C_CashLine;
delete from C_AllocationHdr;
delete from C_Cash;
delete from T_Invoice;
delete from T_LibroIva;
delete from C_InvoicePaySchedule;
delete from R_RequestProcessorLog;
delete from C_PaySelectionCheck;
delete from M_BoletaDepositoLine;
delete from M_Boletadeposito;
delete from C_Payment;
delete from c_bankstatement;
update C_BankAccount set currentbalance = 0;Saludos,
Juan Manuel.5 noviembre, 2014 a las 11:18 pm #37981Marcelo GarciaParticipanteQuería aprovechar este thread para pedirles si alguien podría decirme que script debería correr para sólo borrar los pendientes de entrega y pendientes de recibir de los artículos, ya que se nos van generando estos pendientes y si bien tomándonos el trabajo de anular el documento que los generó, nos encontramos que tenemos un arrastre de documentos que fueron cerrados y no podemos dejar en cero los pendientes de varios artíulos.
Muchas gracias!!!
Marcelo
5 noviembre, 2014 a las 11:36 pm #38845Saulo GilMiembroMuchas gracias Juan Manuel, estuve comparando ambos scripts y modifiqué el orden de algunas instrucciones en base a lo que vos hiciste, aunque aún no tuve tiempo de probarlo. La mayoría de esos cambios son bastante lógicos, descubrí que había algunas tablas de detalle que estaban despues de las tablas de cabecera.
5 noviembre, 2014 a las 11:40 pm #38847Saulo GilMiembromgarcia wrote:Quería aprovechar este thread para pedirles si alguien podría decirme que script debería correr para sólo borrar los pendientes de entrega y pendientes de recibir de los artículos, ya que se nos van generando estos pendientes y si bien tomándonos el trabajo de anular el documento que los generó, nos encontramos que tenemos un arrastre de documentos que fueron cerrados y no podemos dejar en cero los pendientes de varios artíulos.Muchas gracias!!!
Marcelo
No es necesario anular estos documentos, con pasarlos al estado cerrado se logra el mismo efecto. Yo te recomendaría generar algun proceso que te cierre automáticamente todos los documentos expirados, utilizando como referencia la fecha de vencimiento o algún parametro personalizado (e.g.: cerrar todos los documentos abiertos con mas de X días de antiguedad).
En el caso de que quieras armar algo más casero deberías trabajar con la tabla m_storage.
6 noviembre, 2014 a las 1:04 am #38848Marcelo GarciaParticipanteGracias por tu respuesta!
El problema que tengo es que algunos documentos que generaron pendientes ya están cerrados y no puedo eliminar esos pendientes. Este problema lo tuve con la versión anterior, ahora con la 14.02 no me está pasando más…
6 noviembre, 2014 a las 11:21 pm #37982Kristiam AlvarezMiembroAl correr dicho script en libertya 14.02 me da el siguiente error:
ERROR: update or delete on table “c_cash” violates foreign key constraint “cash_posjournal” on table “c_posjournal”
DETAIL: Key (c_cash_id)=(1010074) is still referenced from table “c_posjournal”.********** Error **********
ERROR: update or delete on table “c_cash” violates foreign key constraint “cash_posjournal” on table “c_posjournal”
SQL state: 23503
Detail: Key (c_cash_id)=(1010074) is still referenced from table “c_posjournal”.7 noviembre, 2014 a las 7:29 am #38849Saulo GilMiembrokrispish wrote:Al correr dicho script en libertya 14.02 me da el siguiente error:ERROR: update or delete on table “c_cash” violates foreign key constraint “cash_posjournal” on table “c_posjournal”
DETAIL: Key (c_cash_id)=(1010074) is still referenced from table “c_posjournal”.********** Error **********
ERROR: update or delete on table “c_cash” violates foreign key constraint “cash_posjournal” on table “c_posjournal”
SQL state: 23503
Detail: Key (c_cash_id)=(1010074) is still referenced from table “c_posjournal”.¿ Podrías probar ejecutando la sentencia delete from C_PosJournal antes de delete from C_CashLine ?
7 noviembre, 2014 a las 10:56 pm #38855Federico CristinaSuperadministradorBuenas,
No se ya lo comentaron, pero una alternativa rápida es la de deshabilitar todos los triggers de cada tabla:
Code:ALTER TABLE tabla DISABLE TRIGGER ALL
DELETE FROM tabla
ALTER TABLE tabla ENABLE TRIGGER ALLIdeal para casos donde se presenta referencias cíclicas. La desventaja es que puede llegar a quedar alguna inconsistencia, dado que no hay validación referencial alguna bajo este método.
Saludos,
Federico -
AutorEntradas
- Debes estar registrado para responder a este debate.