14 using System.Collections.Generic;
18 using System.Windows.Forms;
21 namespace sage.ew.docsven
31 private bool _trabajaConTallaColor = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_color"));
36 private bool _lModUnicaja = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_modunicaja"));
41 private bool _trabajaConCajas = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_cajas"));
55 private bool _lSoloLectura =
false;
56 private bool _lcAsesor =
false;
66 InitializeComponent();
74 this._Init(tlSoloLectura);
76 InitializeComponent();
79 ewPanelTitulo1._Titulo =
"Personalización de unidades de conceptos por clientes";
83 FormClosing +=
new FormClosingEventHandler(frmPlantillasPersonalizarUnidades_FormClosing);
86 #endregion CONSTRUCTORES 92 protected override void OnShown(EventArgs e)
101 private void _Init(
bool tlSoloLectura =
false)
103 this._MostrarCrearAccesoDirecto =
false;
105 this._lSoloLectura = tlSoloLectura;
114 protected override void OnLoad(EventArgs e)
121 _Suscripcion_Eventos();
123 if (_Personalizaciones._Grid == null)
125 _Personalizaciones._Grid = mtgPersonalizaciones;
128 mtgPersonalizaciones._Grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
130 mtgPersonalizaciones._Grid._FiltrarPorColumna =
true;
131 mtgPersonalizaciones._Grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
134 private void btSalir1_Click(
object sender, EventArgs e)
136 _Cancelar_Suscripcion_Eventos();
138 this.Aceptar =
false;
143 private void btDocCancelar1_Click(
object sender, EventArgs e)
145 _Cancelar_Suscripcion_Eventos();
147 this.Aceptar =
false;
151 private void btDocAceptar1_Click(
object sender, EventArgs e)
153 var duplicados = mtgPersonalizaciones._Grid.Rows.Cast<DataGridViewRow>()
156 Cliente = row.Cells[
"_Cliente"].Value.ToString().Trim(),
157 Articulo = row.Cells[
"_Articulo"].Value.ToString().Trim(),
158 Talla = (!_trabajaConTallaColor ?
string.Empty : row.Cells[
"_Talla"].Value.ToString().Trim()),
159 Color = (!_trabajaConTallaColor ?
string.Empty : row.Cells[
"_Color"].Value.ToString().Trim())
161 .Where(group => group.Count() > 1)
164 if (duplicados.Any())
166 _MessageBox(
"Existen líneas duplicadas en la personalización de unidades. No se puede personalizar unidades para el mismo cliente y " + (!_lcAsesor ?
"artículo." :
"concepto."), MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.OK);
167 this.DialogResult = DialogResult.None;
172 for (
int i = 0; i < mtgPersonalizaciones._Grid.Rows.Count; i++)
174 if (
string.IsNullOrEmpty(mtgPersonalizaciones._Grid.Rows[i].Cells[
"_Cliente"].Value.ToString().Trim()) &&
175 string.IsNullOrEmpty(mtgPersonalizaciones._Grid.Rows[i].Cells[
"_Articulo"].Value.ToString().Trim()))
177 mtgPersonalizaciones._Grid.Rows.RemoveAt(i);
182 if (
string.IsNullOrEmpty(mtgPersonalizaciones._Grid.Rows[i].Cells[
"_Articulo"].Value.ToString().Trim()))
184 _MessageBox(
"Existen líneas de clientes sin información del " + (!_lcAsesor ?
"artículo" :
"concepto") +
". Imposible su personalización.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.OK);
185 this.DialogResult = DialogResult.None;
190 if (_Personalizaciones.lstArticulosTyC.Contains(mtgPersonalizaciones._Grid.Rows[i].Cells[
"_Articulo"].Value.ToString().Trim()))
192 if (
string.IsNullOrEmpty(mtgPersonalizaciones._Grid.Rows[i].Cells[
"_Talla"].Value.ToString().Trim()) &&
193 string.IsNullOrEmpty(mtgPersonalizaciones._Grid.Rows[i].Cells[
"_Color"].Value.ToString().Trim()))
195 _MessageBox(
"Existen líneas de artículos que trabajan con talla y color que no tiene informadas su talla y color. No se puede personalizar unidades para dicho artículo, talla y color.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.OK);
196 this.DialogResult = DialogResult.None;
205 _Cancelar_Suscripcion_Eventos();
211 private void mantePlanificacion_Load(
object sender, EventArgs e)
216 private void MtgPersonalizaciones__ColChange(DataGridViewCell tdgvCurrentCel)
218 if (tdgvCurrentCel != null)
220 if (mtgPersonalizaciones._Grid.Columns[mtgPersonalizaciones._Grid.CurrentCell.ColumnIndex].Name ==
"_Articulo")
222 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly =
false;
224 if (
string.IsNullOrEmpty(mtgPersonalizaciones._Grid.Rows[mtgPersonalizaciones._Grid.CurrentCell.RowIndex].Cells[
"_Cliente"].Value.ToString().Trim()))
226 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly =
true;
230 if (mtgPersonalizaciones._Grid.Columns[mtgPersonalizaciones._Grid.CurrentCell.ColumnIndex].Name ==
"_Unidades")
232 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly =
false;
234 if (
string.IsNullOrEmpty(mtgPersonalizaciones._Grid.Rows[mtgPersonalizaciones._Grid.CurrentCell.RowIndex].Cells[
"_Cliente"].Value.ToString().Trim()) ||
235 string.IsNullOrEmpty(mtgPersonalizaciones._Grid.Rows[mtgPersonalizaciones._Grid.CurrentCell.RowIndex].Cells[
"_Articulo"].Value.ToString().Trim()))
237 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly =
true;
241 if (_trabajaConCajas && _Personalizaciones._Items[mtgPersonalizaciones._Grid.CurrentRow.Index]._oArticulo._Con_Cajas && _Personalizaciones._Items[mtgPersonalizaciones._Grid.CurrentRow.Index]._Cajas != 0M)
243 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly = !_lModUnicaja;
247 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly =
false;
252 if (mtgPersonalizaciones._Grid.Columns[mtgPersonalizaciones._Grid.CurrentCell.ColumnIndex].Name ==
"_Peso")
254 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly =
false;
256 if (!
string.IsNullOrEmpty(mtgPersonalizaciones._Grid.Rows[mtgPersonalizaciones._Grid.CurrentCell.RowIndex].Cells[
"_Articulo"].ToString().Trim()))
258 if (_Personalizaciones._Items[mtgPersonalizaciones._Grid.CurrentCell.RowIndex]._Unidades == 0)
260 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly =
true;
264 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly = !_Personalizaciones._Items[mtgPersonalizaciones._Grid.CurrentCell.RowIndex]._oArticulo._Con_Peso;
269 if (mtgPersonalizaciones._Grid.Columns[mtgPersonalizaciones._Grid.CurrentCell.ColumnIndex].Name ==
"_Cajas")
271 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly =
false;
272 if (!
string.IsNullOrEmpty(mtgPersonalizaciones._Grid.Rows[mtgPersonalizaciones._Grid.CurrentCell.RowIndex].Cells[
"_Articulo"].ToString().Trim()))
274 mtgPersonalizaciones._Grid.CurrentCell.ReadOnly = !_Personalizaciones._Items[mtgPersonalizaciones._Grid.CurrentCell.RowIndex]._oArticulo._Con_Cajas;
280 private void MtgPersonalizaciones__F4_AfterClick(
object sender,
bool tlAceptar, ref botones.btBrowser toBrowser)
286 if (toBrowser._Codigo_List != null)
289 if (toBrowser._Codigo_List.Count > 0)
291 foreach (
string lcCodigo
in toBrowser._Codigo_List.Keys)
293 _Personalizaciones._listPersonalizar.Add(lcCodigo);
296 _Personalizaciones._RecalcularDatos(toBrowser.NombreMantenimiento);
299 toBrowser._Codigo_List.Clear();
301 mtgPersonalizaciones._Grid.CurrentCell = mtgPersonalizaciones._Grid[0, mtgPersonalizaciones._Grid.Rows.Count - 1];
306 private void MtgPersonalizaciones__F5_BeforeClick(
object sender, ref
btMante toMante)
308 if (mtgPersonalizaciones._Grid.CurrentCell.OwningColumn.Name ==
"_Articulo")
310 string lcCodigo = mtgPersonalizaciones._Grid.CurrentCell.Value.ToString();
314 private void _Cancelar_Suscripcion_Eventos()
316 mtgPersonalizaciones._F4_AfterClick -= MtgPersonalizaciones__F4_AfterClick;
317 mtgPersonalizaciones._F5_BeforeClick -= MtgPersonalizaciones__F5_BeforeClick;
318 mtgPersonalizaciones._ColChange -= MtgPersonalizaciones__ColChange;
319 if (this.DialogResult != DialogResult.None)
321 FormClosing -=
new FormClosingEventHandler(frmPlantillasPersonalizarUnidades_FormClosing);
325 private void _Suscripcion_Eventos()
327 mtgPersonalizaciones._F4_AfterClick += MtgPersonalizaciones__F4_AfterClick;
328 mtgPersonalizaciones._F5_BeforeClick += MtgPersonalizaciones__F5_BeforeClick;
329 mtgPersonalizaciones._ColChange += MtgPersonalizaciones__ColChange;
332 private void frmPlantillasPersonalizarUnidades_FormClosing(
object sender, FormClosingEventArgs e)
334 this.btDocCancelar1_Click(sender, (EventArgs)e);
336 if (this.DialogResult == DialogResult.None)
frmPlantillasPersonalizarUnidades(bool tlSoloLectura, bool lcAsesor)
Constructor
override void OnShown(EventArgs e)
Clase para las plantillas de documentos
Muestra el mantenimiento correspondiente a _Form con el registro correspondiente al _Codigo ...
Presenta las personalizaciones de unidades por cliente
Clase para personalizaciones de unidades por clientes de la plantilla de presupuesto. Basada a partir de un ewManteTRel
override void OnLoad(EventArgs e)
frmPlantillasPersonalizarUnidades()
Constructor