txtTipoDocMovStock.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Data;
4 using System.Linq;
5 using System.Windows.Forms;
6 using sage.ew.enumerations;
7 using sage.ew.functions;
8 using sage.ew.global;
9 
10 namespace sage.ew.txtbox.UserControls
11 {
15  public partial class txtTipoDocMovStock : ewtxtcodlabel
16  {
17  private bool _trabajaConSeries = Convert.ToBoolean(EW_GLOBAL._GetVariable("wl_series"));
18  private bool _trabajaConDepositos = Convert.ToBoolean(EW_GLOBAL._GetVariable("wl_depositos"));
19  private bool _esUnHera = Convert.ToBoolean(EW_GLOBAL._GetVariable("wl_hera"));
20  private bool _trabajaConProduccionyFabricacion = Convert.ToBoolean(EW_GLOBAL._GetVariable("wl_ProTran"));
21 
22  # region Constructor
23  public txtTipoDocMovStock()
27  {
28  if (!DesignMode)
29  {
30  ConstructorPrivado();
31  _Codigo_Cambiado_Before += new Delegar_Codigo_Cambiado_Before(TxtTipoDocMovStock__Codigo_Cambiado_Before); // Validaremos si existe el tipo de documento
32  CargarDataTable();
33  }
34  }
35  # endregion Constructor
36 
37  # region Métodos privados
38  private void TxtTipoDocMovStock__Codigo_Cambiado_Before(ref bool tlOk)
43  {
44  string lcCodigo = ewtextbox.Text;
45 
46  if (!(string.IsNullOrWhiteSpace(lcCodigo) && (_Browser_Datatable_Personalizado != null)))
47  {
48  DataRow[] ldrPeriodo = _Browser_Datatable_Personalizado.Select("codigo = '" + lcCodigo + "'");
49 
50  if ((ldrPeriodo != null) && (ldrPeriodo.Count() == 0))
51  {
52  FUNCTIONS._MessageBox(_Mensaje_No_Existe, "Validar tipo de documento con movimiento de stock", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
53  tlOk = false;
54  }
55  }
56  }
57 
61  private void ConstructorPrivado()
62  {
63  _Mostrar_Browser = true;
64  _Mostrar_Mante = false;
65  _Mostrar_Mensaje = true;
66  _Clave = "codigo";
67  _Concepto = "nombre";
68  _Relleno = '0';
69  _Len = 2;
70  _Mensaje_No_Existe = "El tipo de documento con movimiento de stock no existe.";
71  _Browser_Clave = "codigo";
72  _Browser_Campo_Predet = "codigo";
73  _Browser_Titulos_Campos = "Código,Operación";
74  _Browser_Titulo = "Listado de tipos de documentos con movimiento de stock";
75 
76  _TooltipBrowser = "Consultar tipos de documentos con movimiento de stock";
77  }
78 
82  private void CargarDataTable()
83  {
84  List<eTipoDocumentoMovStock> tiposAdmitidos = new List<eTipoDocumentoMovStock>();
85  DataTable ldtTipoOperacion = new DataTable();
86  ldtTipoOperacion.Columns.Add("codigo", typeof(string));
87  ldtTipoOperacion.Columns.Add("nombre", typeof(string));
88 
89  #region Añadir tipos admitidos
90 
91  //Albaranes de venta
92  tiposAdmitidos.Add(eTipoDocumentoMovStock.AlbaranesDeVenta);
93 
94  if (!_esUnHera)
95  {
96  //Albaranes de compra
97  tiposAdmitidos.Add(eTipoDocumentoMovStock.AlbaranesDeCompra);
98  }
99 
100  tiposAdmitidos.Add(eTipoDocumentoMovStock.AlbaranesDeRegularizacion);
101  tiposAdmitidos.Add(eTipoDocumentoMovStock.AlbaranesDeTraspaso);
102  tiposAdmitidos.Add(eTipoDocumentoMovStock.InventariosDeRegularizacion);
103 
104  if (!_esUnHera && _trabajaConProduccionyFabricacion)
105  {
106  tiposAdmitidos.Add(eTipoDocumentoMovStock.SalidasDeTransformacion);
107  tiposAdmitidos.Add(eTipoDocumentoMovStock.EntradasDeTransformacion);
108  tiposAdmitidos.Add(eTipoDocumentoMovStock.EntradasDeProduccion);
109  tiposAdmitidos.Add(eTipoDocumentoMovStock.SalidasDeProduccion);
110  }
111 
112  tiposAdmitidos.Add(eTipoDocumentoMovStock.StockInicial);
113 
114  if (!_esUnHera && _trabajaConDepositos)
115  {
116  tiposAdmitidos.Add(eTipoDocumentoMovStock.DepositosDeVenta);
117  tiposAdmitidos.Add(eTipoDocumentoMovStock.DepositosDeCompra);
118  }
119  if (!_esUnHera && _trabajaConSeries)
120  {
121  tiposAdmitidos.Add(eTipoDocumentoMovStock.Montajes);
122  }
123 
124  #endregion Añadir tipos admitidos
125 
126  //Monto el datatable con los tipos admitidos
127  foreach (eTipoDocumentoMovStock tipo in tiposAdmitidos)
128  {
129  ldtTipoOperacion.Rows.Add(new object[] { tipo.__ObtenerCodigo(), tipo.__ObtenerNombre() });
130  }
131 
132  _DataTable = ldtTipoOperacion;
133  _Browser_Datatable_Personalizado = _DataTable;
134 
135  _PrimeraVez = true;
136 
137  base._Refresh();
138  }
139  # endregion Métodos privados
140  }
141 }
eTipoDocumentoMovStock
Tipos de documentos con movimiento de stock
Definition: Listados.cs:77
Filtro del tipo de operación de asientos
Clase base para controles de tipo txtcodlabelf