public void ListenerAfterExecuteDependentTask(object sender) { if (sender.GetType().Equals(typeof(mz.erp.businessrules.ComprobantesPendientes))) { ComprobantesPendientes comprobantesPendientes = (ComprobantesPendientes)sender; this._arrayComprobantesPendientes = comprobantesPendientes.ArrayIdComprobantesPendientes; ArrayList TCdestinos = comprobantesPendientes.TiposDeComprobantesDestino; if (comprobantesPendientes.RelacionesComprobanteOrigenDestino != null && comprobantesPendientes.RelacionesComprobanteOrigenDestino.Count > 0 && !comprobantesPendientes.HasShowSeleccionItems) { this._relacionesComprobantesOrigenDestino = comprobantesPendientes.RelacionesComprobanteOrigenDestino; } else { GetRelacionesComprobantesOrigenDestino(TCdestinos); } _hasShow = comprobantesPendientes.HasShowSeleccionItems; } if (sender.GetType().Equals(typeof(mz.erp.businessrules.SeleccionReparacionesPendientes))) { SeleccionReparacionesPendientes reparacionesPendientes = (SeleccionReparacionesPendientes)sender; this._arrayComprobantesPendientes = reparacionesPendientes.ArrayIdComporbantesPendientes; GetRelacionesComprobantesOrigenDestinoFromReparaciones(); } if (sender.GetType().Equals(typeof(mz.erp.businessrules.ComprobantesPendientesConsolaEntregas))) { ComprobantesPendientesConsolaEntregas comprobantesPendientesConsolaEntregas = (ComprobantesPendientesConsolaEntregas)sender; this._arrayComprobantesPendientes = comprobantesPendientesConsolaEntregas.ComprobantesSeleccionados; GetRelacionesComprobantesOrigenDestino(); _hasShow = true; } }
public void Step() { RelacionesComprobanteOrigenDestino items; ArrayList IdComprobantes = new ArrayList(); IdComprobantes.Add(_idComprobanteOrigen); items = new RelacionesComprobanteOrigenDestino(IdComprobantes); string MomentoDestino = ""; if (_momentoStepDefault == null) { string MomentoOrigen = businessrules.tsy_TiposDeComprobantes.GetByPk(_idTipoDeComprobanteOrigen).Momento; MomentoDestino = Variables.GetValueString("Momentos." + MomentoOrigen + ".Step.Default"); } else { MomentoDestino = _momentoStepDefault; } if (MomentoDestino != "") { FrmComprobantes frmComprobantes = new FrmComprobantes(); if (_formOwner != null) { EventInfo ei = frmComprobantes.GetType().GetEvent("OnCommitComprobante"); Delegate del1 = Delegate.CreateDelegate(ei.EventHandlerType, this._formOwner, "processEventChange"); ei.AddEventHandler(frmComprobantes, del1); } frmComprobantes.Step(MomentoDestino, items); } }
private void GetRelacionesComprobantesOrigenDestino() { if (this._arrayComprobantesPendientes != null && this._arrayComprobantesPendientes.Count > 0) { this._relacionesComprobantesOrigenDestino = new RelacionesComprobanteOrigenDestino(this._arrayComprobantesPendientes, this._processManager.Process.ProcessName, this._taskName, this._processManager.Process.MainTask.KeyTask); this.ObjectHasChanged(this, new EventArgs()); } }
public RelacionesComprobanteOrigenDestino GetRelaciones() { RelacionesComprobanteOrigenDestino items; ArrayList IdComprobantes = new ArrayList(); IdComprobantes.Add(_idComprobanteOrigen); items = new RelacionesComprobanteOrigenDestino(IdComprobantes); return(items); }
private void GetRelacionesComprobantesOrigenDestinoFromReparaciones() { if (this._arrayComprobantesPendientes != null && this._arrayComprobantesPendientes.Count > 0) { System.Data.DataSet data = Workflow.GetPreviousTasksOfProcess(this._processManager.Process.MainTask.IdTask, this._processManager.Process.IdProcess); string TareaPrevia = string.Empty; if (data.Tables[0].Rows.Count > 0) { TareaPrevia = Convert.ToString(data.Tables[0].Rows[0]["Descripcion"]); } this._relacionesComprobantesOrigenDestino = new RelacionesComprobanteOrigenDestino(this._processManager.Process.ProcessName, this._taskName, TareaPrevia); this._relacionesComprobantesOrigenDestino.LoadFromOrdenReparaciones(this._arrayComprobantesPendientes); this.ObjectHasChanged(this, new EventArgs()); } }
private Hashtable BuscarDatosEnInstanciasPrevias(string tiposdecomprobante, RelacionesComprobanteOrigenDestino relaciones) { Hashtable comprobantesOrigen = new Hashtable(); Hashtable hash = new Hashtable(); foreach (RelacionComprobanteOrigenDestino rol in relaciones) { if (!comprobantesOrigen.ContainsKey(rol.IdComprobante)) { comprobantesOrigen.Add(rol.IdComprobante, rol.IdComprobante); } } hash = BuscarEnComprobantesOrigen(tiposdecomprobante, comprobantesOrigen); return(hash); }
private void Init(string action, RelacionesComprobanteOrigenDestino relaciones) { switch (action.ToUpper()) { case "NEW": break; case "EDIT": FillEditData(); break; case "STEP": FillStepData(relaciones); break; } }
private Hashtable BuscarDatosEnPrimeraInstancia(string tiposdecomprobante, RelacionesComprobanteOrigenDestino relaciones) { Hashtable hash = new Hashtable(); string[] tipos = tiposdecomprobante.Split(','); foreach (RelacionComprobanteOrigenDestino rol in relaciones) { for (int i = 0; i < tipos.Length; i++) { if (tipos[i].CompareTo(rol.IdTipoDeComprobante) == 0) { if (!hash.ContainsKey(rol.IdComprobante)) { hash.Add(rol.IdComprobante, rol.IdComprobante); } } } } return(hash); }
/// <summary> /// Si el objeto que ha cambiado es la tarea principal ejecuta su accion de captura de datos previos /// </summary> /// <param name="sender"></param> public void ListenerAfterExecuteDependentTask(object sender) { if (sender.GetType() == typeof(mz.erp.businessrules.ComprobantesPendientes)) { RelacionesComprobanteOrigenDestino relaciones = ((mz.erp.businessrules.ComprobantesPendientes)sender).RelacionesComprobanteOrigenDestino; if (relaciones != null) { BuscarDatosComprobantesPrevios(relaciones); } //this.Execute(); } if (sender.GetType() == typeof(mz.erp.businessrules.SeleccionItemsPendientes)) { RelacionesComprobanteOrigenDestino relaciones = ((mz.erp.businessrules.SeleccionItemsPendientes)sender).RelacionesComprobanteOrigenDestino; if (relaciones != null) { BuscarDatosComprobantesPrevios(relaciones); } //this.Execute(); } }
//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(); }
public ItemsComprobantes(string action, ComprobanteDeVenta comprobanteDeVenta, RelacionesComprobanteOrigenDestino relaciones) { _comprobanteDeVenta = comprobanteDeVenta; Init(action, relaciones); }
public void ListenerAfterExecuteDependentTask(object sender) { if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta))) { _procesoCambiarMercaderiaVisualizaVentana = true; ITask taskInfo = (ITask)sender; if (!taskInfo.GetTaskName().Equals("AnularPrevender") && !taskInfo.GetTaskName().Equals("AnularPreprestar") //German 20111202 - Tarea 0000232 && !(this.GetProcessManagerParent().Process.ProcessName.Equals("ProcesoPrevenderReserva") && taskInfo.GetTaskName().Equals("Vender")) //Fin German 20111202 - Tarea 0000232 ) { ComprobanteDeVenta comprobanteDeVenta = (ComprobanteDeVenta)sender; bool _condicionDeVentaChanged = this._idCondicionDeVenta != comprobanteDeVenta.CondicionDeVenta.IdCondicionDeVenta; _idComprobanteDeVentaOrigen = comprobanteDeVenta.IdComprobanteOrigen; _idCondicionDeVenta = comprobanteDeVenta.CondicionDeVenta.IdCondicionDeVenta; this._condicionDeVenta = comprobanteDeVenta.CondicionDeVenta; if (!(this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentas") || this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentasDV"))) { this._totalNetoComprobanteDeVenta = comprobanteDeVenta.TotalNeto; this._totalConImpuestosSinRecargosComprobanteDeVenta = comprobanteDeVenta.TotalConImpuestosSinRecargos; this._totalConImpuestoComprobanteDeVenta = comprobanteDeVenta.TotalConImpuestos; } else { if ((this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentas") || this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentasDV"))) { if (taskInfo.GetTaskName().Equals("Devolver")) { this._totalConImpuestoComprobanteDeVentaOrigen = comprobanteDeVenta.TotalConImpuestos; this._totalNetoComprobanteDeVentaOrigen = comprobanteDeVenta.TotalNeto; this._totalConImpuestosSinRecargosComprobanteDeVentaOrigen = comprobanteDeVenta.TotalConImpuestosSinRecargos; this._totalComprobantedDeVentaOrigen = comprobanteDeVenta.Total; this._condicionDeVentaOrigen = comprobanteDeVenta.CondicionDeVenta; } else { if (taskInfo.GetTaskName().Equals("Vender") || taskInfo.GetTaskName().Equals("Prestar")) { this._totalConImpuestoComprobanteDeVentaDestino = comprobanteDeVenta.TotalConImpuestos; this._totalNetoComprobanteDeVentaDestino = comprobanteDeVenta.TotalNeto; this._totalConImpuestosSinRecargosComprobanteDeVentaDestino = comprobanteDeVenta.TotalConImpuestosSinRecargos; this._totalComprobantedDeVentaDestino = comprobanteDeVenta.Total; this._condicionDeVentaDestino = comprobanteDeVenta.CondicionDeVenta; this._totalConImpuestoComprobanteDeVenta = _totalConImpuestoComprobanteDeVentaDestino - _totalConImpuestoComprobanteDeVentaOrigen; this._totalNetoComprobanteDeVenta = _totalNetoComprobanteDeVentaDestino - _totalNetoComprobanteDeVentaOrigen; this._totalConImpuestosSinRecargosComprobanteDeVenta = _totalConImpuestosSinRecargosComprobanteDeVentaDestino - _totalConImpuestosSinRecargosComprobanteDeVentaOrigen; this._totalComprobantedDeVenta = _totalComprobantedDeVentaDestino - _totalComprobantedDeVentaOrigen; //Significa que el cliente acredita mas de lo que debita, por ende no hay que mostrar la ventana de formas de pagos if (_totalComprobantedDeVenta < 0) { _procesoCambiarMercaderiaVisualizaVentana = false; } } } } } bool _idCuentaChanged = comprobanteDeVenta.Cuenta.IdCuenta != null && comprobanteDeVenta.Cuenta.IdCuenta != string.Empty && comprobanteDeVenta.Cuenta.IdCuenta != _idCuenta; bool _idTipoDeComprobanteChanged = comprobanteDeVenta.TipoComprobanteDestino != null && comprobanteDeVenta.TipoComprobanteDestino != string.Empty && comprobanteDeVenta.TipoComprobanteDestino != _idTipoDeComprobante; this._idCuenta = comprobanteDeVenta.Cuenta.IdCuenta; this._idTipoDeComprobante = comprobanteDeVenta.TipoComprobanteDestino; if (_condicionDeVentaChanged || _idCuentaChanged || _idTipoDeComprobanteChanged) { _formasDePagos = mz.erp.businessrules.tfi_FormasDePagoEx.GetFormasDePago(_condicionDeVenta.IdCondicionDeVenta, this._idCuenta, this._idTipoDeComprobante); } AddFormaDePagoDefault(); if (_condicionDeVentaChanged && !IsStep() && !_totalNetoComprobanteDeVentaChanged) { if (MustResetRecargos()) { ResetRecargos(); } } else { if (!IsStep() && _totalNetoComprobanteDeVentaChanged) { if (MustResetRecargos()) { ResetRecargos(); } } else { if (IsStep() && ((_idCondicionDeVentaStep == null || _idCondicionDeVentaStep.Equals(_idCondicionDeVenta)) && (_totalNetoComprobanteDeVentaStep == decimal.MinValue || _totalNetoComprobanteDeVentaStep.Equals(_totalNetoComprobanteDeVenta)) && (_idComprobanteDeVentaStep == null || _idComprobanteDeVentaStep.Equals(_idComprobanteDeVentaOrigen)) ) ) { this._totalNetoComprobanteDeVentaStep = this._totalNetoComprobanteDeVenta; this._idCondicionDeVentaStep = this._idCondicionDeVenta; this._idComprobanteDeVentaStep = _idComprobanteDeVentaOrigen; this._totalComprobantedDeVenta = comprobanteDeVenta.Total; this.Step(); } else { if (IsStep() && (!_idCondicionDeVentaStep.Equals(_idCondicionDeVenta) || !_totalNetoComprobanteDeVentaStep.Equals(_totalNetoComprobanteDeVenta) ) && _idComprobanteDeVentaStep.Equals(_idComprobanteDeVentaOrigen)) { this._idCondicionDeVentaStep = this._idCondicionDeVenta; this._totalComprobantedDeVenta = comprobanteDeVenta.Total; if (MustResetRecargos()) { ResetRecargos(); } } else { if (IsStep() && !_idComprobanteDeVentaStep.Equals(_idComprobanteDeVentaOrigen)) { this._modified = false; ResetRecargos(); this._idComprobanteDeVentaStep = _idComprobanteDeVentaOrigen; this._totalNetoComprobanteDeVentaStep = this._totalNetoComprobanteDeVenta; this._idCondicionDeVentaStep = this._idCondicionDeVenta; this._totalComprobantedDeVenta = comprobanteDeVenta.Total; this.Step(); } } } } } _allowShow = _formasDePagos.Count > 0; //!(_formasDePagos.Count == 0 || (_formasDePagos.Count == 1 && _recargos.Count == 1 )); if (ObjectHasChanged != null) { ObjectHasChanged(this, new EventArgs()); } } } if (sender.GetType().Equals(typeof(mz.erp.businessrules.SeleccionItemsPendientes))) { SeleccionItemsPendientes ItemsPendientes = (SeleccionItemsPendientes)sender; if (ItemsPendientes.RelacionesComprobanteOrigenDestino != null && ItemsPendientes.RelacionesComprobanteOrigenDestino.Count > 0) { this._relacionesComprobanteOrigenDestino = ItemsPendientes.RelacionesComprobanteOrigenDestino; } } }
private void FillLoadData(string IdComprobante, string state, string TipoComprobanteDestino, string IdResponsable, string idCuenta, string idCondicionDeVenta, RelacionesComprobanteOrigenDestino relaciones) { switch (state) { case "STEP": { this.DatasetComprobante = new mz.erp.commontypes.data.tpu_ComprobantesExDataset(); this.IdResponsable = relaciones.IdResponsable; //this.VariablesComprobante = new VariablesAuxiliares( "NEW", this ); //this.Cuenta = new Cuenta( "EDIT", this, relaciones.IdCuenta ); //this.IdCuenta = relaciones.IdCuenta; this.TipoComprobanteDestino = TipoComprobanteDestino; this.FechaComprobante = System.DateTime.Now; this.IdComprobante = Util.NewStringId(); this.Numero = string.Empty; //this.TemporalNumeration = true; //this.Items = new ItemsComprobantes("STEP", this, relaciones); //this.Items.IsDirty=false; //this.CondicionDeVenta = new CondicionDeVenta( "NEW", this, idCondicionDeVenta ); //long condicionPorDefecto = ComprobantesRules.Momentos_FormaDePago_Default(this.Momento); //if ( ! (condicionPorDefecto == long.MinValue)) // this.CondicionDeVenta.IdCondicionDeVenta = Convert.ToString(condicionPorDefecto); this.Total = 0; break; } case "EDIT": { this.DatasetComprobante = mz.erp.businessrules.tpu_ComprobantesEx.GetList(IdComprobante); tpu_ComprobantesExDataset.tpu_ComprobantesRow rowComprobante = (tpu_ComprobantesExDataset.tpu_ComprobantesRow) this.DatasetComprobante.tpu_Comprobantes.Rows[0]; this.IdResponsable = rowComprobante.IdResponsable; this.TipoComprobanteDestino = rowComprobante.IdTipoDeComprobante; this.FechaComprobante = rowComprobante.Fecha; this.IdComprobante = rowComprobante.IdComprobante; this.Numero = rowComprobante.Numero; //this.TemporalNumeration = false; //this.VariablesComprobante = new VariablesAuxiliares( "EDIT", this ); //this.Cuenta = new Cuenta( "EDIT", this, rowComprobante.IdCuenta ); //this.IdCuenta = rowComprobante.IdCuenta; //this.Items = new ItemsComprobantes("EDIT", this ); //this.Items.IsDirty=false; //this.CondicionDeVenta = new CondicionDeVenta("EDIT", this ); this.Total = rowComprobante.Total; break; } case "NEW": { this.DatasetComprobante = new mz.erp.commontypes.data.tpu_ComprobantesExDataset(); //Modificar para tomar el responsable por defecto this.IdResponsable = IdResponsable; //this.Cuenta = new Cuenta( "NEW", this, idCuenta); //this.IdCuenta = idCuenta; //this.TipoComprobanteDestino = Cuenta.ComprobanteDeVentaSugerido(); this.FechaComprobante = System.DateTime.Now; this.IdComprobante = Util.NewStringId(); this.Numero = string.Empty; //this.TemporalNumeration = true; //this.VariablesComprobante = new VariablesAuxiliares( "NEW", this ); //this.Items = new ItemsComprobantes( "NEW", this ); //this.Items.IsDirty=false; /*this.CondicionDeVenta = new CondicionDeVenta( "NEW", this, idCondicionDeVenta ); * long condicionPorDefecto = ComprobantesRules.Momentos_FormaDePago_Default(this.Momento); * if ( ! (condicionPorDefecto == long.MinValue)) * this.CondicionDeVenta.IdCondicionDeVenta = Convert.ToString(condicionPorDefecto);*/ this.Total = 0; break; } } //InitEvents(); }
public ComprobanteDeCompra(string action, string idComprobante, string Momento, string idCuenta, System.DateTime Fecha, string idResponsable, string idCondicionDeVenta, string TipoComprobanteDestino, RelacionesComprobanteOrigenDestino relaciones) { switch (action.ToUpper()) { case "NEW": this._state = "NEW"; //FillLoadData( idComprobante, action.ToUpper(), TipoComprobanteDestino, mz.erp.businessrules.sy_Usuarios.GetByPk(Security.IdUsuario).IdPersona, idCuenta, idCondicionDeVenta, relaciones); //FillStaticData( ); break; case "EDIT": this._state = "EDIT"; //this.AllowEdit = false; //FillLoadData( idComprobante, action.ToUpper(), TipoComprobanteDestino, idResponsable, idCuenta, idCondicionDeVenta, relaciones); break; case "STEP": this._state = "STEP"; //FillLoadData( idComprobante, action.ToUpper(), TipoComprobanteDestino, idResponsable, idCuenta, idCondicionDeVenta, relaciones); //FillStaticData( ); this.IdComprobante = Util.NewStringId(); break; } // SetEditablesProperty(); }
private void LoadFromSeleccionarItemsPendientesPorItem(SeleccionItemsPendientes sip) { _relaciones = new RelacionesComprobanteOrigenDestino(); _relaciones.IdCuenta = sip.RelacionesComprobanteOrigenDestino.IdCuenta; _relaciones.Observaciones = sip.RelacionesComprobanteOrigenDestino.Observaciones; foreach (RelacionComprobanteOrigenDestino crod in sip.RelacionesComprobanteOrigenDestino) { string IdTipoDeComprobanteOrigen = crod.IdTipoDeComprobante; string IdComprobante = crod.IdComprobante; long ordinal = crod.OrdinalOrigen; string TipoComprobanteDestino = string.Empty; if (_tableHaciaAdelante.ContainsKey(IdTipoDeComprobanteOrigen)) { //German 20090520 if (crod.CantidadDestino > 0) { //Fin German 20090520 ArrayList TipoComprobanteDestinoList = (ArrayList)_tableHaciaAdelante[IdTipoDeComprobanteOrigen]; TipoComprobanteDestino = mz.erp.systemframework.Util.PackString(TipoComprobanteDestinoList); DataSet data = Workflow.GetCaminoComprobantesOrdinalTopDown(IdComprobante, ordinal, TipoComprobanteDestino); decimal cantIntemerdios = 0; decimal cantFinales = 0; string IdComprobantePreparado = string.Empty; string IdTipoDeComprobantePreparado = string.Empty; long OrdinalPreparado = -1; foreach (DataRow row in data.Tables[0].Rows) { string ITDC = Convert.ToString(row["IdTipoDeComprobante"]); decimal cant = Convert.ToDecimal(row["Cantidad"]); long ord = Convert.ToInt64(row["Ordinal"]); if (_comprobantesIntermedios.Contains(ITDC)) { IdComprobantePreparado = Convert.ToString(row["IdComprobante"]); IdTipoDeComprobantePreparado = ITDC; OrdinalPreparado = ord; cantIntemerdios = cant; } if (TipoComprobanteDestinoList.Contains(ITDC)) { cantFinales = cantFinales + cant; } } //Se debe anular el comprobante de preparado pues no fue entregada if ((cantIntemerdios - cantFinales) > 0) { RelacionComprobanteOrigenDestino rcod = new RelacionComprobanteOrigenDestino( IdComprobantePreparado, IdTipoDeComprobantePreparado, string.Empty, OrdinalPreparado, cantIntemerdios, crod.CantidadDestino, crod.IdProducto, crod.Descripcion, crod.Precio, crod.IdCondicionDeVenta, crod.PrecioNetoActual, string.Empty, string.Empty, string.Empty, crod.IdListaDePrecios, crod.CoeficienteListaDePrecios, crod.ModoDeAplicacionListaDePrecios, crod.IdListaDePreciosDefault); _relaciones.Add(rcod); } } //German 20090520 } //Fin German 20090520 } }