Esempio n. 1
0
        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);
            }
        }
Esempio n. 3
0
 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);
        }
Esempio n. 5
0
 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);
        }
Esempio n. 7
0
    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();
     }
 }
Esempio n. 10
0
    //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();
    }
Esempio n. 11
0
 public ItemsComprobantes(string action, ComprobanteDeVenta comprobanteDeVenta, RelacionesComprobanteOrigenDestino relaciones)
 {
     _comprobanteDeVenta = comprobanteDeVenta;
     Init(action, relaciones);
 }
Esempio n. 12
0
        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;
                }
            }
        }
Esempio n. 13
0
        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();
        }
Esempio n. 14
0
        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
     }
 }