AsientosFacturasCompraGeneradorTest.cs
1 using sage.ew.contabilidad;
2 using sage.ew.articulo;
3 using sage.ew.ewbase;
4 using sage.ew.docscompra;
5 using sage.ew.cliente;
6 using sage.ew.db;
7 using sage.ew.global;
8 using System.Data;
9 using sage.ew.interficies;
10 using Microsoft.VisualStudio.TestTools.UnitTesting;
11 using System;
13 
14 namespace Sage.ES.S50.UnitTest.Contabilidad
15 {
19  //[TestClass()]
20  //public class AsientosFacturasCompraGeneradorTest
21  //{
22  // #region PROPIEDADES
23 
24  // // Proveedor a utilizar en los tests de asientos de facturas de compra
25  // string _Proveedor = "40070000";
26 
27  // // Datos del tipo de IVA a utilizar en la prueba
28  // string _TipoIva = "XX";
29  // decimal _PrcIva = 21;
30  // decimal _PrcRecEquiv = 1;
31 
32 
33  // // Datos del tipo de IVA EXENTO a utilizar en la prueba
34  // string _TipoIvaEx = "XX";
35 
36  // // Datos del tipo de retención a utilizar en la prueba
37  // string _TipoRet = "XX";
38  // decimal _PrcReten = 15;
39 
40  // // Empresa en la que generar el asiento
41  // string _Empresa = "01";
42 
43  // // Factura de compra a generar el asiento
44  // string _Factura = "";
45 
46  // // Base de la linia de tipoiva
47  // decimal _BaseIva = 0;
48 
49  // // Importe de la contrapartida
50  // decimal _ImpContrapartida = 0;
51 
52  // // Cuenta contrapartida
53  // string _Contrapartida = "60000001";
54 
55  // // Factura CEE
56  // int _FacturaCee=0;
57 
58  // // Isp
59  // bool _Isp = false;
60 
61  // public TestContext TestContext
62  // {
63  // get
64  // {
65  // return testContextInstance;
66  // }
67  // set
68  // {
69  // testContextInstance = value;
70  // }
71  // }
72  // private TestContext testContextInstance;
73 
74  // #endregion
75 
76 
77  // // Usar ClassInitialize para ejecutar código antes de comenzar a ejecutar todas las pruebas, se ejecuta una sola vez.
78  // [ClassInitialize()]
79  // public static void Tasks_Before_AllTests(TestContext context)
80  // {
81  // context.__Test_LoadRandomConfig();
82  // // Cuentas para el tipo de IVA normal.
83 
84  // Cuenta loCuenta = new Cuenta();
85  // loCuenta._Codigo = "47700031";
86  // if (!loCuenta._Existe_Registro())
87  // loCuenta._New("47700031", "IVA REPERCUTIDO");
88  // else
89  // {
90  // loCuenta._Nombre = "IVA REPERCUTIDO";
91  // loCuenta._Save();
92  // }
93 
94  // loCuenta._Codigo = "47700036";
95  // if (!loCuenta._Existe_Registro())
96  // loCuenta._New("47700036", "RECARGO EQUIV. REPERCUTIDO");
97  // else
98  // {
99  // loCuenta._Nombre = "RECARGO EQUIV. REPERCUTIDO";
100  // loCuenta._Save();
101  // }
102 
103  // loCuenta._Codigo = "47200031";
104  // if (!loCuenta._Existe_Registro())
105  // loCuenta._New("47200031", "IVA SOPORTADO");
106  // else
107  // {
108  // loCuenta._Nombre = "IVA SOPORTADO";
109  // loCuenta._Save();
110  // }
111 
112  // loCuenta._Codigo = "47200036";
113  // if (!loCuenta._Existe_Registro())
114  // loCuenta._New("47200036", "RECARGO EQUIV. SOPORTADO");
115  // else
116  // {
117  // loCuenta._Nombre = "RECARGO EQUIV. SOPORTADO";
118  // loCuenta._Save();
119  // }
120 
121  // // Cuentas de criterio caja necesarias para dar de alta el código de TIPO de IVA, sino no hará el _Save()
122  // loCuenta._Codigo = "47710031";
123  // if (!loCuenta._Existe_Registro())
124  // loCuenta._New("47710031", "IVA REPERCUTIDO CRITERIO CAJA");
125  // else
126  // {
127  // loCuenta._Nombre = "IVA REPERCUTIDO CRITERIO CAJA";
128  // loCuenta._Save();
129  // }
130 
131  // loCuenta._Codigo = "47710036";
132  // if (!loCuenta._Existe_Registro())
133  // loCuenta._New("47710036", "RECARGO EQUIV. REPERCUTIDO CRITERIO CAJA");
134  // else
135  // {
136  // loCuenta._Nombre = "RECARGO EQUIV. REPERCUTIDO CRITERIO CAJA";
137  // loCuenta._Save();
138  // }
139 
140  // loCuenta._Codigo = "47210031";
141  // if (!loCuenta._Existe_Registro())
142  // loCuenta._New("47210031", "IVA SOPORTADO CRITERIO CAJA");
143  // else
144  // {
145  // loCuenta._Nombre = "IVA SOPORTADO CRITERIO CAJA";
146  // loCuenta._Save();
147  // }
148 
149  // loCuenta._Codigo = "47210036";
150  // if (!loCuenta._Existe_Registro())
151  // loCuenta._New("47210036", "RECARGO EQUIV. SOPORTADO CRITERIO CAJA");
152  // else
153  // {
154  // loCuenta._Nombre = "RECARGO EQUIV. SOPORTADO CRITERIO CAJA";
155  // loCuenta._Save();
156  // }
157 
158 
159  // // CUENTAS PARA EL TIPO DE IVA EXENTO
160 
161  // loCuenta._Codigo = "47700091";
162  // if (!loCuenta._Existe_Registro())
163  // loCuenta._New("47700091", "IVA REPERCUTIDO");
164  // else
165  // {
166  // loCuenta._Nombre = "IVA REPERCUTIDO";
167  // loCuenta._Save();
168  // }
169 
170  // loCuenta._Codigo = "47700096";
171  // if (!loCuenta._Existe_Registro())
172  // loCuenta._New("47700096", "RECARGO EQUIV. REPERCUTIDO");
173  // else
174  // {
175  // loCuenta._Nombre = "RECARGO EQUIV. REPERCUTIDO";
176  // loCuenta._Save();
177  // }
178 
179  // loCuenta._Codigo = "47200091";
180  // if (!loCuenta._Existe_Registro())
181  // loCuenta._New("47200091", "IVA SOPORTADO");
182  // else
183  // {
184  // loCuenta._Nombre = "IVA SOPORTADO";
185  // loCuenta._Save();
186  // }
187 
188  // loCuenta._Codigo = "47200096";
189  // if (!loCuenta._Existe_Registro())
190  // loCuenta._New("47200096", "RECARGO EQUIV. SOPORTADO");
191  // else
192  // {
193  // loCuenta._Nombre = "RECARGO EQUIV. SOPORTADO";
194  // loCuenta._Save();
195  // }
196 
197  // // Cuentas de criterio caja necesarias para dar de alta el código de TIPO de IVA, sino no hará el _Save()
198  // loCuenta._Codigo = "47710091";
199  // if (!loCuenta._Existe_Registro())
200  // loCuenta._New("47710091", "IVA REPERCUTIDO CRITERIO CAJA");
201  // else
202  // {
203  // loCuenta._Nombre = "IVA REPERCUTIDO CRITERIO CAJA";
204  // loCuenta._Save();
205  // }
206 
207  // loCuenta._Codigo = "47710096";
208  // if (!loCuenta._Existe_Registro())
209  // loCuenta._New("47710096", "RECARGO EQUIV. REPERCUTIDO CRITERIO CAJA");
210  // else
211  // {
212  // loCuenta._Nombre = "RECARGO EQUIV. REPERCUTIDO CRITERIO CAJA";
213  // loCuenta._Save();
214  // }
215 
216  // loCuenta._Codigo = "47210091";
217  // if (!loCuenta._Existe_Registro())
218  // loCuenta._New("47210091", "IVA SOPORTADO CRITERIO CAJA");
219  // else
220  // {
221  // loCuenta._Nombre = "IVA SOPORTADO CRITERIO CAJA";
222  // loCuenta._Save();
223  // }
224 
225  // loCuenta._Codigo = "47210096";
226  // if (!loCuenta._Existe_Registro())
227  // loCuenta._New("47210096", "RECARGO EQUIV. SOPORTADO CRITERIO CAJA");
228  // else
229  // {
230  // loCuenta._Nombre = "RECARGO EQUIV. SOPORTADO CRITERIO CAJA";
231  // loCuenta._Save();
232  // }
233 
234 
235 
236 
237  // // Me aseguro de que las cuentas contables del TIPO de RETENCION que utilizaré existan.
238  // loCuenta._Codigo = "47300001";
239  // if (!loCuenta._Existe_Registro())
240  // loCuenta._New("47300001", "RETENCION SOPORTADA");
241  // else
242  // {
243  // loCuenta._Nombre = "RETENCION SOPORTADA";
244  // loCuenta._Save();
245  // }
246 
247  // loCuenta._Codigo = "47510001";
248  // if (!loCuenta._Existe_Registro())
249  // loCuenta._New("47510001", "RETENCION REPERCUTIDA");
250  // else
251  // {
252  // loCuenta._Nombre = "RETENCION REPERCUTIDA";
253  // loCuenta._Save();
254  // }
255 
256  // // Me aseguro de que la cuenta del banco del proveedor exista
257  // loCuenta._Codigo = "57200001";
258  // if (!loCuenta._Existe_Registro())
259  // loCuenta._New("57200001", "BANCO");
260  // else
261  // {
262  // loCuenta._Nombre = "BANCO";
263  // loCuenta._Save();
264  // }
265  // }
266 
267 
268  // // Usar TestInitialize para ejecutar código antes de ejecutar cada prueba
269  // [TestInitialize()]
270  // public void Tasks_Before_EachTest()
271  // {
272  // // Me aseguro de tener estas variables.
273  // sage.ew.global.EW_GLOBAL.ValorEnClave_VarGlob("wl_sage50", true);
274  // sage.ew.global.EW_GLOBAL.ValorEnClave_VarGlob("wc_usuario", "SUPERVISOR");
275  // EW_GLOBAL._Empresa._TrabajaEOS = true;
276 
277  // // Coger la empresa de la configuracion
278  // this._Empresa = Convert.ToString(EW_GLOBAL._GetVariable("wc_empresa"));
279  // }
280 
281 
282  // // Usar ClassCleanup para ejecutar código después de finalizar la ejecución de todas las pruebas, se ejecuta una sola vez.
283  // [ClassCleanup()]
284  // public static void Tasks_After_AllTests()
285  // {
286 
287  // }
288 
289 
290  // // Usar TestCleanup para ejecutar código después de que ejecutar cada prueba
291  // [TestCleanup()]
292  // public void Tasks_After_EachTest()
293  // {
294 
295  // }
296 
297 
298  // /// <summary>
299  // /// Crea en la base de datos los datos generales que seran necesarios para todas las pruebas.
300  // /// </summary>
301  // public void PrepararDatosPrueba()
302  // {
303 
304  // Cuenta loCuenta = new Cuenta();
305 
306  // // Me aseguro de que la cuenta contable de contrapartida exista.
307  // if (!string.IsNullOrWhiteSpace(this._Contrapartida))
308  // {
309  // loCuenta._Codigo = this._Contrapartida;
310  // if (!loCuenta._Existe_Registro())
311  // loCuenta._New(this._Contrapartida, "COMPRAS DE MERCADERIAS");
312  // else
313  // {
314  // loCuenta._Nombre = "COMPRAS DE MERCADERIAS";
315  // loCuenta._Save();
316  // }
317  // }
318 
319 
320  // // Me aseguro de que la cuenta contable del proveedor exista
321  // if (!string.IsNullOrWhiteSpace(this._Proveedor))
322  // {
323  // loCuenta._Codigo = this._Proveedor;
324  // if (!loCuenta._Existe_Registro())
325  // loCuenta._New(this._Proveedor, "Proveedor " + this._Proveedor + " para pruebas");
326  // else
327  // {
328  // loCuenta._Nombre = "Proveedor " + this._Proveedor + " para pruebas";
329  // loCuenta._Save();
330  // }
331  // }
332 
333 
334 
335  // // Creo el tipo de IVA con el que trabajaré, si ya existe lo sobreescribo.
336  // TipoIVA loTipoIva = new TipoIVA();
337  // loTipoIva._Codigo = this._TipoIva;
338  // if (!loTipoIva._Existe_Registro())
339  // loTipoIva._New( this._TipoIva);
340 
341 
342  // loTipoIva._Nombre = "Tipo de IVA " + this._PrcIva.ToString().Trim() + "% y " + this._PrcRecEquiv.ToString().Trim() + "% recequiv para pruebas";
343  // loTipoIva._IVA = this._PrcIva;
344  // loTipoIva._Recargo = this._PrcRecEquiv;
345  // loTipoIva._IVA_Exento = false;
346  // loTipoIva._IVA_Servicios = false;
347  // loTipoIva._Cta_IVA_Rep = "47700031";
348  // loTipoIva._Cta_REC_Rep = "47700036";
349  // loTipoIva._Cta_IVA_Sop = "47200031";
350  // loTipoIva._Cta_REC_Sop = "47200036";
351 
352  // loTipoIva._Pendevrep = "47710031";
353  // loTipoIva._Recrepcdev = "47710036";
354  // loTipoIva._Pendedsop = "47210031";
355  // loTipoIva._Recsopcdev = "47210036";
356 
357  // loTipoIva._Save();
358 
359 
360  // // Creo el tipo de IVA EXENTO con el que trabajaré, si ya existe lo sobreescribo.
361  // TipoIVA loTipoIva2 = new TipoIVA();
362  // loTipoIva2._Codigo = this._TipoIvaEx;
363  // if (!loTipoIva2._Existe_Registro())
364  // loTipoIva2._New(this._TipoIvaEx);
365 
366 
367  // loTipoIva2._Nombre = "Tipo de IVA EXENTO para pruebas";
368  // loTipoIva2._IVA = 0;
369  // loTipoIva2._Recargo = 0;
370  // loTipoIva2._IVA_Exento = true;
371  // loTipoIva2._IVA_Servicios = false;
372 
373  // loTipoIva2._Cta_IVA_Rep = "47700091";
374  // loTipoIva2._Cta_REC_Rep = "47700096";
375  // loTipoIva2._Cta_IVA_Sop = "47200091";
376  // loTipoIva2._Cta_REC_Sop = "47200096";
377 
378  // loTipoIva2._Pendevrep = "47710091";
379  // loTipoIva2._Recrepcdev = "47710096";
380  // loTipoIva2._Pendedsop = "47210091";
381  // loTipoIva2._Recsopcdev = "47210096";
382 
383  // loTipoIva2._Save();
384 
385 
386  // // Creo el tipo de RETENCION con el que trabajaré, si ya existe lo sobreescribo.
387  // TipoRetencion loTipoRet = new TipoRetencion();
388  // loTipoRet._Codigo = this._TipoRet;
389  // if (!loTipoRet._Existe_Registro())
390  // loTipoRet._New(this._TipoRet);
391 
392  // loTipoRet._Nombre = "Retencion " + this._PrcReten.ToString().Trim() + "% para pruebas";
393  // loTipoRet._Retencion = this._PrcReten;
394  // loTipoRet._CTA_RE_SOP = "47300001";
395  // loTipoRet._CTA_RE_REP = "47510001";
396  // loTipoRet._Save();
397 
398 
399  // }
400 
401 
402  // /// <summary>
403  // /// Preparar los datos necesarios para la prueba y pone en el proveedor los parámetros recibidos.
404  // /// </summary>
405  // /// <param name="tlAplicarRetencion">Aplicar retención (si/no) en el proveedor de prueba</param>
406  // /// <param name="loTipoRetencion">Tipo de retención a poner en el proveedor de prueba.</param>
407  // /// <param name="tlRecargoEquiv">Recargo de equivalencia (si/no) a poner en el proveedor de prueba</param>
408  // /// <param name="tnProntoPago">% de pronto pago a poner en el proveedor de prueba</param>
409  // /// <param name="tcPais">Código país.</param>
410  // /// <param name="tcTipoIva">Código tipo IVA</param>
411  // /// <param name="toTipoProveedor">Tipo proveedor (nacional, comuntiario, extracomunitario)</param>
412  // public void ConfigurarProveedor(bool tlAplicarRetencion, sage.ew.docscompra.Proveedor.TipoRetencion loTipoRetencion, bool tlRecargoEquiv, decimal tnProntoPago, string tcPais, string tcTipoIva, sage.ew.docscompra.Proveedor.TipoProveedor toTipoProveedor)
413  // {
414  // // Creo el proveedor con el que trabajaré, si ya existe lo sobreescribo.
415  // sage.ew.docscompra.Proveedor loProveedor = new sage.ew.docscompra.Proveedor();
416  // loProveedor._Codigo = this._Proveedor;
417  // if (!loProveedor._Existe_Registro())
418  // DB.SQLExec("insert into " + DB.SQLDatabase("GESTION", "PROVEED") + " (codigo,nombre) values (" + DB.SQLString(loProveedor._Codigo) + ", " + DB.SQLString("Proveedor " + this._Proveedor + " para pruebas") + ")");
419 
420  // loProveedor._Nombre = "Proveedor " + this._Proveedor + " para pruebas";
421  // loProveedor._Pais = tcPais;
422  // loProveedor._ProntoPago = tnProntoPago;
423  // loProveedor._RECC = false;
424  // loProveedor._Recargo = tlRecargoEquiv;
425  // loProveedor._RetencionFiscal = tlAplicarRetencion;
426  // loProveedor._RetencionBaseFactura = loTipoRetencion;
427  // loProveedor._RetencionTipo = tlAplicarRetencion ? this._TipoRet : "" ;
428  // loProveedor._TipoIVA = tcTipoIva;
429  // loProveedor._TipoProveedor = toTipoProveedor;
430  // loProveedor._RECC = false; // Siempre a false pues actualmente en el proceso interviene FOX y no se podria hacer la prueba.
431  // loProveedor._FactBanco = "57200001";
432  // loProveedor._Contrapartida = "";
433  // loProveedor._Save();
434  // }
435 
436 
437  // /// <summary>
438  // /// Comprobar datos propios de la prueba
439  // /// </summary>
440  // public void ComprobarDatosPrueba()
441  // {
442 
443  // // Verifico que tengo el proveedor en la bd.
444  // if (!string.IsNullOrWhiteSpace(this._Proveedor))
445  // {
446  // sage.ew.docscompra.Proveedor loProveedor = new sage.ew.docscompra.Proveedor();
447  // loProveedor._Codigo = this._Proveedor;
448  // loProveedor._Load();
449  // Assert.AreEqual(ewMante._EstadosMantenimiento.MostrandoRegistro, loProveedor._Estado, "No existe el proveedor " + this._Proveedor);
450  // }
451 
452 
453  // // Verifico que tengo la contrapartida en la bd.
454  // if (!string.IsNullOrWhiteSpace(this._Contrapartida))
455  // {
456  // Cuenta loCuenta = new Cuenta();
457  // loCuenta._Codigo = this._Contrapartida;
458  // loCuenta._Load();
459  // Assert.AreEqual(ewMante._EstadosMantenimiento.MostrandoRegistro, loCuenta._Estado, "No existe la contrapartida " + this._Contrapartida);
460  // }
461 
462  // // Verifico que tengo el TIPOIVA en la bd.
463  // TipoIVA loTipoIva = new TipoIVA();
464  // loTipoIva._Codigo = this._TipoIva;
465  // loTipoIva._Load();
466  // Assert.AreEqual(ewMante._EstadosMantenimiento.MostrandoRegistro, loTipoIva._Estado, "No existe el tipo de IVA " + this._TipoIva + " para el test AsientosFacturasCompraGeneradorTest");
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 AsientosFacturasCompraGeneradorTest");
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._Proveedor) && !string.IsNullOrWhiteSpace(this._Factura))
486  // {
487  // llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "asientos") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor +
488  // "' and factura='" + this._Factura + "'");
489  // Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudo eliminar el asiento para la factura la (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
490  // }
491 
492  // if (this._FacturaCee!=0)
493  // {
494  // // Borrar datos de la factura que se pretende generar en FRACEE
495  // llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "fracee") + " where empresa='" + this._Empresa + "' " +
496  // "and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "' " +
497  // "and numfra='"+this._FacturaCee.ToString().Trim().PadLeft(10)+"'");
498  // Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de FRACEE para la (EMPRESA, CUENTA, FACTURA, FRACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," +this._FacturaCee.ToString().Trim()+")");
499 
500  // // Borrar datos de la factura que se pretende generar en IVAREPER
501  // llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' " +
502  // "and cuenta='" + this._Proveedor + "' " +
503  // "and numfra='" + this._FacturaCee.ToString().Trim().PadLeft(10) + "'");
504  // Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de IVAREPER para la (EMPRESA, CUENTA, FACTURA, FRACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim() + ")");
505  // }
506 
507  // // Borrar datos de la factura que se pretende generar en IVASOPOR
508  // llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "ivasopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'");
509  // Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de IVASOPOR para la (EMPRESA, CUENTA, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
510 
511  // // Borrar datos de la factura que se pretende generar en IVA_EXEN
512  // llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "iva_exen") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and factura='" + this._Factura + "' and tipo=1");
513  // Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de IVA_EXEN para la (EMPRESA, CUENTA, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
514 
515  // // Borrar datos de la factura que se pretende generar en RETREPER
516  // llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "retreper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'");
517  // Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de RETREPER para la (EMPRESA, CUENTA, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
518 
519  // // Borrar datos de la factura que se pretende generar en PREVIS
520  // llOk = DB.SQLExec("delete from " + DB.SQLDatabase("comunes", "previs") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "'");
521  // Assert.AreEqual(true, llOk, "No se pudo preparar correctamente la prueba, no se pudieron eliminar los registros de PREVIS para la (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
522 
523  // // Borrar datos de la factura que se pretende generar en EOS
524  // llOk = DB.SQLExec("delete from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'");
525  // 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 + ")");
526  // }
527 
528 
529  // /// <summary>
530  // /// Prueba de creación de asiento de factura de compra TEST1:
531  // /// Retencion proveedor: no
532  // /// Rec.Equiv proveedor: no
533  // /// Pronto pago: no
534  // /// Asiento de compra a proveedor sin retención, sin pronto pago, sin recargo, proveedor nacional, IVA al 21%
535  // /// Base 1000, IVA 210, Total 1210
536  // ///</summary>
537  // [Owner(Owners.JoseMaria_Gay),
538  // TestMethod(),
539  // Description("Asiento de factura de compra a proveedor sin retención, sin pronto pago, sin recargo, proveedor nacional, IVA 21%, Base 1000, IVA 210, Total 1210"),
540  // DeploymentItem("sage.50.exe")]
541  // [Priority(1)]
542  // public void AsientosFacturasComprasGeneradorTest1()
543  // {
544  // bool llOk = false;
545 
546  // int lnNumFacCompra = Convert.ToInt32(EW_GLOBAL._GetLenCampo(KeyDiccionarioLenCampos.wn_factcompra));
547 
548  // this._Proveedor = "40070000";
549  // this._Contrapartida = "60000001";
550  // this._Factura = "XX".PadLeft(lnNumFacCompra);
551  // this._BaseIva = 1000;
552  // this._ImpContrapartida = 1000;
553  // this._TipoIva = "XX";
554  // this._TipoRet = "XX";
555  // this._TipoIvaEx = "XE";
556  // this._FacturaCee=0;
557  // this._Isp = false;
558 
559  // // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
560  // PrepararDatosPrueba();
561 
562 
563  // // Configura la ficha del proveedor para la prueba: sin retencion, sin recargo, sin pronto, proveedor nacional
564  // ConfigurarProveedor(false, sage.ew.docscompra.Proveedor.TipoRetencion.SinRetencion, false, 0, "034", "", sage.ew.docscompra.Proveedor.TipoProveedor.Nacional);
565 
566 
567  // // Comprobar que los datos de prueba introducidos son correctos.
568  // ComprobarDatosPrueba();
569 
570 
571  // // Elimina asiento, iva y previsiones pruebas anteriores
572  // EliminacionDatosPruebasAnteriores();
573 
574 
575  // // Comienzo.
576  // AsientosFacturasCompraGenerador loGenAsiFacCom = new AsientosFacturasCompraGenerador();
577  // loGenAsiFacCom._LinkForm = false;
578 
579  // loGenAsiFacCom._Fecha_Asiento = DateTime.Today;
580  // loGenAsiFacCom._Fecha_Factura = DateTime.Today;
581 
582  // // Al hacer esta asignacion los campos de retencion y pronto pago del objeto loGenAsiFacCom deben quedar
583  // // asignados automaticamente
584  // loGenAsiFacCom._CliPro = this._Proveedor;
585 
586  // loGenAsiFacCom._Factura = this._Factura;
587 
588  // // Una linia de TIPOIVA
589  // if (loGenAsiFacCom._TipoIvaLineas.Count == 0)
590  // loGenAsiFacCom._TipoIvaLineas.Add(new AsientosFacturasGenerador.TipoIvaLinea(loGenAsiFacCom));
591 
592  // AsientosFacturasCompraGenerador.TipoIvaLinea loLiniaTipoIva = loGenAsiFacCom._TipoIvaLineas[0];
593  // loLiniaTipoIva._Codigo = this._TipoIva;
594  // loLiniaTipoIva._Base = this._BaseIva;
595 
596 
597 
598  // // Una linia de CONTRAPARTIDA
599  // if (loGenAsiFacCom._ContrapartidasLineas.Count == 0)
600  // loGenAsiFacCom._ContrapartidasLineas.Add(new AsientosFacturasGenerador.ContraPartidaLinea(loGenAsiFacCom));
601 
602  // AsientosFacturasCompraGenerador.ContraPartidaLinea loLiniaContrapartida = loGenAsiFacCom._ContrapartidasLineas[0];
603  // loLiniaContrapartida._Cuenta = this._Contrapartida;
604  // loLiniaContrapartida._Importe = this._ImpContrapartida;
605 
606 
607 
608  // // Warnings no lo paso, voy directo a los errores de configuracion previos a la generacion
609  // loGenAsiFacCom._Error_Message = "";
610  // llOk = loGenAsiFacCom._GenerarAsientoFactura_Before_Errors();
611  // Assert.AreEqual(llOk, true, "Test 1 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba, "+
612  // "no se superó el control previo de errores para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," +
613  // this._Proveedor + "," + this._Factura + ") Mensaje de error: " + loGenAsiFacCom._Error_Message);
614 
615 
616  // // Genero el asientn
617  // if (llOk)
618  // {
619  // loGenAsiFacCom._Error_Message = "";
620  // llOk = loGenAsiFacCom._GenerarAsientoFactura();
621  // Assert.AreEqual(llOk, true, "Test 1 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba para la factura " +
622  // "(EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ") Mensaje de error: " +
623  // loGenAsiFacCom._Error_Message);
624 
625  // if (llOk)
626  // {
627  // IAsientos loAsiento = loGenAsiFacCom._AsientoGenerado;
628  // Assert.IsNotNull(loAsiento,"Test 1 GeneradorAsientosFacturasCompra. No se ha generador el asiento de factura de compra correctamente.");
629 
630  // if (loAsiento != null)
631  // {
632  // // Asiento descuadrado ?
633  // Assert.AreEqual(0, loAsiento._TotalDebe - loAsiento._TotalHaber, "Test 1 GeneradorAsientosFacturasCompra. Asiento generado descuadrado. Descuadre = "+(loAsiento._TotalDebe-loAsiento._TotalHaber).ToString());
634 
635  // //Generar previsiones.
636  // loGenAsiFacCom._GenerarPrevisiones(false);
637 
638 
639  // // 3 lineas en asiento ?
640  // Assert.AreEqual(3, loAsiento._Lineas.Count, "Test 1 GeneradorAsientosFacturasCompra. Asiento generado correctamente pero se esperaban 3 lineas y tiene " + loAsiento._Lineas.Count.ToString());
641  // if (loAsiento._Lineas.Count == 3)
642  // {
643  // TipoIVA loTipoIva = new TipoIVA();
644 
645  // loTipoIva._Codigo = this._TipoIva;
646 
647  // // Verificamos que en cada linea haya la cuenta que esperamos
648  // Assert.AreEqual(this._Proveedor, loAsiento._Lineas[0]._Cuenta, "Test 1 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener cuenta contable " + this._Proveedor + " y es " + loAsiento._Lineas[0]._Cuenta);
649  // Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 1 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
650  // Assert.AreEqual(loTipoIva._Cta_IVA_Sop, loAsiento._Lineas[2]._Cuenta, "Test 1 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Sop + " y es " + loAsiento._Lineas[2]._Cuenta);
651 
652 
653  // // Verificamos que en cada linea haya el importe que esperamos
654  // Assert.AreEqual(1210, loAsiento._Lineas[0]._Haber, "Test 1 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener importe 1210 en el HABER y tiene " + loAsiento._Lineas[0]._Haber);
655  // Assert.AreEqual(1000, loAsiento._Lineas[1]._Debe, "Test 1 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener importe 1000 en el DEBE y tiene " + loAsiento._Lineas[1]._Debe);
656  // Assert.AreEqual(210, loAsiento._Lineas[2]._Debe, "Test 1 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener importe 210 en el DEBE y tiene " + loAsiento._Lineas[2]._Debe);
657 
658  // // Verificamos un registro en IVASOPOR.
659  // DataTable ldtRegIvasopor = new DataTable();
660  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivasopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegIvasopor);
661  // Assert.AreEqual(1, ldtRegIvasopor.Rows.Count, "Test 1 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVASOPOR en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
662 
663  // // Verificamos previsiones de pago generadas.
664  // DataTable ldtRegPrevis = new DataTable();
665  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previs") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "'", ref ldtRegPrevis);
666  // Assert.IsTrue(ldtRegPrevis.Rows.Count > 0, "Test 1 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en COMUNES.PREVIS para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
667 
668  // // Verificamos registros EOS (contrapartida)
669  // DataTable ldtRegEOS = new DataTable();
670  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
671  // Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 1 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
672  // }
673  // }
674  // }
675  // }
676 
677  // EliminacionDatosPruebasAnteriores();
678  // }
679 
680 
681  // /// <summary>
682  // /// Prueba de creación de asiento de factura de compra TEST2:
683  // /// Retencion proveedor: no
684  // /// Rec.Equiv proveedor: si
685  // /// Pronto pago: si
686  // /// Asiento de compra a proveedor sin retención, con pronto pago, con recargo equiv, proveedor nacional, IVA 21%, RECEQUIV 1%, P.P. 10%
687  // /// Base 1000, IVA 210, RecEquiv 10, Total 1220
688  // ///</summary>
689  // [Owner(Owners.JoseMaria_Gay),
690  // TestMethod(),
691  // Description("Asiento de factura de compra a proveedor sin retención, con pronto pago, con recargo equiv, proveedor nacional, IVA 21%, RECEQUIV 1%, P.P. 10% Base 1000, IVA 210, RecEquiv 10, Total 1220"),
692  // DeploymentItem("sage.50.exe")]
693  // [Priority(1)]
694  // public void AsientosFacturasComprasGeneradorTest2()
695  // {
696  // bool llOk = false;
697 
698  // int lnNumFacCompra = Convert.ToInt32(EW_GLOBAL._GetLenCampo(KeyDiccionarioLenCampos.wn_factcompra));
699 
700  // this._Proveedor = "40070000";
701  // this._Contrapartida = "60000001";
702  // this._Factura = "XX".PadLeft(lnNumFacCompra);
703  // this._BaseIva = 1000;
704  // this._ImpContrapartida = 1111.11M;
705  // this._TipoIva = "XX";
706  // this._TipoRet = "XX";
707  // this._TipoIvaEx = "XE";
708  // this._FacturaCee=0;
709  // this._Isp = false;
710 
711  // // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
712  // PrepararDatosPrueba();
713 
714 
715  // // Configura la ficha del proveedor para la prueba: sin retencion, sin recargo, sin pronto, proveedor nacional
716  // ConfigurarProveedor(false, sage.ew.docscompra.Proveedor.TipoRetencion.SinRetencion, true, 10, "034", "", sage.ew.docscompra.Proveedor.TipoProveedor.Nacional);
717 
718 
719  // // Comprobar que los datos de prueba introducidos son correctos.
720  // ComprobarDatosPrueba();
721 
722 
723  // // Elimina asiento, iva y previsiones pruebas anteriores
724  // EliminacionDatosPruebasAnteriores();
725 
726 
727  // // Comienzo.
728  // AsientosFacturasCompraGenerador loGenAsiFacCom = new AsientosFacturasCompraGenerador();
729  // loGenAsiFacCom._LinkForm = false;
730 
731  // loGenAsiFacCom._Fecha_Asiento = DateTime.Today;
732  // loGenAsiFacCom._Fecha_Factura = DateTime.Today;
733 
734  // // Al hacer esta asignacion los campos de retencion y pronto pago del objeto loGenAsiFacCom deben quedar
735  // // asignados automaticamente
736  // loGenAsiFacCom._CliPro = this._Proveedor;
737 
738  // loGenAsiFacCom._Factura = this._Factura;
739 
740  // // Una linia de TIPOIVA
741  // if (loGenAsiFacCom._TipoIvaLineas.Count == 0)
742  // loGenAsiFacCom._TipoIvaLineas.Add(new AsientosFacturasGenerador.TipoIvaLinea(loGenAsiFacCom));
743 
744  // AsientosFacturasCompraGenerador.TipoIvaLinea loLiniaTipoIva = loGenAsiFacCom._TipoIvaLineas[0];
745  // loLiniaTipoIva._Codigo = this._TipoIva;
746  // loLiniaTipoIva._Base = this._BaseIva;
747 
748 
749 
750  // // Una linia de CONTRAPARTIDA
751  // if (loGenAsiFacCom._ContrapartidasLineas.Count == 0)
752  // loGenAsiFacCom._ContrapartidasLineas.Add(new AsientosFacturasGenerador.ContraPartidaLinea(loGenAsiFacCom));
753 
754  // AsientosFacturasCompraGenerador.ContraPartidaLinea loLiniaContrapartida = loGenAsiFacCom._ContrapartidasLineas[0];
755  // loLiniaContrapartida._Cuenta = this._Contrapartida;
756  // loLiniaContrapartida._Importe = this._ImpContrapartida;
757 
758 
759 
760  // // Warnings no lo paso, voy directo a los errores de configuracion previos a la generacion
761  // loGenAsiFacCom._Error_Message = "";
762  // llOk = loGenAsiFacCom._GenerarAsientoFactura_Before_Errors();
763  // Assert.AreEqual(llOk, true, "Test 2 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba, " +
764  // "no se superó el control previo de errores para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," +
765  // this._Proveedor + "," + this._Factura + ") Mensaje de error: " + loGenAsiFacCom._Error_Message);
766 
767 
768  // // Genero el asientn
769  // if (llOk)
770  // {
771  // loGenAsiFacCom._Error_Message = "";
772  // llOk = loGenAsiFacCom._GenerarAsientoFactura();
773  // Assert.AreEqual(llOk, true, "Test 2 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba para la factura " +
774  // "(EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ") Mensaje de error: " +
775  // loGenAsiFacCom._Error_Message);
776 
777  // if (llOk)
778  // {
779  // IAsientos loAsiento = loGenAsiFacCom._AsientoGenerado;
780  // Assert.IsNotNull(loAsiento, "Test 2 GeneradorAsientosFacturasCompra. No se ha generador el asiento de factura de compra correctamente.");
781 
782  // if (loAsiento != null)
783  // {
784  // // Asiento descuadrado ?
785  // Assert.AreEqual(0, loAsiento._TotalDebe - loAsiento._TotalHaber, "Test 2 GeneradorAsientosFacturasCompra. Asiento generado descuadrado. Descuadre = " + (loAsiento._TotalDebe - loAsiento._TotalHaber).ToString());
786 
787  // //Generar previsiones.
788  // loGenAsiFacCom._GenerarPrevisiones(false);
789 
790 
791  // // 5 lineas en asiento ?
792  // Assert.AreEqual(5, loAsiento._Lineas.Count, "Test 2 GeneradorAsientosFacturasCompra. Asiento generado correctamente pero se esperaban 5 lineas y tiene " + loAsiento._Lineas.Count.ToString());
793  // if (loAsiento._Lineas.Count == 5)
794  // {
795  // TipoIVA loTipoIva = new TipoIVA();
796 
797  // loTipoIva._Codigo = this._TipoIva;
798 
799  // // Verificamos que en cada linea haya la cuenta que esperamos
800  // Assert.AreEqual(this._Proveedor, loAsiento._Lineas[0]._Cuenta, "Test 2 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener cuenta contable " + this._Proveedor + " y es " + loAsiento._Lineas[0]._Cuenta);
801  // Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 2 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
802  // Assert.AreEqual(loTipoIva._Cta_IVA_Sop, loAsiento._Lineas[2]._Cuenta, "Test 2 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Sop + " y es " + loAsiento._Lineas[2]._Cuenta);
803  // Assert.AreEqual(loTipoIva._Cta_REC_Sop, loAsiento._Lineas[3]._Cuenta, "Test 2 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener cuenta contable de RECEQUIV " + loTipoIva._Cta_REC_Sop + " y es " + loAsiento._Lineas[3]._Cuenta);
804  // string lcCuentaPPCompras = Convert.ToString(EW_GLOBAL._GetVariable("wc_cdtos"));
805  // Assert.AreEqual(lcCuentaPPCompras, loAsiento._Lineas[4]._Cuenta, "Test 2 GeneradorAsientosFacturasCompra. La quinta linea del asiento debería tener cuenta contable de DTO.P.P. COMPRAS " + lcCuentaPPCompras + " y es " + loAsiento._Lineas[4]._Cuenta);
806 
807  // // Verificamos que en cada linea haya el importe que esperamos
808  // Assert.AreEqual(1220, loAsiento._Lineas[0]._Haber, "Test 2 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener importe 1220 en el HABER y tiene " + loAsiento._Lineas[0]._Haber);
809  // Assert.AreEqual<decimal>(1111.11M, loAsiento._Lineas[1]._Debe, "Test 2 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener importe 1111.11 en el DEBE y tiene " + loAsiento._Lineas[1]._Debe);
810  // Assert.AreEqual(210, loAsiento._Lineas[2]._Debe, "Test 2 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener importe 210 en el DEBE y tiene " + loAsiento._Lineas[2]._Debe);
811  // Assert.AreEqual(10, loAsiento._Lineas[3]._Debe, "Test 2 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener importe 10 en el DEBE y tiene " + loAsiento._Lineas[3]._Debe);
812  // Assert.AreEqual<decimal>(111.11M, loAsiento._Lineas[4]._Haber, "Test 2 GeneradorAsientosFacturasCompra. La quinta linea del asiento debería tener importe 111.11 en el HABER y tiene " + loAsiento._Lineas[4]._Haber);
813 
814  // // Verificamos un registro en IVASOPOR.
815  // DataTable ldtRegIvasopor = new DataTable();
816  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivasopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegIvasopor);
817  // Assert.AreEqual(1, ldtRegIvasopor.Rows.Count, "Test 2 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVASOPOR en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
818 
819  // // Verificamos previsiones de pago generadas.
820  // DataTable ldtRegPrevis = new DataTable();
821  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previs") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "'", ref ldtRegPrevis);
822  // Assert.IsTrue(ldtRegPrevis.Rows.Count > 0, "Test 2 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en COMUNES.PREVIS para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
823 
824  // // Verificamos registros EOS (contrapartida)
825  // DataTable ldtRegEOS = new DataTable();
826  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
827  // Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 2 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
828  // }
829  // }
830  // }
831  // }
832 
833  // EliminacionDatosPruebasAnteriores();
834  // }
835 
836 
837  // /// <summary>
838  // /// Prueba de creación de asiento de factura de compra TEST3:
839  // /// Retencion proveedor: si, sobre base.
840  // /// Rec.Equiv proveedor: si
841  // /// Pronto pago: si
842  // /// Asiento de compra a proveedor con retención, con pronto pago, con recargo equiv, proveedor nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, RET.BASE 15%
843  // /// Base 1000, IVA 210, RecEquiv 10, Ret. 150, Total 1070
844  // ///</summary>
845  // [Owner(Owners.JoseMaria_Gay),
846  // TestMethod(),
847  // Description("Asiento de factura de compra a proveedor con retención, con pronto pago, con recargo equiv, proveedor nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, RET.BASE 15%, Base 1000, IVA 210, RecEquiv 10, Ret. 150, Total 1070"),
848  // DeploymentItem("sage.50.exe")]
849  // [Priority(1)]
850  // public void AsientosFacturasComprasGeneradorTest3()
851  // {
852  // bool llOk = false;
853 
854  // int lnNumFacCompra = Convert.ToInt32(EW_GLOBAL._GetLenCampo(KeyDiccionarioLenCampos.wn_factcompra));
855 
856  // this._Proveedor = "40070000";
857  // this._Contrapartida = "60000001";
858  // this._Factura = "XX".PadLeft(lnNumFacCompra);
859  // this._BaseIva = 1000;
860  // this._ImpContrapartida = 1111.11M;
861  // this._TipoIva = "XX";
862  // this._TipoRet = "XX";
863  // this._TipoIvaEx = "XE";
864  // this._FacturaCee=0;
865  // this._Isp = false;
866 
867  // // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
868  // PrepararDatosPrueba();
869 
870 
871  // // Configura la ficha del proveedor para la prueba: sin retencion, sin recargo, sin pronto, proveedor nacional
872  // ConfigurarProveedor(true, sage.ew.docscompra.Proveedor.TipoRetencion.SobreBase, true, 10, "034", "", sage.ew.docscompra.Proveedor.TipoProveedor.Nacional);
873 
874 
875  // // Comprobar que los datos de prueba introducidos son correctos.
876  // ComprobarDatosPrueba();
877 
878 
879  // // Elimina asiento, iva y previsiones pruebas anteriores
880  // EliminacionDatosPruebasAnteriores();
881 
882 
883  // // Comienzo.
884  // AsientosFacturasCompraGenerador loGenAsiFacCom = new AsientosFacturasCompraGenerador();
885  // loGenAsiFacCom._LinkForm = false;
886 
887  // loGenAsiFacCom._Fecha_Asiento = DateTime.Today;
888  // loGenAsiFacCom._Fecha_Factura = DateTime.Today;
889 
890  // // Al hacer esta asignacion los campos de retencion y pronto pago del objeto loGenAsiFacCom deben quedar
891  // // asignados automaticamente
892  // loGenAsiFacCom._CliPro = this._Proveedor;
893 
894  // loGenAsiFacCom._Factura = this._Factura;
895 
896  // // Una linia de TIPOIVA
897  // if (loGenAsiFacCom._TipoIvaLineas.Count == 0)
898  // loGenAsiFacCom._TipoIvaLineas.Add(new AsientosFacturasGenerador.TipoIvaLinea(loGenAsiFacCom));
899 
900  // AsientosFacturasCompraGenerador.TipoIvaLinea loLiniaTipoIva = loGenAsiFacCom._TipoIvaLineas[0];
901  // loLiniaTipoIva._Codigo = this._TipoIva;
902  // loLiniaTipoIva._Base = this._BaseIva;
903 
904 
905 
906  // // Una linia de CONTRAPARTIDA
907  // if (loGenAsiFacCom._ContrapartidasLineas.Count == 0)
908  // loGenAsiFacCom._ContrapartidasLineas.Add(new AsientosFacturasGenerador.ContraPartidaLinea(loGenAsiFacCom));
909 
910  // AsientosFacturasCompraGenerador.ContraPartidaLinea loLiniaContrapartida = loGenAsiFacCom._ContrapartidasLineas[0];
911  // loLiniaContrapartida._Cuenta = this._Contrapartida;
912  // loLiniaContrapartida._Importe = this._ImpContrapartida;
913 
914 
915 
916  // // Warnings no lo paso, voy directo a los errores de configuracion previos a la generacion
917  // loGenAsiFacCom._Error_Message = "";
918  // llOk = loGenAsiFacCom._GenerarAsientoFactura_Before_Errors();
919  // Assert.AreEqual(llOk, true, "Test 3 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba, " +
920  // "no se superó el control previo de errores para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," +
921  // this._Proveedor + "," + this._Factura + ") Mensaje de error: " + loGenAsiFacCom._Error_Message);
922 
923 
924  // // Genero el asientn
925  // if (llOk)
926  // {
927  // loGenAsiFacCom._Error_Message = "";
928  // llOk = loGenAsiFacCom._GenerarAsientoFactura();
929  // Assert.AreEqual(llOk, true, "Test 3 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba para la factura " +
930  // "(EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ") Mensaje de error: " +
931  // loGenAsiFacCom._Error_Message);
932 
933  // if (llOk)
934  // {
935  // IAsientos loAsiento = loGenAsiFacCom._AsientoGenerado;
936  // Assert.IsNotNull(loAsiento, "Test 3 GeneradorAsientosFacturasCompra. No se ha generador el asiento de factura de compra correctamente.");
937 
938  // if (loAsiento != null)
939  // {
940  // // Asiento descuadrado ?
941  // Assert.AreEqual(0, loAsiento._TotalDebe - loAsiento._TotalHaber, "Test 3 GeneradorAsientosFacturasCompra. Asiento generado descuadrado. Descuadre = " + (loAsiento._TotalDebe - loAsiento._TotalHaber).ToString());
942 
943  // //Generar previsiones.
944  // loGenAsiFacCom._GenerarPrevisiones(false);
945 
946 
947  // // 6 lineas en asiento ?
948  // Assert.AreEqual(6, loAsiento._Lineas.Count, "Test 3 GeneradorAsientosFacturasCompra. Asiento generado correctamente pero se esperaban 6 lineas y tiene " + loAsiento._Lineas.Count.ToString());
949  // if (loAsiento._Lineas.Count == 6)
950  // {
951  // TipoIVA loTipoIva = new TipoIVA();
952  // loTipoIva._Codigo = this._TipoIva;
953 
954  // TipoRetencion loTipoRet = new TipoRetencion();
955  // loTipoRet._Codigo = this._TipoRet;
956 
957  // // Verificamos que en cada linea haya la cuenta que esperamos
958  // Assert.AreEqual(this._Proveedor, loAsiento._Lineas[0]._Cuenta, "Test 3 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener cuenta contable " + this._Proveedor + " y es " + loAsiento._Lineas[0]._Cuenta);
959  // Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 3 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
960  // Assert.AreEqual(loTipoIva._Cta_IVA_Sop, loAsiento._Lineas[2]._Cuenta, "Test 3 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Sop + " y es " + loAsiento._Lineas[2]._Cuenta);
961  // Assert.AreEqual(loTipoIva._Cta_REC_Sop, loAsiento._Lineas[3]._Cuenta, "Test 3 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener cuenta contable de RECEQUIV " + loTipoIva._Cta_REC_Sop + " y es " + loAsiento._Lineas[3]._Cuenta);
962  // string lcCuentaPPCompras = Convert.ToString(EW_GLOBAL._GetVariable("wc_cdtos"));
963  // Assert.AreEqual(lcCuentaPPCompras, loAsiento._Lineas[4]._Cuenta, "Test 3 GeneradorAsientosFacturasCompra. La quinta linea del asiento debería tener cuenta contable de DTO.P.P. COMPRAS " + lcCuentaPPCompras + " y es " + loAsiento._Lineas[4]._Cuenta);
964  // Assert.AreEqual(loTipoRet._CTA_RE_REP, loAsiento._Lineas[5]._Cuenta, "Test 3 GeneradorAsientosFacturasCompra. La sexta linea del asiento debería tener cuenta contable de retencion repercutida " + loTipoRet._CTA_RE_REP + " y es " + loAsiento._Lineas[5]._Cuenta);
965 
966  // // Verificamos que en cada linea haya el importe que esperamos
967  // Assert.AreEqual(1070, loAsiento._Lineas[0]._Haber, "Test 3 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener importe 1070 en el HABER y tiene " + loAsiento._Lineas[0]._Haber);
968  // Assert.AreEqual<decimal>(1111.11M, loAsiento._Lineas[1]._Debe, "Test 3 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener importe 1111.11 en el DEBE y tiene " + loAsiento._Lineas[1]._Debe);
969  // Assert.AreEqual(210, loAsiento._Lineas[2]._Debe, "Test 3 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener importe 210 en el DEBE y tiene " + loAsiento._Lineas[2]._Debe);
970  // Assert.AreEqual(10, loAsiento._Lineas[3]._Debe, "Test 3 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener importe 10 en el DEBE y tiene " + loAsiento._Lineas[3]._Debe);
971  // Assert.AreEqual<decimal>(111.11M, loAsiento._Lineas[4]._Haber, "Test 3 GeneradorAsientosFacturasCompra. La quinta linea del asiento debería tener importe 111.11 en el HABER y tiene " + loAsiento._Lineas[4]._Haber);
972  // Assert.AreEqual(150, loAsiento._Lineas[5]._Haber, "Test 3 GeneradorAsientosFacturasCompra. La sexta linea del asiento debería tener importe 150 en el HABER y tiene " + loAsiento._Lineas[5]._Haber);
973 
974  // // Verificamos un registro en IVASOPOR.
975  // DataTable ldtRegIvasopor = new DataTable();
976  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivasopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegIvasopor);
977  // Assert.AreEqual(1, ldtRegIvasopor.Rows.Count, "Test 3 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVASOPOR en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
978 
979  // // Verificamos un registro en RETREPER
980  // DataTable ldtRegRetReper = new DataTable();
981  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "retreper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegRetReper);
982  // Assert.AreEqual(1, ldtRegRetReper.Rows.Count, "Test 3 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de RETREPER en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
983 
984  // // Verificamos que el importe de retencion en RETREPER sea el correcto.
985  // if (ldtRegRetReper.Rows.Count == 1)
986  // Assert.AreEqual(150, Convert.ToDecimal(ldtRegRetReper.Rows[0]["retencio"]), "Test 3 GeneradorAsientosFacturasCompra, asiento generado y detectado registro de RETREPER pero con importe incorrecto para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "), debería ser 150 y es " + Convert.ToDecimal(ldtRegRetReper.Rows[0]["retencio"]).ToString().Trim());
987 
988  // // Verificamos previsiones de pago generadas.
989  // DataTable ldtRegPrevis = new DataTable();
990  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previs") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "'", ref ldtRegPrevis);
991  // Assert.IsTrue(ldtRegPrevis.Rows.Count > 0, "Test 3 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en COMUNES.PREVIS para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
992 
993  // // Verificamos registros EOS (contrapartida)
994  // DataTable ldtRegEOS = new DataTable();
995  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
996  // Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 3 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
997  // }
998  // }
999  // }
1000  // }
1001 
1002  // EliminacionDatosPruebasAnteriores();
1003  // }
1004 
1005 
1006  // /// <summary>
1007  // /// Prueba de creación de asiento de factura de compra TEST4:
1008  // /// Retencion proveedor: si, sobre totfac.
1009  // /// Rec.Equiv proveedor: si
1010  // /// Pronto pago: si
1011  // /// Asiento de compra a proveedor con retención, con pronto pago, con recargo equiv, proveedor nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, RET.TOTFAC 15%
1012  // /// Base 1000, IVA 210, RecEquiv 10, Ret. 150, Total 1070
1013  // ///</summary>
1014  // [Owner(Owners.JoseMaria_Gay),
1015  // TestMethod(),
1016  // Description("Asiento de factura de compra a proveedor con retención, con pronto pago, con recargo equiv, proveedor nacional, IVA 21%, RECEQUIV 1%, P.P. 10%, RET.TOTFAC 15%, Base 1000, IVA 210, RecEquiv 10, Ret. 183, Total 1037"),
1017  // DeploymentItem("sage.50.exe")]
1018  // [Priority(1)]
1019  // public void AsientosFacturasComprasGeneradorTest4()
1020  // {
1021  // bool llOk = false;
1022 
1023  // int lnNumFacCompra = Convert.ToInt32(EW_GLOBAL._GetLenCampo(KeyDiccionarioLenCampos.wn_factcompra));
1024 
1025  // this._Proveedor = "40070000";
1026  // this._Contrapartida = "60000001";
1027  // this._Factura = "XX".PadLeft(lnNumFacCompra);
1028  // this._BaseIva = 1000;
1029  // this._ImpContrapartida = 1111.11M;
1030  // this._TipoIva = "XX";
1031  // this._TipoRet = "XX";
1032  // this._TipoIvaEx = "XE";
1033  // this._FacturaCee=0;
1034  // this._Isp = false;
1035 
1036  // // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
1037  // PrepararDatosPrueba();
1038 
1039 
1040  // // Configura la ficha del proveedor para la prueba: sin retencion, sin recargo, sin pronto, proveedor nacional
1041  // ConfigurarProveedor(true, sage.ew.docscompra.Proveedor.TipoRetencion.SobreFactura, true, 10, "034", "", sage.ew.docscompra.Proveedor.TipoProveedor.Nacional);
1042 
1043 
1044  // // Comprobar que los datos de prueba introducidos son correctos.
1045  // ComprobarDatosPrueba();
1046 
1047 
1048  // // Elimina asiento, iva y previsiones pruebas anteriores
1049  // EliminacionDatosPruebasAnteriores();
1050 
1051 
1052  // // Comienzo.
1053  // AsientosFacturasCompraGenerador loGenAsiFacCom = new AsientosFacturasCompraGenerador();
1054  // loGenAsiFacCom._LinkForm = false;
1055 
1056  // loGenAsiFacCom._Fecha_Asiento = DateTime.Today;
1057  // loGenAsiFacCom._Fecha_Factura = DateTime.Today;
1058 
1059  // // Al hacer esta asignacion los campos de retencion y pronto pago del objeto loGenAsiFacCom deben quedar
1060  // // asignados automaticamente
1061  // loGenAsiFacCom._CliPro = this._Proveedor;
1062 
1063  // loGenAsiFacCom._Factura = this._Factura;
1064 
1065  // // Una linia de TIPOIVA
1066  // if (loGenAsiFacCom._TipoIvaLineas.Count == 0)
1067  // loGenAsiFacCom._TipoIvaLineas.Add(new AsientosFacturasGenerador.TipoIvaLinea(loGenAsiFacCom));
1068 
1069  // AsientosFacturasCompraGenerador.TipoIvaLinea loLiniaTipoIva = loGenAsiFacCom._TipoIvaLineas[0];
1070  // loLiniaTipoIva._Codigo = this._TipoIva;
1071  // loLiniaTipoIva._Base = this._BaseIva;
1072 
1073 
1074 
1075  // // Una linia de CONTRAPARTIDA
1076  // if (loGenAsiFacCom._ContrapartidasLineas.Count == 0)
1077  // loGenAsiFacCom._ContrapartidasLineas.Add(new AsientosFacturasGenerador.ContraPartidaLinea(loGenAsiFacCom));
1078 
1079  // AsientosFacturasCompraGenerador.ContraPartidaLinea loLiniaContrapartida = loGenAsiFacCom._ContrapartidasLineas[0];
1080  // loLiniaContrapartida._Cuenta = this._Contrapartida;
1081  // loLiniaContrapartida._Importe = this._ImpContrapartida;
1082 
1083 
1084 
1085  // // Warnings no lo paso, voy directo a los errores de configuracion previos a la generacion
1086  // loGenAsiFacCom._Error_Message = "";
1087  // llOk = loGenAsiFacCom._GenerarAsientoFactura_Before_Errors();
1088  // Assert.AreEqual(llOk, true, "Test 4 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba, " +
1089  // "no se superó el control previo de errores para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," +
1090  // this._Proveedor + "," + this._Factura + ") Mensaje de error: " + loGenAsiFacCom._Error_Message);
1091 
1092 
1093  // // Genero el asientn
1094  // if (llOk)
1095  // {
1096  // loGenAsiFacCom._Error_Message = "";
1097  // llOk = loGenAsiFacCom._GenerarAsientoFactura();
1098  // Assert.AreEqual(llOk, true, "Test 4 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba para la factura " +
1099  // "(EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ") Mensaje de error: " +
1100  // loGenAsiFacCom._Error_Message);
1101 
1102  // if (llOk)
1103  // {
1104  // IAsientos loAsiento = loGenAsiFacCom._AsientoGenerado;
1105  // Assert.IsNotNull(loAsiento, "Test 4 GeneradorAsientosFacturasCompra. No se ha generador el asiento de factura de compra correctamente.");
1106 
1107  // if (loAsiento != null)
1108  // {
1109  // // Asiento descuadrado ?
1110  // Assert.AreEqual(0, loAsiento._TotalDebe - loAsiento._TotalHaber, "Test 4 GeneradorAsientosFacturasCompra. Asiento generado descuadrado. Descuadre = " + (loAsiento._TotalDebe - loAsiento._TotalHaber).ToString());
1111 
1112  // //Generar previsiones.
1113  // loGenAsiFacCom._GenerarPrevisiones(false);
1114 
1115 
1116  // // 6 lineas en asiento ?
1117  // Assert.AreEqual(6, loAsiento._Lineas.Count, "Test 4 GeneradorAsientosFacturasCompra. Asiento generado correctamente pero se esperaban 6 lineas y tiene " + loAsiento._Lineas.Count.ToString());
1118  // if (loAsiento._Lineas.Count == 6)
1119  // {
1120  // TipoIVA loTipoIva = new TipoIVA();
1121  // loTipoIva._Codigo = this._TipoIva;
1122 
1123  // TipoRetencion loTipoRet = new TipoRetencion();
1124  // loTipoRet._Codigo = this._TipoRet;
1125 
1126  // // Verificamos que en cada linea haya la cuenta que esperamos
1127  // Assert.AreEqual(this._Proveedor, loAsiento._Lineas[0]._Cuenta, "Test 4 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener cuenta contable " + this._Proveedor + " y es " + loAsiento._Lineas[0]._Cuenta);
1128  // Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 4 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
1129  // Assert.AreEqual(loTipoIva._Cta_IVA_Sop, loAsiento._Lineas[2]._Cuenta, "Test 4 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Sop + " y es " + loAsiento._Lineas[2]._Cuenta);
1130  // Assert.AreEqual(loTipoIva._Cta_REC_Sop, loAsiento._Lineas[3]._Cuenta, "Test 4 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener cuenta contable de RECEQUIV " + loTipoIva._Cta_REC_Sop + " y es " + loAsiento._Lineas[3]._Cuenta);
1131  // string lcCuentaPPCompras = Convert.ToString(EW_GLOBAL._GetVariable("wc_cdtos"));
1132  // Assert.AreEqual(lcCuentaPPCompras, loAsiento._Lineas[4]._Cuenta, "Test 4 GeneradorAsientosFacturasCompra. La quinta linea del asiento debería tener cuenta contable de DTO.P.P. COMPRAS " + lcCuentaPPCompras + " y es " + loAsiento._Lineas[4]._Cuenta);
1133  // Assert.AreEqual(loTipoRet._CTA_RE_REP, loAsiento._Lineas[5]._Cuenta, "Test 4 GeneradorAsientosFacturasCompra. La sexta linea del asiento debería tener cuenta contable de retencion repercutida " + loTipoRet._CTA_RE_REP + " y es " + loAsiento._Lineas[5]._Cuenta);
1134 
1135  // // Verificamos que en cada linea haya el importe que esperamos
1136  // Assert.AreEqual(1037, loAsiento._Lineas[0]._Haber, "Test 4 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener importe 1037 en el HABER y tiene " + loAsiento._Lineas[0]._Haber);
1137  // Assert.AreEqual<decimal>(1111.11M, loAsiento._Lineas[1]._Debe, "Test 4 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener importe 1111.11 en el DEBE y tiene " + loAsiento._Lineas[1]._Debe);
1138  // Assert.AreEqual(210, loAsiento._Lineas[2]._Debe, "Test 4 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener importe 210 en el DEBE y tiene " + loAsiento._Lineas[2]._Debe);
1139  // Assert.AreEqual(10, loAsiento._Lineas[3]._Debe, "Test 4 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener importe 10 en el DEBE y tiene " + loAsiento._Lineas[3]._Debe);
1140  // Assert.AreEqual<decimal>(111.11M, loAsiento._Lineas[4]._Haber, "Test 4 GeneradorAsientosFacturasCompra. La quinta linea del asiento debería tener importe 111.11 en el HABER y tiene " + loAsiento._Lineas[4]._Haber);
1141  // Assert.AreEqual(183, loAsiento._Lineas[5]._Haber, "Test 4 GeneradorAsientosFacturasCompra. La sexta linea del asiento debería tener importe 183 en el HABER y tiene " + loAsiento._Lineas[5]._Haber);
1142 
1143  // // Verificamos un registro en IVASOPOR.
1144  // DataTable ldtRegIvasopor = new DataTable();
1145  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivasopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegIvasopor);
1146  // Assert.AreEqual(1, ldtRegIvasopor.Rows.Count, "Test 4 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVASOPOR en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1147 
1148  // // Verificamos un registro en RETREPER
1149  // DataTable ldtRegRetReper = new DataTable();
1150  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "retreper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegRetReper);
1151  // Assert.AreEqual(1, ldtRegRetReper.Rows.Count, "Test 4 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de RETREPER en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1152 
1153  // // Verificamos que el importe de retencion en RETREPER sea el correcto.
1154  // if (ldtRegRetReper.Rows.Count == 1)
1155  // Assert.AreEqual(183, Convert.ToDecimal(ldtRegRetReper.Rows[0]["retencio"]), "Test 4 GeneradorAsientosFacturasCompra, asiento generado y detectado registro de RETREPER pero con importe incorrecto para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura +
1156  // "), debería ser 183 y es " + Convert.ToDecimal(ldtRegRetReper.Rows[0]["retencio"]).ToString().Trim());
1157 
1158  // // Verificamos previsiones de pago generadas.
1159  // DataTable ldtRegPrevis = new DataTable();
1160  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previs") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "'", ref ldtRegPrevis);
1161  // Assert.IsTrue(ldtRegPrevis.Rows.Count > 0, "Test 4 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en COMUNES.PREVIS para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1162 
1163  // // Verificamos registros EOS (contrapartida)
1164  // DataTable ldtRegEOS = new DataTable();
1165  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
1166  // Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 4 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1167  // }
1168  // }
1169  // }
1170  // }
1171 
1172  // EliminacionDatosPruebasAnteriores();
1173  // }
1174 
1175 
1176  // /// <summary>
1177  // /// Prueba de creación de asiento de factura de compra TEST5:
1178  // /// Retencion proveedor: si, sobre totfac, 15%
1179  // /// Rec.Equiv proveedor: no
1180  // /// Pronto pago: no
1181  // /// Asiento de compra a proveedor con retención, sin pronto pago, sin recargo equiv, proveedor nacional, IVA 21%, RET.TOTFAC 15%
1182  // /// Base 1000, IVA 210, Ret. 181.5, Total 1028.50
1183  // ///</summary>
1184  // [Owner(Owners.JoseMaria_Gay),
1185  // TestMethod(),
1186  // Description("Asiento de factura de compra a proveedor con retención, sin pronto pago, sin recargo equiv, proveedor nacional, IVA 21%, RET.TOTFAC 15%, Base 1000, IVA 210, Ret. 181.5, Total 1028.50"),
1187  // DeploymentItem("sage.50.exe")]
1188  // [Priority(1)]
1189  // public void AsientosFacturasComprasGeneradorTest5()
1190  // {
1191  // bool llOk = false;
1192 
1193  // int lnNumFacCompra = Convert.ToInt32(EW_GLOBAL._GetLenCampo(KeyDiccionarioLenCampos.wn_factcompra));
1194 
1195  // this._Proveedor = "40070000";
1196  // this._Contrapartida = "60000001";
1197  // this._Factura = "XX".PadLeft(lnNumFacCompra);
1198  // this._BaseIva = 1000;
1199  // this._ImpContrapartida = 1000;
1200  // this._TipoIva = "XX";
1201  // this._TipoRet = "XX";
1202  // this._TipoIvaEx = "XE";
1203  // this._FacturaCee=0;
1204  // this._Isp = false;
1205 
1206  // // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
1207  // PrepararDatosPrueba();
1208 
1209 
1210  // // Configura la ficha del proveedor para la prueba: sin retencion, sin recargo, sin pronto, proveedor nacional
1211  // ConfigurarProveedor(true, sage.ew.docscompra.Proveedor.TipoRetencion.SobreFactura, false, 0, "034", "", sage.ew.docscompra.Proveedor.TipoProveedor.Nacional);
1212 
1213 
1214  // // Comprobar que los datos de prueba introducidos son correctos.
1215  // ComprobarDatosPrueba();
1216 
1217 
1218  // // Elimina asiento, iva y previsiones pruebas anteriores
1219  // EliminacionDatosPruebasAnteriores();
1220 
1221 
1222  // // Comienzo.
1223  // AsientosFacturasCompraGenerador loGenAsiFacCom = new AsientosFacturasCompraGenerador();
1224  // loGenAsiFacCom._LinkForm = false;
1225 
1226  // loGenAsiFacCom._Fecha_Asiento = DateTime.Today;
1227  // loGenAsiFacCom._Fecha_Factura = DateTime.Today;
1228 
1229  // // Al hacer esta asignacion los campos de retencion y pronto pago del objeto loGenAsiFacCom deben quedar
1230  // // asignados automaticamente
1231  // loGenAsiFacCom._CliPro = this._Proveedor;
1232 
1233  // loGenAsiFacCom._Factura = this._Factura;
1234 
1235  // // Una linia de TIPOIVA
1236  // if (loGenAsiFacCom._TipoIvaLineas.Count == 0)
1237  // loGenAsiFacCom._TipoIvaLineas.Add(new AsientosFacturasGenerador.TipoIvaLinea(loGenAsiFacCom));
1238 
1239  // AsientosFacturasCompraGenerador.TipoIvaLinea loLiniaTipoIva = loGenAsiFacCom._TipoIvaLineas[0];
1240  // loLiniaTipoIva._Codigo = this._TipoIva;
1241  // loLiniaTipoIva._Base = this._BaseIva;
1242 
1243 
1244 
1245  // // Una linia de CONTRAPARTIDA
1246  // if (loGenAsiFacCom._ContrapartidasLineas.Count == 0)
1247  // loGenAsiFacCom._ContrapartidasLineas.Add(new AsientosFacturasGenerador.ContraPartidaLinea(loGenAsiFacCom));
1248 
1249  // AsientosFacturasCompraGenerador.ContraPartidaLinea loLiniaContrapartida = loGenAsiFacCom._ContrapartidasLineas[0];
1250  // loLiniaContrapartida._Cuenta = this._Contrapartida;
1251  // loLiniaContrapartida._Importe = this._ImpContrapartida;
1252 
1253 
1254 
1255  // // Warnings no lo paso, voy directo a los errores de configuracion previos a la generacion
1256  // loGenAsiFacCom._Error_Message = "";
1257  // llOk = loGenAsiFacCom._GenerarAsientoFactura_Before_Errors();
1258  // Assert.AreEqual(llOk, true, "Test 5 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba, " +
1259  // "no se superó el control previo de errores para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," +
1260  // this._Proveedor + "," + this._Factura + ") Mensaje de error: " + loGenAsiFacCom._Error_Message);
1261 
1262 
1263  // // Genero el asientn
1264  // if (llOk)
1265  // {
1266  // loGenAsiFacCom._Error_Message = "";
1267  // llOk = loGenAsiFacCom._GenerarAsientoFactura();
1268  // Assert.AreEqual(llOk, true, "Test 5 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba para la factura " +
1269  // "(EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ") Mensaje de error: " +
1270  // loGenAsiFacCom._Error_Message);
1271 
1272  // if (llOk)
1273  // {
1274  // IAsientos loAsiento = loGenAsiFacCom._AsientoGenerado;
1275  // Assert.IsNotNull(loAsiento, "Test 5 GeneradorAsientosFacturasCompra. No se ha generador el asiento de factura de compra correctamente.");
1276 
1277  // if (loAsiento != null)
1278  // {
1279  // // Asiento descuadrado ?
1280  // Assert.AreEqual(0, loAsiento._TotalDebe - loAsiento._TotalHaber, "Test 5 GeneradorAsientosFacturasCompra. Asiento generado descuadrado. Descuadre = " + (loAsiento._TotalDebe - loAsiento._TotalHaber).ToString());
1281 
1282  // //Generar previsiones.
1283  // loGenAsiFacCom._GenerarPrevisiones(false);
1284 
1285 
1286  // // 4 lineas en asiento ?
1287  // Assert.AreEqual(4, loAsiento._Lineas.Count, "Test 5 GeneradorAsientosFacturasCompra. Asiento generado correctamente pero se esperaban 4 lineas y tiene " + loAsiento._Lineas.Count.ToString());
1288  // if (loAsiento._Lineas.Count == 4)
1289  // {
1290  // TipoIVA loTipoIva = new TipoIVA();
1291  // loTipoIva._Codigo = this._TipoIva;
1292 
1293  // TipoRetencion loTipoRet = new TipoRetencion();
1294  // loTipoRet._Codigo = this._TipoRet;
1295 
1296  // // Verificamos que en cada linea haya la cuenta que esperamos
1297  // Assert.AreEqual(this._Proveedor, loAsiento._Lineas[0]._Cuenta, "Test 5 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener cuenta contable " + this._Proveedor + " y es " + loAsiento._Lineas[0]._Cuenta);
1298  // Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 5 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
1299  // Assert.AreEqual(loTipoIva._Cta_IVA_Sop, loAsiento._Lineas[2]._Cuenta, "Test 5 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener cuenta contable de IVA " + loTipoIva._Cta_IVA_Sop + " y es " + loAsiento._Lineas[2]._Cuenta);
1300  // Assert.AreEqual(loTipoRet._CTA_RE_REP, loAsiento._Lineas[3]._Cuenta, "Test 5 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener cuenta contable de retencion repercutida " + loTipoRet._CTA_RE_REP + " y es " + loAsiento._Lineas[3]._Cuenta);
1301 
1302  // // Verificamos que en cada linea haya el importe que esperamos
1303  // Assert.AreEqual<decimal>(1028.5M, loAsiento._Lineas[0]._Haber, "Test 5 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener importe 1028.5 en el HABER y tiene " + loAsiento._Lineas[0]._Haber);
1304  // Assert.AreEqual(1000, loAsiento._Lineas[1]._Debe, "Test 5 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener importe 1000 en el DEBE y tiene " + loAsiento._Lineas[1]._Debe);
1305  // Assert.AreEqual(210, loAsiento._Lineas[2]._Debe, "Test 5 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener importe 210 en el DEBE y tiene " + loAsiento._Lineas[2]._Debe);
1306  // Assert.AreEqual<decimal>(181.5M, loAsiento._Lineas[3]._Haber, "Test 5 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener importe 181.5 en el HABER y tiene " + loAsiento._Lineas[3]._Haber);
1307 
1308  // // Verificamos un registro en IVASOPOR.
1309  // DataTable ldtRegIvasopor = new DataTable();
1310  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivasopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegIvasopor);
1311  // Assert.AreEqual(1, ldtRegIvasopor.Rows.Count, "Test 5 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVASOPOR en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1312 
1313  // // Verificamos un registro en RETREPER
1314  // DataTable ldtRegRetReper = new DataTable();
1315  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "retreper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegRetReper);
1316  // Assert.AreEqual(1, ldtRegRetReper.Rows.Count, "Test 5 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de RETREPER en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1317 
1318  // // Verificamos que el importe de retencion en RETREPER sea el correcto.
1319  // if (ldtRegRetReper.Rows.Count == 1)
1320  // Assert.AreEqual<decimal>(181.5M, Convert.ToDecimal(ldtRegRetReper.Rows[0]["retencio"]), "Test 5 GeneradorAsientosFacturasCompra, asiento generado y detectado registro de RETREPER pero con importe incorrecto para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura +
1321  // "), debería ser 181.5 y es " + Convert.ToDecimal(ldtRegRetReper.Rows[0]["retencio"]).ToString().Trim());
1322 
1323 
1324  // // Verificamos previsiones de pago generadas.
1325  // DataTable ldtRegPrevis = new DataTable();
1326  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previs") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "'", ref ldtRegPrevis);
1327  // Assert.IsTrue(ldtRegPrevis.Rows.Count > 0, "Test 5 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en COMUNES.PREVIS para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1328 
1329  // // Verificamos registros EOS (contrapartida)
1330  // DataTable ldtRegEOS = new DataTable();
1331  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
1332  // Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 5 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1333  // }
1334  // }
1335  // }
1336  // }
1337 
1338  // EliminacionDatosPruebasAnteriores();
1339  // }
1340 
1341  // /// <summary>
1342  // /// Prueba de creación de asiento de factura de compra TEST6:
1343  // /// Retencion proveedor: no
1344  // /// Rec.Equiv proveedor: no
1345  // /// Pronto pago: no
1346  // /// Asiento de factura de compra a proveedor IVA EXENTO sin retención, sin pronto pago, sin recargo, proveedor nacional, IVA al 21%
1347  // /// Base 1000, IVA 210, Total 1210
1348  // ///</summary>
1349  // [Owner(Owners.JoseMaria_Gay),
1350  // TestMethod(),
1351  // Description("Asiento de factura de compra a proveedor IVA EXENTO sin retención, sin pronto pago, sin recargo, proveedor nacional, IVA 21%, Base 1000, IVA 210, Total 1210"),
1352  // DeploymentItem("sage.50.exe")]
1353  // [Priority(1)]
1354  // public void AsientosFacturasComprasGeneradorTest6()
1355  // {
1356  // bool llOk = false;
1357 
1358  // int lnNumFacCompra = Convert.ToInt32(EW_GLOBAL._GetLenCampo(KeyDiccionarioLenCampos.wn_factcompra));
1359 
1360  // this._Proveedor = "40070000";
1361  // this._Contrapartida = "60000001";
1362  // this._Factura = "XX".PadLeft(lnNumFacCompra);
1363  // this._BaseIva = 1000;
1364  // this._ImpContrapartida = 1000;
1365  // this._TipoIva = "XX";
1366  // this._TipoRet = "XX";
1367  // this._TipoIvaEx = "XE";
1368  // this._FacturaCee=0;
1369  // this._Isp = false;
1370 
1371  // // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
1372  // PrepararDatosPrueba();
1373 
1374 
1375  // // Configura la ficha del proveedor para la prueba: sin retencion, sin recargo, sin pronto, proveedor nacional
1376  // ConfigurarProveedor(false, sage.ew.docscompra.Proveedor.TipoRetencion.SinRetencion, false, 0, "034", "", sage.ew.docscompra.Proveedor.TipoProveedor.Nacional);
1377 
1378 
1379  // // Comprobar que los datos de prueba introducidos son correctos.
1380  // ComprobarDatosPrueba();
1381 
1382 
1383  // // Elimina asiento, iva y previsiones pruebas anteriores
1384  // EliminacionDatosPruebasAnteriores();
1385 
1386 
1387  // // Comienzo.
1388  // AsientosFacturasCompraGenerador loGenAsiFacCom = new AsientosFacturasCompraGenerador();
1389  // loGenAsiFacCom._LinkForm = false;
1390 
1391  // loGenAsiFacCom._Fecha_Asiento = DateTime.Today;
1392  // loGenAsiFacCom._Fecha_Factura = DateTime.Today;
1393 
1394  // // Al hacer esta asignacion los campos de retencion y pronto pago del objeto loGenAsiFacCom deben quedar
1395  // // asignados automaticamente
1396  // loGenAsiFacCom._CliPro = this._Proveedor;
1397 
1398  // loGenAsiFacCom._Factura = this._Factura;
1399 
1400  // // Una linia de TIPOIVA
1401  // if (loGenAsiFacCom._TipoIvaLineas.Count == 0)
1402  // loGenAsiFacCom._TipoIvaLineas.Add(new AsientosFacturasGenerador.TipoIvaLinea(loGenAsiFacCom));
1403 
1404  // AsientosFacturasCompraGenerador.TipoIvaLinea loLiniaTipoIva = loGenAsiFacCom._TipoIvaLineas[0];
1405  // loLiniaTipoIva._Codigo = this._TipoIvaEx;
1406  // loLiniaTipoIva._Base = this._BaseIva;
1407 
1408 
1409 
1410  // // Una linia de CONTRAPARTIDA
1411  // if (loGenAsiFacCom._ContrapartidasLineas.Count == 0)
1412  // loGenAsiFacCom._ContrapartidasLineas.Add(new AsientosFacturasGenerador.ContraPartidaLinea(loGenAsiFacCom));
1413 
1414  // AsientosFacturasCompraGenerador.ContraPartidaLinea loLiniaContrapartida = loGenAsiFacCom._ContrapartidasLineas[0];
1415  // loLiniaContrapartida._Cuenta = this._Contrapartida;
1416  // loLiniaContrapartida._Importe = this._ImpContrapartida;
1417 
1418 
1419 
1420  // // Warnings no lo paso, voy directo a los errores de configuracion previos a la generacion
1421  // loGenAsiFacCom._Error_Message = "";
1422  // llOk = loGenAsiFacCom._GenerarAsientoFactura_Before_Errors();
1423  // Assert.AreEqual(llOk, true, "Test 6 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba, " +
1424  // "no se superó el control previo de errores para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," +
1425  // this._Proveedor + "," + this._Factura + ") Mensaje de error: " + loGenAsiFacCom._Error_Message);
1426 
1427 
1428  // // Genero el asientn
1429  // if (llOk)
1430  // {
1431  // loGenAsiFacCom._Error_Message = "";
1432  // llOk = loGenAsiFacCom._GenerarAsientoFactura();
1433  // Assert.AreEqual(llOk, true, "Test 6 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba para la factura " +
1434  // "(EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ") Mensaje de error: " +
1435  // loGenAsiFacCom._Error_Message);
1436 
1437  // if (llOk)
1438  // {
1439  // IAsientos loAsiento = loGenAsiFacCom._AsientoGenerado;
1440  // Assert.IsNotNull(loAsiento, "Test 6 GeneradorAsientosFacturasCompra. No se ha generado el asiento de factura de compra correctamente.");
1441 
1442  // if (loAsiento != null)
1443  // {
1444  // // Asiento descuadrado ?
1445  // Assert.AreEqual(0, loAsiento._TotalDebe - loAsiento._TotalHaber, "Test 6 GeneradorAsientosFacturasCompra. Asiento generado descuadrado. Descuadre = " + (loAsiento._TotalDebe - loAsiento._TotalHaber).ToString());
1446 
1447  // //Generar previsiones.
1448  // loGenAsiFacCom._GenerarPrevisiones(false);
1449 
1450 
1451  // // 2 lineas en asiento ?
1452  // Assert.AreEqual(2, loAsiento._Lineas.Count, "Test 6 GeneradorAsientosFacturasCompra. Asiento generado correctamente pero se esperaban 2 lineas y tiene " + loAsiento._Lineas.Count.ToString());
1453  // if (loAsiento._Lineas.Count == 3)
1454  // {
1455 
1456  // // Verificamos que en cada linea haya la cuenta que esperamos
1457  // Assert.AreEqual(this._Proveedor, loAsiento._Lineas[0]._Cuenta, "Test 6 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener cuenta contable " + this._Proveedor + " y es " + loAsiento._Lineas[0]._Cuenta);
1458  // Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 6 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
1459 
1460 
1461  // // Verificamos que en cada linea haya el importe que esperamos
1462  // Assert.AreEqual(1000, loAsiento._Lineas[0]._Haber, "Test 6 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener importe 1000 en el HABER y tiene " + loAsiento._Lineas[0]._Haber);
1463  // Assert.AreEqual(1000, loAsiento._Lineas[1]._Debe, "Test 6 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener importe 1000 en el DEBE y tiene " + loAsiento._Lineas[1]._Debe);
1464 
1465  // // Verificamos 0 registro en IVASOPOR.
1466  // DataTable ldtRegIvasopor = new DataTable();
1467  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivasopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegIvasopor);
1468  // Assert.AreEqual(0, ldtRegIvasopor.Rows.Count, "Test 6 GeneradorAsientosFacturasCompra, asiento generado de IVA EXENTO pero se ha detectado registro de IVASOPOR en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1469 
1470  // // Verificamos un registro en IVA_EXEN
1471  // DataTable ldtRegIvaExen = new DataTable();
1472  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "iva_exen") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and factura='" + this._Factura + "' and tipo=1", ref ldtRegIvaExen);
1473  // Assert.AreEqual(1, ldtRegIvaExen.Rows.Count, "Test 6 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVA_EXEN en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1474 
1475  // // Verificamos previsiones de pago generadas.
1476  // DataTable ldtRegPrevis = new DataTable();
1477  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previs") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "'", ref ldtRegPrevis);
1478  // Assert.IsTrue(ldtRegPrevis.Rows.Count > 0, "Test 6 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en COMUNES.PREVIS para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1479 
1480  // // Verificamos registros EOS (contrapartida)
1481  // DataTable ldtRegEOS = new DataTable();
1482  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
1483  // Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 6 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1484  // }
1485  // }
1486  // }
1487  // }
1488 
1489  // EliminacionDatosPruebasAnteriores();
1490  // }
1491 
1492  // /// <summary>
1493  // /// Prueba de creación de asiento de factura de compra TEST7:
1494  // /// Retencion proveedor: no
1495  // /// Rec.Equiv proveedor: no
1496  // /// Pronto pago: no
1497  // /// Proveedor comunitario: si
1498  // /// Asiento de factura de compra a proveedor COMUNITARIO sin retención, sin pronto pago, sin recargo, proveedor comunitario, IVA al 21%
1499  // /// Base 1000, IVAS 210, IVAR 210 Total 1000
1500  // ///</summary>
1501  // [Owner(Owners.JoseMaria_Gay),
1502  // TestMethod(),
1503  // Description("Asiento de factura de compra a proveedor COMUNITARIO sin retención, sin pronto pago, sin recargo, proveedor comunitario, IVA 21%, Base 1000, IVAS 210, IVAR 210 Total 1000"),
1504  // DeploymentItem("sage.50.exe")]
1505  // [Priority(1)]
1506  // public void AsientosFacturasComprasGeneradorTest7()
1507  // {
1508  // bool llOk = false;
1509 
1510  // int lnNumFacCompra = Convert.ToInt32(EW_GLOBAL._GetLenCampo(KeyDiccionarioLenCampos.wn_factcompra));
1511 
1512  // // Factura de compra base IVA 1000 sin retencion ni pronto pago ni recargo ni nada.
1513  // this._Proveedor = "40070000";
1514  // this._Contrapartida = "60000001";
1515  // this._Factura = "XX".PadLeft(lnNumFacCompra);
1516  // this._BaseIva = 1000;
1517  // this._ImpContrapartida = 1000;
1518  // this._TipoIva = "XX";
1519  // this._TipoRet = "XX";
1520  // this._TipoIvaEx = "XE";
1521  // this._Isp = false;
1522 
1523  // // Nº factura CEE fijo
1524  // // En el 2017 haremos facturas del tipo 1700000 + numero
1525  // string lcAnyo = Convert.ToString(EW_GLOBAL._GetVariable("wc_any")).Substring(2,2);
1526  // int lnContador = (Convert.ToInt32(lcAnyo)*100000);
1527 
1528  // // Como el registro de FRACEE se crea en FOX en la pantalla NUMINTRA.SCX,
1529  // // en esta prueba se hará todo correctamente excepto la genracion del registro en GESTION.FRACEE
1530 
1531  // this._FacturaCee = lnContador + 55768;
1532 
1533  // // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
1534  // PrepararDatosPrueba();
1535 
1536 
1537  // // Configura la ficha del proveedor para la prueba: sin retencion, sin recargo, sin pronto, proveedor comunitario
1538  // ConfigurarProveedor(false, sage.ew.docscompra.Proveedor.TipoRetencion.SinRetencion, false, 0, "001", "", sage.ew.docscompra.Proveedor.TipoProveedor.Comunitario);
1539 
1540 
1541  // // Comprobar que los datos de prueba introducidos son correctos.
1542  // ComprobarDatosPrueba();
1543 
1544 
1545  // // Elimina asiento, iva y previsiones pruebas anteriores
1546  // EliminacionDatosPruebasAnteriores();
1547 
1548 
1549  // // Comienzo.
1550  // AsientosFacturasCompraGenerador loGenAsiFacCom = new AsientosFacturasCompraGenerador();
1551  // loGenAsiFacCom._LinkForm = false;
1552 
1553  // loGenAsiFacCom._Fecha_Asiento = DateTime.Today;
1554  // loGenAsiFacCom._Fecha_Factura = DateTime.Today;
1555 
1556  // // Al hacer esta asignacion los campos de retencion y pronto pago del objeto loGenAsiFacCom deben quedar
1557  // // asignados automaticamente
1558  // loGenAsiFacCom._CliPro = this._Proveedor;
1559 
1560  // loGenAsiFacCom._Factura = this._Factura;
1561 
1562  // // Una linia de TIPOIVA
1563  // if (loGenAsiFacCom._TipoIvaLineas.Count == 0)
1564  // loGenAsiFacCom._TipoIvaLineas.Add(new AsientosFacturasGenerador.TipoIvaLinea(loGenAsiFacCom));
1565 
1566  // AsientosFacturasCompraGenerador.TipoIvaLinea loLiniaTipoIva = loGenAsiFacCom._TipoIvaLineas[0];
1567  // loLiniaTipoIva._Codigo = this._TipoIva;
1568  // loLiniaTipoIva._Base = this._BaseIva;
1569 
1570 
1571 
1572  // // Una linia de CONTRAPARTIDA
1573  // if (loGenAsiFacCom._ContrapartidasLineas.Count == 0)
1574  // loGenAsiFacCom._ContrapartidasLineas.Add(new AsientosFacturasGenerador.ContraPartidaLinea(loGenAsiFacCom));
1575 
1576  // AsientosFacturasCompraGenerador.ContraPartidaLinea loLiniaContrapartida = loGenAsiFacCom._ContrapartidasLineas[0];
1577  // loLiniaContrapartida._Cuenta = this._Contrapartida;
1578  // loLiniaContrapartida._Importe = this._ImpContrapartida;
1579 
1580  // // Informamos los datos de FACTURACEE
1581  // loGenAsiFacCom._Fecha_FacturaCEE = DateTime.Today;
1582  // loGenAsiFacCom._FacturaCEE = this._FacturaCee;
1583 
1584  // // Warnings no lo paso, voy directo a los errores de configuracion previos a la generacion
1585  // loGenAsiFacCom._Error_Message = "";
1586  // llOk = loGenAsiFacCom._GenerarAsientoFactura_Before_Errors();
1587  // Assert.AreEqual(llOk, true, "Test 7 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba, " +
1588  // "no se superó el control previo de errores para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," +
1589  // this._Proveedor + "," + this._Factura + ") Mensaje de error: " + loGenAsiFacCom._Error_Message);
1590 
1591  // // Genero el asiento
1592  // if (llOk)
1593  // {
1594 
1595  // loGenAsiFacCom._Error_Message = "";
1596  // llOk = loGenAsiFacCom._GenerarAsientoFactura();
1597  // Assert.AreEqual(llOk, true, "Test 7 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba para la factura " +
1598  // "(EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ") Mensaje de error: " +
1599  // loGenAsiFacCom._Error_Message);
1600 
1601  // if (llOk)
1602  // {
1603  // IAsientos loAsiento = loGenAsiFacCom._AsientoGenerado;
1604  // Assert.IsNotNull(loAsiento, "Test 7 GeneradorAsientosFacturasCompra. No se ha generado el asiento de factura de compra correctamente.");
1605 
1606  // if (loAsiento != null)
1607  // {
1608  // // Asiento descuadrado ?
1609  // Assert.AreEqual(0, loAsiento._TotalDebe - loAsiento._TotalHaber, "Test 7 GeneradorAsientosFacturasCompra. Asiento generado descuadrado. Descuadre = " + (loAsiento._TotalDebe - loAsiento._TotalHaber).ToString());
1610 
1611  // //Generar previsiones.
1612  // loGenAsiFacCom._GenerarPrevisiones(false);
1613 
1614  // // 4 lineas en asiento ?
1615  // Assert.AreEqual(4, loAsiento._Lineas.Count, "Test 7 GeneradorAsientosFacturasCompra. Asiento generado correctamente pero se esperaban 4 lineas y tiene " + loAsiento._Lineas.Count.ToString());
1616  // if (loAsiento._Lineas.Count == 4)
1617  // {
1618  // TipoIVA loTipoIva = new TipoIVA();
1619 
1620  // loTipoIva._Codigo = this._TipoIva;
1621 
1622  // // Verificamos que en cada linea haya la cuenta que esperamos
1623  // Assert.AreEqual(this._Proveedor, loAsiento._Lineas[0]._Cuenta, "Test 7 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener cuenta contable " + this._Proveedor + " y es " + loAsiento._Lineas[0]._Cuenta);
1624  // Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 7 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
1625  // Assert.AreEqual(loTipoIva._Cta_IVA_Sop, loAsiento._Lineas[2]._Cuenta, "Test 7 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener cuenta contable de IVA soportado " + loTipoIva._Cta_IVA_Sop + " y es " + loAsiento._Lineas[2]._Cuenta);
1626  // Assert.AreEqual(loTipoIva._Cta_IVA_Rep, loAsiento._Lineas[3]._Cuenta, "Test 7 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener cuenta contable de IVA repercutido " + loTipoIva._Cta_IVA_Rep + " y es " + loAsiento._Lineas[3]._Cuenta);
1627 
1628 
1629  // // Verificamos que en cada linea haya el importe que esperamos
1630  // Assert.AreEqual(1000, loAsiento._Lineas[0]._Haber, "Test 7 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener importe 1000 en el HABER y tiene " + loAsiento._Lineas[0]._Haber);
1631  // Assert.AreEqual(1000, loAsiento._Lineas[1]._Debe, "Test 7 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener importe 1000 en el DEBE y tiene " + loAsiento._Lineas[1]._Debe);
1632  // Assert.AreEqual(210, loAsiento._Lineas[2]._Debe, "Test 7 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener importe 210 en el DEBE y tiene " + loAsiento._Lineas[2]._Debe);
1633  // Assert.AreEqual(210, loAsiento._Lineas[3]._Haber, "Test 7 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener importe 210 en el HABER y tiene " + loAsiento._Lineas[3]._Haber);
1634 
1635  // // Verificamos un registro en IVASOPOR.
1636  // DataTable ldtRegIvasopor = new DataTable();
1637  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivasopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegIvasopor);
1638  // Assert.AreEqual(1, ldtRegIvasopor.Rows.Count, "Test 7 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVASOPOR en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1639  // if (ldtRegIvasopor.Rows.Count==1)
1640  // {
1641  // // Campo ORDEN tiene que ser el nº factura CEE
1642  // Assert.AreEqual(this._FacturaCee, Convert.ToInt32(ldtRegIvasopor.Rows[0]["orden"]), "Test 7 GeneradorAsientosFacturasCompra, asiento generado en registro IVASOPO el campo ORDEN no es el nº factura CEE "+this._FacturaCee.ToString().Trim()+" para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura +"," + this._FacturaCee.ToString().Trim().PadLeft(10)+")");
1643  // // Campo COMUNITARI a true
1644  // Assert.AreEqual(true, Convert.ToBoolean(ldtRegIvasopor.Rows[0]["comunitari"]), "Test 7 GeneradorAsientosFacturasCompra, asiento generado en registro IVAREPER el campo TIPO no es 2 para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura +"," + this._FacturaCee.ToString().Trim().PadLeft(10)+")");
1645  // }
1646 
1647  // // Verificamos un registro en IVAREPER.
1648  // DataTable ldtRegIvareper = new DataTable();
1649  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._FacturaCee.ToString().Trim().PadLeft(10) + "'", ref ldtRegIvareper);
1650  // Assert.AreEqual(1, ldtRegIvareper.Rows.Count, "Test 7 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVAREPER en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura +"," + this._FacturaCee.ToString().Trim().PadLeft(10)+")");
1651 
1652  // if (ldtRegIvareper.Rows.Count==1)
1653  // {
1654  // // Campo COMUNITARI a true
1655  // Assert.AreEqual(true, Convert.ToBoolean(ldtRegIvareper.Rows[0]["comunitari"]), "Test 7 GeneradorAsientosFacturasCompra, asiento generado en registro IVAREPER el campo COMUNITARI no es true para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura +"," + this._FacturaCee.ToString().Trim().PadLeft(10)+")");
1656  // // Campo TIPO a 2
1657  // Assert.AreEqual(2, Convert.ToInt32(ldtRegIvareper.Rows[0]["tipo"]), "Test 7 GeneradorAsientosFacturasCompra, asiento generado en registro IVAREPER el campo TIPO no es 2 para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura +"," + this._FacturaCee.ToString().Trim().PadLeft(10)+")");
1658  // }
1659 
1660  // // Verificamos previsiones de pago generadas.
1661  // DataTable ldtRegPrevis = new DataTable();
1662  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previs") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "'", ref ldtRegPrevis);
1663  // Assert.IsTrue(ldtRegPrevis.Rows.Count > 0, "Test 7 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en COMUNES.PREVIS para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1664 
1665  // // Verificamos registros EOS (contrapartida)
1666  // DataTable ldtRegEOS = new DataTable();
1667  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
1668  // Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 7 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1669  // }
1670  // }
1671  // }
1672  // }
1673 
1674  // EliminacionDatosPruebasAnteriores();
1675  // }
1676 
1677 
1678  // /// <summary>
1679  // /// Prueba de creación de asiento de factura de compra TEST8:
1680  // /// Retencion proveedor: no
1681  // /// Rec.Equiv proveedor: no
1682  // /// Pronto pago: no
1683  // /// Proveedor nacional con ISP
1684  // /// Asiento de factura de compra a proveedor nacional ISP sin retención, sin pronto pago, sin recargo, IVA al 21%
1685  // /// Base 1000, IVAS 210, IVAR 210 Total 1000
1686  // ///</summary>
1687  // [Owner(Owners.JoseMaria_Gay),
1688  // TestMethod(),
1689  // Description("Asiento de factura de compra a proveedor nacional ISP sin retención, sin pronto pago, sin recargo, IVA 21%, Base 1000, IVAS 210, IVAR 210, Total 1000"),
1690  // DeploymentItem("sage.50.exe")]
1691  // [Priority(1)]
1692  // public void AsientosFacturasComprasGeneradorTest8()
1693  // {
1694  // bool llOk = false;
1695 
1696  // int lnNumFacCompra = Convert.ToInt32(EW_GLOBAL._GetLenCampo(KeyDiccionarioLenCampos.wn_factcompra));
1697 
1698  // this._Proveedor = "40070000";
1699  // this._Contrapartida = "60000001";
1700  // this._Factura = "XX".PadLeft(lnNumFacCompra);
1701  // this._BaseIva = 1000;
1702  // this._ImpContrapartida = 1000;
1703  // this._TipoIva = "XX";
1704  // this._TipoRet = "XX";
1705  // this._TipoIvaEx = "XE";
1706  // this._Isp = true;
1707 
1708  // // Nº factura CEE fijo
1709  // // En el 2017 haremos facturas del tipo 17500000 + numero
1710  // string lcAnyo = Convert.ToString(EW_GLOBAL._GetVariable("wc_any")).Substring(2, 2);
1711  // int lnContador = (Convert.ToInt32(lcAnyo) * 100000);
1712 
1713  // // Como el registro de FRACEE se crea en FOX en la pantalla NUMINTRA.SCX,
1714  // // en esta prueba se hará todo correctamente excepto la genracion del registro en GESTION.FRACEE
1715  // this._FacturaCee = lnContador + 55768;
1716 
1717  // // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
1718  // PrepararDatosPrueba();
1719 
1720 
1721  // // Configura la ficha del proveedor para la prueba: sin retencion, sin recargo, sin pronto, proveedor nacional
1722  // ConfigurarProveedor(false, sage.ew.docscompra.Proveedor.TipoRetencion.SinRetencion, false, 0, "034", "", sage.ew.docscompra.Proveedor.TipoProveedor.Nacional);
1723 
1724 
1725  // // Comprobar que los datos de prueba introducidos son correctos.
1726  // ComprobarDatosPrueba();
1727 
1728 
1729  // // Elimina asiento, iva y previsiones pruebas anteriores
1730  // EliminacionDatosPruebasAnteriores();
1731 
1732 
1733  // // Comienzo.
1734  // AsientosFacturasCompraGenerador loGenAsiFacCom = new AsientosFacturasCompraGenerador();
1735  // loGenAsiFacCom._LinkForm = false;
1736 
1737  // loGenAsiFacCom._Fecha_Asiento = DateTime.Today;
1738  // loGenAsiFacCom._Fecha_Factura = DateTime.Today;
1739 
1740  // // Al hacer esta asignacion los campos de retencion y pronto pago del objeto loGenAsiFacCom deben quedar
1741  // // asignados automaticamente
1742  // loGenAsiFacCom._CliPro = this._Proveedor;
1743 
1744  // loGenAsiFacCom._Factura = this._Factura;
1745 
1746  // // Una linia de TIPOIVA
1747  // if (loGenAsiFacCom._TipoIvaLineas.Count == 0)
1748  // loGenAsiFacCom._TipoIvaLineas.Add(new AsientosFacturasGenerador.TipoIvaLinea(loGenAsiFacCom));
1749 
1750  // AsientosFacturasCompraGenerador.TipoIvaLinea loLiniaTipoIva = loGenAsiFacCom._TipoIvaLineas[0];
1751  // loLiniaTipoIva._Codigo = this._TipoIva;
1752  // loLiniaTipoIva._Base = this._BaseIva;
1753 
1754 
1755 
1756  // // Una linia de CONTRAPARTIDA
1757  // if (loGenAsiFacCom._ContrapartidasLineas.Count == 0)
1758  // loGenAsiFacCom._ContrapartidasLineas.Add(new AsientosFacturasGenerador.ContraPartidaLinea(loGenAsiFacCom));
1759 
1760  // AsientosFacturasCompraGenerador.ContraPartidaLinea loLiniaContrapartida = loGenAsiFacCom._ContrapartidasLineas[0];
1761  // loLiniaContrapartida._Cuenta = this._Contrapartida;
1762  // loLiniaContrapartida._Importe = this._ImpContrapartida;
1763 
1764  // // Informamos los datos de FACTURACEE
1765  // loGenAsiFacCom._Fecha_FacturaCEE = DateTime.Today;
1766  // loGenAsiFacCom._FacturaCEE = this._FacturaCee;
1767 
1768  // // Declaro que es ISP
1769  // loGenAsiFacCom._Isp = this._Isp;
1770 
1771 
1772  // // Warnings no lo paso, voy directo a los errores de configuracion previos a la generacion
1773  // loGenAsiFacCom._Error_Message = "";
1774  // llOk = loGenAsiFacCom._GenerarAsientoFactura_Before_Errors();
1775  // Assert.AreEqual(llOk, true, "Test 8 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba, " +
1776  // "no se superó el control previo de errores para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," +
1777  // this._Proveedor + "," + this._Factura + ") Mensaje de error: " + loGenAsiFacCom._Error_Message);
1778 
1779  // // Genero el asiento
1780  // if (llOk)
1781  // {
1782 
1783  // loGenAsiFacCom._Error_Message = "";
1784  // llOk = loGenAsiFacCom._GenerarAsientoFactura();
1785  // Assert.AreEqual(llOk, true, "Test 8 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba para la factura " +
1786  // "(EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ") Mensaje de error: " +
1787  // loGenAsiFacCom._Error_Message);
1788 
1789  // if (llOk)
1790  // {
1791  // IAsientos loAsiento = loGenAsiFacCom._AsientoGenerado;
1792  // Assert.IsNotNull(loAsiento, "Test 8 GeneradorAsientosFacturasCompra. No se ha generado el asiento de factura de compra correctamente.");
1793 
1794  // if (loAsiento != null)
1795  // {
1796  // // Asiento descuadrado ?
1797  // Assert.AreEqual(0, loAsiento._TotalDebe - loAsiento._TotalHaber, "Test 8 GeneradorAsientosFacturasCompra. Asiento generado descuadrado. Descuadre = " + (loAsiento._TotalDebe - loAsiento._TotalHaber).ToString());
1798 
1799  // //Generar previsiones.
1800  // loGenAsiFacCom._GenerarPrevisiones(false);
1801 
1802  // // 4 lineas en asiento ?
1803  // Assert.AreEqual(4, loAsiento._Lineas.Count, "Test 8 GeneradorAsientosFacturasCompra. Asiento generado correctamente pero se esperaban 4 lineas y tiene " + loAsiento._Lineas.Count.ToString());
1804  // if (loAsiento._Lineas.Count == 4)
1805  // {
1806  // TipoIVA loTipoIva = new TipoIVA();
1807 
1808  // loTipoIva._Codigo = this._TipoIva;
1809 
1810  // // Verificamos que en cada linea haya la cuenta que esperamos
1811  // Assert.AreEqual(this._Proveedor, loAsiento._Lineas[0]._Cuenta, "Test 8 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener cuenta contable " + this._Proveedor + " y es " + loAsiento._Lineas[0]._Cuenta);
1812  // Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 8 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
1813  // Assert.AreEqual(loTipoIva._Cta_IVA_Sop, loAsiento._Lineas[2]._Cuenta, "Test 8 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener cuenta contable de IVA soportado " + loTipoIva._Cta_IVA_Sop + " y es " + loAsiento._Lineas[2]._Cuenta);
1814  // Assert.AreEqual(loTipoIva._Cta_IVA_Rep, loAsiento._Lineas[3]._Cuenta, "Test 8 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener cuenta contable de IVA repercutido " + loTipoIva._Cta_IVA_Rep + " y es " + loAsiento._Lineas[3]._Cuenta);
1815 
1816 
1817  // // Verificamos que en cada linea haya el importe que esperamos
1818  // Assert.AreEqual(1000, loAsiento._Lineas[0]._Haber, "Test 8 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener importe 1000 en el HABER y tiene " + loAsiento._Lineas[0]._Haber);
1819  // Assert.AreEqual(1000, loAsiento._Lineas[1]._Debe, "Test 8 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener importe 1000 en el DEBE y tiene " + loAsiento._Lineas[1]._Debe);
1820  // Assert.AreEqual(210, loAsiento._Lineas[2]._Debe, "Test 8 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener importe 210 en el DEBE y tiene " + loAsiento._Lineas[2]._Debe);
1821  // Assert.AreEqual(210, loAsiento._Lineas[3]._Haber, "Test 8 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener importe 210 en el HABER y tiene " + loAsiento._Lineas[3]._Haber);
1822 
1823  // // Verificamos un registro en IVASOPOR.
1824  // DataTable ldtRegIvasopor = new DataTable();
1825  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivasopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegIvasopor);
1826  // Assert.AreEqual(1, ldtRegIvasopor.Rows.Count, "Test 8 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVASOPOR en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1827  // if (ldtRegIvasopor.Rows.Count == 1)
1828  // {
1829  // // Campo ORDEN tiene que ser el nº factura CEE
1830  // Assert.AreEqual(this._FacturaCee, Convert.ToInt32(ldtRegIvasopor.Rows[0]["orden"]), "Test 8 GeneradorAsientosFacturasCompra, asiento generado en registro IVASOPOR el campo ORDEN no es el nº factura CEE " + this._FacturaCee.ToString().Trim() + " para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim().PadLeft(10) + ")");
1831  // // Campo COMUNITARI a true
1832  // Assert.AreEqual(true, Convert.ToBoolean(ldtRegIvasopor.Rows[0]["comunitari"]), "Test 8 GeneradorAsientosFacturasCompra, asiento generado en registro IVAREPER el campo TIPO no es 2 para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim().PadLeft(10) + ")");
1833  // }
1834 
1835  // // Verificamos un registro en IVAREPER.
1836  // DataTable ldtRegIvareper = new DataTable();
1837  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._FacturaCee.ToString().Trim().PadLeft(10) + "'", ref ldtRegIvareper);
1838  // Assert.AreEqual(1, ldtRegIvareper.Rows.Count, "Test 8 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVAREPER en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim().PadLeft(10) + ")");
1839 
1840  // if (ldtRegIvareper.Rows.Count == 1)
1841  // {
1842  // // Campo COMUNITARI a true
1843  // Assert.AreEqual(true, Convert.ToBoolean(ldtRegIvareper.Rows[0]["comunitari"]), "Test 8 GeneradorAsientosFacturasCompra, asiento generado en registro IVAREPER el campo COMUNITARI no es true para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim().PadLeft(10) + ")");
1844  // // Campo TIPO a 2
1845  // Assert.AreEqual(2, Convert.ToInt32(ldtRegIvareper.Rows[0]["tipo"]), "Test 8 GeneradorAsientosFacturasCompra, asiento generado en registro IVAREPER el campo TIPO no es 2 para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim().PadLeft(10) + ")");
1846  // }
1847 
1848  // // Verificamos previsiones de pago generadas.
1849  // DataTable ldtRegPrevis = new DataTable();
1850  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previs") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "'", ref ldtRegPrevis);
1851  // Assert.IsTrue(ldtRegPrevis.Rows.Count > 0, "Test 8 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en COMUNES.PREVIS para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
1852 
1853  // // Verificamos registros EOS (contrapartida)
1854  // DataTable ldtRegEOS = new DataTable();
1855  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
1856  // Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 8 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
1857  // }
1858  // }
1859  // }
1860  // }
1861 
1862  // EliminacionDatosPruebasAnteriores();
1863  // }
1864 
1865 
1866  // /// <summary>
1867  // /// Prueba de creación de asiento de factura de compra TEST9:
1868  // /// Retencion proveedor: no
1869  // /// Rec.Equiv proveedor: no
1870  // /// Pronto pago: no
1871  // /// Proveedor extracomunitario con tipo IVA SERVICIOS
1872  // /// Asiento de factura de compra a proveedor extracomunitario TIPO IVA SERVICIOS sin retención, sin pronto pago, sin recargo, IVA al 21%
1873  // /// Base 1000, IVAS 210, IVAR 210 Total 1000
1874  // ///</summary>
1875  // [Owner(Owners.JoseMaria_Gay),
1876  // TestMethod(),
1877  // Description("Asiento de factura de compra a proveedor extracomunitario con TIPOIVA SERVICIOS, sin retención, sin pronto pago, sin recargo, IVA 21%, Base 1000, IVAS 210, IVAR 210, Total 1000"),
1878  // DeploymentItem("sage.50.exe")]
1879  // [Priority(1)]
1880  // public void AsientosFacturasComprasGeneradorTest9()
1881  // {
1882  // bool llOk = false;
1883 
1884  // int lnNumFacCompra = Convert.ToInt32(EW_GLOBAL._GetLenCampo(KeyDiccionarioLenCampos.wn_factcompra));
1885 
1886  // this._Proveedor = "40070000";
1887  // this._Contrapartida = "60000001";
1888  // this._Factura = "XX".PadLeft(lnNumFacCompra);
1889  // this._BaseIva = 1000;
1890  // this._ImpContrapartida = 1000;
1891  // this._TipoIva = "XX";
1892  // this._TipoRet = "XX";
1893  // this._TipoIvaEx = "XE";
1894  // this._Isp = false;
1895 
1896  // // Nº factura CEE fijo
1897  // // En el 2017 haremos facturas del tipo 1750000 + numero
1898  // string lcAnyo = Convert.ToString(EW_GLOBAL._GetVariable("wc_any")).Substring(2, 2);
1899  // int lnContador = (Convert.ToInt32(lcAnyo) * 100000);
1900 
1901  // // Como el registro de FRACEE se crea en FOX en la pantalla NUMINTRA.SCX,
1902  // // en esta prueba se hará todo correctamente excepto la genracion del registro en GESTION.FRACEE
1903 
1904  // this._FacturaCee = lnContador + 55768;
1905 
1906  // // Crea si no existen en la bd los tipos de IVA y retención para la prueba.
1907  // PrepararDatosPrueba();
1908 
1909 
1910  // // Configura la ficha del proveedor para la prueba: sin retencion, sin recargo, sin pronto, proveedor extracomunitario (RUSO)
1911  // ConfigurarProveedor(false, sage.ew.docscompra.Proveedor.TipoRetencion.SinRetencion, false, 0, "075", "XX", sage.ew.docscompra.Proveedor.TipoProveedor.Extracomunitario);
1912 
1913 
1914  // // Comprobar que los datos de prueba introducidos son correctos.
1915  // ComprobarDatosPrueba();
1916 
1917 
1918  // // Elimina asiento, iva y previsiones pruebas anteriores
1919  // EliminacionDatosPruebasAnteriores();
1920 
1921 
1922  // // Comienzo.
1923  // AsientosFacturasCompraGenerador loGenAsiFacCom = new AsientosFacturasCompraGenerador();
1924  // loGenAsiFacCom._LinkForm = false;
1925 
1926  // loGenAsiFacCom._Fecha_Asiento = DateTime.Today;
1927  // loGenAsiFacCom._Fecha_Factura = DateTime.Today;
1928 
1929  // // Para no tener que crear un nuevo tipo de IVA con todas sus cuentas contables aprovecho el que
1930  // // utilizo en las pruebas y le pongo que es IVA SERVICIOS, al inicio de cada prueba se pone a false por lo
1931  // // que esto no afectará a otras pruebas.
1932  // TipoIVA loTipoIva3 = new TipoIVA();
1933  // loTipoIva3._Codigo = this._TipoIva;
1934  // loTipoIva3._IVA_Servicios = true;
1935  // loTipoIva3._Save();
1936 
1937  // // Al hacer esta asignacion los campos de retencion y pronto pago del objeto loGenAsiFacCom deben quedar
1938  // // asignados automaticamente
1939  // loGenAsiFacCom._CliPro = this._Proveedor;
1940 
1941  // loGenAsiFacCom._Factura = this._Factura;
1942 
1943  // // Una linia de TIPOIVA
1944  // if (loGenAsiFacCom._TipoIvaLineas.Count == 0)
1945  // loGenAsiFacCom._TipoIvaLineas.Add(new AsientosFacturasGenerador.TipoIvaLinea(loGenAsiFacCom));
1946 
1947 
1948 
1949  // AsientosFacturasCompraGenerador.TipoIvaLinea loLiniaTipoIva = loGenAsiFacCom._TipoIvaLineas[0];
1950  // loLiniaTipoIva._Codigo = this._TipoIva;
1951  // loLiniaTipoIva._Base = this._BaseIva;
1952 
1953 
1954 
1955  // // Una linia de CONTRAPARTIDA
1956  // if (loGenAsiFacCom._ContrapartidasLineas.Count == 0)
1957  // loGenAsiFacCom._ContrapartidasLineas.Add(new AsientosFacturasGenerador.ContraPartidaLinea(loGenAsiFacCom));
1958 
1959  // AsientosFacturasCompraGenerador.ContraPartidaLinea loLiniaContrapartida = loGenAsiFacCom._ContrapartidasLineas[0];
1960  // loLiniaContrapartida._Cuenta = this._Contrapartida;
1961  // loLiniaContrapartida._Importe = this._ImpContrapartida;
1962 
1963  // // Informamos los datos de FACTURACEE
1964  // loGenAsiFacCom._Fecha_FacturaCEE = DateTime.Today;
1965  // loGenAsiFacCom._FacturaCEE = this._FacturaCee;
1966 
1967 
1968  // // Warnings no lo paso, voy directo a los errores de configuracion previos a la generacion
1969  // loGenAsiFacCom._Error_Message = "";
1970  // llOk = loGenAsiFacCom._GenerarAsientoFactura_Before_Errors();
1971  // Assert.AreEqual(llOk, true, "Test 9 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba, " +
1972  // "no se superó el control previo de errores para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," +
1973  // this._Proveedor + "," + this._Factura + ") Mensaje de error: " + loGenAsiFacCom._Error_Message);
1974 
1975  // // Genero el asiento
1976  // if (llOk)
1977  // {
1978 
1979  // loGenAsiFacCom._Error_Message = "";
1980  // llOk = loGenAsiFacCom._GenerarAsientoFactura();
1981  // Assert.AreEqual(llOk, true, "Test 9 GeneradorAsientosFacturasCompra. No se pudo generar el asiento de factura de compra de la prueba para la factura " +
1982  // "(EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ") Mensaje de error: " +
1983  // loGenAsiFacCom._Error_Message);
1984 
1985  // if (llOk)
1986  // {
1987  // IAsientos loAsiento = loGenAsiFacCom._AsientoGenerado;
1988  // Assert.IsNotNull(loAsiento, "Test 9 GeneradorAsientosFacturasCompra. No se ha generado el asiento de factura de compra correctamente.");
1989 
1990  // if (loAsiento != null)
1991  // {
1992  // // Asiento descuadrado ?
1993  // Assert.AreEqual(0, loAsiento._TotalDebe - loAsiento._TotalHaber, "Test 9 GeneradorAsientosFacturasCompra. Asiento generado descuadrado. Descuadre = " + (loAsiento._TotalDebe - loAsiento._TotalHaber).ToString());
1994 
1995  // //Generar previsiones.
1996  // loGenAsiFacCom._GenerarPrevisiones(false);
1997 
1998  // // 4 lineas en asiento ?
1999  // Assert.AreEqual(4, loAsiento._Lineas.Count, "Test 9 GeneradorAsientosFacturasCompra. Asiento generado correctamente pero se esperaban 4 lineas y tiene " + loAsiento._Lineas.Count.ToString());
2000  // if (loAsiento._Lineas.Count == 4)
2001  // {
2002  // TipoIVA loTipoIva = new TipoIVA();
2003 
2004  // loTipoIva._Codigo = this._TipoIva;
2005 
2006  // // Verificamos que en cada linea haya la cuenta que esperamos
2007  // Assert.AreEqual(this._Proveedor, loAsiento._Lineas[0]._Cuenta, "Test 9 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener cuenta contable " + this._Proveedor + " y es " + loAsiento._Lineas[0]._Cuenta);
2008  // Assert.AreEqual(this._Contrapartida, loAsiento._Lineas[1]._Cuenta, "Test 9 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener cuenta contable de gastos " + this._Contrapartida + " y es " + loAsiento._Lineas[1]._Cuenta);
2009  // Assert.AreEqual(loTipoIva._Cta_IVA_Sop, loAsiento._Lineas[2]._Cuenta, "Test 9 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener cuenta contable de IVA soportado " + loTipoIva._Cta_IVA_Sop + " y es " + loAsiento._Lineas[2]._Cuenta);
2010  // Assert.AreEqual(loTipoIva._Cta_IVA_Rep, loAsiento._Lineas[3]._Cuenta, "Test 9 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener cuenta contable de IVA repercutido " + loTipoIva._Cta_IVA_Rep + " y es " + loAsiento._Lineas[3]._Cuenta);
2011 
2012 
2013  // // Verificamos que en cada linea haya el importe que esperamos
2014  // Assert.AreEqual(1000, loAsiento._Lineas[0]._Haber, "Test 9 GeneradorAsientosFacturasCompra. La primera linea del asiento debería tener importe 1000 en el HABER y tiene " + loAsiento._Lineas[0]._Haber);
2015  // Assert.AreEqual(1000, loAsiento._Lineas[1]._Debe, "Test 9 GeneradorAsientosFacturasCompra. La segunda linea del asiento debería tener importe 1000 en el DEBE y tiene " + loAsiento._Lineas[1]._Debe);
2016  // Assert.AreEqual(210, loAsiento._Lineas[2]._Debe, "Test 9 GeneradorAsientosFacturasCompra. La tercera linea del asiento debería tener importe 210 en el DEBE y tiene " + loAsiento._Lineas[2]._Debe);
2017  // Assert.AreEqual(210, loAsiento._Lineas[3]._Haber, "Test 9 GeneradorAsientosFacturasCompra. La cuarta linea del asiento debería tener importe 210 en el HABER y tiene " + loAsiento._Lineas[3]._Haber);
2018 
2019  // // Verificamos un registro en IVASOPOR.
2020  // DataTable ldtRegIvasopor = new DataTable();
2021  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivasopor") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._Factura + "'", ref ldtRegIvasopor);
2022  // Assert.AreEqual(1, ldtRegIvasopor.Rows.Count, "Test 9 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVASOPOR en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
2023  // if (ldtRegIvasopor.Rows.Count == 1)
2024  // {
2025  // // Campo ORDEN tiene que ser el nº factura CEE
2026  // Assert.AreEqual(this._FacturaCee, Convert.ToInt32(ldtRegIvasopor.Rows[0]["orden"]), "Test 9 GeneradorAsientosFacturasCompra, asiento generado en registro IVASOPOR el campo ORDEN no es el nº factura CEE " + this._FacturaCee.ToString().Trim() + " para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim().PadLeft(10) + ")");
2027  // // Campo COMUNITARI a true
2028  // Assert.AreEqual(true, Convert.ToBoolean(ldtRegIvasopor.Rows[0]["comunitari"]), "Test 9 GeneradorAsientosFacturasCompra, asiento generado en registro IVAREPER el campo TIPO no es 2 para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim().PadLeft(10) + ")");
2029  // }
2030 
2031  // // Verificamos un registro en IVAREPER.
2032  // DataTable ldtRegIvareper = new DataTable();
2033  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "ivareper") + " where empresa='" + this._Empresa + "' and cuenta='" + this._Proveedor + "' and numfra='" + this._FacturaCee.ToString().Trim().PadLeft(10) + "'", ref ldtRegIvareper);
2034  // Assert.AreEqual(1, ldtRegIvareper.Rows.Count, "Test 9 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registro de IVAREPER en el asientos para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim().PadLeft(10) + ")");
2035 
2036  // if (ldtRegIvareper.Rows.Count == 1)
2037  // {
2038  // // Campo COMUNITARI a true
2039  // Assert.AreEqual(true, Convert.ToBoolean(ldtRegIvareper.Rows[0]["comunitari"]), "Test 9 GeneradorAsientosFacturasCompra, asiento generado en registro IVAREPER el campo COMUNITARI no es true para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim().PadLeft(10) + ")");
2040  // // Campo TIPO a 2
2041  // Assert.AreEqual(2, Convert.ToInt32(ldtRegIvareper.Rows[0]["tipo"]), "Test 9 GeneradorAsientosFacturasCompra, asiento generado en registro IVAREPER el campo TIPO no es 2 para la factura (EMPRESA, PROVEEDOR, FACTURA, FACTURACEE) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + "," + this._FacturaCee.ToString().Trim().PadLeft(10) + ")");
2042  // }
2043 
2044  // // Verificamos previsiones de pago generadas.
2045  // DataTable ldtRegPrevis = new DataTable();
2046  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("comunes", "previs") + " where empresa='" + this._Empresa + "' and proveedor='" + this._Proveedor + "' and factura='" + this._Factura + "'", ref ldtRegPrevis);
2047  // Assert.IsTrue(ldtRegPrevis.Rows.Count > 0, "Test 9 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en COMUNES.PREVIS para la factura (EMPRESA, PROVEEDOR, FACTURA) (" + this._Empresa + "," + this._Proveedor + "," + this._Factura + ")");
2048 
2049  // // Verificamos registros EOS (contrapartida)
2050  // DataTable ldtRegEOS = new DataTable();
2051  // llOk = DB.SQLExec("select * from " + DB.SQLDatabase("gestion", "eos") + " where empresa='" + this._Empresa + "' and factura='" + this._Factura + "'", ref ldtRegEOS);
2052  // Assert.IsTrue(ldtRegEOS.Rows.Count > 0, "Test 9 GeneradorAsientosFacturasCompra, asiento generado pero no se ha detectado registros en la tabla EOS para la factura (EMPRESA, FACTURA) (" + this._Empresa + "," + this._Factura + ")");
2053  // }
2054  // }
2055  // }
2056  // }
2057 
2058  // EliminacionDatosPruebasAnteriores();
2059  // }
2060 
2061  //}
2062 }