423// loCliente._RECC = false; // Siempre a false pues actualmente en el proceso interviene FOX y no se podria hacer la prueba.
424// loCliente._Contrapartida = "";
425// loCliente._RecargoFinanciero = tnRecFinan;
426// loCliente._Save();
427// }
428
429
430// /// <summary>
431// /// Comprobar datos propios de la prueba
432// /// </summary>
433// public void ComprobarDatosPrueba()
434// {
435
436// // Verifico que tengo el cliente en la bd.
437// if (!string.IsNullOrWhiteSpace(this._Cliente))
438// {
439// sage.ew.cliente.Cliente loCliente = new sage.ew.cliente.Cliente();
440// loCliente._Codigo = this._Cliente;
441// loCliente._Load();
442// Assert.AreEqual(ewMante._EstadosMantenimiento.MostrandoRegistro, loCliente._Estado, "No existe el cliente " + this._Cliente);
443// }
444
445// // Verifico que tengo la contrapartida en la bd.
446// if (!string.IsNullOrWhiteSpace(this._Contrapartida))
447// {
448// Cuenta loCuenta = new Cuenta();
449// loCuenta._Codigo = this._Contrapartida;
450// loCuenta._Load();
451// Assert.AreEqual(ewMante._EstadosMantenimiento.MostrandoRegistro, loCuenta._Estado, "No existe la contrapartida " + this._Contrapartida);
452// }
453
454// // Verifico que tengo el TIPOIVA en la bd.
455// TipoIVA loTipoIva = new TipoIVA();
456// loTipoIva._Codigo = this._TipoIva;
457// loTipoIva._Load();
458// Assert.AreEqual(ewMante._EstadosMantenimiento.MostrandoRegistro, loTipoIva._Estado, "No existe el tipo de IVA " + this._TipoIva + " para el test AsientosFacturasVentaGeneradorTest");
459
460
461
462// // Verifico que tengo el TIPOIVA exento en la bd.
463// TipoIVA loTipoIva2 = new TipoIVA();
464// loTipoIva2._Codigo = this._TipoIvaEx;
465// loTipoIva2._Load();
466// Assert.AreEqual(ewMante._EstadosMantenimiento.MostrandoRegistro, loTipoIva2._Estado, "No existe el tipo de IVA EXENTO " + this._TipoIvaEx + " para el test AsientosFacturasVentaGeneradorTest");
467
468
469
470// // Verifico que tengo el TIPORET en la bd.
471// TipoRetencion loTipoRet = new TipoRetencion();
472// loTipoRet._Codigo = this._TipoRet;
473// loTipoRet._Load();
474// Assert.AreEqual(ewMante._EstadosMantenimiento.MostrandoRegistro, loTipoRet._Estado, "No existe el tipo de retención " + this._TipoRet + " para el test AsientosFacturasVentaGeneradorTest");
475// }
476
477
478// /// <summary>
479// /// Eliminar datos que pueda haber de la factura que se pretende generar.
480// /// </summary>
481// public void EliminacionDatosPruebasAnteriores()
482// {
483// bool llOk = true;
484
485// if (!string.IsNullOrWhiteSpace(this._Empresa) && string.IsNullOrWhiteSpace(this._Cliente) && !string.IsNullOrWhiteSpace(this._Factura))
486// {
487// llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "asientos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'");
488// Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudo eliminar el asiento para la factura la (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
489// }
490
491// // Borrar datos de la factura que se pretende generar en IVAREPER
492// llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa +"' and numfra='" + this._Factura + "'");
493// Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de IVAREPER para la (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
494
495// // Borrar datos de la factura que se pretende generar en IVA_EXEN
496// llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "iva_exen") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and factura='" + this._Factura + "' and tipo=2");
497// Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de IVA_EXEN para la (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
498
499// // Borrar datos de la factura que se pretende generar en RETREPER
500// llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "retsopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'");
501// Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de RETSOPOR para la (EMPRESA, CUENTA, FACTURA) (" + this._Empresa + "," + this._Cliente + "," + this._Factura + ")");
502
503// // Borrar datos de la factura que se pretende generar en PREVI_CL
504// llOk = DB.SQLExec("delete from " + DB.SQLDatabase("comunes", "previ_cl") + " where empresa='" + this._Empresa + "' and cliente='" + this._Cliente + "' and factura='" + this._Factura + "'");
505// Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de PREVI_CL para la (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
506
507// // Borrar datos de la factura que se pretende generar en EOS
508// llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'");
509// Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de EOS para la (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
510
511// }
512
513
514// /// <summary>
515// /// Prueba de creación de asiento de factura de venta TEST1:
516// /// Retencion cliente: no
517// /// Rec.Equiv cliente: no
518// /// Rec.Financiero cliente: no
519// /// Pronto pago: no
520// /// Asiento de venta a cliente sin retención, sin pronto pago, sin recargo equiv., sin recargo financiero, cliente nacional, IVA al 21%
521// /// Base 1000, IVA 210, Total 1210
522// ///</summary>
523// [Owner(Owners.JoseMaria_Gay),
524// TestMethod(),
525// Description("Asiento de factura de venta a cliente sin retención, sin pronto pago, sin recargo equiv., sin recargo financiero, cliente nacional, IVA 21%, Base 1000, IVA 210, Total 1210"),
526// DeploymentItem("sage.50.exe")]
527// [Priority(1)]
528// public void AsientosFacturasVentasGeneradorTest1()
529// {
530// bool llOk = false;
531
532// this._Cliente = "43070000";
533// this._Contrapartida = "70000001";
534// this._Factura = "XX".PadLeft(10);
535// this._BaseIva = 1000;
536// this._ImpContrapartida = 1000;
537// this._TipoIva = "XX";
538// this._TipoRet = "XX";
539// this._TipoIvaEx = "XE";
540
541// // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
542// PrepararDatosPrueba();
543
544
545// // Configura la ficha del cliente para la prueba: sin retencion, sin recargo, sin pronto, cliente nacional, sin recargo financiero
603// Assert.AreEqual(llOk, true, "Test 1 GeneradorAsientosFacturasVenta. No se pudo generar el asiento de factura de venta de la prueba para la factura " +
622// Assert.AreEqual(3, loAsiento._Lineas.Count, "Test 1 GeneradorAsientosFacturasVenta. Asiento generado correctamente pero se esperaban 3 lineas y tiene " + loAsiento._Lineas.Count.ToString());
623// if (loAsiento._Lineas.Count == 3)
624// {
625// TipoIVA loTipoIva = new TipoIVA();
626
627// loTipoIva._Codigo = this._TipoIva;
628
629// // Verificamos que en cada linea haya la cuenta que esperamos
630// Assert.AreEqual(this._Cliente, loAsiento._Lineas[0]._Cuenta, "Test 1 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener cuenta contable " + this._Cliente + " y es " + loAsiento._Lineas[0]._Cuenta);
631// Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 1 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
632// Assert.AreEqual(loTipoIva._Cta_IVA_Rep, loAsiento._Lineas[2]._Cuenta, "Test 1 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Rep + " y es " + loAsiento._Lineas[2]._Cuenta);
633
634
635// // Verificamos que en cada linea haya el importe que esperamos
636// Assert.AreEqual(1210, loAsiento._Lineas[0]._Debe, "Test 1 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener importe 1210 en el DEBE y tiene " + loAsiento._Lineas[0]._Debe);
637// Assert.AreEqual(1000, loAsiento._Lineas[1]._Haber, "Test 1 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener importe 1000 en el HABER y tiene " + loAsiento._Lineas[1]._Haber);
638// Assert.AreEqual(210, loAsiento._Lineas[2]._Haber, "Test 1 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener importe 210 en el HABER y tiene " + loAsiento._Lineas[2]._Haber);
639
640// // Verificamos un registro en IVAREPER.
641// DataTable ldtRegIvareper = new DataTable();
642// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegIvareper);
643// Assert.AreEqual(1, ldtRegIvareper.Rows.Count, "Test 1 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registro de IVAREPER en el asientos para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
644
645// // Verificamos previsiones de pago generadas.
646// DataTable ldtRegPreviCl = new DataTable();
647// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previ_cl") + " where empresa='" + this._Empresa + "' and cliente='" + this._Cliente + "' and factura='" + this._Factura + "'", ref ldtRegPreviCl);
648// Assert.IsTrue(ldtRegPreviCl.Rows.Count > 0, "Test 1 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en COMUNES.PREVI_CL para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
649
650// // Verificamos registros EOS
651// DataTable ldtRegEOS = new DataTable();
652// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Contrapartida + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
653// Assert.IsTrue(ldtRegPreviCl.Rows.Count > 0, "Test 1 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
654
655// }
656// }
657// }
658// }
659
660// EliminacionDatosPruebasAnteriores();
661// }
662
663
664// /// <summary>
665// /// Prueba de creación de asiento de factura de venta TEST2:
666// /// Retencion cliente: no
667// /// Rec.Equiv cliente: si
668// /// Rec.financiero clente: no
669// /// Pronto pago: si
670// /// Asiento de venta a cliente sin retención, con pronto pago, con recargo equiv, sin recargo financiero, cliente nacional, IVA 21%, RECEQUIV 1%, P.P. 10%
671// /// Base 1000, IVA 210, RecEquiv 10, Total 1220
672// ///</summary>
673// [Owner(Owners.JoseMaria_Gay),
674// TestMethod(),
675// Description("Asiento de factura de venta a cliente sin retención, con pronto pago, con recargo equiv, sin recargo financiero, cliente nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, Base 1000, IVA 210, RecEquiv 10, Total 1220"),
676// DeploymentItem("sage.50.exe")]
677// [Priority(1)]
678// public void AsientosFacturasVentasGeneradorTest2()
679// {
680// bool llOk = false;
681
682// this._Cliente = "43070000";
683// this._Contrapartida = "70000001";
684// this._Factura = "XX".PadLeft(10);
685// this._BaseIva = 1000;
686// this._ImpContrapartida = 1111.11M;
687// this._TipoIva = "XX";
688// this._TipoRet = "XX";
689// this._TipoIvaEx = "XE";
690
691// // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
692// PrepararDatosPrueba();
693
694
695// // Configura la ficha del cl iente para la prueba: sin retencion, con recargo equivalencia, con 10% pronto pago, cliente nacional, sin recargo financiero
753// Assert.AreEqual(llOk, true, "Test 2 GeneradorAsientosFacturasVenta. No se pudo generar el asiento de factura de venta de la prueba para la factura " +
772// Assert.AreEqual(5, loAsiento._Lineas.Count, "Test 2 GeneradorAsientosFacturasVenta. Asiento generado correctamente pero se esperaban 5 lineas y tiene " + loAsiento._Lineas.Count.ToString());
773// if (loAsiento._Lineas.Count == 5)
774// {
775// TipoIVA loTipoIva = new TipoIVA();
776
777// loTipoIva._Codigo = this._TipoIva;
778
779// // Verificamos que en cada linea haya la cuenta que esperamos
780// Assert.AreEqual(this._Cliente, loAsiento._Lineas[0]._Cuenta, "Test 2 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener cuenta contable " + this._Cliente + " y es " + loAsiento._Lineas[0]._Cuenta);
781// Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 2 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
782// Assert.AreEqual(loTipoIva._Cta_IVA_Rep, loAsiento._Lineas[2]._Cuenta, "Test 2 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Rep + " y es " + loAsiento._Lineas[2]._Cuenta);
783// Assert.AreEqual(loTipoIva._Cta_REC_Rep, loAsiento._Lineas[3]._Cuenta, "Test 2 GeneradorAsientosFacturasVenta. La cuarta linea del asiento debería tener cuenta contable de RECEQUIV " + loTipoIva._Cta_REC_Rep + " y es " + loAsiento._Lineas[3]._Cuenta);
785// Assert.AreEqual(lcCuentaPPVentas, loAsiento._Lineas[4]._Cuenta, "Test 2 GeneradorAsientosFacturasVenta. La quinta linea del asiento debería tener cuenta contable de DTO.P.P. VENTAS " + lcCuentaPPVentas + " y es " + loAsiento._Lineas[4]._Cuenta);
786
787// // Verificamos que en cada linea haya el importe que esperamos
788// Assert.AreEqual(1220, loAsiento._Lineas[0]._Debe, "Test 2 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener importe 1220 en el DEBE y tiene " + loAsiento._Lineas[0]._Debe);
789// Assert.AreEqual<decimal>(1111.11M, loAsiento._Lineas[1]._Haber, "Test 2 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener importe 1111.11 en el HABER y tiene " + loAsiento._Lineas[1]._Haber);
790// Assert.AreEqual(210, loAsiento._Lineas[2]._Haber, "Test 2 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener importe 210 en el HABER y tiene " + loAsiento._Lineas[2]._Haber);
791// Assert.AreEqual(10, loAsiento._Lineas[3]._Haber, "Test 2 GeneradorAsientosFacturasVenta. La cuarta linea del asiento debería tener importe 10 en el HABER y tiene " + loAsiento._Lineas[3]._Haber);
792// Assert.AreEqual<decimal>(111.11M, loAsiento._Lineas[4]._Debe, "Test 2 GeneradorAsientosFacturasVenta. La quinta linea del asiento debería tener importe 111.11 en el DEBE y tiene " + loAsiento._Lineas[4]._Debe);
793
794// // Verificamos un registro en IVAREPER.
795// DataTable ldtRegIvareper = new DataTable();
796// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegIvareper);
797// Assert.AreEqual(1, ldtRegIvareper.Rows.Count, "Test 2 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registro de IVAREPER en el asientos para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
798
799// // Verificamos previsiones de pago generadas.
800// DataTable ldtRegPreviCl = new DataTable();
801// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previ_cl") + " where empresa='" + this._Empresa + "' and cliente='" + this._Cliente + "' and factura='" + this._Factura + "'", ref ldtRegPreviCl);
802// Assert.IsTrue(ldtRegPreviCl.Rows.Count > 0, "Test 2 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en COMUNES.PREVI_CL para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
803
804// // Verificamos registros EOS
805// DataTable ldtRegEOS = new DataTable();
806// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Contrapartida + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
807// Assert.IsTrue(ldtRegPreviCl.Rows.Count > 0, "Test 2 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
808// }
809// }
810// }
811// }
812
813// EliminacionDatosPruebasAnteriores();
814// }
815
816
817// /// <summary>
818// /// Prueba de creación de asiento de factura de venta TEST3:
819// /// Retencion cliente: si, sobre base.
820// /// Rec.Equiv cliente: si
821// /// Recargo financiero: no
822// /// Pronto pago: si
823// /// Asiento de factura de venta a cliente con retención, con pronto pago, con recargo equiv, sin recargo financiero, cliente nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, RET.BASE 15%
824// /// Base 1000, IVA 210, RecEquiv 10, Ret. 150, Total 1070
825// ///</summary>
826// [Owner(Owners.JoseMaria_Gay),
827// TestMethod(),
828// Description("Asiento de factura de venta a cliente con retención, con pronto pago, con recargo equiv, sin recargo financiero, cliente nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, RET.BASE 15%, Base 1000, IVA 210, RecEquiv 10, Ret. 150, Total 1070"),
829// DeploymentItem("sage.50.exe")]
830// [Priority(1)]
831// public void AsientosFacturasVentasGeneradorTest3()
832// {
833// bool llOk = false;
834
835// this._Cliente = "43070000";
836// this._Contrapartida = "70000001";
837// this._Factura = "XX".PadLeft(10);
838// this._BaseIva = 1000;
839// this._ImpContrapartida = 1111.11M;
840// this._TipoIva = "XX";
841// this._TipoRet = "XX";
842// this._TipoIvaEx = "XE";
843
844// // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
845// PrepararDatosPrueba();
846
847
848// // Configura la ficha del cliente para la prueba: con retencion sobre base, con recargo equiv, con pronto, cliente nacional, sin recargo financiero
906// Assert.AreEqual(llOk, true, "Test 3 GeneradorAsientosFacturasVenta. No se pudo generar el asiento de factura de venta de la prueba para la factura " +
925// Assert.AreEqual(6, loAsiento._Lineas.Count, "Test 3 GeneradorAsientosFacturasVenta. Asiento generado correctamente pero se esperaban 6 lineas y tiene " + loAsiento._Lineas.Count.ToString());
926// if (loAsiento._Lineas.Count == 6)
927// {
928// TipoIVA loTipoIva = new TipoIVA();
929// loTipoIva._Codigo = this._TipoIva;
930
931// TipoRetencion loTipoRet = new TipoRetencion();
932// loTipoRet._Codigo = this._TipoRet;
933
934// // Verificamos que en cada linea haya la cuenta que esperamos
935// Assert.AreEqual(this._Cliente, loAsiento._Lineas[0]._Cuenta, "Test 3 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener cuenta contable " + this._Cliente + " y es " + loAsiento._Lineas[0]._Cuenta);
936// Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 3 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
937// Assert.AreEqual(loTipoIva._Cta_IVA_Rep, loAsiento._Lineas[2]._Cuenta, "Test 3 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Rep + " y es " + loAsiento._Lineas[2]._Cuenta);
938// Assert.AreEqual(loTipoIva._Cta_REC_Rep, loAsiento._Lineas[3]._Cuenta, "Test 3 GeneradorAsientosFacturasVenta. La cuarta linea del asiento debería tener cuenta contable de RECEQUIV " + loTipoIva._Cta_REC_Sop + " y es " + loAsiento._Lineas[3]._Cuenta);
940// Assert.AreEqual(lcCuentaPPVentas, loAsiento._Lineas[4]._Cuenta, "Test 3 GeneradorAsientosFacturasVenta. La quinta linea del asiento debería tener cuenta contable de DTO.P.P. VENTAS " + lcCuentaPPVentas + " y es " + loAsiento._Lineas[4]._Cuenta);
941// Assert.AreEqual(loTipoRet._CTA_RE_SOP, loAsiento._Lineas[5]._Cuenta, "Test 3 GeneradorAsientosFacturasVenta. La sexta linea del asiento debería tener cuenta contable de retencion soportada " + loTipoRet._CTA_RE_SOP + " y es " + loAsiento._Lineas[5]._Cuenta);
942
943// // Verificamos que en cada linea haya el importe que esperamos
944// Assert.AreEqual(1070, loAsiento._Lineas[0]._Debe, "Test 3 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener importe 1070 en el DEBE y tiene " + loAsiento._Lineas[0]._Debe);
945// Assert.AreEqual<decimal>(1111.11M, loAsiento._Lineas[1]._Haber, "Test 3 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener importe 1111.11 en el HABER y tiene " + loAsiento._Lineas[1]._Haber);
946// Assert.AreEqual(210, loAsiento._Lineas[2]._Haber, "Test 3 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener importe 210 en el HABER y tiene " + loAsiento._Lineas[2]._Haber);
947// Assert.AreEqual(10, loAsiento._Lineas[3]._Haber, "Test 3 GeneradorAsientosFacturasVenta. La cuarta linea del asiento debería tener importe 10 en el HABER y tiene " + loAsiento._Lineas[3]._Haber);
948// Assert.AreEqual<decimal>(111.11M, loAsiento._Lineas[4]._Debe, "Test 3 GeneradorAsientosFacturasVenta. La quinta linea del asiento debería tener importe 111.11 en el DEBE y tiene " + loAsiento._Lineas[4]._Debe);
949// Assert.AreEqual(150, loAsiento._Lineas[5]._Debe, "Test 3 GeneradorAsientosFacturasVenta. La sexta linea del asiento debería tener importe 150 en el DEBE y tiene " + loAsiento._Lineas[5]._Debe);
950
951// // Verificamos un registro en IVAREPER.
952// DataTable ldtRegIvareper = new DataTable();
953// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegIvareper);
954// Assert.AreEqual(1, ldtRegIvareper.Rows.Count, "Test 3 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registro de IVAREPER en el asientos para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
955
956// // Verificamos un registro en RETSOPOR
957// DataTable ldtRegRetSopor = new DataTable();
958// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "retsopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegRetSopor);
959// Assert.AreEqual(1, ldtRegRetSopor.Rows.Count, "Test 3 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de RETSOPOR en el asientos para la factura (EMPRESA, CLIENTE, FACTURA) (" + this._Empresa + "," + this._Cliente + "," + this._Factura + ")");
960
961// // Verificamos que el importe de retencion en RETSOPOR sea el correcto.
962// if (ldtRegRetSopor.Rows.Count == 1)
963// Assert.AreEqual(150, Convert.ToDecimal(ldtRegRetSopor.Rows[0]["retencio"]), "Test 3 GeneradorAsientosFacturasCompra, asiento generado y detectado registro de RETSOPOR pero con importe incorrecto para la factura (EMPRESA, CLIENTE, FACTURA) (" + this._Empresa + "," + this._Cliente + "," + this._Factura + "), debería ser 150 y es " + Convert.ToDecimal(ldtRegRetSopor.Rows[0]["retencio"]).ToString().Trim());
964
965// // Verificamos previsiones de pago generadas.
966// DataTable ldtRegPreviCl = new DataTable();
967// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previ_cl") + " where empresa='" + this._Empresa + "' and cliente='" + this._Cliente + "' and factura='" + this._Factura + "'", ref ldtRegPreviCl);
968// Assert.IsTrue(ldtRegPreviCl.Rows.Count > 0, "Test 3 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en COMUNES.PREVI_CL para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
969
970// // Verificamos registros EOS (contrapartida)
971// DataTable ldtRegEOS = new DataTable();
972// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
973// Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 3 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
974// }
975// }
976// }
977// }
978
979// EliminacionDatosPruebasAnteriores();
980// }
981
982
983// /// <summary>
984// /// Prueba de creación de asiento de factura de venta TEST4:
985// /// Retencion cliente: si, sobre totfac.
986// /// Rec.Equiv cliente: si
987// /// Recargo financiero: no
988// /// Pronto pago: si
989// /// Asiento de factura de venta a cliente con retención, con pronto pago, con recargo equiv, sin recargo financiero, cliente nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, RET.TOTFAC 15%
990// /// Base 1000, IVA 210, RecEquiv 10, Ret. 150, Total 1070
991// ///</summary>
992// [Owner(Owners.JoseMaria_Gay),
993// TestMethod(),
994// Description("Asiento de factura de venta a cliente con retención, con pronto pago, con recargo equiv, sin recargo financiero, cliente nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, RET.TOTFAC 15%, Base 1000, IVA 210, RecEquiv 10, Ret. 183, Total 1037"),
995// DeploymentItem("sage.50.exe")]
996// [Priority(1)]
997// public void AsientosFacturasVentasGeneradorTest4()
998// {
999// bool llOk = false;
1000
1001// this._Cliente = "43070000";
1002// this._Contrapartida = "70000001";
1003// this._Factura = "XX".PadLeft(10);
1004// this._BaseIva = 1000;
1005// this._ImpContrapartida = 1111.11M;
1006// this._TipoIva = "XX";
1007// this._TipoRet = "XX";
1008// this._TipoIvaEx = "XE";
1009
1010// // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
1011// PrepararDatosPrueba();
1012
1013
1014// // Configura la ficha del cliente para la prueba: con retencion sobre totfac, con recargo equivalencia, con pronto, cliente nacional, sin recargo financiero
1072// Assert.AreEqual(llOk, true, "Test 4 GeneradorAsientosFacturasVenta. No se pudo generar el asiento de factura de venta de la prueba para la factura " +
1091// Assert.AreEqual(6, loAsiento._Lineas.Count, "Test 4 GeneradorAsientosFacturasVenta. Asiento generado correctamente pero se esperaban 6 lineas y tiene " + loAsiento._Lineas.Count.ToString());
1092// if (loAsiento._Lineas.Count == 6)
1093// {
1094// TipoIVA loTipoIva = new TipoIVA();
1095// loTipoIva._Codigo = this._TipoIva;
1096
1097// TipoRetencion loTipoRet = new TipoRetencion();
1098// loTipoRet._Codigo = this._TipoRet;
1099
1100// // Verificamos que en cada linea haya la cuenta que esperamos
1101// Assert.AreEqual(this._Cliente, loAsiento._Lineas[0]._Cuenta, "Test 4 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener cuenta contable " + this._Cliente + " y es " + loAsiento._Lineas[0]._Cuenta);
1102// Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 4 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
1103// Assert.AreEqual(loTipoIva._Cta_IVA_Rep, loAsiento._Lineas[2]._Cuenta, "Test 4 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Rep + " y es " + loAsiento._Lineas[2]._Cuenta);
1104// Assert.AreEqual(loTipoIva._Cta_REC_Rep, loAsiento._Lineas[3]._Cuenta, "Test 4 GeneradorAsientosFacturasVenta. La cuarta linea del asiento debería tener cuenta contable de RECEQUIV " + loTipoIva._Cta_REC_Sop + " y es " + loAsiento._Lineas[3]._Cuenta);
1106// Assert.AreEqual(lcCuentaPPVentas, loAsiento._Lineas[4]._Cuenta, "Test 4 GeneradorAsientosFacturasVenta. La quinta linea del asiento debería tener cuenta contable de DTO.P.P. COMPRAS " + lcCuentaPPVentas + " y es " + loAsiento._Lineas[4]._Cuenta);
1107// Assert.AreEqual(loTipoRet._CTA_RE_SOP, loAsiento._Lineas[5]._Cuenta, "Test 4 GeneradorAsientosFacturasVenta. La sexta linea del asiento debería tener cuenta contable de retencion repercutida " + loTipoRet._CTA_RE_SOP + " y es " + loAsiento._Lineas[5]._Cuenta);
1108
1109// // Verificamos que en cada linea haya el importe que esperamos
1110// Assert.AreEqual(1037, loAsiento._Lineas[0]._Debe, "Test 4 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener importe 1037 en el DEBE y tiene " + loAsiento._Lineas[0]._Debe);
1111// Assert.AreEqual<decimal>(1111.11M, loAsiento._Lineas[1]._Haber, "Test 4 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener importe 1111.11 en el HABER y tiene " + loAsiento._Lineas[1]._Haber);
1112// Assert.AreEqual(210, loAsiento._Lineas[2]._Haber, "Test 4 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener importe 210 en el HABER y tiene " + loAsiento._Lineas[2]._Haber);
1113// Assert.AreEqual(10, loAsiento._Lineas[3]._Haber, "Test 4 GeneradorAsientosFacturasVenta. La cuarta linea del asiento debería tener importe 10 en el HABER y tiene " + loAsiento._Lineas[3]._Haber);
1114// Assert.AreEqual<decimal>(111.11M, loAsiento._Lineas[4]._Debe, "Test 4 GeneradorAsientosFacturasVenta. La quinta linea del asiento debería tener importe 111.11 en el DEBE y tiene " + loAsiento._Lineas[4]._Debe);
1115// Assert.AreEqual(183, loAsiento._Lineas[5]._Debe, "Test 4 GeneradorAsientosFacturasVenta. La sexta linea del asiento debería tener importe 183 en el DEBE y tiene " + loAsiento._Lineas[5]._Debe);
1116
1117// // Verificamos un registro en IVAREPER.
1118// DataTable ldtRegIvareper = new DataTable();
1119// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegIvareper);
1120// Assert.AreEqual(1, ldtRegIvareper.Rows.Count, "Test 4 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registro de IVAREPER en el asientos para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1121
1122// // Verificamos un registro en RETSOPOR
1123// DataTable ldtRegRetSopor = new DataTable();
1124// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "retsopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegRetSopor);
1125// Assert.AreEqual(1, ldtRegRetSopor.Rows.Count, "Test 4 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de RETSOPOR en el asientos para la factura (EMPRESA, CLIENTE, FACTURA) (" + this._Empresa + "," + this._Cliente + "," + this._Factura + ")");
1126
1127// // Verificamos que el importe de retencion en RETSOPOR sea el correcto.
1128// if (ldtRegRetSopor.Rows.Count == 1)
1129// Assert.AreEqual(183, Convert.ToDecimal(ldtRegRetSopor.Rows[0]["retencio"]), "Test 4 GeneradorAsientosFacturasCompra, asiento generado y detectado registro de RETSOPOR pero con importe incorrecto para la factura (EMPRESA, CLIENTE, FACTURA) (" + this._Empresa + "," + this._Cliente + "," + this._Factura + "), debería ser 183 y es " + Convert.ToDecimal(ldtRegRetSopor.Rows[0]["retencio"]).ToString().Trim());
1130
1131// // Verificamos previsiones de pago generadas.
1132// DataTable ldtRegPreviCl = new DataTable();
1133// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previ_cl") + " where empresa='" + this._Empresa + "' and cliente='" + this._Cliente + "' and factura='" + this._Factura + "'", ref ldtRegPreviCl);
1134// Assert.IsTrue(ldtRegPreviCl.Rows.Count > 0, "Test 4 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en COMUNES.PREVI_CL para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1135
1136// // Verificamos registros EOS (contrapartida)
1137// DataTable ldtRegEOS = new DataTable();
1138// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
1139// Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 4 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1140// }
1141// }
1142// }
1143// }
1144
1145// EliminacionDatosPruebasAnteriores();
1146// }
1147
1148
1149// /// <summary>
1150// /// Prueba de creación de asiento de factura de venta TEST5:
1151// /// Retencion cliente: si, sobre totfac.
1152// /// Rec.Equiv cliente: no
1153// /// Recargo financiero: no
1154// /// Pronto pago: no
1155// /// Asiento de factura de venta a cliente con retención, sin pronto pago, sin recargo equiv, sin recargo financiero, cliente nacional, IVA 21%, RET.TOTFAC 15%
1156// /// Base 1000, IVA 210, Ret. 181.5, Total 1028.50
1157// ///</summary>
1158// [Owner(Owners.JoseMaria_Gay),
1159// TestMethod(),
1160// Description("Asiento de factura de venta a cliente con retención, sin pronto pago, sin recargo equiv, sin recargo financiero, cliente nacional, IVA 21%, RET.TOTFAC 15%, Base 1000, IVA 210, Ret. 181.5, Total 1028.50"),
1161// DeploymentItem("sage.50.exe")]
1162// [Priority(1)]
1163// public void AsientosFacturasVentasGeneradorTest5()
1164// {
1165// bool llOk = false;
1166
1167// this._Cliente = "43070000";
1168// this._Contrapartida = "70000001";
1169// this._Factura = "XX".PadLeft(10);
1170// this._BaseIva = 1000;
1171// this._ImpContrapartida = 1000;
1172// this._TipoIva = "XX";
1173// this._TipoRet = "XX";
1174// this._TipoIvaEx = "XE";
1175
1176// // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
1177// PrepararDatosPrueba();
1178
1179
1180// // Configura la ficha del cl iente para la prueba: con retención sobre total factura, sin recargo equivalencia, sin pronto, cliente nacional, sin recargo financiero
1238// Assert.AreEqual(llOk, true, "Test 5 GeneradorAsientosFacturasVenta. No se pudo generar el asiento de factura de venta de la prueba para la factura " +
1257// Assert.AreEqual(4, loAsiento._Lineas.Count, "Test 5 GeneradorAsientosFacturasVenta. Asiento generado correctamente pero se esperaban 4 lineas y tiene " + loAsiento._Lineas.Count.ToString());
1258// if (loAsiento._Lineas.Count == 4)
1259// {
1260// TipoIVA loTipoIva = new TipoIVA();
1261// loTipoIva._Codigo = this._TipoIva;
1262
1263// TipoRetencion loTipoRet = new TipoRetencion();
1264// loTipoRet._Codigo = this._TipoRet;
1265
1266// // Verificamos que en cada linea haya la cuenta que esperamos
1267// Assert.AreEqual(this._Cliente, loAsiento._Lineas[0]._Cuenta, "Test 5 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener cuenta contable " + this._Cliente + " y es " + loAsiento._Lineas[0]._Cuenta);
1268// Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 5 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
1269// Assert.AreEqual(loTipoIva._Cta_IVA_Rep, loAsiento._Lineas[2]._Cuenta, "Test 5 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Rep + " y es " + loAsiento._Lineas[2]._Cuenta);
1270// Assert.AreEqual(loTipoRet._CTA_RE_SOP, loAsiento._Lineas[3]._Cuenta, "Test 5 GeneradorAsientosFacturasVenta. La cuarta linea del asiento debería tener cuenta contable de retencion soportada " + loTipoRet._CTA_RE_SOP + " y es " + loAsiento._Lineas[3]._Cuenta);
1271
1272// // Verificamos que en cada linea haya el importe que esperamos
1273// Assert.AreEqual<decimal>(1028.5M, loAsiento._Lineas[0]._Debe, "Test 5 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener importe 1028.5 en DEBE y tiene " + loAsiento._Lineas[0]._Debe);
1274// Assert.AreEqual(1000, loAsiento._Lineas[1]._Haber, "Test 5 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener importe 1000 en el HABER y tiene " + loAsiento._Lineas[1]._Haber);
1275// Assert.AreEqual(210, loAsiento._Lineas[2]._Haber, "Test 5 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener importe 210 en el HABER y tiene " + loAsiento._Lineas[2]._Haber);
1276// Assert.AreEqual<decimal>(181.5M, loAsiento._Lineas[3]._Debe, "Test 5 GeneradorAsientosFacturasVenta. La cuarta linea del asiento debería tener importe 181.5 en el DEBE y tiene " + loAsiento._Lineas[3]._Debe);
1277
1278// // Verificamos un registro en IVAREPER.
1279// DataTable ldtRegIvareper = new DataTable();
1280// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegIvareper);
1281// Assert.AreEqual(1, ldtRegIvareper.Rows.Count, "Test 5 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registro de IVAREPER en el asientos para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1282
1283// // Verificamos un registro en RETSOPOR
1284// DataTable ldtRegRetSopor = new DataTable();
1285// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "retsopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegRetSopor);
1286// Assert.AreEqual(1, ldtRegRetSopor.Rows.Count, "Test 5 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de RETSOPOR en el asientos para la factura (EMPRESA, CLIENTE, FACTURA) (" + this._Empresa + "," + this._Cliente + "," + this._Factura + ")");
1287
1288// // Verificamos que el importe de retencion en RETSOPOR sea el correcto.
1289// if (ldtRegRetSopor.Rows.Count == 1)
1290// Assert.AreEqual<decimal>(181.5M, Convert.ToDecimal(ldtRegRetSopor.Rows[0]["retencio"]), "Test 5 GeneradorAsientosFacturasCompra, asiento generado y detectado registro de RETSOPOR pero con importe incorrecto para la factura (EMPRESA, CLIENTE, FACTURA) (" + this._Empresa + "," + this._Cliente + "," + this._Factura + "), debería ser 181.5 y es " + Convert.ToDecimal(ldtRegRetSopor.Rows[0]["retencio"]).ToString().Trim());
1291
1292// // Verificamos previsiones de pago generadas.
1293// DataTable ldtRegPreviCl = new DataTable();
1294// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previ_cl") + " where empresa='" + this._Empresa + "' and cliente='" + this._Cliente + "' and factura='" + this._Factura + "'", ref ldtRegPreviCl);
1295// Assert.IsTrue(ldtRegPreviCl.Rows.Count > 0, "Test 5 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en COMUNES.PREVI_CL para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1296
1297// // Verificamos registros EOS (contrapartida)
1298// DataTable ldtRegEOS = new DataTable();
1299// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
1300// Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 5 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1301// }
1302// }
1303// }
1304// }
1305
1306// EliminacionDatosPruebasAnteriores();
1307// }
1308
1309
1310// /// <summary>
1311// /// Prueba de creación de asiento de factura de venta TEST6:
1312// /// Retencion cliente: si, sobre total factura
1313// /// Rec.Equiv cliente: si
1314// /// Recargo financiero: si
1315// /// Pronto pago: si
1316// /// Asiento de factura de venta a cliente con retención, con pronto pago, con recargo equiv, con recargo financiero 10%, cliente nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, RET.BASE 15%, % REC.FINAN 10%
1317// /// Base 1000, IVA 210, RecEquiv 10, PP 111.11, Ret. 183, RFinan. 100, Total 1137
1318// ///</summary>
1319// [Owner(Owners.JoseMaria_Gay),
1320// TestMethod(),
1321// Description("Asiento de factura de venta a cliente con retención, con pronto pago, con recargo equiv, con recargo financiero 10%, cliente nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, RET.BASE 15%, REC. FINAN 10%, Base 1000, IVA 210, RecEquiv 10, Ret. 183, RFinan 100, Total 1137"),
1322// DeploymentItem("sage.50.exe")]
1323// [Priority(1)]
1324// public void AsientosFacturasVentasGeneradorTest6()
1325// {
1326// bool llOk = false;
1327
1328// this._Cliente = "43070000";
1329// this._Contrapartida = "70000001";
1330// this._Factura = "XX".PadLeft(10);
1331// this._BaseIva = 1000;
1332// this._ImpContrapartida = 1111.11M;
1333// this._TipoIva = "XX";
1334// this._TipoRet = "XX";
1335// this._TipoIvaEx = "XE";
1336
1337// // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
1338// PrepararDatosPrueba();
1339
1340
1341// // Configura la ficha del cliente para la prueba: con retencion sobre base, con recargo equiv, con pronto, cliente nacional, con recargo financiero
1399// Assert.AreEqual(llOk, true, "Test 6 GeneradorAsientosFacturasVenta. No se pudo generar el asiento de factura de venta de la prueba para la factura " +
1418// Assert.AreEqual(7, loAsiento._Lineas.Count, "Test 6 GeneradorAsientosFacturasVenta. Asiento generado correctamente pero se esperaban 6 lineas y tiene " + loAsiento._Lineas.Count.ToString());
1419// if (loAsiento._Lineas.Count == 7)
1420// {
1421// TipoIVA loTipoIva = new TipoIVA();
1422// loTipoIva._Codigo = this._TipoIva;
1423
1424// TipoRetencion loTipoRet = new TipoRetencion();
1425// loTipoRet._Codigo = this._TipoRet;
1426
1427// // Verificamos que en cada linea haya la cuenta que esperamos
1428// Assert.AreEqual(this._Cliente, loAsiento._Lineas[0]._Cuenta, "Test 6 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener cuenta contable " + this._Cliente + " y es " + loAsiento._Lineas[0]._Cuenta);
1429// Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 6 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
1430// Assert.AreEqual(loTipoIva._Cta_IVA_Rep, loAsiento._Lineas[2]._Cuenta, "Test 6 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Rep + " y es " + loAsiento._Lineas[2]._Cuenta);
1431// Assert.AreEqual(loTipoIva._Cta_REC_Rep, loAsiento._Lineas[3]._Cuenta, "Test 6 GeneradorAsientosFacturasVenta. La cuarta linea del asiento debería tener cuenta contable de RECEQUIV " + loTipoIva._Cta_REC_Sop + " y es " + loAsiento._Lineas[3]._Cuenta);
1434// Assert.AreEqual(lcCuentaPPVentas, loAsiento._Lineas[4]._Cuenta, "Test 6 GeneradorAsientosFacturasVenta. La quinta linea del asiento debería tener cuenta contable de DTO.P.P. VENTAS " + lcCuentaPPVentas + " y es " + loAsiento._Lineas[4]._Cuenta);
1437// Assert.AreEqual(lcCuentaRecFinan, loAsiento._Lineas[5]._Cuenta, "Test 6 GeneradorAsientosFacturasVenta. La sexta linea del asiento debería tener cuenta contable de recargo financiero " + lcCuentaRecFinan + " y es " + loAsiento._Lineas[5]._Cuenta);
1438
1439// Assert.AreEqual(loTipoRet._CTA_RE_SOP, loAsiento._Lineas[6]._Cuenta, "Test 6 GeneradorAsientosFacturasVenta. La septima linea del asiento debería tener cuenta contable de retencion soportada " + loTipoRet._CTA_RE_SOP + " y es " + loAsiento._Lineas[6]._Cuenta);
1440
1441// // Verificamos que en cada linea haya el importe que esperamos
1442// Assert.AreEqual(1137, loAsiento._Lineas[0]._Debe, "Test 6 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener importe 1137 en el DEBE y tiene " + loAsiento._Lineas[0]._Debe);
1443// Assert.AreEqual<decimal>(1111.11M, loAsiento._Lineas[1]._Haber, "Test 6 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener importe 1111.11 en el HABER y tiene " + loAsiento._Lineas[1]._Haber);
1444// Assert.AreEqual(210, loAsiento._Lineas[2]._Haber, "Test 6 GeneradorAsientosFacturasVenta. La tercera linea del asiento debería tener importe 210 en el HABER y tiene " + loAsiento._Lineas[2]._Haber);
1445// Assert.AreEqual(10, loAsiento._Lineas[3]._Haber, "Test 6 GeneradorAsientosFacturasVenta. La cuarta linea del asiento debería tener importe 10 en el HABER y tiene " + loAsiento._Lineas[3]._Haber);
1446// Assert.AreEqual<decimal>(111.11M, loAsiento._Lineas[4]._Debe, "Test 6 GeneradorAsientosFacturasVenta. La quinta linea del asiento debería tener importe 111.11 en el DEBE y tiene " + loAsiento._Lineas[4]._Debe);
1447// Assert.AreEqual(100, loAsiento._Lineas[5]._Haber, "Test 6 GeneradorAsientosFacturasVenta. La sexta linea del asiento debería tener importe 100 en el HABER y tiene " + loAsiento._Lineas[5]._Haber);
1448// Assert.AreEqual(183, loAsiento._Lineas[6]._Debe, "Test 6 GeneradorAsientosFacturasVenta. La séptima linea del asiento debería tener importe 183 en el DEBE y tiene " + loAsiento._Lineas[6]._Debe);
1449
1450// // Verificamos un registro en IVAREPER.
1451// DataTable ldtRegIvareper = new DataTable();
1452// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegIvareper);
1453// Assert.AreEqual(1, ldtRegIvareper.Rows.Count, "Test 6 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registro de IVAREPER en el asientos para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1454
1455// // Verificamos un registro en RETSOPOR
1456// DataTable ldtRegRetSopor = new DataTable();
1457// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "retsopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegRetSopor);
1458// Assert.AreEqual(1, ldtRegRetSopor.Rows.Count, "Test 5 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de RETSOPOR en el asientos para la factura (EMPRESA, CLIENTE, FACTURA) (" + this._Empresa + "," + this._Cliente + "," + this._Factura + ")");
1459
1460// // Verificamos que el importe de retencion en RETSOPOR sea el correcto.
1461// if (ldtRegRetSopor.Rows.Count == 1)
1462// Assert.AreEqual(183, Convert.ToDecimal(ldtRegRetSopor.Rows[0]["retencio"]), "Test 5 GeneradorAsientosFacturasCompra, asiento generado y detectado registro de RETSOPOR pero con importe incorrecto para la factura (EMPRESA, CLIENTE, FACTURA) (" + this._Empresa + "," + this._Cliente + "," + this._Factura + "), debería ser 183 y es " + Convert.ToDecimal(ldtRegRetSopor.Rows[0]["retencio"]).ToString().Trim());
1463
1464// // Verificamos previsiones de pago generadas.
1465// DataTable ldtRegPreviCl = new DataTable();
1466// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previ_cl") + " where empresa='" + this._Empresa + "' and cliente='" + this._Cliente + "' and factura='" + this._Factura + "'", ref ldtRegPreviCl);
1467// Assert.IsTrue(ldtRegPreviCl.Rows.Count > 0, "Test 6 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en COMUNES.PREVI_CL para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1468
1469// // Verificamos registros EOS (contrapartida + recargo financiero)
1470// DataTable ldtRegEOS = new DataTable();
1471// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
1472// Assert.IsTrue(ldtRegEOS.Rows.Count > 1, "Test 6 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1473// }
1474// }
1475// }
1476// }
1477
1478// EliminacionDatosPruebasAnteriores();
1479// }
1480
1481// /// <summary>
1482// /// Prueba de creación de asiento de factura de venta TEST7:
1483// /// Retencion cliente: no
1484// /// Rec.Equiv cliente: no
1485// /// Rec.Financiero cliente: no
1486// /// Pronto pago: no
1487// /// Asiento de venta a cliente IVA EXENTO, sin retención, sin pronto pago, sin recargo equiv., sin recargo financiero, cliente nacional, IVA EXENTO
1488// /// Base 1000, IVA 210, Total 1210
1489// ///</summary>
1490// [Owner(Owners.JoseMaria_Gay),
1491// TestMethod(),
1492// Description("Asiento de factura de venta a cliente IVA EXENTO, sin retención, sin pronto pago, sin recargo equiv., sin recargo financiero, cliente nacional, IVA 21%, Base 1000, IVA 210, Total 1210"),
1493// DeploymentItem("sage.50.exe")]
1494// [Priority(1)]
1495// public void AsientosFacturasVentasGeneradorTest7()
1496// {
1497// bool llOk = false;
1498
1499// this._Cliente = "43070000";
1500// this._Contrapartida = "70000001";
1501// this._Factura = "XX".PadLeft(10);
1502// this._BaseIva = 1000;
1503// this._ImpContrapartida = 1000;
1504// this._TipoIva = "XX";
1505// this._TipoRet = "XX";
1506// this._TipoIvaEx = "XE";
1507
1508// // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
1509// PrepararDatosPrueba();
1510
1511
1512// // Configura la ficha del cliente para la prueba: sin retencion, sin recargo, sin pronto, cliente nacional, sin recargo financiero
1570// Assert.AreEqual(llOk, true, "Test 7 GeneradorAsientosFacturasVenta. No se pudo generar el asiento de factura de venta de la prueba para la factura " +
1589// Assert.AreEqual(2, loAsiento._Lineas.Count, "Test 7 GeneradorAsientosFacturasVenta. Asiento generado correctamente pero se esperaban 2 lineas y tiene " + loAsiento._Lineas.Count.ToString());
1590// if (loAsiento._Lineas.Count == 2)
1591// {
1592// TipoIVA loTipoIva = new TipoIVA();
1593
1594// loTipoIva._Codigo = this._TipoIva;
1595
1596// // Verificamos que en cada linea haya la cuenta que esperamos
1597// Assert.AreEqual(this._Cliente, loAsiento._Lineas[0]._Cuenta, "Test 7 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener cuenta contable " + this._Cliente + " y es " + loAsiento._Lineas[0]._Cuenta);
1598// Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 7 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
1599
1600
1601
1602// // Verificamos que en cada linea haya el importe que esperamos
1603// Assert.AreEqual(1000, loAsiento._Lineas[0]._Debe, "Test 7 GeneradorAsientosFacturasVenta. La primera linea del asiento debería tener importe 1000 en el DEBE y tiene " + loAsiento._Lineas[0]._Debe);
1604// Assert.AreEqual(1000, loAsiento._Lineas[1]._Haber, "Test 7 GeneradorAsientosFacturasVenta. La segunda linea del asiento debería tener importe 1000 en el HABER y tiene " + loAsiento._Lineas[1]._Haber);
1605
1606// // Verificamos 0 registros en IVAREPER.
1607// DataTable ldtRegIvareper = new DataTable();
1608// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and numfra='" + this._Factura + "'", ref ldtRegIvareper);
1609// Assert.AreEqual(0, ldtRegIvareper.Rows.Count, "Test 7 GeneradorAsientosFacturasVenta, asiento generado IVA EXENTO pero se ha detectado registro de IVAREPER en el asientos para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1610
1611// // Verificamos un registro en IVA_EXEN
1612// DataTable ldtRegIvaExen = new DataTable();
1613// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "iva_exen") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Cliente + "' and factura='" + this._Factura + "' and tipo=2", ref ldtRegIvaExen);
1614// Assert.AreEqual(1, ldtRegIvaExen.Rows.Count, "Test 7 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registro de IVA_EXEN en el asientos para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1615
1616// // Verificamos previsiones de pago generadas.
1617// DataTable ldtRegPreviCl = new DataTable();
1618// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previ_cl") + " where empresa='" + this._Empresa + "' and cliente='" + this._Cliente + "' and factura='" + this._Factura + "'", ref ldtRegPreviCl);
1619// Assert.IsTrue(ldtRegPreviCl.Rows.Count > 0, "Test 7 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en COMUNES.PREVI_CL para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1620
1621// // Verificamos registros EOS (contrapartida)
1622// DataTable ldtRegEOS = new DataTable();
1623// llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
1624// Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 7 GeneradorAsientosFacturasVenta, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");