2 using Microsoft.VisualStudio.TestTools.UnitTesting;
5 using System.Collections.Generic;
6 using System.Text.RegularExpressions;
31 private TestContext testContextInstance;
37 public TestContext TestContext
41 return testContextInstance;
45 testContextInstance = value;
48 #endregion TestContext 50 #region Atributos de prueba adicionales 51 private static string _cUsuario =
string.Empty;
52 private static bool _llPeso =
false;
53 private static string _cSerie =
"CB";
54 private static string _Empresa =
"01";
56 private static string _cAlbaranVenta =
string.Empty;
57 private static string _cMensaje_Error =
string.Empty;
59 private const string _cCliente =
"43098761";
60 private const string _cFormaPago =
"FB";
61 private const string _Pais =
"034";
62 private const string _Moneda =
"000";
64 private const string _cTipoIVA =
"FB";
65 private const string _cFamilia =
"FB";
67 private const string _cCtaCompraFamilia =
"60098761";
68 private const string _cCtaVentaFamilia =
"60098761";
70 private const string _cArticuloUnidades =
"UNI";
71 private const string _cArticuloPeso =
"PES";
72 private const string _cArticuloCajaPeso =
"CAJPES";
73 private const string _cArticuloCajaPesoPVPPorCaja =
"CAJPESPC";
74 private const string _cArticuloCaja =
"CAJ";
75 private const string _cArticuloCajaPVPPorCaja =
"CAJCAJ";
76 private const string _cArticuloCajaPVPPorMil =
"CAJMIL";
77 private const string _cArticuloCajaPVPPorComprarCajasVendUni =
"CAJCVMIL";
78 private const string _cArticuloPE96778 =
"APE96778";
82 private static Dictionary<string, ArticuloBeneficio> _dictArticulos =
new Dictionary<string, ArticuloBeneficio>();
84 private string _Ejercicio
86 get {
return Convert.ToString(EW_GLOBAL._GetVariable(
"wc_any")); }
88 #endregion Atributos de prueba adicionales 90 #region Métodos públicos de inicialización / clean del test 99 testContext.__Test_LoadRandomConfig();
101 _cUsuario = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_usuario"));
103 if (_cUsuario !=
"SUPERVISOR")
104 EW_GLOBAL.ValorEnClave_VarGlob(
"wc_usuario",
"SUPERVISOR");
107 EW_GLOBAL._SetVariable(
"wl_Factser",
true);
108 EW_GLOBAL._SetVariable(
"wl_peso",
true);
109 EW_GLOBAL._SetVariable(
"wl_cajas",
true);
111 _llPeso = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_Peso"));
113 EW_GLOBAL._SetVariable(
"wl_CosteLin",
false);
123 eliminarDocumentoVenta();
124 eliminarSerieDocumento();
130 elminarCuentasTipoIVA();
132 eliminarCuentasFamilia();
134 if (_cUsuario !=
"SUPERVISOR")
135 EW_GLOBAL.ValorEnClave_VarGlob(
"wc_usuario", _cUsuario);
149 #endregion Métodos públicos de inicialización / clean del test 157 private void testBeneficioCoste(
string tcArticulo)
160 bool llOk =
string.IsNullOrWhiteSpace(_cMensaje_Error);
162 ArticuloBeneficio loArticuloBeneficio = _dictArticulos[tcArticulo];
164 decimal lnCosteUnitarioBeneficioExpected = loArticuloBeneficio._CosteUnitarioBeneficioExpected;
165 decimal lnCosteLineaBeneficioExpected = loArticuloBeneficio._CosteLineaBeneficioExpected;
166 decimal lnPorcenBeneficioExpected = loArticuloBeneficio._PorcenBeneficioExpected;
169 decimal lnCosteUnitarioBeneficio = 0;
170 decimal lnCosteLineaBeneficio = 0;
171 decimal lnPorcenBeneficioLinea = 0;
174 CalculoBeneficio(ref lnCosteUnitarioBeneficio, ref lnCosteLineaBeneficio, ref lnPorcenBeneficioLinea, loArticuloBeneficio._Codigo);
178 Assert.Fail($
"Se ha producido un error al crear los mantenimientos y documentos necesarios para la validación del test. Se cancela la ejecución del test que gestiona el % de beneficio de los documentos de venta. {_cMensaje_Error}");
181 Assert.AreEqual(lnCosteUnitarioBeneficio, lnCosteUnitarioBeneficioExpected, $
"El coste unitario del beneficio de la línea del artículo {tcArticulo} no es el esperado. ({loArticuloBeneficio._Nombre}");
182 Assert.AreEqual(lnCosteLineaBeneficio, lnCosteLineaBeneficioExpected, $
"El coste lineal del beneficio del la línea del artículo {tcArticulo} no es el esperado. ({loArticuloBeneficio._Nombre}");
183 Assert.AreEqual(lnPorcenBeneficioLinea, lnPorcenBeneficioExpected, $
"El % de beneficio del la línea del artículo {tcArticulo} no es el esperado. ({loArticuloBeneficio._Nombre}");
190 private void testBeneficioCosteTotalDocumento()
193 bool llOk =
string.IsNullOrWhiteSpace(_cMensaje_Error);
195 decimal lnCosteTotal = 0, lnCosteTotalDocumento = 0, lnBeneficioTotal = 0, lnTotalBeneficioDocumento = 0, lnPorcenBeneficioDocumento = 0;
196 decimal lnCosteTotalExpected = 0 ;
199 decimal lnBeneficioTotalExpected = 52558;
200 decimal lnPorcenBeneficioDocumentoExpected = 80;
204 lnBeneficioTotal = _oewDocVentaTPV.
_Beneficio_doc(out lnCosteTotal);
206 lnCosteTotalExpected = _dictArticulos.AsEnumerable().Select(art =>
string.IsNullOrWhiteSpace(art.Value._Codigo) ? 0 : art.Value._CosteLineaBeneficioExpected).Sum();
208 lnTotalBeneficioDocumento = _oewDocVentaTPV.
_Beneficio_doc(out lnCosteTotalDocumento);
217 Assert.Fail($
"Se ha producido un error al crear los mantenimientos y documentos necesarios para la validación del test. Se cancela la ejecución del test que gestiona el % de beneficio de los documentos de venta. {_cMensaje_Error}");
220 Assert.AreEqual(lnCosteTotal, lnCosteTotalExpected, $
"El coste total del documento no es el esperado.");
221 Assert.AreEqual(lnBeneficioTotal, lnBeneficioTotalExpected, $
"El beneficio total del documento no es el esperado.");
222 Assert.AreEqual(lnPorcenBeneficioDocumento, lnPorcenBeneficioDocumentoExpected, $
"El % de beneficio total del documento no es el esperado.");
229 [Owner(Owners.Diego_Martinez),
231 Description(
"Prueba 1 del UserControl que gestiona el % de Beneficio (ctDocBeneficio). " +
232 "Artículo PES: articulo que trabaja con PESO - Tipo PVP por UNIDADES")]
236 testBeneficioCoste(_cArticuloPeso);
242 [Owner(Owners.Diego_Martinez),
244 Description(
"Prueba 2 del UserControl que gestiona el % de Beneficio (ctDocBeneficio). " +
245 "Artículo CAJPES: artículo que trabaja con PESO, CAJAS y Tipo PVP por UNIDADES")]
249 testBeneficioCoste(_cArticuloCajaPeso);
255 [Owner(Owners.Diego_Martinez),
257 Description(
"Prueba 3 del UserControl que gestiona el % de Beneficio (ctDocBeneficio). " +
258 "Artículo CAJPESPC: artículo que trabaja con PESO, CAJAS y Tipo PVP por CAJAS")]
262 testBeneficioCoste(_cArticuloCajaPesoPVPPorCaja);
268 [Owner(Owners.Diego_Martinez),
270 Description(
"Prueba 4 del UserControl que gestiona el % de Beneficio (ctDocBeneficio). " +
271 "Artículo CAJ: artículo que trabaja con CAJAS (1) - Tipo PVP por UNIDADES")]
275 testBeneficioCoste(_cArticuloCaja);
281 [Owner(Owners.Diego_Martinez),
283 Description(
"Prueba 5 del UserControl que gestiona el % de Beneficio (ctDocBeneficio). " +
284 "Artículo CAJ: artículo que trabaja con CAJAS (1) - Tipo PVP por CAJAS")]
288 testBeneficioCoste(_cArticuloCajaPVPPorCaja);
294 [Owner(Owners.Diego_Martinez),
296 Description(
"Prueba 6 del UserControl que gestiona el % de Beneficio (ctDocBeneficio). " +
297 "Artículo CAJ: artículo que trabaja con CAJAS (1) - Tipo PVP por MIL")]
301 testBeneficioCoste(_cArticuloCajaPVPPorMil);
307 [Owner(Owners.Diego_Martinez),
309 Description(
"Prueba 7 del UserControl que gestiona el % de Beneficio (ctDocBeneficio). " +
310 "Artículo CAJ: artículo que trabaja con CAJAS (10) - Tipo PVP Comprar por CAJAS vender por UNIDADES")]
314 testBeneficioCoste(_cArticuloCajaPVPPorComprarCajasVendUni);
320 [Owner(Owners.Diego_Martinez),
322 Description(
"Prueba 8 del UserControl que gestiona el % de Beneficio (ctDocBeneficio). " +
323 "Artículo CAJ: artículo que trabaja con CAJAS (1), PESO - Tipo PVP por CAJAS")]
327 testBeneficioCoste(_cArticuloPE96778);
333 [Owner(Owners.Diego_Martinez),
335 Description(
"Prueba 9 del UserControl que gestiona el % de Beneficio (ctDocBeneficio). " +
336 "Artículo UNI: artículo solo UNIDADES, que NO trabaja con CAJAS ni PESO - Tipo PVP por UNIDADES")]
340 testBeneficioCoste(_cArticuloUnidades);
346 [Owner(Owners.Diego_Martinez),
348 Description(
"Prueba 10 del UserControl que gestiona el % de Beneficio (ctDocBeneficio). " +
349 "Cáclulo del beneficio total del documento")]
353 testBeneficioCosteTotalDocumento();
357 #region Métodos de configuración de los datos para la ejecución del test 358 private static void populateArticulos()
363 newArticulo(_cArticuloPeso, $
"Artículo {_cArticuloPeso} que trabaja con PESO (10) - Tipo PVP por UNIDADES",
364 tnPeso: 10, tnPvp: 500,
365 tnCosteVenta: 100, tnCajasVenta: 0, tnUnidadesVenta: 1, tnPesoVenta: 10, tnPrecioVenta: 500,
366 tnCosteUnitarioBeneficioExpected: 1000, tnCosteLineaBeneficioExpected: 1000, tnPorcenBeneficioExpected: 80);
368 newArticulo(_cArticuloCajaPeso, $
"Artículo {_cArticuloCajaPeso} que trabaja con CAJAS (1) y PESO (10) - Tipo PVP por UNIDADES",
369 tnPeso: 10, tnUnicaja: 1, tnPvp: 500,
370 tnCosteVenta: 100, tnCajasVenta: 5, tnUnidadesVenta: 5, tnPesoVenta: 50, tnPrecioVenta: 500,
371 tnCosteUnitarioBeneficioExpected: 1000, tnCosteLineaBeneficioExpected: 5000, tnPorcenBeneficioExpected: 80);
373 newArticulo(_cArticuloCajaPesoPVPPorCaja, $
"Artículo {_cArticuloCajaPesoPVPPorCaja} que trabaja con CAJAS (1) y PESO (10) - Tipo PVP por CAJAS",
374 tnPeso: 10, tnUnicaja: 1, tnPvp: 500, tnTipo_PVP: 2,
375 tnCosteVenta: 100, tnCajasVenta: 5, tnUnidadesVenta: 5, tnPesoVenta: 50, tnPrecioVenta: 500,
376 tnCosteUnitarioBeneficioExpected: 100, tnCosteLineaBeneficioExpected: 500, tnPorcenBeneficioExpected: 80);
378 newArticulo(_cArticuloCaja, $
"Artículo {_cArticuloCaja} que trabaja con CAJAS (1) - Tipo PVP por UNIDADES",
379 tnUnicaja: 2, tnPvp: 500, tnTipo_PVP: 1,
380 tnCosteVenta: 100, tnCajasVenta: 1, tnUnidadesVenta: 2, tnPrecioVenta: 500,
381 tnCosteUnitarioBeneficioExpected: 100, tnCosteLineaBeneficioExpected: 200, tnPorcenBeneficioExpected: 80);
383 newArticulo(_cArticuloCajaPVPPorCaja, $
"Artículo {_cArticuloCajaPVPPorCaja} que trabaja con CAJAS (2) - Tipo PVP por CAJAS",
384 tnUnicaja: 2, tnPvp: 500, tnTipo_PVP: 2,
385 tnCosteVenta: 50, tnCajasVenta: 1, tnUnidadesVenta: 2, tnPrecioVenta: 500,
386 tnCosteUnitarioBeneficioExpected: 50, tnCosteLineaBeneficioExpected: 100, tnPorcenBeneficioExpected: 80);
388 newArticulo(_cArticuloCajaPVPPorMil, $
"Artículo {_cArticuloCajaPVPPorMil} que trabaja con CAJAS (2) - Tipo PVP por MIL",
389 tnUnicaja: 2, tnPvp: 500, tnTipo_PVP: 4,
390 tnCosteVenta: 1, tnCajasVenta: 500, tnUnidadesVenta: 1000, tnPrecioVenta: 5000,
391 tnCosteUnitarioBeneficioExpected: 1, tnCosteLineaBeneficioExpected: 1000, tnPorcenBeneficioExpected: 80);
393 newArticulo(_cArticuloCajaPVPPorComprarCajasVendUni, $
"Artículo {_cArticuloCajaPVPPorComprarCajasVendUni} que trabaja con CAJAS (10) - Tipo PVP Comprar por CAJAS vender por UNIDADES",
394 tnUnicaja: 10, tnPvp: 500, tnTipo_PVP: 3,
395 tnCosteVenta: 100, tnCajasVenta: 5, tnUnidadesVenta: 50, tnPrecioVenta: 500,
396 tnCosteUnitarioBeneficioExpected: 100, tnCosteLineaBeneficioExpected: 5000, tnPorcenBeneficioExpected: 80);
398 newArticulo(_cArticuloPE96778, $
"Artículo {_cArticuloPE96778} que trabaja con CAJAS (1) y PESO (2) - Tipo PVP por CAJAS",
399 tnUnicaja: 1, tnPeso: 2, tnPvp: 100, tnTipo_PVP: 2,
400 tnCosteVenta: 21, tnCajasVenta: 2, tnPesoVenta: 4, tnUnidadesVenta: 2, tnPrecioVenta: 100,
401 tnCosteUnitarioBeneficioExpected: 21, tnCosteLineaBeneficioExpected: 42, tnPorcenBeneficioExpected: 79);
403 newArticulo(_cArticuloUnidades, $
"Artículo {_cArticuloUnidades} que NO trabaja con CAJAS ni PESO - Tipo PVP por UNIDADES",
404 tnPeso: 0, tnUnicaja: 0, tnPvp: 500,
405 tnCosteVenta: 100, tnCajasVenta: 0, tnUnidadesVenta: 3, tnPesoVenta: 0, tnPrecioVenta: 500,
406 tnCosteUnitarioBeneficioExpected: 100, tnCosteLineaBeneficioExpected: 300, tnPorcenBeneficioExpected: 80);
416 private void CalculoBeneficio(ref decimal tnCosteUnitarioBeneficio, ref decimal tnCosteLineaBeneficio, ref decimal tnPorcenBeneficioLinea,
string tcArticulo)
419 List<IDocVentaLin> lstLineas = _oewDocVentaTPV.
_Lineas.Where(lin => lin._Articulo == tcArticulo).ToList<IDocVentaLin>();
421 if (lstLineas.Count > 0)
423 ewDocVentaLin loLinea = (ewDocVentaLin)lstLineas.First();
426 tnCosteUnitarioBeneficio = loLinea._BeneficioCosteUnitario();
427 tnCosteLineaBeneficio = loLinea._BeneficioCosteLinea();
430 tnPorcenBeneficioLinea = loLinea._BeneficioPorcentajeLinea();
435 _cMensaje_Error = $
"No se ha encontrado el artículo {tcArticulo} en el albarán de venta";
441 private static void configurarDatos()
445 configurarSerieDocumento();
447 configurarCuentasTipoIVA();
453 configurarArticulos();
462 private static bool crearAlbaranVenta()
468 _oewDocVentaTPV.
_Letra = _cSerie;
469 _oewDocVentaTPV.
_Cabecera._Cliente = _cCliente;
470 _oewDocVentaTPV.
_Cabecera._FormaPago = _cFormaPago; ;
471 _oewDocVentaTPV.
_Save();
473 if (_oewDocVentaTPV.
_New(_Empresa, _cSerie))
475 _cAlbaranVenta = _oewDocVentaTPV.
_Numero;
477 foreach (KeyValuePair<string, ArticuloBeneficio> loArticulo
in _dictArticulos)
479 ArticuloBeneficio loArticuloBeneficio = loArticulo.Value;
481 ewDocVentaLin loLin = _oewDocVentaTPV.
_AddLinea();
482 loLin.
_Articulo = loArticuloBeneficio._Codigo;
483 loLin._TipoIva = _cTipoIVA;
485 if (loArticuloBeneficio._CajasVenta != 0)
486 loLin._Cajas = loArticuloBeneficio._CajasVenta;
488 loLin._Unidades = loArticuloBeneficio._UnidadesVenta;
490 if (loArticuloBeneficio._PesoVenta != 0)
491 loLin._Peso = loArticuloBeneficio._PesoVenta;
493 loLin._Coste = loArticuloBeneficio._CosteVenta;
494 loLin._Precio = loArticuloBeneficio._PrecioVenta;
497 llOk = _oewDocVentaTPV.
_Save();
521 private static ArticuloBeneficio newArticulo(
string tcArticulo,
string tcNombre, decimal tnUnicaja = 0, decimal tnPeso = 0,
int tnTipo_PVP = 1, decimal tnPvp = 0,
522 decimal tnCajasVenta = 0, decimal tnUnidadesVenta = 1, decimal tnPesoVenta = 0, decimal tnCosteVenta = 0, decimal tnPrecioVenta = 0,
523 decimal tnCosteUnitarioBeneficioExpected = 0, decimal tnCosteLineaBeneficioExpected = 0, decimal tnPorcenBeneficioExpected = 0)
526 if (_dictArticulos.ContainsKey(tcArticulo))
527 return _dictArticulos[tcArticulo];
530 ArticuloBeneficio loArticuloBeneficio =
new ArticuloBeneficio(tcArticulo, tcNombre, tnUnicaja, tnPeso, tnTipo_PVP, tnPvp,
531 tnCajasVenta, tnUnidadesVenta, tnPesoVenta, tnCosteVenta, tnPrecioVenta,
532 tnCosteUnitarioBeneficioExpected, tnCosteLineaBeneficioExpected, tnPorcenBeneficioExpected);
534 _dictArticulos.Add(tcArticulo, loArticuloBeneficio);
536 return loArticuloBeneficio;
550 private static bool configurarArticulos()
554 foreach (KeyValuePair<string, ArticuloBeneficio> loArticulo
in _dictArticulos)
556 ArticuloBeneficio loArticuloBeneficio = loArticulo.Value;
558 llOk = llOk && configurarArticulo(loArticuloBeneficio);
569 private static bool configurarArticulo(ArticuloBeneficio toArticuloBeneficio)
575 loArticulo.
_Codigo = toArticuloBeneficio._Codigo;
579 loArticulo.
_New(toArticuloBeneficio._Codigo);
582 loArticulo.
_Nombre = toArticuloBeneficio._Nombre;
586 loArticulo.
_Peso = toArticuloBeneficio._Peso;
587 loArticulo.
_Unicaja = toArticuloBeneficio._Unicaja;
588 loArticulo.
_Tipo_PVP = toArticuloBeneficio._Tipo_PVP;
590 llOk = loArticulo.
_Save();
593 _cMensaje_Error = $
"Se ha producido un error al crear el artículo {toArticuloBeneficio._Codigo}. {loArticulo._Error_Message}";
602 private static void configurarSerieDocumento()
604 eliminarSerieDocumento();
613 loLetras.
_Nombre =
"Serie pruebas coste beneficio de documentos de venta";
621 private static void configurarCliente()
625 loCliente._Codigo = _cCliente;
627 if (!loCliente._Existe_Registro())
628 loCliente._New(_cCliente,
"Cliente " + _cCliente +
" para pruebas");
630 loCliente._Nombre =
"Cliente " + _cCliente +
" para pruebas";
631 loCliente._Pais = _Pais;
632 loCliente._Moneda = _Moneda;
633 loCliente._ProntoPago = 0;
634 loCliente._RECC =
false;
635 loCliente._Recargo =
false;
636 loCliente._RetencionFiscal =
false;
637 loCliente._TipoIVA =
"";
640 bool llOk = loCliente._Save();
647 private static void configurarTipoIVA()
660 loTipoIva.
_Nombre =
"IVA 21% (5,2%) ";
681 llOk = loTipoIva.
_Save();
689 private static bool configurarFamilia()
693 configurarCuentaContable(_cCtaCompraFamilia, $
"CUENTA DE COMPRAS DE LA FAMILIA {_cFamilia}");
694 configurarCuentaContable(_cCtaVentaFamilia, $
"CUENTA DE VENTAS DE LA FAMILIA {_cCtaVentaFamilia}");
702 loFamilia.
_New(_cFamilia);
705 loFamilia.
_Nombre =
"FAMILIA TEST CÁLCULO DE COSTE BENEFICIO";
709 llOk = loFamilia.
_Save();
721 private static bool configurarCuentaContable(
string tcCodigo,
string tcNombre)
729 llOk = loCuenta.
_New(tcCodigo, tcNombre);
739 private static bool configurarCuentasTipoIVA()
743 llOk = configurarCuentaContable(
"47700190",
"IVA REPERCUTIDOO ");
744 llOk = llOk && configurarCuentaContable(
"47200190",
"IVA SOPORTADO");
746 llOk = llOk && configurarCuentaContable(
"47700191",
"RECARGO REPERCUTIDO");
747 llOk = llOk && configurarCuentaContable(
"47200191",
"RECARGO SOPORTADO");
749 llOk = llOk && configurarCuentaContable(
"47710180",
"CUENTA _Pendevrep");
750 llOk = llOk && configurarCuentaContable(
"47710195",
"CUENTA _Recrepcdev");
752 llOk = llOk && configurarCuentaContable(
"47210180",
"CUENTA _Pendedsop");
753 llOk = llOk && configurarCuentaContable(
"47210195",
"CUENTA _Recsopcdev");
755 llOk = llOk && configurarCuentaContable(
"47200170",
"CUENTA _Cta_IVA_Sop_Nodeduc");
756 llOk = llOk && configurarCuentaContable(
"47210171",
"CUENTA _Pendedsop_Nodeduc");
761 #endregion Métodos de configuración de los datos para la ejecución del test 763 #region Borrado de datos del Test 764 private static void eliminarCliente()
771 loCliente._Codigo = _cCliente;
773 if (loCliente._Existe_Registro())
775 bool llOk = loCliente._Delete();
783 private static void eliminarDocumentoVenta()
787 bool llOk = loDocVenta.
_Load(_Empresa, _cAlbaranVenta, _cSerie);
789 llOk = llOk && loDocVenta.
_Delete();
796 private static void eliminarSerieDocumento()
804 bool llOk = loLetras.
_Delete();
812 private static void eliminarTipoIVA()
820 bool llOK = loTipoIVA.
_Delete();
828 private static void eliminarFamilia()
836 bool llOK = loFamilia.
_Delete();
844 private static void eliminarArticulos()
846 foreach (KeyValuePair<string, ArticuloBeneficio> loArticulo
in _dictArticulos)
848 ArticuloBeneficio loArticuloBeneficio = loArticulo.Value;
850 eliminarArticulo(loArticuloBeneficio._Codigo);
858 private static void eliminarArticulo(
string tcCodigo)
866 bool llOK = loArticulo.
_Delete();
876 private static bool eliminarCuentaTipoIVA(
string tcCodigo)
893 private static void elminarCuentasTipoIVA()
895 eliminarCuentaTipoIVA(
"47700190");
896 eliminarCuentaTipoIVA(
"47200190");
898 eliminarCuentaTipoIVA(
"47700191");
899 eliminarCuentaTipoIVA(
"47200191");
901 eliminarCuentaTipoIVA(
"47710180");
902 eliminarCuentaTipoIVA(
"47710195");
904 eliminarCuentaTipoIVA(
"47210180");
905 eliminarCuentaTipoIVA(
"47210195");
907 eliminarCuentaTipoIVA(
"47200170");
908 eliminarCuentaTipoIVA(
"47210171");
914 private static void eliminarCuentasFamilia()
916 eliminarCuentaTipoIVA(_cCtaCompraFamilia);
917 eliminarCuentaTipoIVA(_cCtaVentaFamilia);
919 #endregion Borrado de datos del Test 921 #region Clase para poder gestionar con más facilidad la creación de artículo y el flujo del test 922 private class ArticuloBeneficio
930 public string _Codigo {
get;
set; }
935 public string _Nombre {
get;
set; }
940 public decimal _Peso {
get;
set; }
945 public decimal _Unicaja {
get;
set; }
950 public int _Tipo_PVP {
get;
set; }
955 public decimal _Pvp {
get;
set; }
960 public decimal _UnidadesVenta {
get;
set; }
965 public decimal _CajasVenta {
get;
set; }
970 public decimal _PesoVenta {
get;
set; }
975 public decimal _PrecioVenta {
get;
set; }
980 public decimal _CosteVenta {
get;
set; }
985 public decimal _CosteUnitarioBeneficioExpected {
get;
set; }
990 public decimal _CosteLineaBeneficioExpected {
get;
set; }
995 public decimal _PorcenBeneficioExpected {
get;
set; }
1014 public ArticuloBeneficio(
string tcArticulo,
string tcNombre, decimal tnUnicaja, decimal tnPeso,
int tnTipo_PVP, decimal tnPvp,
1015 decimal tnCajasVenta, decimal tnUnidadesVenta, decimal tnPesoVenta, decimal tnCosteVenta, decimal tnPrecioVenta,
1016 decimal tnCosteUnitarioBeneficioExpected, decimal tnCosteLineaBeneficioExpected, decimal tnPorcenBeneficioExpected)
1021 _Unicaja = tnUnicaja;
1022 _Tipo_PVP = tnTipo_PVP;
1024 _CajasVenta = tnCajasVenta;
1025 _UnidadesVenta = tnUnidadesVenta;
1026 _PesoVenta = tnPesoVenta;
1027 _PrecioVenta = tnPrecioVenta;
1028 _CosteVenta = tnCosteVenta;
1029 _CosteUnitarioBeneficioExpected = tnCosteUnitarioBeneficioExpected;
1030 _CosteLineaBeneficioExpected = tnCosteLineaBeneficioExpected;
1031 _PorcenBeneficioExpected = tnPorcenBeneficioExpected;
1035 #endregion Clase para poder gestionar con más facilidad la creación de artículo y el flujo del test virtual string _Numero
Número del document
override bool _New(String tcEmpresa, String tcLetra="", String tcNumero="")
Por motives similares a los explicados en el "public override bool _Load" anterior se sobreescribe ta...
string _Pendevrep
Repercutido pendiente devengado (Criterio de caja)
TipoImpuesto
Tipo de impuesto
override bool _Delete()
Borrem el document i presentem display si cal
void Beneficio_Articulo_Cajas_TipoPVPCajas()
Prueba del cálculo de Coste/Beneficio de los documentos de venta /summary>
override bool _Load(string tcEmpresa, string tcNumero, string tcLetra="", string tcEjercicio="GESTION")
Carga un documento existente
void Beneficio_Articulo_Cajas_TipoPVPPorMil()
Prueba del cálculo de Coste/Beneficio de los documentos de venta /summary>
override string _Codigo
Override del código para controlar que no entren espacios por la derecha
void Beneficio_TotalDocumento()
Prueba del cálculo total de Coste/Beneficio de los documentos de venta /summary>
decimal _PorcentajeBeneficio_doc(decimal tnBeneficioDoc)
Porcentaje de Beneficio del documento
override bool _Delete()
Delete
void Beneficio_Articulo_Cajas_Peso_TipoPVPUnidades()
Prueba del cálculo de Coste/Beneficio de los documentos de venta /summary>
bool _IVA_Exento
_IVA_Exento (boolean)
void Beneficio_Articulo_Cajas_TipoPVPUnidades()
Prueba del cálculo de Coste/Beneficio de los documentos de venta /summary>
Clase documento de venta TPV
void Beneficio_Articulo_Cajas_Peso_TipoPVPPorCajas_PE92678()
Prueba del cálculo de Coste/Beneficio de los documentos de venta /summary>
void Beneficio_Articulo_Cajas_Peso_TipoPVPCajas()
Prueba del cálculo de Coste/Beneficio de los documentos de venta /summary>
string _Cta_REC_Rep
_CTA_REC_Rep (string)
Clase de prueba para el cálculo de beneficio de los documentos de venta /summary> ...
override void _New(string tcCodigo="")
Metodo _New de la clase base de los mantenimientos
string _Recrepcdev
Recargo repercutido devengado (Criterio de caja)
KeyDiccionarioMascara
Clave para diccionario de máscaras
string _Pendedsop_Nodeduc
Cuenta de IVA soportado pendiente de devengo no deducible (prorrata) Task 143008
void Beneficio_Articulo_Unidades()
Prueba del cálculo de Coste/Beneficio de los documentos de venta /summary>
virtual string _Letra
Lletra
override bool _Save()
Guarda el registro actual
override string _Codigo
Redefinir propiedad _Codigo (PE-102588)
PE-82381 Clase utilizada para consultar los datos de Letras
override void _New(string tcCodigo="")
_New
bool _IVA_Deducible
_IVA_Deducible (boolean)
string _Cta_REC_Sop
_CTA_REC_Sop (string)
virtual bool _Existe_Registro()
Nos indica si existe el registro en la Base de Datos
string _CtaVenta
Cuenta de venta
override bool _Save()
Save
string _Pendedsop
Soportado pendiente devengado (Criterio de caja)
_TipoDocCab _Cabecera
Cabecera
override bool _Delete()
Borra la familia cargada
BindingList< _TipoDocLin > _Lineas
Líneas
TipoCliente
Posibles Tipos de Clientes
override string _Codigo
Campo clave del mantenimiento
Clase de negocio del mantenimiento de cuentas contables
virtual string _Nombre
Campo nombre del mantenimiento. En este hay que basar los demás campos en las clases heredadas ...
virtual string _Codigo
Valor del campo clave que
static void MyClassCleanup()
decimal _Unicaja
Propiedad que indica las cajas definidas en la ficha del artículo
decimal _IVA
_IVA (decimal)
override bool _Save()
Guardem el document pero aquí tambe fem el save de portes.
Proporciona características adicionales de las máscaras de Eurowin
static void MyClassInitialize(TestContext testContext)
Classe base dels documents.
string _Tipo_Iva
Código del tipo de IVA que tiene asignado el artículo
void Beneficio_Articulo_SoloPeso()
Prueba del cálculo de Coste/Beneficio de los documentos de venta /summary>
override string _Articulo
PE-69903. Capturem el canvi d'article per tractar les unitats automátiques del TPV (wl_paracantidad) ...
int _Tipo_PVP
Indica el tipo de precio del artículo (1=Por Unidad,2=Por Caja,3=Comprar Caja/Vender Unidades...
TipoImpuesto _Tipo
Tipo IVA/IGIC
decimal Redondeo(decimal tnImporte)
Aplica el redondeo segun los decimales de la moneda
decimal _Peso
Propiedad que indica el peso definido en la ficha del artículo
string _CtaCompra
Cuenta de compra
decimal _Recargo
_Recargo (decimal)
void Beneficio_Articulo_Cajas_TipoPVPPorComprarCajasVenderUnidades()
Prueba del cálculo de Coste/Beneficio de los documentos de venta /summary>
string _Familia
Propiedad que indica la familia
string _Cta_IVA_Sop_Nodeduc
Cuenta de IVA soportado no deducible (prorrata) Task 143008
override bool _Delete()
Borra el tipo de IVA cargado
string _Recsopcdev
Recargo soportado devengado (Criterio de caja)
override ewDocVentaLinTPV _AddLinea(Articulo toArticulo, int tnInsertLinea=-1, decimal tnUnidades=0m, decimal tnPrecio=0m, decimal tnPeso=0m, string tcAgrupacion="", decimal tnUnidAgrup=0, int tnTipoDoc=0)
Sobreescribir el método _AddLinea() para poder realizar la llamada al evento de pintado de series...
override bool _Delete()
Borra la letra cargada
string _Cta_IVA_Sop
_CTA_IVA_Sop (string)
override bool _Save()
Guardo los cambios en la tabla
decimal _Beneficio_doc(out decimal tnCosteTotal)
Beneficio del documento
string _Cta_IVA_Rep
_CTA_IVA_Rep (string)
override bool _Save()
Override _Save
override bool _Delete()
Elimina el registro actual