TraspasoPedidosPesoCA.cs
1 using Microsoft.VisualStudio.TestTools.UnitTesting;
2 using sage.ew.global;
3 using sage.ew.usuario;
4 using Sage.ES.S50.UnitTest.Tools;
5 using System;
6 using System.Collections.Generic;
7 
8 namespace Sage.ES.S50.UnitTest.Cliente
9 {
14  [TestClass]
15  public class TraspasoPedidosPesoCA
16  {
17  private static string _cEmpresa;
18  private const string _cEmpresaPesoCamposAdicionales = "03";
19 
20  private TestContext testContextInstance;
21 
26  public TestContext TestContext
27  {
28  get
29  {
30  return testContextInstance;
31  }
32  set
33  {
34  testContextInstance = value;
35  }
36  }
37 
38  #region Atributos de prueba adicionales
39  //
40  //Puede utilizar los siguientes atributos adicionales mientras escribe sus pruebas:
41  //
42  //Use ClassInitialize para ejecutar código antes de ejecutar la primera prueba en la clase
43  [ClassInitialize()]
44  public static void MyClassInitialize(TestContext testContext)
45  {
46  testContext.__Test_LoadRandomConfig();
47 
48  _cEmpresa = Convert.ToString(EW_GLOBAL._GetVariable("wc_empresa"));
49  }
50 
51  [TestInitialize()]
52  public void MyTestInitialize()
53  {
54  _CambiarEmpresa(_cEmpresaPesoCamposAdicionales);
55  }
56 
57  [TestCleanup()]
58  public void MyTestCleanup()
59  {
60  _CambiarEmpresa(_cEmpresa);
61  }
62 
63  #endregion
64 
65 
69  [Owner(Owners.Sergi_March), TestMethod()]
70  [Priority(1)]
72  {
73  string lcNumPedido1 = "", lcNumPedido2 = "";
74  string lcNumeroAlbaran1 = "", lcNumeroAlbaran2 = "";
75 
76  try
77  {
78  //Creamos pedido 1
79  sage.ew.docsven.ewDocVentaPED loDocVentaPED1 = new sage.ew.docsven.ewDocVentaPED();
80  if (loDocVentaPED1._New("03", "SF", "")) // el primer parametro es el codigo de empresa, el segundo la serie del documento (si no pasamos nada coge por defecto la configurada en la empresa), el tercer parametro es el número de documento (si no pasamos nada nos da un número automático)
81  {
82  loDocVentaPED1._Cabecera._Cliente = "43000001"; //Código cliente
83  loDocVentaPED1._Cabecera._Fecha = DateTime.Today;
84  loDocVentaPED1._Cabecera._Cambio = 1;
85  loDocVentaPED1._Cabecera._FormaPago = "00";
86  loDocVentaPED1._Cabecera._Observacio = "";
87  loDocVentaPED1._Cabecera._Divisa = "000";
88  loDocVentaPED1._Cabecera._Almacen = "00"; //Código del almacen
89  //loDocVentaPED._Cabecera._Operario = "01"; //si trabaja con operarios en ventas debe ir el operario del documento
90  //loDocVentaPED._Cabecera._Vendedor = ""; //Vendedor, si no asignamos nada coge el configurado en la empresa.
91 
92  //Añadimos líneas
93  //Primera linia
94  sage.ew.docsven.ewDocVentaLinPED loLinia = loDocVentaPED1._AddLinea();
95  loLinia._Articulo = "SMARCH1";
96  loLinia._Unidades = 1;
97  //loLinia._Unidades = 10000000;
98  if (loDocVentaPED1._Cabecera._IvaInc) //si el cliente trabaja con iva incluido
99  loLinia._PrecioIva = 100;
100  else
101  loLinia._Precio = 100;
102 
103  loDocVentaPED1._Cabecera._Peso = 60; //Peso del pedido 1
104  //guardamos el pedido
105  if (loDocVentaPED1._Save())
106  {
107  lcNumPedido1 = loDocVentaPED1._Numero;
108  }
109  else
110  {
111  throw new Exception("No se ha podido crear el pedido");
112  }
113  }
114  else
115  {
116  throw new Exception("No se ha podido crear el pedido");
117  }
118 
119  //Creamos Pedido 2
120  sage.ew.docsven.ewDocVentaPED loDocVentaPED2 = new sage.ew.docsven.ewDocVentaPED();
121  if (loDocVentaPED2._New("03", "SF", "")) // el primer parametro es el codigo de empresa, el segundo la serie del documento (si no pasamos nada coge por defecto la configurada en la empresa), el tercer parametro es el número de documento (si no pasamos nada nos da un número automático)
122  {
123  loDocVentaPED2._Cabecera._Cliente = "43000001"; //Código cliente
124  loDocVentaPED2._Cabecera._Fecha = DateTime.Today;
125  loDocVentaPED2._Cabecera._Cambio = 1;
126  loDocVentaPED2._Cabecera._FormaPago = "00";
127  loDocVentaPED2._Cabecera._Observacio = "";
128  loDocVentaPED2._Cabecera._Divisa = "000";
129  loDocVentaPED2._Cabecera._Almacen = "00"; //Código del almacen
130 
131  //Añadimos líneas
132  //Primera linia
133  sage.ew.docsven.ewDocVentaLinPED loLinia = loDocVentaPED2._AddLinea();
134  loLinia._Articulo = "SMARCH1";
135  loLinia._Unidades = 2;
136  //loLinia._Unidades = 10000000;
137  if (loDocVentaPED2._Cabecera._IvaInc) //si el cliente trabaja con iva incluido
138  loLinia._PrecioIva = 200;
139  else
140  loLinia._Precio = 200;
141 
142  loDocVentaPED2._Cabecera._Peso = 50; //Peso del pedido 2
143 
144  //guardamos el pedido
145  if (loDocVentaPED2._Save())
146  {
147  lcNumPedido2 = loDocVentaPED2._Numero;
148  }
149  else
150  {
151  throw new Exception("No se ha podido crear el pedido");
152  }
153  }
154  else
155  {
156  throw new Exception("No se ha podido crear el pedido");
157  }
158 
159  //Traspasamos Pedido1 a Albarán
160  Dictionary<string, object> loDicParam = new Dictionary<string, object>();
161  loDicParam.Add("tipodoc", 2); // 1=TICKET, 2=ALBARAN, 3=FACTURA, 4=PRESUPUESTO
162  loDicParam.Add("fecha", DateTime.Today);
163  loDicParam.Add("almacen", loDocVentaPED1._Cabecera._Almacen);
164  loDicParam.Add("letra", "SF");
165  loDicParam.Add("cliente", "43000001");
166  loDicParam.Add("obra", loDocVentaPED1._Cabecera._Obra);
167  loDicParam.Add("divisa", loDocVentaPED1._Cabecera._Divisa);
168  loDicParam.Add("pedidotoalbaran", true);
169 
170  loDicParam.Add("formapago", "00");
171 
172  foreach (sage.ew.docsven.ewDocVentaLinPED Linea in loDocVentaPED1._Lineas)
173  {
174  Linea._TraspasarLinea = true;
175  }
176 
177  lcNumeroAlbaran1 = loDocVentaPED1._To_Albaran(loDicParam);
178 
179  //Traspasamos Pedido2 a Albarán (pasar numero de albaran obtenido anteriormente y cargado como albaran)
180  sage.ew.docventatpv.ewDocVentaTPV loDocVentaAlbaran = new sage.ew.docventatpv.ewDocVentaTPV();
181  loDocVentaAlbaran._Load("03", lcNumeroAlbaran1.Substring(3), "SF");
182 
183  loDicParam = new Dictionary<string, object>();
184  loDicParam.Add("tipodoc", 2); // 1=TICKET, 2=ALBARAN, 3=FACTURA, 4=PRESUPUESTO
185  loDicParam.Add("fecha", DateTime.Today);
186  loDicParam.Add("almacen", loDocVentaPED1._Cabecera._Almacen);
187  loDicParam.Add("letra", "SF");
188  loDicParam.Add("cliente", "43000001");
189  loDicParam.Add("obra", loDocVentaPED2._Cabecera._Obra);
190  loDicParam.Add("divisa", loDocVentaPED2._Cabecera._Divisa);
191  loDicParam.Add("pedidotoalbaran", true);
192  loDicParam.Add("docudestino", loDocVentaAlbaran);
193 
194  loDicParam.Add("formapago", "00");
195 
196  foreach (sage.ew.docsven.ewDocVentaLinPED Linea in loDocVentaPED2._Lineas)
197  {
198  Linea._TraspasarLinea = true;
199  }
200 
201  lcNumeroAlbaran2 = loDocVentaPED2._To_Albaran(loDicParam);
202 
203  //Comprobamos peso de Albarán
204  loDocVentaAlbaran._Load("03", lcNumeroAlbaran1.Substring(3), "SF");
205  Assert.AreEqual(loDocVentaAlbaran._Cabecera._Peso, 110); //Suma de 60 de pedido1 + 50 de pedido 2
206 
207  //Eliminamos Albarán
208  loDocVentaAlbaran._Delete();
209 
210  //Eliminamos Pedido2
211  loDocVentaPED2._Delete();
212 
213  //Eliminamos Pedido1
214  loDocVentaPED1._Delete();
215  }
216  catch(Exception e)
217  {
218  Assert.IsFalse(false, e.Message);
219  }
220 
221 
222  }
223 
224  private void _CambiarEmpresa(string tcEmpresa)
225  {
226  if (EW_GLOBAL._Empresa._Codigo != tcEmpresa && !Usuario._This._Cambiar_Empresa(tcEmpresa)) Assert.Fail($"El cambio de empresa {EW_GLOBAL._Empresa._Codigo} a {tcEmpresa} ha fallado.");
227  }
228  }
229 }
Clase linea de documento de venta de pedido
Definition: DocsPed.cs:3499
override bool _Load(string tcEmpresa, string tcNumero, string tcLetra="", string tcEjercicio="GESTION")
Carga un documento existente
static sage.ew.usuario.Usuario _This
Instancia estática del objeto usuario con los datos del usuario actual (wc_usuario) ...
Definition: clsUsuario.cs:341
Task 187746: Traspaso de pedidos a albarán con peso como campo adicional y comprobación que en el alb...
Clase documento de venta TPV
Definition: DocVentaTpv.cs:47
Clase documento de PEDIDOS
Definition: DocsPed.cs:39
_TipoDocCab _Cabecera
Cabecera
Definition: DocsVen.cs:2626
static void MyClassInitialize(TestContext testContext)
override string _Articulo
PE102295 - hem de comprovar si hi ha unitats servides, si es així no es pot modificar l&#39;article ...
Definition: DocsPed.cs:3592
void TraspasoPedidosTest__TraspasoPedidosPeso()
Una prueba de _Fecha /summary>
bool _Cambiar_Empresa(string tcEmpresa)
Método que cambia la empresa actual por la pasada por parametro tcEmpresa
Definition: clsUsuario.cs:2904
Definición de la clase Usuario
Definition: clsUsuario.cs:113