public bool IsRemovable(object selectedItem) { ItemComprobante item = (ItemComprobante)selectedItem; string nombreProceso = this._processManager.GetProcessName(); string nombreTarea = this._brClass.GetTaskName(); string colaVariable = string.Empty; if (item.IdComprobanteOrigen != null && item.IdComprobanteOrigen != string.Empty) { if (item.IdTipoComprobanteOrigen != null && item.IdTipoComprobanteOrigen != string.Empty && !item.IdTipoComprobanteOrigen.Equals("OR")) { bool habilitaComodines = Variables.GetValueBool(nombreProceso, nombreTarea, "Emision.Editar.Items.HabilitaItemComodin"); string comodines = Variables.GetValueString(nombreProceso, nombreTarea, "Emision.Editar.Items.ListaItemComodin"); ArrayList aux = systemframework.Util.Parse(comodines, ","); if (habilitaComodines && aux.Contains(item.Codigo)) { colaVariable = "Emision.Step.Delete.ItemComodin"; } else { colaVariable = "Emision.Step.Delete.Items"; } return(Variables.GetValueBool(nombreProceso, nombreTarea, colaVariable)); } } return(item.AllowEdit); }
/*Modificado para Filtrar Los No Visibles en otra Coleccion*/ private void AddItem(ItemComprobante item) { if ((this.Contains(item)) && false) { ItemComprobante itemCargado = this.Get(item.IdProducto); decimal valorOrigen = itemCargado.CantidadUnidadOrigen + item.CantidadUnidadOrigen; itemCargado.CantidadUnidadOrigen = valorOrigen; } else if ((this.ContainsNoVisible(item)) && false) { ItemComprobante itemCargado = this.GetItemNoVisible(item.IdProducto); decimal valorOrigen = itemCargado.CantidadUnidadOrigen + item.CantidadUnidadOrigen; itemCargado.CantidadUnidadOrigen = valorOrigen; } else { if (item.Visible) { item.Ordinal = this.GetOrdinal(); List.Add(item); this.RefrescarBonificaciones(); } else { item.Ordinal = this.GetOrdinal(); this._itemsNoVisibles.Add(item); } } this._isDirtyItems = true; item.OnRecalcItem += new ItemComprobante.RecalcularItem(this.EscuchoRecalculo); item.OnRefreshItem += new ItemComprobante.RefrescarItem(this.EscuchoRefresco); }
public void AddItem(object sender) { Item item = (Item)sender; ItemComprobante itemComprobante = new ItemComprobante("NEW", this.Items, item); this.Items.Add(itemComprobante); }
private EstadoItem CreateItem(ItemComprobante item) { //German 20120302 - Tarea 0000247 EstadoItem miitem = new EstadoItem(item); //Fin German 20120302 - Tarea 0000247 miitem.IdProducto = item.IdProducto; miitem.Codigo = item.Codigo; miitem.Descripcion = item.Descripcion; miitem.DescripcionLarga = item.DescripcionLarga; miitem.TieneDescripcionDetallada = item.TieneDescripcionPersonalizada; miitem.Cantidad = item.Cantidad; miitem.FechaDeEntrega = mz.erp.businessrules.Sistema.DateTime.Now; EstadosCollection estadosCol = (new EstadosCollection()).GenerateFormaDeEntrega(); string id = estadosCol.KeyOfValue(_estadoItemDefault); miitem.IdEstado = id; miitem.Ordinal = item.Ordinal; miitem.Visible = item.Visible; miitem.IdTipoDeComprobanteOrigen = item.ItemsComprobantes.ComprobanteDeVenta.TipoComprobanteDestino; miitem.IdComprobanteOrigen = item.ItemsComprobantes.ComprobanteDeVenta.IdComprobante; // ---- Matias - Tarea 204 - 20090722 miitem.CampoAuxiliar1 = item.CampoAuxiliar1; miitem.CampoAuxiliar2 = item.CampoAuxiliar2; miitem.CampoAuxiliar3 = item.CampoAuxiliar3; miitem.CampoAuxiliar4 = item.CampoAuxiliar4; miitem.CampoAuxiliar5 = item.CampoAuxiliar5; miitem.CampoAuxiliar6 = string.Empty; miitem.Observaciones = string.Empty; // ---- FinMatias return(miitem); }
public bool IsEditable(object selectedItem, string Propiedad) { if (Propiedad.Equals("IdListaDePrecios") && !_listaDePreciosHabilitadas) { return(false); } ItemComprobante item = (ItemComprobante)selectedItem; string nombreProceso = this._processManager.GetProcessName(); string nombreTarea = this._comprobanteDeVenta.GetTaskName(); string colaVariable = string.Empty; bool habilitaComodines = Variables.GetValueBool(nombreProceso, nombreTarea, "Emision.Editar.Items.HabilitaItemComodin"); string comodines = Variables.GetValueString(nombreProceso, nombreTarea, "Emision.Editar.Items.ListaItemComodin"); ArrayList aux = systemframework.Util.Parse(comodines, ","); if (Propiedad.Equals("CantidadUnidadOrigen")) { if (item.IdComprobanteOrigen != null && item.IdComprobanteOrigen != string.Empty) { if (item.IdTipoComprobanteOrigen != null && item.IdTipoComprobanteOrigen != string.Empty && !item.IdTipoComprobanteOrigen.Equals("OR")) { if (habilitaComodines && aux.Contains(item.Codigo)) { colaVariable = "Emision.Editar.Step.ItemComodin." + Propiedad; } else { colaVariable = "Emision.Editar.Step." + Propiedad; } bool result1 = Variables.GetValueBool(nombreProceso, nombreTarea, colaVariable); return(item.AllowEdit && result1); } } } //Sabrina: Tarea 1072. 20110323 if (Propiedad.Equals("PorcentajeDescuento")) { if (item.IdCombo != null && !item.IdCombo.Equals(string.Empty)) //Es parte de combo { Propiedad = "PorcentajeDescuentoCombo"; } } //Fin Sabrina: Tarea 1072. 20110323 if (habilitaComodines && aux.Contains(item.Codigo)) { colaVariable = "Emision.Editar.ItemComodin." + Propiedad; } else { colaVariable = "Emision.Editar." + Propiedad; } bool result = Variables.GetValueBool(nombreProceso, nombreTarea, colaVariable); return(item.AllowEdit && result); //&& (!habiltaComodines || (habiltaComodines && aux.Contains(item.Codigo))); }
public virtual void Add(ItemComprobante item) { AddItem(item); this.IsDirty = true; this.RefrescarBonificaciones(); if (OnRecalcItems != null) { this.OnRecalcItems(this, new System.EventArgs()); } }
/// <summary> /// Agrega una nueva instancia del item a la coleccion de items. /// </summary> /// <param name="sender"></param> /// <param name="item"></param> public virtual void Add(ComprobanteDeVenta sender, ItemComprobante item) { this._comprobanteDeVenta = sender; this.AddItem(item); if (OnRecalcItems != null) { this.OnRecalcItems(this, new System.EventArgs()); } }
public bool Contains(ItemComprobante item) { foreach (ItemComprobanteCompra it in this.List) { if (it.IdProducto.Equals(item.IdProducto)) { return(true); } } return(false); }
/// <summary> /// Sobrecargado. Elimina un item de la coleccion /// </summary> /// <param name="item"></param> public virtual void Remove(ItemComprobante item) { Remove((object)item); this._isDirtyItems = true; this.IsDirty = true; this.RefrescarBonificaciones(); if (OnRecalcItems != null) { this.OnRecalcItems(this, new System.EventArgs()); } }
private bool ContainsNoVisible(ItemComprobante item) { foreach (ItemComprobante itemAux in this._itemsNoVisibles) { if (item.IdProducto.Equals(itemAux.IdProducto)) { return(true); } } return(false); }
private bool Contains(ItemComprobante item) { foreach (ItemComprobante it in this.List) { if (it.IdProducto == item.IdProducto) { return(true); } } return(false); }
private bool EstaReservado(ItemComprobante item, long IdOrdenReparacion, long IdInstanciaOR) { RepuestosOrdenreparacion repuestos = (RepuestosOrdenreparacion)_repuestosOR[IdInstanciaOR]; foreach (Repuesto rep in repuestos) { if (rep.IdProducto.Equals(item.IdProducto) && repuestos.IdOrdenReparacion.Equals(IdOrdenReparacion) && item.CantidadUnidadOrigen.Equals(rep.CantidadEntregada + rep.CantidadReservada)) { return(rep.CantidadReservada > 0); } } return(false); }
private long GetInstanciaORAsociada(ItemComprobante item, long IdOrdenReparacion) { foreach (RepuestosOrdenreparacion repuestos in _repuestosOR.Values) { foreach (Repuesto rep in repuestos) { if (rep.IdProducto.Equals(item.IdProducto) && repuestos.IdOrdenReparacion.Equals(IdOrdenReparacion) && item.CantidadUnidadOrigen.Equals(rep.CantidadEntregada + rep.CantidadReservada)) { return(repuestos.IdInstanciaOrdenReparacion); } } } return(long.MinValue); }
private void FillLoadData(ItemComprobante item, string TipoDeComprobanteDestino, RelacionesComprobanteDeCompraOrigenDestino relaciones) { //Tomar el XML con lo guardado switch (this._state) { case "NEW": { DatasetComprobante = new tpu_ComprobantesExDataset(); try { DatasetComprobante.ReadXml(mz.erp.systemframework.Util.ResourcePath() + "/temp/pedido" + Security.IdUsuario + ".xml"); FillStaticData("EDIT", item, null, null); } catch (Exception e) { DatasetComprobante = mz.erp.businessrules.tpu_ComprobantesEx.NewDataSet(); FillStaticData("NEW", item, null, null); } break; } case "STEP": { this.DatasetComprobante = new mz.erp.commontypes.data.tpu_ComprobantesExDataset(); this.IdResponsable = relaciones.IdResponsable; this.IdProveedor = relaciones.IdProveedor; this.TipoComprobanteDestino = TipoDeComprobanteDestino; this.FechaComprobante = System.DateTime.Now; this.IdComprobante = Util.NewStringId(); this.Numero = string.Empty; this.Items = new ItemsComprobantesCompra("STEP", this, relaciones); this.Total = 0; break; break; } } SetEditablesProperty(); }
public void AddItems(object sender) { this._brClass.OnRecalcularComprobante -= new mz.erp.businessrules.comprobantes.ComprobanteDeVenta.RecalcularComprobante(_brClass_OnRecalcularComprobante); this._brClass.OnRefrescarComprobante -= new mz.erp.businessrules.comprobantes.ComprobanteDeVenta.RefrescarComprobante(_brClass_OnRecalcularComprobante); ArrayList items = (ArrayList)sender; this.Items.ClearCache(); foreach (Item item in items) { ItemComprobante itemComprobante = new ItemComprobante("NEW", this.Items, item); this.Items.AddInCache(itemComprobante); } this.Items.FlushCache(); this._brClass.OnRecalcularComprobante += new mz.erp.businessrules.comprobantes.ComprobanteDeVenta.RecalcularComprobante(_brClass_OnRecalcularComprobante); this._brClass.OnRefrescarComprobante += new mz.erp.businessrules.comprobantes.ComprobanteDeVenta.RefrescarComprobante(_brClass_OnRecalcularComprobante); _brClass_OnRecalcularComprobante(this, new EventArgs()); }
public bool IsEditable(object selectedItem, string Propiedad) { ItemComprobante item = (ItemComprobante)selectedItem; string nombreProceso = this._processManager.GetProcessName(); string nombreTarea = this._brClass.GetTaskName(); string colaVariable = string.Empty; bool habilitaComodines = Variables.GetValueBool(nombreProceso, nombreTarea, "Emision.Editar.Items.HabilitaItemComodin"); string comodines = Variables.GetValueString(nombreProceso, nombreTarea, "Emision.Editar.Items.ListaItemComodin"); ArrayList aux = systemframework.Util.Parse(comodines, ","); if (Propiedad.Equals("CantidadUnidadOrigen")) { if (item.IdComprobanteOrigen != null && item.IdComprobanteOrigen != string.Empty) { if (item.IdTipoComprobanteOrigen != null && item.IdTipoComprobanteOrigen != string.Empty && !item.IdTipoComprobanteOrigen.Equals("OR")) { if (habilitaComodines && aux.Contains(item.Codigo)) { colaVariable = "Emision.Editar.Step.ItemComodin." + Propiedad; } else { colaVariable = "Emision.Editar.Step." + Propiedad; } bool result1 = Variables.GetValueBool(nombreProceso, nombreTarea, colaVariable); return(item.AllowEdit && result1); } } } if (habilitaComodines && aux.Contains(item.Codigo)) { colaVariable = "Emision.Editar.ItemComodin." + Propiedad; } else { colaVariable = "Emision.Editar." + Propiedad; } bool result = Variables.GetValueBool(nombreProceso, nombreTarea, colaVariable); return(item.AllowEdit && result); //&& (!habiltaComodines || (habiltaComodines && aux.Contains(item.Codigo))); }
private void EliminarRepuesto(ItemComprobante item, long IdOrdenReparacion, long IdInstanciaOR) { RepuestosOrdenreparacion repuestos = (RepuestosOrdenreparacion)_repuestosOR[IdInstanciaOR]; Repuesto aux = null; foreach (Repuesto rep in repuestos) { if (rep.IdProducto.Equals(item.IdProducto) && repuestos.IdOrdenReparacion.Equals(IdOrdenReparacion) && item.CantidadUnidadOrigen.Equals(rep.CantidadEntregada + rep.CantidadReservada)) { aux = rep; break; } } if (aux != null) { repuestos.Remove(aux); } }
private void Init(string Action, ItemComprobante item, string momento, string idTipoDeComprobanteDestino, RelacionesComprobanteDeCompraOrigenDestino relaciones) { this.Momento = momento; switch (Action.ToUpper()) { case "NEW": { this._state = "NEW"; FillLoadData(item, null, null); break; } case "STEP": { this._state = "STEP"; FillLoadData(null, idTipoDeComprobanteDestino, relaciones); break; } } }
private void FillEditData() { //tsa_ComprobantesDetDataset data = (tsa_ComprobantesDetDataset)mz.erp.businessrules.tsa_ComprobantesDet.GetList( this._comprobanteDeVenta.IdComprobante,DateTime.MinValue,null,null, long.MinValue); tsa_ComprobantesDetDataset data = (tsa_ComprobantesDetDataset)mz.erp.businessrules.tsa_ComprobantesDet.GetByPk(this._comprobanteDeVenta.IdComprobante); System.Data.DataTable table = data.Tables[0]; foreach (System.Data.DataRow row in table.Rows) { Productos miProducto = new mz.erp.businessrules.Productos((string)row["IdProducto"]); Item item = new Item(miProducto); item.IdProducto = miProducto.IdProducto; item.Cantidad = (decimal)row["Cantidad"]; item.PrecioNeto = (decimal)row["PrecioNeto"]; item.PrecioBruto = (decimal)row["PrecioBruto"]; item.Descripcion = miProducto.Descripcion; item.DescripcionCorta = miProducto.DescripcionCorta; item.DescripcionLarga = miProducto.DescripcionLarga; item.BonificacionRecargoProducto = (decimal)row["BonificacionRecargoProducto"]; item.PrecioCostoMonedaReferencia = (decimal)row["PrecioDeCosto"]; item.BonificacionAplicada = (decimal)row["DescuentosAplicados"]; item.BonificacionRecargoFinanciero = (decimal)row["BonificacionRecargoFinanciero"]; item.OrdinalDestino = (long)row["Ordinal"]; /*Nuevo medidas German*/ item.SetConversion(this._comprobanteDeVenta.Momento); item.IdListaDePrecios = (string)row["IdListaDePrecio"]; item.CoeficienteListaDePrecios = (decimal)row["CoeficienteListaDePrecio"]; item.ModoDeAplicacionListaDePrecios = (string)row["ModoDeAplicacion"]; ItemComprobante miItemComprobante = new ItemComprobante("EDIT", this, item); //if (miItemComprobante.Visible) this.Add(miItemComprobante); //Hasta Aca //this.Add(new ItemComprobante("EDIT",this, row)); } }
private void ProcessItemComprobante(ArrayList lista) { _comprobanteDeVenta.Items.ClearCache(); foreach (mz.erp.businessrules.comprobantes.Item item in lista) { //Sabrina: Tarea 1071. 20110322 if (item.EsCombo) { tsh_CombosDetDataset.tsh_CombosDetDataTable tableProductosCombo = tsh_CombosDet.GetByIdProducto(item.IdProducto).tsh_CombosDet; for (int i = 0; i < item.Cantidad; i++) { foreach (tsh_CombosDetDataset.tsh_CombosDetRow rowPC in tableProductosCombo.Rows) { Productos productoC = new Productos(rowPC, item.IdListaDePrecios, item.IdListaDePreciosDefault, this.ListaDePreciosHabilitadas); Item itemPC = new Item(productoC); itemPC.SetConversion(string.Empty); itemPC.Conversion.Items.Get(0).ValorSinConvertir = rowPC.Cantidad; itemPC.PorcentajeDescuento = productoC.DescuentoProcentualProductoCombo; mz.erp.businessrules.comprobantes.ItemComprobante itemComprobantePC = new ItemComprobante("NEW", _comprobanteDeVenta.Items, itemPC); itemComprobantePC.IdCombo = item.IdProducto; itemComprobantePC.Combo = item.Descripcion; _comprobanteDeVenta.Items.AddInCache(itemComprobantePC); } } } else { mz.erp.businessrules.comprobantes.ItemComprobante _miItemComprobante = new ItemComprobante("NEW", _comprobanteDeVenta.Items, item); _comprobanteDeVenta.Items.AddInCache(_miItemComprobante); } //Fin Sabrina: Tarea 1071. 20110322 } _comprobanteDeVenta.Items.FlushCache(); if (AddItemsChanged != null) { AddItemsChanged(this, new EventArgs()); } }
public ItemComprobanteCompra(ItemComprobante item, ItemsComprobantesCompra items) { Productos miProducto = new mz.erp.businessrules.Productos("CODIGO", item.Codigo); ItemCompra itemCompra = new mz.erp.businessrules.Comprobantes_de_Compra.ItemComprobanteCompra.ItemCompra(); itemCompra.IdProducto = miProducto.IdProducto; itemCompra.Cantidad = 0; itemCompra.Descripcion = miProducto.Descripcion; itemCompra.PrecioCosto = miProducto.PrecioDeCosto; itemCompra.Codigo = miProducto.Codigo; this.IdProducto = item.IdProducto; this.ItemsComprobantes = items; this._descripcion = item.Descripcion; this._descripcionOriginal = item.Descripcion; this._descripcionCorta = itemCompra.DescripcionCorta; this._descripcionLarga = item.DescripcionLarga; this._descripcionLargaOriginal = item.DescripcionLarga; this._codigo = itemCompra.Codigo; this._cantidad = Math.Abs(item.Cantidad); this._precioDeCosto = itemCompra.PrecioCosto; this._idComprobanteOrigen = null; this._ordinalOrigen = long.MinValue; this._idTipoComprobanteOrigen = null; this._ordinal = this.ItemsComprobantes.Count; //this._impuestos = new Impuestos("NEW", this ); }
/// <summary> /// Obtiene una nueva instancia de impuesto /// </summary> /// <param name="action">Valores NEW or EDIT</param> /// <param name="itemComprobante"></param> /// public Impuestos(string action, ItemComprobante itemComprobante) { _itemComprobante = itemComprobante; Init(action); }
public EstadoItem(ItemComprobante item) { _item = item; }
public ComprobanteDeCompra(string action, ItemComprobante item, string momento, string idTipoComprobanteDestino) { Init(action, item, null, idTipoComprobanteDestino, null); }
public ComprobanteDeCompra(string action, ItemComprobante item, string momento, string idTipoComprobanteDestino, RelacionesComprobanteDeCompraOrigenDestino relaciones) { Init(action, item, momento, idTipoComprobanteDestino, relaciones); }
public virtual void AddInCache(ItemComprobante item) { this._itemsCached.Add(item); }
private void FillStaticData(string Action, ItemComprobante item, string idTipoDeComprobanteDestino, RelacionesComprobanteDeCompraOrigenDestino relaciones) { switch (Action.ToUpper()) { case "NEW": { this.IdComprobante = mz.erp.systemframework.Util.NewStringId(); this.IdResponsable = Security.IdPersona; this.IdProveedor = Variables.GetValueString("Compras.Pedidos.ProveedorPorDefault"); this.FechaComprobante = DateTime.Now; this._itemsComprobantesCompras = new ItemsComprobantesCompra("New", this); //this.IdComprobanteDestino = "CPE"; this._tipoComprobanteDestino = "CPE"; //this.TipoComprobanteDestino = mz.erp.businessrules.tsy_TiposDeComprobantes.GetByPk(this.IdComprobanteDestino).Descripcion; if (item != null) { ItemComprobanteCompra itemCompra = new ItemComprobanteCompra(item, this._itemsComprobantesCompras); this._itemsComprobantesCompras.Add(itemCompra); } break; } case "EDIT": { tpu_ComprobantesExDataset.tpu_ComprobantesDataTable tableComp = this.DatasetComprobante.tpu_Comprobantes; tpu_ComprobantesExDataset.tpu_ComprobantesRow rowComp = (tpu_ComprobantesExDataset.tpu_ComprobantesRow)tableComp.Rows[0]; this.IdComprobante = rowComp.IdComprobante; this.IdComprobanteDestino = rowComp.IdComprobante; this.IdResponsable = rowComp.IdResponsable; this.FechaComprobante = rowComp.Fecha; this.TipoComprobanteDestino = rowComp.IdTipoDeComprobante; this.IdProveedor = rowComp.IdProveedor; this.Total = rowComp.Total; this._itemsComprobantesCompras = new ItemsComprobantesCompra("New", this); ItemComprobanteCompra itemCompra; tpu_ComprobantesExDataset.tpu_ComprobantesDetDataTable tableDet = this.DatasetComprobante.tpu_ComprobantesDet; foreach (tpu_ComprobantesExDataset.tpu_ComprobantesDetRow rowDet in tableDet.Rows) { itemCompra = new ItemComprobanteCompra(rowDet, this._itemsComprobantesCompras); this._itemsComprobantesCompras.Add(itemCompra); } if (item != null) { if (!this._itemsComprobantesCompras.Contains(item)) { itemCompra = new ItemComprobanteCompra(item, this._itemsComprobantesCompras); this._itemsComprobantesCompras.Add(itemCompra); } } break; } } }
//Fin German 20120307 - Tarea 0000290 private void FillStepData(RelacionesComprobanteOrigenDestino relaciones) { this.ClearCache(); bool PermitePendienteCero = Variables.GetValueBool(_comprobanteDeVenta.ProcessName(), _comprobanteDeVenta.TaskName(), "PermitePendienteCero"); string IdListaDePrecioDefault = Variables.GetValueString(_comprobanteDeVenta.ProcessName(), _comprobanteDeVenta.TaskName(), "ListaDePreciosDefault"); string listaComodines = Variables.GetValueString(_comprobanteDeVenta.ProcessName(), _comprobanteDeVenta.TaskName(), "Emision.Editar.Items.ListaItemComodin"); bool permiteComodin = Variables.GetValueBool(_comprobanteDeVenta.ProcessName(), _comprobanteDeVenta.TaskName(), "Emision.Editar.Items.HabilitaItemComodin"); foreach (RelacionComprobanteOrigenDestino relacion in relaciones) { if (relacion.CantidadDestino > 0 || PermitePendienteCero) { System.Data.DataRow row = (System.Data.DataRow)mz.erp.businessrules.tsa_ComprobantesDet.GetByPk(relacion.IdComprobante, relacion.OrdinalOrigen); decimal precioDeCosto = 0; decimal bonificacionAplicada = 0; decimal bonificacionRecargoFinanciero = 0; decimal bonificacionRecargoProducto = 0; decimal precioBruto = 0; decimal porcentajeDescuento = 0; //Sabrina: Tarea 1075. 20110323 string idCombo = string.Empty; string combo = string.Empty; //Fin Sabrina: Tarea 1075. 20110323 if (row != null) { precioDeCosto = (decimal)row["PrecioDeCosto"]; bonificacionAplicada = (decimal)row["DescuentosAplicados"]; bonificacionRecargoFinanciero = (decimal)row["BonificacionRecargoFinanciero"]; bonificacionRecargoProducto = (decimal)row["BonificacionRecargoProducto"]; precioBruto = (decimal)row["PrecioBruto"]; _porcentajeRecargoFinanciero = bonificacionRecargoFinanciero; porcentajeDescuento = (decimal)row["PorcentajeDescuentoFijoAplicado"]; //Sabrina: Tarea 1075. 20110323 idCombo = (string)row["IdCombo"]; combo = (string)row["Combo"]; //Fin Sabrina: Tarea 1075. 20110323 } //German 20120224 - Tarea 0000247 Productos miProducto = null; if (!this.ComprobanteDeVenta.ListasDePrecios) { miProducto = new mz.erp.businessrules.Productos(relacion.IdProducto); } else { miProducto = new mz.erp.businessrules.Productos("IdProducto", relacion.IdProducto, relacion.IdListaDePrecios, tsh_ListasDePrecios.GetDefault().IdListaDePrecio, this.ComprobanteDeVenta.ListasDePrecios, false); } //Fin German 20120224 - Tarea 0000247 Item item = new Item(miProducto); item.PrecioCostoMonedaReferencia = precioDeCosto; item.BonificacionRecargoFinanciero = bonificacionRecargoFinanciero; item.BonificacionRecargoProducto = bonificacionRecargoProducto; // matias if (row != null) { item.PrecioFinalOriginal = (decimal)row["PrecioFinalOriginal"]; } if (!relaciones.ActualizaPrecio) //Para ver si deja el precio fijado del comprobante previo { item.PrecioBruto = precioBruto; } //Sabrina: Tarea 1075. 20110323 else //si es comodin o item de un combo no actualiza el producto con precio nuevo; le pongo el precio del comprob anterior //German 20120524 - Tarea 0000340 //if ((permiteComodin) & (EsComodin(listaComodines, miProducto.Codigo)) && !idCombo.Equals(string.Empty)) if ((permiteComodin) & (EsComodin(listaComodines, miProducto.Codigo)) /*&& !idCombo.Equals(string.Empty)*/) { //Fin German 20120524 - Tarea 0000340 item.PrecioBruto = precioBruto; } //Fin Sabrina: Tarea 1075. 20110323 if (precioBruto != 0) { item.BonificacionAplicada = Decimal.Round(bonificacionAplicada * 100 / precioBruto, 4); } else { item.BonificacionAplicada = 0; } item.IdProducto = relacion.IdProducto; item.Cantidad = relacion.CantidadDestino; item.PrecioNeto = relacion.PrecioNetoActual; item.OrdinalOrigen = relacion.OrdinalOrigen; item.IdComprobanteOrigen = relacion.IdComprobante; item.IdTipoComprobanteOrigen = relacion.IdTipoDeComprobante; item.OrdinalDestino = this.Count; item.IdListaDePrecios = relacion.IdListaDePrecios; item.CoeficienteListaDePrecios = relacion.CoeficienteListaDePrecios; item.ModoDeAplicacionListaDePrecios = relacion.ModoDeAplicacionListaDePrecios; if (!IdListaDePrecioDefault.Equals(string.Empty)) { item.IdListaDePreciosDefault = IdListaDePrecioDefault; } string descripcion = string.Empty; descripcion = mz.erp.businessrules.tsa_ComprobanteDetalleDescripcionAdicional.GetDescripcionAdicional(relacion.IdComprobante, relacion.OrdinalOrigen); if (descripcion.Equals(string.Empty)) { item.Descripcion = miProducto.Descripcion; item.DescripcionCorta = miProducto.DescripcionCorta; item.DescripcionLarga = miProducto.DescripcionLarga; item.DescripcionDetallada = miProducto.DescripcionDetallada; item.CampoAuxiliar1 = miProducto.CampoAuxiliar1; item.CampoAuxiliar2 = miProducto.CampoAuxiliar2; item.CampoAuxiliar3 = miProducto.CampoAuxiliar3; item.CampoAuxiliar4 = miProducto.CampoAuxiliar4; item.CampoAuxiliar5 = miProducto.CampoAuxiliar5; } else { item.Descripcion = descripcion; item.DescripcionCorta = descripcion; item.DescripcionLarga = descripcion; item.DescripcionDetallada = descripcion; item.TieneDescripcionDetallada = true; } /*Nuevo German*/ if (relacion.IdTipoDeComprobante.Equals("OR")) { item.IdTipoProducto = relacion.IdTipoProducto; if (!item.IdTipoProducto.Equals("S") && !item.IdTipoProducto.Equals("E")) { string aux = Variables.GetValueString("Comprobantes.OrdenReparacion.Repuestos.Descripcion"); string prefix = string.Format(aux, new object[] { item.IdComprobanteOrigen }) + " "; item.Descripcion = prefix + relacion.Descripcion; item.DescripcionCorta = prefix + relacion.Descripcion; item.DescripcionLarga = prefix + relacion.Descripcion; item.DescripcionDetallada = prefix + relacion.Descripcion; } else { item.Descripcion = relacion.Descripcion; item.DescripcionCorta = relacion.Descripcion; item.DescripcionLarga = relacion.Descripcion; item.DescripcionDetallada = relacion.Descripcion; } item.TieneDescripcionDetallada = true; if (miProducto != null) { item.PrecioCostoMonedaReferencia = miProducto.PrecioDeCostoMonedaReferencia; } else { item.PrecioCostoMonedaReferencia = 0; } item.PrecioBruto = relacion.Precio; item.PrecioNeto = relacion.Precio; item.IdInstanciaOR = relacion.IdInstanciaOR; } item.AfectaStock = relacion.AfectaStock; item.AllowEdit = relacion.AllowEdit; item.CierraCircuito = relacion.CierraCircuito; item.Entregar = relacion.Entregar; item.Visible = relacion.Visible; item.IdTipoProducto = relacion.IdTipoProducto; item.PercibeIB = relacion.PercibeIB; item.SetConversion(this._comprobanteDeVenta.Momento); item.ContadorOrigen = relacion.ContadorOrigen; item.ContadorDestino = relacion.ContadorDestino; item.IdResponsableOrigen = relacion.IdResponsableOrigen; item.Equipo = relacion.Equipo; //German 20120307 - Tarea 0000290 ItemComprobante miItemComprobante = null; if (this._comprobanteDeVenta.ProcessName().Equals("ProcesoRemitirVender") || this._comprobanteDeVenta.ProcessName().Equals("ProcesoRemitirPrestar") || this._comprobanteDeVenta.ProcessName().Equals("ProcesoRemitirVenderManual")) { if (!this.ContainsCached(relacion.IdProducto)) { item.OrigenMultiple = true; miItemComprobante = new ItemComprobante("STEP", this, item); RelacionComprobanteOrigen origen = new RelacionComprobanteOrigen(miItemComprobante.IdComprobanteOrigen, miItemComprobante.OrdinalOrigen, relacion.CantidadOrigen, relacion.CantidadPendiente, miItemComprobante.Cantidad, miItemComprobante.Precio); miItemComprobante.AddOrigen(origen); this.AddInCache(miItemComprobante); //Falta la politica de precios } else { miItemComprobante = (ItemComprobante)this.GetByIdProductoCached(item.IdProducto)[0]; RelacionComprobanteOrigen origen = new RelacionComprobanteOrigen(item.IdComprobanteOrigen, item.OrdinalOrigen, relacion.CantidadOrigen, relacion.CantidadPendiente, relacion.CantidadDestino, item.PrecioCosto); miItemComprobante.AddOrigen(origen); miItemComprobante.CantidadUnidadOrigen = miItemComprobante.Cantidad + relacion.CantidadDestino; //Falta la politica de precios if (!relaciones.ActualizaPrecio) { decimal nuevoPrecio = (item.PrecioBruto * item.Cantidad + miItemComprobante.PrecioDeVentaBruto * miItemComprobante.CantidadUnidadOrigen) / (item.Cantidad + miItemComprobante.CantidadUnidadOrigen); miItemComprobante.PrecioDeVentaBruto = nuevoPrecio; } } } else { miItemComprobante = new ItemComprobante("STEP", this, item); this.AddInCache(miItemComprobante); } //Fin German 20120307 - Tarea 0000290 //if (miItemComprobante.Visible) /*Modificacion 08/09/2007*/ miItemComprobante.IdInstanciaOrdenReparacion = relacion.IdInstanciaOrdenReparacion; miItemComprobante.IdOrdenReparacion = relacion.IdOrdenReparacion; miItemComprobante.IdRepuestoOrdenReparacion = relacion.IdRepuestoOrdenReparacion; miItemComprobante.IdTareaRealizada = relacion.IdTareaRealizada; miItemComprobante.IdComprobantesPredecesores = relacion.IdComprobantesPredecesores + "," + relacion.IdComprobante; miItemComprobante.IdComprobantesSucesores = relacion.IdComprobantesSucesores; miItemComprobante.IdTiposComprobantesPredecesores = relacion.IdTiposComprobantesPredecesores + "," + relacion.IdTipoDeComprobante; miItemComprobante.IdTiposComprobantesSucesores = relacion.IdTiposComprobantesSucesores; miItemComprobante.OrdinalesPredecesores = relacion.OrdinalesPredecesores + "," + relacion.OrdinalOrigen; miItemComprobante.OrdinalesSucesores = relacion.OrdinalesSucesores; //German 20110905 - Tarea 0000208 //miItemComprobante.PorcentajeDescuentoSinRecalculo(porcentajeDescuento); miItemComprobante.PorcentajeDescuento = porcentajeDescuento; //Fin German 20110905 - Tarea 0000208 //Sabrina: Tarea 1075. 20110323 miItemComprobante.IdCombo = idCombo; miItemComprobante.Combo = combo; //Fin Sabrina: Tarea 1075. 20110323 //German 20120307 - Tarea 0000290 //if (!this.ContainsCached(relacion.IdProducto)) //this.AddInCache(miItemComprobante); //Fin German 20120307 - Tarea 0000290 //German 20120302 - Tarea 0000284 - Se saco del for pq agrega el ITem seña por cada item que este en la prefactura por reserva /* Silvina 20111212 - Tarea 0000232 */ //if (_comprobanteDeVenta.ProcessName().Equals("ProcesoPrevenderVenderReserva") && _comprobanteDeVenta.GetTaskName().Equals("Vender")) //{ // string idCompFac = tsa_ComprobantesReservasRelacion.GetByPk(relacion.IdComprobante).IdComprobanteFactura; // tsa_ComprobantesDetDataset.tsa_ComprobantesDetRow rowS = tsa_ComprobantesDet.GetByPk(idCompFac, 0); // if (rowS != null) // { // Productos prodSeña = new mz.erp.businessrules.Productos(rowS.IdProducto); // Item it = new Item(prodSeña); // it.SetConversion(_comprobanteDeVenta.Momento); // ItemComprobante itc = new ItemComprobante("NEW", this, it); // itc.PrecioConImpuestos = rowS.PrecioFinal * -1; // itc.CantidadUnidadOrigen = rowS.Cantidad ; // this.AddInCache(itc); // } //} /* Fin Silvina 20111212 - Tarea 0000232 */ //Fin German 20120302 - Tarea 0000284 } } //German 20120302 - Tarea 0000284 string IdComprob = string.Empty; foreach (RelacionComprobanteOrigenDestino relacion in relaciones) { IdComprob = relacion.IdComprobante; break;//Me quedo con el primero, se hace esta negrada porque la coleccion relaciones no se puede acceder por [0] } if (_comprobanteDeVenta.ProcessName().Equals("ProcesoPrevenderVenderReserva") && _comprobanteDeVenta.GetTaskName().Equals("Vender")) { string idCompFac = tsa_ComprobantesReservasRelacion.GetByPk(IdComprob).IdComprobanteFactura; tsa_ComprobantesDetDataset.tsa_ComprobantesDetRow rowS = tsa_ComprobantesDet.GetByPk(idCompFac, 0); if (rowS != null) { Productos prodSeña = null; if (!this.ComprobanteDeVenta.ListasDePrecios) { prodSeña = new mz.erp.businessrules.Productos(rowS.IdProducto); } else { prodSeña = new mz.erp.businessrules.Productos("IdProducto", rowS.IdProducto, tsh_ListasDePrecios.GetDefault().IdListaDePrecio, tsh_ListasDePrecios.GetDefault().IdListaDePrecio, this.ComprobanteDeVenta.ListasDePrecios, false); } Item it = new Item(prodSeña); it.SetConversion(_comprobanteDeVenta.Momento); ItemComprobante itc = new ItemComprobante("NEW", this, it); itc.PrecioConImpuestos = rowS.PrecioFinal * -1; itc.CantidadUnidadOrigen = rowS.Cantidad; this.AddInCache(itc); } } //Fin German 20120302 - Tarea 0000284 this.FlushCache(); }