PlanificacionPlantillaVenta.cs
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Drawing;
5 using System.Data;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9 using sage.ew.objetos;
10 using sage.ew.interficies;
11 using sage.ew.global;
13 using sage.ew.ewbase;
14 using sage.ew.functions;
15 using sage.ew.botones;
16 using sage.ew.articulo;
17 using sage.ew.formul;
18 using sage.ew.docsven;
19 using sage.ew.docscompra;
21 using sage.ew.docsven.Clases;
22 using System.Windows.Documents;
24 using DocumentFormat.OpenXml.Spreadsheet;
26 using sage.ew.formul.Forms;
27 
28 namespace sage.ew.docsven.UserControls
29 {
33  public partial class PlanificacionPlantillaVenta : UserControl
34  {
35  #region PROPIEDADES PRIVADAS
36 
40  private bool EsAsesorContable = (EW_GLOBAL._SaborSage50c == EW_GLOBAL.SaboresSage50c.AsesorContable);
41 
45  private bool TrabajaConDepositos = Convert.ToBoolean(EW_GLOBAL._GetVariable("wl_depositos"));
46 
47 
48  #endregion PROPIEDADES PRIVADAS
49 
50  #region PROPIEDADES PUBLICAS
51 
55  public PlantillasVenta _PlantillaVenta
56  {
57  get
58  {
59  if (_oPlantillaVenta == null)
60  {
61  _oPlantillaVenta = new PlantillasVenta();
62  }
63  return _oPlantillaVenta;
64  }
65  set
66  {
67  _oPlantillaVenta = value;
68  _Binding();
69  }
70  }
71  private PlantillasVenta _oPlantillaVenta;
72 
76  public List<clsPlanificacionPlantillaVenta> planificadas = new List<clsPlanificacionPlantillaVenta>();
77 
81  public List<clsPlanificacionPlantillaVenta> realizadas = new List<clsPlanificacionPlantillaVenta>();
82 
83  private DateTime loFechaIni = Convert.ToDateTime(EW_GLOBAL._GetVariable("wd_periodoini"));
84  private DateTime loFechaFin = Convert.ToDateTime(EW_GLOBAL._GetVariable("wd_periodofin"));
85 
89  private string _CellOldVal = "";
90 
91  #endregion PROPIEDADES PUBLICAS
92 
93  #region CONSTRUCTOR
94 
99  {
100  InitializeComponent();
101 
102  CancelarSubscripcionEventosMantegrid();
103  SubscripcionEventosMantegrid();
104  }
105 
106  #endregion CONSTRUCTOR
107 
108  #region MÉTODOS PRIVADOS
109 
113  private void ConfigurarGrid()
114  {
115  CancelarSubscripcionEventosMantegrid();
116 
117  mantePlanificacion._Grid.Columns.Clear();
118  mantePlanificacion._Grid.AutoGenerateColumns = false; // No crearemos las columnas automáticamente
119  mantePlanificacion._Grid.AllowUserToResizeRows = false;
120  mantePlanificacion._Grid.AllowUserToOrderColumns = false;
121 
122  mantePlanificacion._Grid.Refresh();
123 
124  foreach (DataGridViewColumn ldgvCol in mantePlanificacion._Grid.Columns) // Ocultamos todas las columnas
125  ldgvCol.Visible = false;
126 
127  #region DefinicionColumnasGrid
128  // Columna Sel
130  {
131  ldgtbColSel.Name = "sel";
132  ldgtbColSel.HeaderText = " ";
133  ldgtbColSel._ColumnHeaderImageAlign = HorizontalAlignment.Center;
134  ldgtbColSel._SelectionColumn = true;
135  ldgtbColSel.ValueType = typeof(bool);
136  ldgtbColSel.Width = 40;
137  ldgtbColSel.ReadOnly = false;
138  ldgtbColSel.Visible = true;
139  ldgtbColSel.Tag = "unchecked";
140  ldgtbColSel.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
141  ldgtbColSel.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
142  ldgtbColSel.SortMode = DataGridViewColumnSortMode.NotSortable;
143  mantePlanificacion._Grid.Columns.Add(ldgtbColSel);
144  }
145 
146  // Columna estado
148  {
149  ldgtbColEstado.Name = "TipoEstado";
150  ldgtbColEstado.DataPropertyName = "_TipoEstadoDescrip";
151  ldgtbColEstado.HeaderText = "Estado";
152  ldgtbColEstado.ValueType = typeof(string);
153  ldgtbColEstado.Width = 210;
154  ldgtbColEstado.Visible = true;
155  ldgtbColEstado._NoParar = false;
156  ldgtbColEstado.ReadOnly = true;
157  ldgtbColEstado.Resizable = DataGridViewTriState.True;
158  ldgtbColEstado.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
159 
160  mantePlanificacion._Grid.Columns.Add(ldgtbColEstado);
161  }
162 
163  // Columna fecha planificada
164  using (Mantegrid.CalendarColumn ldgtbColFechaPlanificada = new Mantegrid.CalendarColumn())
165  {
166  ldgtbColFechaPlanificada.Name = "FechaPlanificada";
167  ldgtbColFechaPlanificada.DataPropertyName = "_Fecha";
168  ldgtbColFechaPlanificada.HeaderText = "Fec. planificada";
169  // ldgtbColFechaPlanificada.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
170  ldgtbColFechaPlanificada.ValueType = typeof(DateTime?);
171  ldgtbColFechaPlanificada.Width = 150;
172  ldgtbColFechaPlanificada.Visible = true;
173  ldgtbColFechaPlanificada._NoParar = false;
174  ldgtbColFechaPlanificada.ReadOnly = true;
175  // ldgtbColFechaPlanificada.Resizable = DataGridViewTriState.True;
176  ldgtbColFechaPlanificada.CellTemplate.Style.Format = "dd/MM/yyyy";
177 
178  mantePlanificacion._Grid.Columns.Add(ldgtbColFechaPlanificada);
179  }
180 
181  // Columna fecha documento
182  using (Mantegrid.ewDataGridViewTextBoxColumn ldgtbColFechaDocumento = new Mantegrid.ewDataGridViewTextBoxColumn())
183  {
184  ldgtbColFechaDocumento.Name = "FechaDocumento";
185  ldgtbColFechaDocumento.DataPropertyName = "_Fecha_doc";
186  ldgtbColFechaDocumento.HeaderText = "Fec. documento";
187  // ldgtbColFechaDocumento.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
188  ldgtbColFechaDocumento.ValueType = typeof(string);
189  ldgtbColFechaDocumento.Width = 150;
190  ldgtbColFechaDocumento.Visible = true;
191  ldgtbColFechaDocumento._NoParar = false;
192  ldgtbColFechaDocumento.ReadOnly = true;
193  // ldgtbColFechaDocumento.CellTemplate.Style.Format = "dd/MM/yyyy";
194  mantePlanificacion._Grid.Columns.Add(ldgtbColFechaDocumento);
195  }
196 
197  // Columna tipo documento
198  using (Mantegrid.ewDataGridViewTextBoxColumn ldgtbColTipoDocumento = new Mantegrid.ewDataGridViewTextBoxColumn())
199  {
200  ldgtbColTipoDocumento.Name = "TipoDocumento";
201  ldgtbColTipoDocumento.DataPropertyName = "_TipoDocumentoDescrip";
202  ldgtbColTipoDocumento.HeaderText = "Tipo documento";
203  ldgtbColTipoDocumento.ValueType = typeof(string);
204  ldgtbColTipoDocumento.Width = 210;
205  ldgtbColTipoDocumento.Visible = true;
206  ldgtbColTipoDocumento._NoParar = false;
207  ldgtbColTipoDocumento.ReadOnly = true;
208  ldgtbColTipoDocumento.Resizable = DataGridViewTriState.True;
209  ldgtbColTipoDocumento.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
210 
211  mantePlanificacion._Grid.Columns.Add(ldgtbColTipoDocumento);
212  }
213 
214  // Columna ver documentos
215  using (Mantegrid.ewDataGridViewImageColumn ldgtbColVerDocumentosImagen = new Mantegrid.ewDataGridViewImageColumn())
216  {
217  ldgtbColVerDocumentosImagen.Name = "VerDocumentosImagen";
218  ldgtbColVerDocumentosImagen.DataPropertyName = "_VerDocumentosImagen";
219  ldgtbColVerDocumentosImagen.HeaderText = "Ver documentos";
220  ldgtbColVerDocumentosImagen.ValueType = typeof(ew.objetos.ewbutton);
221  ldgtbColVerDocumentosImagen.Width = 210;
222  ldgtbColVerDocumentosImagen.Visible = true;
223  ldgtbColVerDocumentosImagen._NoParar = false;
224  ldgtbColVerDocumentosImagen.ReadOnly = false;
225  ldgtbColVerDocumentosImagen.DefaultCellStyle.NullValue = null; // Si no hay imagen no debe de presentar el cuadrado de que no tenemos imagen
226  ldgtbColVerDocumentosImagen.Resizable = DataGridViewTriState.True;
227  ldgtbColVerDocumentosImagen.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
228 
229  mantePlanificacion._Grid.Columns.Add(ldgtbColVerDocumentosImagen);
230  }
231 
232  // Columna ver avisos/incidencias
233  using (Mantegrid.ewDataGridViewImageColumn ldgtbColVerAvisosImagen = new Mantegrid.ewDataGridViewImageColumn())
234  {
235  ldgtbColVerAvisosImagen.Name = "VerAvisosImagen";
236  ldgtbColVerAvisosImagen.DataPropertyName = "_VerAvisosImagen";
237  ldgtbColVerAvisosImagen.HeaderText = "Ver avisos/incidencias";
238  ldgtbColVerAvisosImagen.ValueType = typeof(ew.objetos.ewbutton);
239  ldgtbColVerAvisosImagen.Width = 210;
240  ldgtbColVerAvisosImagen.Visible = true;
241  ldgtbColVerAvisosImagen._NoParar = false;
242  ldgtbColVerAvisosImagen.ReadOnly = false;
243  ldgtbColVerAvisosImagen.DefaultCellStyle.NullValue = null; // Si no hay imagen no debe de presentar el cuadrado de que no tenemos imagen
244  ldgtbColVerAvisosImagen.Resizable = DataGridViewTriState.True;
245  ldgtbColVerAvisosImagen.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
246 
247  mantePlanificacion._Grid.Columns.Add(ldgtbColVerAvisosImagen);
248  }
249 
250  using (Mantegrid.ewDataGridViewTextBoxColumn ldgtbColVerDocumentos = new Mantegrid.ewDataGridViewTextBoxColumn())
251  {
252  ldgtbColVerDocumentos.Name = "VerDocumentos";
253  ldgtbColVerDocumentos.HeaderText = "HeaderText";
254  ldgtbColVerDocumentos.DataPropertyName = "_VerDocumentos";
255  ldgtbColVerDocumentos.ValueType = typeof(bool);
256  ldgtbColVerDocumentos.Visible = false;
257  ldgtbColVerDocumentos.Width = 1;
258 
259  mantePlanificacion._Grid.Columns.Add(ldgtbColVerDocumentos);
260  }
261 
263  {
264  ldgtbColVerAvisos.Name = "VerAvisos";
265  ldgtbColVerAvisos.HeaderText = "HeaderText";
266  ldgtbColVerAvisos.DataPropertyName = "_VerAvisos";
267  ldgtbColVerAvisos.ValueType = typeof(bool);
268  ldgtbColVerAvisos.Visible = false;
269  ldgtbColVerAvisos.Width = 1;
270 
271  mantePlanificacion._Grid.Columns.Add(ldgtbColVerAvisos);
272  }
273 
274  // Columna linea
276  {
277  ldgtbColLinea.Name = "Linea";
278  ldgtbColLinea.DataPropertyName = "_Linea";
279  ldgtbColLinea.HeaderText = "Linea";
280  ldgtbColLinea.ValueType = typeof(int);
281  ldgtbColLinea.Width = 1;
282  ldgtbColLinea.Visible = false;
283 
284  mantePlanificacion._Grid.Columns.Add(ldgtbColLinea);
285  }
286 
287  #endregion DefinicionColumnasGrid
288 
289  SubscripcionEventosMantegrid();
290  }
291 
292  private void _RevisarDatos()
293  {
294  mantePlanificacion._Grid.Columns["VerDocumentos"].Visible = false;
295  mantePlanificacion._Grid.Columns["VerAvisos"].Visible = false;
296 
297  foreach (DataGridViewRow ldRow in mantePlanificacion._Grid.Rows)
298  {
299  //Establezco imagen de estado
300  if (Convert.ToBoolean(ldRow.Cells["VerDocumentos"].Value))
301  {
302  ldRow.Cells["VerDocumentosImagen"].Value = ew.images.Properties.Resources.icon_eye16;
303  }
304  else
305  {
306  ldRow.Cells["VerDocumentosImagen"].Value = null;
307  }
308 
309  if (Convert.ToBoolean(ldRow.Cells["VerAvisos"].Value))
310  {
311  ldRow.Cells["VerAvisosImagen"].Value = ew.images.Properties.Resources.icon_eye16;
312  }
313  else
314  {
315  ldRow.Cells["VerAvisosImagen"].Value = null;
316  }
317  }
318 
319  mantePlanificacion._Grid.Columns["VerDocumentos"].Visible = false;
320  mantePlanificacion._Grid.Columns["VerAvisos"].Visible = false;
321  }
322 
323 
324  private void SubscripcionEventosMantegrid()
325  {
326  mantePlanificacion._DataSource_Row_New_Event += new Mantegrid._DataSource_Row_New_Event_Handler(mantePlanificacionPlantillaVenta__DataSource_Row_New_Event);
327  mantePlanificacion._Row_New_Before += MantePlanificacion__Row_New_Before;
328  mantePlanificacion._DataSource_Row_Delete_Event += new Mantegrid._DataSource_Row_Delete_Event_Handler(mantePlanificacionPlantillaVenta__DataSource_Row_Delete_Event);
329  mantePlanificacion._Row_Delete_Before += MantePlanificacion__Row_Delete_Before;
330  mantePlanificacion._RowChange += new Mantegrid._RowChange_Handler(mantePlanificacionPlantillaVenta__RowChange);
331 
332  mantePlanificacion._ColChange += new Mantegrid._ColChange_Handler(mantePlanificacionPlantillaVenta__ColChange);
333 
334  // Para controlar el click en el botón de edición de cuenta.
335  mantePlanificacion._CellClick += new Mantegrid._CellClick_Handler(mantePlanificacionPlantillaVenta__CellClick);
336 
337  mantePlanificacion._Grid.CellBeginEdit += new DataGridViewCellCancelEventHandler(mantePlanificacionPlantillaVenta__CellBeginEdit);
338  mantePlanificacion._Grid.CellEndEdit += new DataGridViewCellEventHandler(mantePlanificacionPlantillaVenta__CellEndEdit);
339  mantePlanificacion._Grid.ColumnHeaderMouseClick += mantePlanificacionPlantillaVenta_ColumnHeaderMouseClick;
340  }
341 
342 
343  private void CancelarSubscripcionEventosMantegrid()
344  {
345  mantePlanificacion._DataSource_Row_New_Event -= new Mantegrid._DataSource_Row_New_Event_Handler(mantePlanificacionPlantillaVenta__DataSource_Row_New_Event);
346  mantePlanificacion._DataSource_Row_Delete_Event -= new Mantegrid._DataSource_Row_Delete_Event_Handler(mantePlanificacionPlantillaVenta__DataSource_Row_Delete_Event);
347  mantePlanificacion._RowChange -= new Mantegrid._RowChange_Handler(mantePlanificacionPlantillaVenta__RowChange);
348 
349  mantePlanificacion._ColChange -= new Mantegrid._ColChange_Handler(mantePlanificacionPlantillaVenta__ColChange);
350 
351  // Para controlar el click en el botón de edición de cuenta.
352  mantePlanificacion._CellClick -= new Mantegrid._CellClick_Handler(mantePlanificacionPlantillaVenta__CellClick);
353 
354  mantePlanificacion._Grid.CellBeginEdit -= new DataGridViewCellCancelEventHandler(mantePlanificacionPlantillaVenta__CellBeginEdit);
355  mantePlanificacion._Grid.CellEndEdit -= new DataGridViewCellEventHandler(mantePlanificacionPlantillaVenta__CellEndEdit);
356  mantePlanificacion._Grid.ColumnHeaderMouseClick -= mantePlanificacionPlantillaVenta_ColumnHeaderMouseClick;
357  }
358 
359 
364  private void mantePlanificacionPlantillaVenta__ColChange(DataGridViewCell tdgvCurrentCel)
365  {
366  if (tdgvCurrentCel != null && _PlantillaVenta._Estado != ewMante._EstadosMantenimiento.MostrandoRegistro)
367  {
368  if (mantePlanificacion._Grid.Columns[mantePlanificacion._Grid.CurrentCell.ColumnIndex].Name == "FechaPlanificada")
369  {
370  if (Convert.ToString(mantePlanificacion._Grid.Rows[mantePlanificacion._Grid.CurrentCell.RowIndex].Cells["TipoEstado"].Value) == (TipoEstadoPlantilla.Planificada).__GetDescription())
371  {
372  if (!ewbtnDocumentos.Enabled)
373  mantePlanificacion._Grid.CurrentCell.ReadOnly = false;
374  }
375  }
376  }
377  }
378 
385  private void mantePlanificacionPlantillaVenta__CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
386  {
387  if (mantePlanificacion._Grid.Columns[mantePlanificacion._Grid.CurrentCell.ColumnIndex].Name == "FechaPlanificada")
388  {
389  _CellOldVal = Convert.ToString(mantePlanificacion._Grid.Rows[mantePlanificacion._Grid.CurrentCell.RowIndex].Cells["FechaPlanificada"].Value);
390  }
391  }
392 
393 
400  private void mantePlanificacionPlantillaVenta__CellEndEdit(object sender, DataGridViewCellEventArgs e)
401  {
402  if (mantePlanificacion._Grid.Columns[mantePlanificacion._Grid.CurrentCell.ColumnIndex].Name == "FechaPlanificada")
403  {
404  if (Convert.ToDateTime(mantePlanificacion._Grid.Rows[mantePlanificacion._Grid.CurrentCell.RowIndex].Cells["FechaPlanificada"].Value) < loFechaIni ||
405  Convert.ToDateTime(mantePlanificacion._Grid.Rows[mantePlanificacion._Grid.CurrentCell.RowIndex].Cells["FechaPlanificada"].Value) > loFechaFin)
406  {
407  mantePlanificacion._Grid.Rows[mantePlanificacion._Grid.CurrentCell.RowIndex].Cells["FechaPlanificada"].Value = _CellOldVal;
408 
409  FUNCTIONS._MessageBox("Las planificaciones han de estar dentro del ejercicio.", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, DialogResult.None);
410  }
411  }
412  }
413 
414 
419  private void mantePlanificacionPlantillaVenta__DataSource_Row_New_Event(int tnInsertLinea)
420  {
421  if (_oPlantillaVenta._Clientes.Count() == 0)
422  {
423  FUNCTIONS._MessageBox("No existen clientes dados de alta en la plantilla. Imposible crear planificaciones.", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, DialogResult.None);
424  return;
425  }
426  else
427  {
428  AddRegistro(DateTime.Now.Date);
429  mantePlanificacion._Grid.DataSource = _oPlantillaVenta._Planificacion;
430  mantePlanificacion._Grid.Refresh();
431  }
432  }
433 
434 
439  private void mantePlanificacionPlantillaVenta__DataSource_Row_Delete_Event(DataGridViewRow trRowDelete)
440  {
441  if (trRowDelete != null && trRowDelete.DataBoundItem != null)
442  {
443  bool lbReturn = true;
444 
445  DialogResult lodialog;
446 
447  planificadas.Clear();
448  realizadas.Clear();
449 
450  int seleccionadas = ObtenerLineasSeleccionadas();
451 
452  // Se pueden borrar todas las planificaciones seleccionadas
453  if (seleccionadas == planificadas.Count)
454  {
455  lodialog = FUNCTIONS._MessageBox("¿Desea borrar todas las planificaciones seleccionadas?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, DialogResult.No);
456 
457  if (lodialog == DialogResult.No)
458  lbReturn = false;
459  }
460  else
461  {
462  Dictionary<eBotonesMessagebox, string> loDic = new Dictionary<eBotonesMessagebox, string>();
463  loDic.Add(eBotonesMessagebox.Yes, "Todo");
464  loDic.Add(eBotonesMessagebox.No, "Sólo planificación");
465  loDic.Add(eBotonesMessagebox.Cancel, "Cancelar");
466 
467  string lcMsg = "Ha seleccionado registros de planificaciones, con estado: Realizada, existen registros históricos de documentos generados. " + Environment.NewLine + "¿Qué desea eliminar?";
468 
469  FormBase loForm = new FormBase();
470  DialogResult loResp = loForm._MessageBox(lcMsg, "Marcar imágenes", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3, loDic);
471 
472  switch (loResp)
473  {
474  case DialogResult.Cancel:
475  lbReturn = false;
476  break;
477  case DialogResult.Yes:
478  _oPlantillaVenta._DeletePLANTHDOC = true;
479  break;
480  default:
481  _oPlantillaVenta._DeletePLANTHDOC = false;
482  break;
483  }
484  }
485 
486  if (lbReturn)
487  {
488  foreach (clsPlanificacionPlantillaVenta valores in planificadas)
489  {
490  // Guardamos la fila borrada
491  _oPlantillaVenta._PlanificacionBorradas.Add((clsPlanificacionPlantillaVenta)valores);
492 
493  _oPlantillaVenta._Planificacion.Remove((clsPlanificacionPlantillaVenta)valores);
494  }
495 
496  foreach (clsPlanificacionPlantillaVenta valores in realizadas)
497  {
498  // Guardamos la fila borrada
499  _oPlantillaVenta._PlanificacionBorradas.Add((clsPlanificacionPlantillaVenta)valores);
500 
501  _oPlantillaVenta._Planificacion.Remove((clsPlanificacionPlantillaVenta)valores);
502  }
503 
504  mantePlanificacion._Grid.DataSource = _oPlantillaVenta._Planificacion;
505  mantePlanificacion._Grid.Refresh();
506  }
507  }
508  }
509 
510 
516  private void mantePlanificacionPlantillaVenta__RowChange(DataGridViewRow tdgvCurrentRow)
517  {
518  if (tdgvCurrentRow == null)
519  return;
520 
521  }
522 
523 
529  private void mantePlanificacionPlantillaVenta__CellContentClick(object sender, DataGridViewCellEventArgs e)
530  {
531  // No procesamos clicks en las cabeceras
532  if (e.RowIndex == -1 || mantePlanificacion._Grid.Rows[e.RowIndex] == null)
533  return;
534  }
535 
536 
541  private void mantePlanificacionPlantillaVenta__CellClick(DataGridViewCell tdgvCurrentCel)
542  {
543  if (mantePlanificacion._Grid.Columns["VerDocumentosImagen"].Index == mantePlanificacion._Grid.CurrentCell.ColumnIndex ||
544  mantePlanificacion._Grid.Columns["VerAvisosImagen"].Index == mantePlanificacion._Grid.CurrentCell.ColumnIndex)
545  {
546  int lnCurrentRow = mantePlanificacion._Grid.CurrentCell.RowIndex;
547  int nCelda = mantePlanificacion._Grid.Columns["Linea"].Index;
548  int nCeldaFecha = mantePlanificacion._Grid.Columns["FechaPlanificada"].Index;
549  int nDocumento = mantePlanificacion._Grid.Columns["VerDocumentosImagen"].Index;
550  int nAviso = mantePlanificacion._Grid.Columns["VerAvisosImagen"].Index;
551 
552  Int32 valor = Convert.ToInt32(mantePlanificacion._Grid.Rows[lnCurrentRow].Cells[nCelda].Value.ToString().Trim());
553  DateTime? valorFecha = mantePlanificacion._Grid.Rows[lnCurrentRow].Cells[nCeldaFecha].Value == null ? (DateTime?)null : Convert.ToDateTime(mantePlanificacion._Grid.Rows[lnCurrentRow].Cells[nCeldaFecha].Value.ToString().Trim());
554  string valorDocumento = mantePlanificacion._Grid.Rows[lnCurrentRow].Cells[nDocumento].Value == null ? null : Convert.ToString(mantePlanificacion._Grid.Rows[lnCurrentRow].Cells[nDocumento].Value.ToString().Trim());
555  string valorAviso = mantePlanificacion._Grid.Rows[lnCurrentRow].Cells[nAviso].Value == null ? null : Convert.ToString(mantePlanificacion._Grid.Rows[lnCurrentRow].Cells[nAviso].Value.ToString().Trim());
556 
557  // Indica si es columna seleccionada 'Ver Documentos' o 'Ver avisos/incidencias'
558  bool lbDoc = mantePlanificacion._Grid.Columns["VerDocumentosImagen"].Index == mantePlanificacion._Grid.CurrentCell.ColumnIndex ? true : false;
559 
560  // Para comprobar si el campo 'Ver Documentos' o 'Ver avisos/incidencias' es nulo o tiene imagen
561  string cImagen = lbDoc ? valorDocumento : valorAviso;
562  bool lbValor = string.IsNullOrEmpty(cImagen) ? false : true;
563 
564  if (lbValor)
565  {
566  DataTable ldtSeleccionar = new DataTable();
568  ldtSeleccionar = obj.LoadRegistro(_oPlantillaVenta._Codigo, valor, valorFecha, lbDoc);
569  if (ldtSeleccionar != null && ldtSeleccionar.Rows.Count > 0)
570  {
571  if (!lbDoc)
572  {
573  ldtSeleccionar.Rows.Cast<DataRow>().Where(r => r.Field<string>("aviso") == string.Empty || r["aviso"] == DBNull.Value).ToList().ForEach(r => r.Delete());
574  ldtSeleccionar.AcceptChanges();
575  }
576 
577  frmPlanificacionesDocGenerados frmDoc = new frmPlanificacionesDocGenerados(ldtSeleccionar, lbDoc);
578  frmDoc._ShowDialog();
579 
580  _oPlantillaVenta._LoadPlanificacion();
581  RefrescarMantegrid(_oPlantillaVenta._Planificacion);
582  }
583  else
584  {
585  FUNCTIONS._MessageBox("No existen " + (valorAviso == null ? "documentos" : "avisos/incidencias") + " a mostrar.", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, DialogResult.None);
586  }
587  }
588  }
589 
590  if (mantePlanificacion._Grid.Columns["sel"].Index == mantePlanificacion._Grid.CurrentCell.ColumnIndex)
591  {
592  if (mantePlanificacion._Grid.Rows.Count > 0 && ewbtnDocumentos.Enabled)
593  {
594  ewbtnDocumentos.Focus();
595 
596  if (Convert.ToString(mantePlanificacion._Grid.Rows[mantePlanificacion._Grid.CurrentCell.RowIndex].Cells["TipoEstado"].Value) != (TipoEstadoPlantilla.Planificada).__GetDescription())
597  {
598  mantePlanificacion._Grid.Rows[mantePlanificacion._Grid.CurrentCell.RowIndex].Cells["sel"].Value = false;
599  }
600  else
601  {
602  mantePlanificacion._Grid.Rows[mantePlanificacion._Grid.CurrentCell.RowIndex].Cells["sel"].Value = !Convert.ToBoolean(tdgvCurrentCel.Value);
603  }
604  }
605  }
606 
607  if (mantePlanificacion._Grid.Columns["FechaPlanificada"].Index == mantePlanificacion._Grid.CurrentCell.ColumnIndex &&
608  _PlantillaVenta._Estado == ewMante._EstadosMantenimiento.MostrandoRegistro)
609  {
610  mantePlanificacion._Grid.CurrentCell.ReadOnly = true;
611 
612  }
613  }
614 
615 
621  private void mantePlanificacionPlantillaVenta_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
622  {
623  logrid__Event_ToggleSeleccionCheck(false);
624  }
625 
626 
627  private void logrid__Event_ToggleSeleccionCheck(bool tlEstado)
628  {
629  if (mantePlanificacion._Grid.Rows.Count > 0 && ewbtnDocumentos.Enabled)
630  {
631  ewbtnDocumentos.Focus();
632 
633  for (int lnIndexFila = 0; lnIndexFila < mantePlanificacion._Grid.Rows.Count; lnIndexFila++)
634  {
635  if (Convert.ToString(mantePlanificacion._Grid.Rows[lnIndexFila].Cells["TipoEstado"].Value) != (TipoEstadoPlantilla.Planificada).__GetDescription())
636  {
637  mantePlanificacion._Grid.Rows[lnIndexFila].Cells["Sel"].Value = false;
638  }
639  }
640  mantePlanificacion._Grid.Refresh();
641  }
642  }
643 
644 
650  private void MantePlanificacion__Row_Delete_Before(DataGridViewRow tdgvRowDelete, ref bool tlOk)
651  {
652  if (tlOk)
653  tlOk = ComprobarEstado(false);
654  }
655 
656 
662  private void MantePlanificacion__Row_New_Before(ref bool tlOk, bool tlInsert = false)
663  {
664  if (tlOk)
665  tlOk = ComprobarEstado(true);
666  }
667 
668  private bool ComprobarEstado(bool lbInsert)
669  {
670  bool tlOk;
671  // Bloquear según el estado del mantenimiento
672  switch (_PlantillaVenta._Estado)
673  {
674  case sage.ew.ewbase.ewMante._EstadosMantenimiento.EditandoRegistro:
675  case sage.ew.ewbase.ewMante._EstadosMantenimiento.EntrandoNuevo:
676  tlOk = true;
677  break;
678 
679  case sage.ew.ewbase.ewMante._EstadosMantenimiento.EsperandoCodigo:
680  case sage.ew.ewbase.ewMante._EstadosMantenimiento.MostrandoRegistro:
681  tlOk = false;
682  string lcTexto = lbInsert ? "añadir" : "borrar";
683  FUNCTIONS._MessageBox("Para poder " + lcTexto + " un registro debe de editar el mantenimiento de plantillas.", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, DialogResult.None);
684  break;
685 
686  default:
687  tlOk = true;
688  break;
689  }
690 
691  return tlOk;
692  }
693 
694 
695 
701  private void ewbuttonPlanificaciones_Click(object sender, EventArgs e)
702  {
703  if (_oPlantillaVenta._Clientes.Count() == 0)
704  {
705  FUNCTIONS._MessageBox("No existen clientes dados de alta en la plantilla. Imposible crear planificaciones.", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, DialogResult.None);
706  return;
707  }
708  else
709  {
710  List<DateTime> lstFechas = new List<DateTime>();
711  frmPlantillasGenerarPlanificaciones loForm = new frmPlantillasGenerarPlanificaciones(_oPlantillaVenta._Codigo, ref lstFechas);
712  loForm._ShowDialog();
713  if (loForm.DialogResult == DialogResult.OK)
714  {
715  if (loForm._lstFechas.Count > 0)
716  {
717  foreach (DateTime lst in loForm._lstFechas)
718  {
719  AddRegistro(lst.Date);
720  }
721  mantePlanificacion._Grid.DataSource = _oPlantillaVenta._Planificacion;
722  mantePlanificacion._Grid.Refresh();
723  }
724  }
725  }
726  }
727 
733  private void ewbuttonDocumentos_Click(object sender, EventArgs e)
734  {
735  DataTable dtDatos = GetPlanificacionesGenerarDocumentos();
736 
737  if (dtDatos != null && dtDatos.Rows.Count > 0)
738  {
739  FormListado loFormListado;
740  string lcFiltros = "", lcOpciones = "";
741  frmPlanificacionesPendientes loFrmPlanificacionesPendientes;
742  List<Tuple<string, object>> loValues = new List<Tuple<string, object>>();
743 
744  loFrmPlanificacionesPendientes = new frmPlanificacionesPendientes(dtDatos);
745 
746  loFrmPlanificacionesPendientes._CheckedRows = dtDatos.AsEnumerable().ToList();
747 
748  if (loFrmPlanificacionesPendientes._CheckedRows.Any())
749  {
750  loValues.Add(GetFiltro("Fecha", loFrmPlanificacionesPendientes._CheckedRows.Select(f => Convert.ToDateTime(f["FECHA"]).ToShortDateString()).Distinct().ToList()));
751  loValues.Add(GetFiltro("PlantillasDocumentos", loFrmPlanificacionesPendientes._CheckedRows.Select(f => Convert.ToString(f["PLANTILLA"])).Distinct().ToList()));
752 
753  lcFiltros = FUNCTIONS._SerializeDictionary2XML(loValues.Select(f => new { f.Item1, f.Item2 }).ToDictionary(f => f.Item1, f => f.Item2));
754 
755  var registroTipoDocumento = _oPlantillaVenta._Planificacion.Where(item => !string.IsNullOrEmpty(item._TipoDocumentoDescrip))
756  .OrderByDescending(item => item._Linea) // Ordena por línea
757  .FirstOrDefault();
758 
759  int valorTipo = 0; // Por defecto presupuestos.
760  if (registroTipoDocumento != null)
761  {
762  valorTipo = registroTipoDocumento._Tipo_doc - 1; // (tipo_doc: 1=Presupuesto, 2=Pedido, 3=Depósito, 4=Albarán, 5=Factura)
763 
764  if (EsAsesorContable)
765  {
766  // En asesor contable podemos generar sólamente presupuestos (tipo_doc=1) y facturas (tipo_doc=5), tenemos solo dos
767  // posibles elementos en la combo de tipo de documento a generar, presupuestos seria el index 0 de la combo, y facturas
768  // seria el index 1.
769  //
770  if (registroTipoDocumento._Tipo_doc == 5)
771  valorTipo -= 3; // Restamos 3 pues son los elementos que se han eliminado de la combo (pedidos, despositos, albaranes) para el caso de asesor contable.
772  }
773 
774  if (!TrabajaConDepositos)
775  {
776  if (registroTipoDocumento._Tipo_doc >= 4)
777  valorTipo -= 1; // Restamos 3 pues son los elementos que se han eliminado de la combo (pedidos, despositos, albaranes) para el caso de asesor contable.
778  }
779  }
780 
781  lcOpciones = FUNCTIONS._SerializeDictionary2XML(new Dictionary<string, object> { { "nPresupuestosPedid", valorTipo } });
782  }
783 
784  loFormListado = new FormListado("GENDOCPLA", lcFiltros, lcOpciones);
785  loFormListado._ShowDialog();
786 
787  _oPlantillaVenta._LoadPlanificacion();
788  RefrescarMantegrid(_oPlantillaVenta._Planificacion);
789  }
790  else
791  {
792  DialogResult lodialog = FUNCTIONS._MessageBox(" Para poder generar documentos de planificaciones, seleccione una o varias planificaciones pendientes.", "Plantilla documentos", MessageBoxButtons.OK, MessageBoxIcon.Stop);
793  }
794  }
795 
800  private int ObtenerLineasSeleccionadas()
801  {
802  int lineaseleccionada = mantePlanificacion._Grid.CurrentCell.RowIndex;
803 
804  int nColSeleccionadas = 0;
805  int indexColSel = mantePlanificacion._Grid.Columns["Sel"].Index;
806  int indexColEstado = mantePlanificacion._Grid.Columns["TipoEstado"].Index;
807  int indexColDocumento = mantePlanificacion._Grid.Columns["VerDocumentos"].Index;
808 
809  foreach (DataGridViewRow row in mantePlanificacion._Grid.Rows)
810  {
811  if (mantePlanificacion._Grid[indexColSel, row.Index].Value == DBNull.Value || mantePlanificacion._Grid[indexColSel, row.Index].Value == null)
812  continue;
813 
814  bool seleccionada = Convert.ToBoolean(mantePlanificacion._Grid[indexColSel, row.Index].Value);
815  if (seleccionada)
816  {
817  nColSeleccionadas++;
818  ObtenerLineas(indexColEstado, indexColDocumento, row.Index);
819  }
820  }
821 
822  if (nColSeleccionadas == 0)
823  {
824  nColSeleccionadas++;
825  ObtenerLineas(indexColEstado, indexColDocumento, lineaseleccionada);
826  }
827 
828  return nColSeleccionadas;
829  }
830 
831  private void ObtenerLineas(int indexColEstado, int indexColDocumento, int lineaseleccionada)
832  {
833  string cColEstado = Convert.ToString(mantePlanificacion._Grid[indexColEstado, lineaseleccionada].Value);
834  bool lbColDocumento = Convert.ToBoolean(mantePlanificacion._Grid[indexColDocumento, lineaseleccionada].Value);
835 
836  switch (cColEstado)
837  {
838  case "Planificada":
839  {
840  planificadas.Add((clsPlanificacionPlantillaVenta)mantePlanificacion._Grid.Rows[lineaseleccionada].DataBoundItem);
841  }
842  break;
843 
844  case "Realizada con incidencias":
845  {
846  if (!lbColDocumento)
847  {
848  planificadas.Add((clsPlanificacionPlantillaVenta)mantePlanificacion._Grid.Rows[lineaseleccionada].DataBoundItem);
849  }
850  else
851  {
852  realizadas.Add((clsPlanificacionPlantillaVenta)mantePlanificacion._Grid.Rows[lineaseleccionada].DataBoundItem);
853  }
854  }
855  break;
856 
857  case "Realizada":
858  case "Realizada con avisos":
859  {
860  if (lbColDocumento)
861  {
862  realizadas.Add((clsPlanificacionPlantillaVenta)mantePlanificacion._Grid.Rows[lineaseleccionada].DataBoundItem);
863  }
864  }
865  break;
866  }
867  }
868 
869  private DataTable GetPlanificacionesGenerarDocumentos()
870  {
871  DataTable dt = new DataTable();
872  dt.Columns.Add("CHECK", typeof(bool)).DefaultValue = true;
873  dt.Columns.Add("PLANTILLA", typeof(string)).DefaultValue = string.Empty;
874  dt.Columns.Add("FECHA", typeof(DateTime)).DefaultValue = DateTime.Now.Date;
875  dt.Columns.Add("ESTADO", typeof(string)).DefaultValue = "Planificada";
876  dt.Columns.Add("NOMBRE", typeof(string)).DefaultValue = string.Empty;
877 
878  int nColSeleccionadas = 0;
879  int indexColSel = mantePlanificacion._Grid.Columns["Sel"].Index;
880  int indexColEstado = mantePlanificacion._Grid.Columns["TipoEstado"].Index;
881  int indexColFecha = mantePlanificacion._Grid.Columns["FechaPlanificada"].Index;
882 
883  foreach (DataGridViewRow row in mantePlanificacion._Grid.Rows)
884  {
885  if (mantePlanificacion._Grid[indexColSel, row.Index].Value == DBNull.Value || mantePlanificacion._Grid[indexColSel, row.Index].Value == null)
886  continue;
887 
888  bool seleccionada = Convert.ToBoolean(mantePlanificacion._Grid[indexColSel, row.Index].Value);
889  if (seleccionada)
890  {
891  nColSeleccionadas++;
892 
893  DataTable aux = new DataTable();
894  AddPlanificada(indexColEstado, indexColFecha, row.Index, out aux);
895 
896  if (aux != null && aux.Rows.Count > 0)
897  {
898  foreach (DataRow dr in aux.Rows)
899  {
900  DataRow ldrNewRow = dt.NewRow();
901  ldrNewRow["CHECK"] = dr["CHECK"];
902  ldrNewRow["PLANTILLA"] = dr["PLANTILLA"];
903  ldrNewRow["FECHA"] = dr["FECHA"];
904  ldrNewRow["ESTADO"] = dr["ESTADO"];
905  ldrNewRow["NOMBRE"] = dr["NOMBRE"];
906  dt.Rows.Add(ldrNewRow);
907  }
908  }
909  }
910  }
911 
912  if (dt == null || dt.Rows.Count == 0)
913  {
914  int seleccionada = mantePlanificacion._Grid.CurrentCell.RowIndex;
915 
916  nColSeleccionadas++;
917 
918  AddPlanificada(indexColEstado, indexColFecha, seleccionada, out dt);
919  }
920  return dt;
921  }
922 
930  private void AddPlanificada(int indexColEstado, int indexColFecha, int seleccionada, out DataTable dt)
931  {
932  dt = new DataTable();
933 
934  dt.Columns.Add("CHECK", typeof(bool)).DefaultValue = true;
935  dt.Columns.Add("PLANTILLA", typeof(string)).DefaultValue = string.Empty;
936  dt.Columns.Add("FECHA", typeof(DateTime)).DefaultValue = DateTime.Now.Date;
937  dt.Columns.Add("ESTADO", typeof(string)).DefaultValue = "Planificada";
938  dt.Columns.Add("NOMBRE", typeof(string)).DefaultValue = string.Empty;
939 
940  string cColEstado = Convert.ToString(mantePlanificacion._Grid[indexColEstado, seleccionada].Value);
941  DateTime dColFecha = Convert.ToDateTime(mantePlanificacion._Grid[indexColFecha, seleccionada].Value);
942 
943  switch (cColEstado)
944  {
945  case "Planificada":
946  {
947  DataRow ldrNewRow = dt.NewRow();
948  ldrNewRow["CHECK"] = true;
949  ldrNewRow["PLANTILLA"] = _PlantillaVenta._Codigo;
950  ldrNewRow["FECHA"] = dColFecha;
951  ldrNewRow["ESTADO"] = "Planificada";
952  ldrNewRow["NOMBRE"] = _PlantillaVenta._Nombre;
953  dt.Rows.Add(ldrNewRow);
954  }
955  break;
956  }
957  }
958 
965  private Tuple<string, object> GetFiltro(string tcKey, List<string> toData)
966  {
967  return (toData.Count > 1) ? new Tuple<string, object>($"{tcKey}Lista", toData) : new Tuple<string, object>($"{tcKey}Unico", toData.First());
968  }
969 
970 
974  private void AddRegistro(DateTime fecha)
975  {
976  int lnNext = numLineaMante();
977 
979  loNewLine.Valores(lnNext, _oPlantillaVenta._Codigo, fecha);
980 
981  _oPlantillaVenta._Planificacion.Add(loNewLine);
982  }
983 
988  private int numLineaMante()
989  {
990  int lnNext = 1;
991  if (mantePlanificacion._Grid.Rows.Count > 0)
992  {
993  lnNext = mantePlanificacion._Grid.Rows.Cast<DataGridViewRow>().Max(x => Convert.ToInt32(x.Cells["linea"].Value)) + 1;
994  }
995 
996  return lnNext;
997  }
998 
1003  private void RefrescarMantegrid(BindingList<clsPlanificacionPlantillaVenta> Planificacion)
1004  {
1005  mantePlanificacion._Grid.DataSource = Planificacion;
1006  mantePlanificacion._Grid.Refresh();
1007 
1008  _RevisarDatos();
1009  }
1010 
1011  private void ewbtnEliminarDoc_Click(object sender, EventArgs e)
1012  {
1013  DialogResult lodialog;
1014 
1015  planificadas.Clear();
1016  realizadas.Clear();
1017 
1018  int seleccionadas = ObtenerLineasSeleccionadas();
1019  if (seleccionadas == 0)
1020  {
1021  lodialog = FUNCTIONS._MessageBox("No existen planificaciones seleccionadas para eliminar documentos generados", "Plantilla documentos", MessageBoxButtons.OK, MessageBoxIcon.Stop);
1022  }
1023  else
1024  {
1025  if (DialogResult.Yes == FUNCTIONS._MessageBox("¿Desea eliminar los documentos y avisos realizados con las planificaciones seleccionadas?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, System.Windows.Forms.DialogResult.No))
1026  {
1027  // Se pueden borrar todas las planificaciones seleccionadas
1028  if (seleccionadas != planificadas.Count)
1029  {
1030  _oPlantillaVenta._DeletePLANTHDOC = true;
1031  }
1032 
1033  foreach (clsPlanificacionPlantillaVenta valores in realizadas)
1034  {
1035  _oPlantillaVenta._GuidPlantilla.Add(valores._Guid);
1036 
1037  // Guardamos la fila borrada
1038  _oPlantillaVenta._PlanificacionBorradas.Add((clsPlanificacionPlantillaVenta)valores);
1039 
1040  valores._Fecha_doc = null;
1041  valores._Tipo_doc_Old = valores._Tipo_doc;
1042  valores._Tipo_doc = 0;
1043  valores._Estado = 0;
1044  valores._VerAvisosImagen = null;
1045  valores._VerDocumentosImagen = null;
1046 
1047  _oPlantillaVenta._Planificacion.Remove((clsPlanificacionPlantillaVenta)valores);
1048  }
1049 
1050  mantePlanificacion._Grid.DataSource = _oPlantillaVenta._Planificacion;
1051  mantePlanificacion._Grid.Refresh();
1052  }
1053  }
1054  }
1055  #endregion MÉTODOS PRIVADOS
1056 
1057  #region MÉTODOS PUBLICOS
1058 
1062  public void _BloquearControles()
1063  {
1064  }
1065 
1066 
1070  public void _BloquearControles(bool tbEnabled)
1071  {
1072  mantePlanificacion._ReadOnly = _PlantillaVenta._Estado == sage.ew.ewbase.ewMante._EstadosMantenimiento.EsperandoCodigo ? true : false;
1073 
1074  bool bloquearControles = false;
1075 
1076  // Bloquear según el estado del mantenimiento
1077  switch (_PlantillaVenta._Estado)
1078  {
1079  case sage.ew.ewbase.ewMante._EstadosMantenimiento.EditandoRegistro:
1080  case sage.ew.ewbase.ewMante._EstadosMantenimiento.EntrandoNuevo:
1081  bloquearControles = false;
1082  break;
1083 
1084  case sage.ew.ewbase.ewMante._EstadosMantenimiento.EsperandoCodigo:
1085  case sage.ew.ewbase.ewMante._EstadosMantenimiento.MostrandoRegistro:
1086  bloquearControles = true;
1087  break;
1088 
1089  default:
1090  bloquearControles = false;
1091  break;
1092  }
1093 
1094  ewbtnPlanificaciones.Enabled = !bloquearControles;
1095  // ewbtnDocumentos.Enabled = bloquearControles;
1096  ewbtnDocumentos.Enabled = _PlantillaVenta._Estado == sage.ew.ewbase.ewMante._EstadosMantenimiento.EsperandoCodigo ? !bloquearControles : bloquearControles;
1097  ewbtnEliminarDoc.Enabled = !bloquearControles;
1098  }
1099 
1104  public void AsignarMantegrid(BindingList<clsPlanificacionPlantillaVenta> Planificacion)
1105  {
1106  if (mantePlanificacion._Grid.DataSource == null)
1107  {
1108  mantePlanificacion._Grid.DataSource = Planificacion;
1109  mantePlanificacion._Grid.Refresh();
1110 
1111  _RevisarDatos();
1112  }
1113  }
1114 
1119  public void _Limpiar(BindingList<clsPlanificacionPlantillaVenta> Planificacion)
1120  {
1121  mantePlanificacion._Grid.DataSource = Planificacion;
1122  mantePlanificacion._Grid.Refresh();
1123 
1124  _RevisarDatos();
1125  }
1126 
1130  public void _Binding()
1131  {
1132  if (!DesignMode)
1133  {
1134  // Grid Columnas
1135  ConfigurarGrid();
1136 
1137  if (_oPlantillaVenta._Planificacion == null)
1138  {
1139  _oPlantillaVenta._Planificacion = new BindingList<clsPlanificacionPlantillaVenta>();
1140  }
1141 
1142  mantePlanificacion._Grid.DataSource = _oPlantillaVenta._Planificacion;
1143  mantePlanificacion._Grid.Refresh();
1144 
1145  _RevisarDatos();
1146  }
1147  }
1148  #endregion MÉTODOS PUBLICOS
1149  }
1150 }
eBotonesMessagebox
Enumeración de los botones que se pueden definir en un _Messagebox
Definition: formul.cs:11
delegate void _DataSource_Row_Delete_Event_Handler(DataGridViewRow trRowDelete)
Se dispara al borrar un registro cuando el DataSource no es un DataTable
int _Tipo_doc_Old
Tipo documento para guardar valor al eliminar documento y avisos generados
Clase de negocio base para mantenimientos
Definition: clsEwBase.cs:1643
new bool _ShowDialog
Obtiene o establece si debe forzar un _ShowDialog
Definition: FormListado.cs:344
delegate void _RowChange_Handler(DataGridViewRow tdgvCurrentRow)
Se dispara cuando se cambia la fila seleccionada en el grid
Formulario para generar registros de planificaciones PE-104347
void _Limpiar(BindingList< clsPlanificacionPlantillaVenta > Planificacion)
void Valores(int nLinea, string cPlantilla, DateTime fechaplanificacion)
delegate void _DataSource_Row_New_Event_Handler(int tnInsertLinea)
Se dispara al añadir un nuevo registro cuando el DataSource no es un DataTable
void _BloquearControles(bool tbEnabled)
Método para bloquear o desbloquear los controles según el BloquearControles del formulario ...
bool _DeletePLANTHDOC
Borrar registros de tabla planthdoc
PE-82361 Formulario responsable de la carga y visualización de los listados (filtros y resultados) ...
Definition: FormListado.cs:45
override string _Codigo
Codigo
BindingList< clsPlanificacionPlantillaVenta > _Planificacion
Propiedad con las lineas de la plantilla de planificaciones
Clase para las plantillas de documentos
delegate void _CellClick_Handler(DataGridViewCell tdgvCurrentCel)
Se produce cuando se hace clic en cualquier parte de una celda.
BindingList< clsPlanificacionPlantillaVenta > _PlanificacionBorradas
Propiedad con las lineas de la plantilla de planificaciones borradas
void _Binding()
Método para bindear la configuración de lectura de los ficheros CSV
Clase para el detalle de la planificación de plantillas de venta (tabla D_PLANTPLA) ...
Presenta las planifiaciones de generación de doumentos
DataTable LoadRegistro(string cCodigoPlantilla, int linea, DateTime? fecha, bool lbDoc)
Formulario base de Eurowin
Definition: clsFormul.cs:400
delegate void _ColChange_Handler(DataGridViewCell tdgvCurrentCel)
Se dispara cuando se cambia la celda seleccionada en el grid
_EstadosMantenimiento
Declaro un enum para los estados del mantenimiento.
Definition: clsEwBase.cs:1671
void AsignarMantegrid(BindingList< clsPlanificacionPlantillaVenta > Planificacion)
List< string > _GuidPlantilla
Propiedad donde guardamos los guid de los documentos que queremos eliminar de las planificaciones gen...
Presenta los doumentos generados de la planificación
ClientesPlantilla _Clientes
Propiedad con los clientes de la plantilla del documento
Creación de user control para unificar el grid de planificación/historicos
DialogResult _MessageBox(String tcMensaje, MessageBoxButtons toBotones, MessageBoxIcon toIcono, MessageBoxDefaultButton toBotonDefecto, DialogResult toResultadoDefecte)
Messagebox propio 1
Definition: clsFormul.cs:3364
Presenta un datagridview con botones añadir y borrar tipo Mantegrid de Eurowin
Definition: Mantegrid.cs:30
void _LoadPlanificacion()
Cargar los datos de planificación/historico