private void Build_Content(ComprobanteDeVenta comp)
        {
            _mailContent.Append("El siguiente comprobante no se ha guardado:");
            _mailContent.Append(Environment.NewLine);
            _mailContent.Append("Tipo de Comprobante: ");
            _mailContent.Append(comp.TipoComprobanteDestino);
            //German 20101215 - Tarea 993
            _mailContent.Append(Environment.NewLine);
            _mailContent.Append("Número: ");
            _mailContent.Append(comp.Numero);
            //Fin German 20101215 - Tarea 993
            _mailContent.Append(Environment.NewLine);
            _mailContent.Append("Responsable logueado: ");
            _mailContent.Append(Security.IdUsuario);
            _mailContent.Append(Environment.NewLine);
            _mailContent.Append("Responsable: ");
            DataRow row = mz.erp.businessrules.tsh_Personas.GetByPk(comp.IdResponsable);

            if (row != null)
            {
                _mailContent.Append(Convert.ToString(row["Nombre"]));
            }
            _mailContent.Append(Environment.NewLine);
            _mailContent.Append("Fecha: ");
            _mailContent.Append(comp.FechaComprobante);
            _mailContent.Append(Environment.NewLine);
            _mailContent.Append("Total: ");
            _mailContent.Append(comp.Total);
            _mailContent.Append(Environment.NewLine);
            _mailContent.Append("Cliente: ");
            _mailContent.Append(comp.Cuenta.Codigo);
            _mailContent.Append(" ");
            _mailContent.Append(comp.Cuenta.Nombre);
        }
Beispiel #2
0
        private bool ImprimeFiscal(ComprobanteDeVenta comprobante, ref bool Grabar)
        {
            FrmFiscal frmFis          = new FrmFiscal();
            String    Momento         = "Fiscal.Momentos." + comprobante.Momento;
            String    TipoComprobante = Variables.GetValueString(Momento);

            if (frmFis.ImpresionFiscal(comprobante, TipoComprobante))
            {
                if (Variables.GetValueBool("Fiscal.CierreAutomatico"))
                {
                    frmFis.Close();
                }
                Grabar = true;
            }
            else
            {
                if (frmFis.SoportaComprobante)
                {
                    MessageBox.Show("El comprobante es soportado. Posible error en impresion.");
                    Grabar  = false;
                    _cerrar = false;
                }
                else
                {
                    MessageBox.Show("El comprobante no es soportado");
                    Grabar = true;
                }
            }
            return(Grabar);
        }
        public bool IsValidFlush(ArrayList Tasks)
        {
            bool ok     = true;
            bool activo = Variables.GetValueBool("Fiscal.Activo");

            if (activo)
            {
                foreach (TaskDynamicInfo task in Tasks)
                {
                    object instance = task.TaskInstance;
                    if (instance.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta)))
                    {
                        ComprobanteDeVenta comp   = (ComprobanteDeVenta)instance;
                        string             Numero = comp.Numero;
                        string             IdTipoDeComprobante = comp.TipoComprobanteDestino;
                        decimal            Total = comp.Total;
                        ok = mz.erp.businessrules.tsa_Comprobantes.ExistsNumeration(Numero, IdTipoDeComprobante);
                        if (!ok)
                        {
                            ItemDatasetError error = new ItemDatasetError("Comprobante", "El Comprobante NO se ha Grabado", "El comprobante " + IdTipoDeComprobante + " Nº " + Numero + " No se ha Grabado. Se ha enviado un Mail a sus Supervisores. Tendrá un Sobrante de $" + Total);
                            _flushErrors.Add(error);
                            Build_Content(comp);
                        }
                    }
                }
            }
            return(ok);
        }
Beispiel #4
0
        /// <summary>
        /// Escribe los datos de la intancia que estan en memoria en el dataset de comprobantes de venta para
        /// dejarlos listo para enviar a la capa de acceso a datos y almacenarlo en el RDBM
        /// </summary>
        public override void Commit()
        {
            ComprobanteDeVenta        comprobante = this.Impuestos.ItemComprobante.ItemsComprobantes.ComprobanteDeVenta;
            tsa_ComprobantesExDataset data        = this.Impuestos.ItemComprobante.ItemsComprobantes.ComprobanteDeVenta.DatasetComprobante;

            tsa_ComprobantesExDataset.tsa_ComprobanteDetalleImpuestosRow row = data.tsa_ComprobanteDetalleImpuestos.Newtsa_ComprobanteDetalleImpuestosRow();

            row.AplicadoA  = this._aplicadoA;
            row.Ordinal    = this.Impuestos.ItemComprobante.Ordinal;
            row.Valor      = this.Valor;
            row.IdImpuesto = this.IdImpuesto;

            row.Fecha               = comprobante.FechaComprobante;
            row.IdComprobante       = ((tsa_ComprobantesExDataset.tsa_ComprobantesRow)data.tsa_Comprobantes.Rows[0]).IdComprobante;
            row.IdTipoDeComprobante = comprobante.TipoComprobanteDestino;
            row.Numero              = ((tsa_ComprobantesExDataset.tsa_ComprobantesRow)data.tsa_Comprobantes.Rows[0]).Numero;

            row.IdMonedaCierre     = ComprobantesRules.Contabilidad_MonedaReferencia;
            row.IdMonedaOrigen     = ComprobantesRules.Contabilidad_MonedaReferencia;
            row.IdCotizacionCierre = ComprobantesRules.Contabilidad_CotizacionReferencia;

            row.FechaCreacion                = System.DateTime.Now;
            row.IdConexionCreacion           = Security.IdConexion;
            row.IdConexionUltimaModificacion = Security.IdConexion;
            row.IdEmpresa   = Security.IdEmpresa;
            row.IdSucursal  = Security.IdSucursal;
            row.IdReservado = 0;

            data.tsa_ComprobanteDetalleImpuestos.Addtsa_ComprobanteDetalleImpuestosRow(row);
        }
        private void LoadDataFromComprobanteDeVentaSaved(ComprobanteDeVenta comprobante)
        {
            ProcessManager _process = comprobante.GetProcessManagerParent();

            if (_process.Process.MainTask.TaskInstance.Equals(comprobante))
            {
                foreach (RelacionComprobanteOrigenDestino rol in comprobante.RelacionesComprobantesOrigenDestino)
                {
                    string idComprobante = rol.IdComprobante;
                    long   idordinal     = rol.OrdinalOrigen;
                    mz.erp.commontypes.data.tsa_ComprobanteDetalleEstadoItemsDataset data = tsa_ComprobanteDetalleEstadoItems.GetList(idComprobante, idordinal, decimal.MinValue, System.DateTime.MinValue, null);
                    if (data.tsa_ComprobanteDetalleEstadoItems.Rows.Count > 0)
                    {
                        mz.erp.commontypes.data.tsa_ComprobanteDetalleEstadoItemsDataset.tsa_ComprobanteDetalleEstadoItemsRow row = (mz.erp.commontypes.data.tsa_ComprobanteDetalleEstadoItemsDataset.tsa_ComprobanteDetalleEstadoItemsRow)data.tsa_ComprobanteDetalleEstadoItems.Rows[0];

                        if (rol.Visible && rol.Entregar && this.DebeEntregar(rol.IdProducto, rol.IdTipoProducto))
                        {
                            if (this.Contains(rol.IdProducto, rol.OrdinalOrigen))
                            {
                                EstadoItem miitem = this.GetItem(rol.IdProducto, rol.OrdinalOrigen);
                                miitem.FechaDeEntrega            = row.Fecha;
                                miitem.IdEstado                  = row.IdEstado;
                                miitem.IdTipoDeComprobanteOrigen = comprobante.TipoComprobanteDestino;
                            }
                        }

                        /*
                         * else
                         * {
                         * if(rol.Entregar)
                         * {
                         *      if(!this.Contains( rol.IdProducto, rol.OrdinalOrigen, rol.Visible))
                         *      {
                         *              DataRow rowP = mz.erp.businessrules.tsh_Productos.GetByPk(rol.IdProducto);
                         *              EstadoItem miitem = new EstadoItem();
                         *              miitem.IdProducto = rol.IdProducto;
                         *              miitem.Codigo = Convert.ToString(row["Codigo"]);
                         *              miitem.Descripcion = rol.Descripcion;
                         *              miitem.DescripcionLarga = rol.Descripcion;
                         *              miitem.Cantidad = rol.CantidadOrigen;
                         *              miitem.FechaDeEntrega = mz.erp.businessrules.Sistema.DateTime.Now;
                         *              EstadosCollection estadosCol = (new EstadosCollection()).GenerateFormaDeEntrega();
                         *              string id = estadosCol.KeyOfValue(_estadoItemDefault);
                         *              miitem.IdEstado = id;
                         *              miitem.Ordinal = rol.OrdinalOrigen;
                         *              miitem.Visible = false;
                         *              this.ArrayItems.Add(miitem);
                         *      }
                         * }
                         * }	*/
                    }
                    _preSetData = true;
                }
                if (ObjectHasChanged != null)
                {
                    this.ObjectHasChanged(this, new EventArgs());
                }
            }
        }
Beispiel #6
0
 public Impresion(Form MdiParent, ComprobanteDeVenta comprobante)
 {
     _comprobante = comprobante;
     _mdiParent   = MdiParent;
     //
     // TODO: agregar aquí la lógica del constructor
     //
 }
 public void ListenerAfterExecuteDependentTask(object sender)
 {
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta)))
     {
         ComprobanteDeVenta comprobanteDeVenta = (ComprobanteDeVenta)sender;
         LoadDataFromComprobanteDeVenta(comprobanteDeVenta);
         LoadDataFromComprobanteDeVentaSaved(comprobanteDeVenta);
     }
 }
 private void LoadDataFromClassComprobanteDeVenta(ComprobanteDeVenta comprobante)
 {
     this._idResponsable    = comprobante.IdResponsable;
     this._codigoCuenta     = comprobante.CodigoCuenta;
     this._fechaConvenida   = comprobante.FechaComprobante;
     this._fechaVencimiento = comprobante.FechaComprobante;
     this._infoCliente      = comprobante.InfoCliente;
     this._observaciones    = comprobante.Observaciones;
 }
Beispiel #9
0
    /// <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());
        }
    }
Beispiel #10
0
        private void LoadDataFromComprobanteDeVenta(ComprobanteDeVenta comprobante)
        {
            TaskCollectionData data = comprobante.GetData();

            foreach (DataSet dataset in data)
            {
                if (dataset.DataSetName.Equals("tsa_ComprobantesExDataset"))
                {
                    DataTable table = dataset.Tables["tsa_Comprobantes"];
                    DataRow   row   = table.Rows[0];
                    this.IdComprobante = Convert.ToString(row["IdComprobante"]);
                    AddVariablesAuxiliares(comprobante.VariablesDeUsuario);
                }
            }
        }
Beispiel #11
0
        public void ListenerAfterExecuteDependentTask(object sender)
        {
            //German 20120223 -  Tarea 0000247
            if (sender.GetType() == typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta) &&
                (this._processManager.Process.ProcessName.Equals("ProcesoPrevenderVenderAcopio") ||
                 this._processManager.Process.ProcessName.Equals("ProcesoPreprestarPrestarAcopio")
                )
                )

            {
                ComprobanteDeVenta comp = (ComprobanteDeVenta)sender;
                this.CodigoCuenta  = comp.CodigoCuenta;
                this.Total         = comp.Total;
                this.Observaciones = "Crédito por Factura de Acopio. Comprobante Aumático para saldar la factura de Acopio.";
            }
            //Fin German 20120223 -  Tarea 0000247
        }
        private void LoadDataFromComprobanteDeVenta(ComprobanteDeVenta comprobante)
        {
            if (this.ArrayItems.Count > 0)
            {
                _preSetData = true;
            }
            ArrayList aux = new ArrayList();

            foreach (ItemComprobante item in comprobante.Items)
            {
                if (item.Entregar && this.DebeEntregar(item.IdProducto, item.IdTipoProducto))
                {
                    if (!this.Contains(item.IdProducto, item.Ordinal))
                    {
                        aux.Add(this.CreateItem(item));
                    }
                }
            }
            foreach (ItemComprobante item in comprobante.Items.ItemsNoVisibles)
            {
                if (item.Entregar && this.DebeEntregar(item.IdProducto, item.IdTipoProducto))
                {
                    aux.Add(this.CreateItem(item));
                }
            }

            foreach (EstadoItem estadoItem in this.ArrayItems)
            {
                foreach (ItemComprobante item in comprobante.Items)
                {
                    if (item.Entregar && this.DebeEntregar(item.IdProducto, item.IdTipoProducto))
                    {
                        if (estadoItem.IdProducto.Equals(item.IdProducto) && estadoItem.Ordinal.Equals(item.Ordinal))
                        {
                            /* Silvina 20101118 - Tarea 938 */
                            estadoItem.Cantidad = item.Cantidad;
                            /* Fin Silvina */
                            aux.Add(estadoItem);
                            break;
                        }
                    }
                }
            }
            this.ArrayItems = aux;
        }
Beispiel #13
0
        public void ListenerAfterFlush(object sender)
        {
            //Sabrina: Tarea 901. 20101001
            string NombreTareaSender = ((ITask)sender).GetTaskName();

            //Fin Sabrina: Tarea 901. 20101001

            if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta)))
            {
                //Sabrina: Tarea 901. 20101001
                if (TareaAsociada.Equals(string.Empty) || (!TareaAsociada.Equals(string.Empty) && TareaAsociada.Equals(NombreTareaSender)))
                {
                    ComprobanteDeVenta comprobante = (ComprobanteDeVenta)sender;
                    LoadDataFromComprobanteDeVenta(comprobante);
                }
                //Fin Sabrina: Tarea 901. 20101001
            }
            if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeAjusteCuentaCorriente)))
            {
                //Sabrina: Tarea 901. 20101001
                if (TareaAsociada.Equals(string.Empty) || (!TareaAsociada.Equals(string.Empty) && TareaAsociada.Equals(NombreTareaSender)))
                {
                    ComprobanteDeAjusteCuentaCorriente comprobante = (ComprobanteDeAjusteCuentaCorriente)sender;
                    LoadDataFromComprobanteDeAjusteCuentaCorriente(comprobante);
                }
                //Fin Sabrina: Tarea 901. 20101001
            }
            if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeEntrega)))
            {
                //Sabrina: Tarea 901. 20101001
                if (TareaAsociada.Equals(string.Empty) || (!TareaAsociada.Equals(string.Empty) && TareaAsociada.Equals(NombreTareaSender)))
                {
                    ComprobanteDeEntrega comprobante = (ComprobanteDeEntrega)sender;
                    LoadDataFromComprobanteDeEntrega(comprobante);
                }
                //Fin Sabrina: Tarea 901. 20101001
            }

            /*if (sender.GetType().Equals( typeof( mz.erp.businessrules.PrepararDatosImpresionComprobantes )))
             * {
             *      PrepararDatosImpresionComprobantes comprobante = (PrepararDatosImpresionComprobantes) sender;
             *      _impresionFiscalExitosa = comprobante.ImpresionFiscalExitosa;
             *      _soportaComprobanteFiscal = comprobante.SoportaComprobanteFiscal;
             * }*/
        }
Beispiel #14
0
        public override void ListenerAfterExecuteDependentTask(object sender)
        {
            //Sabrina: Tarea 901. 20101001
            string NombreTareaSender = ((ITask)sender).GetTaskName();

            //Fin Sabrina: Tarea 901. 20101001

            if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta)))
            {
                //Sabrina: Tarea 901. 20101001
                if (TareaAsociada.Equals(string.Empty) || (!TareaAsociada.Equals(string.Empty) && TareaAsociada.Equals(NombreTareaSender)))
                {
                    ComprobanteDeVenta comprobante = (ComprobanteDeVenta)sender;
                    this.IdTipoDeComprobante = comprobante.TipoComprobanteDestino;
                }
                //Fin Sabrina: Tarea 901. 20101001
            }
            if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeAjusteCuentaCorriente)))
            {
                //Sabrina: Tarea 901. 20101001
                if (TareaAsociada.Equals(string.Empty) || (!TareaAsociada.Equals(string.Empty) && TareaAsociada.Equals(NombreTareaSender)))
                {
                    ComprobanteDeAjusteCuentaCorriente comprobante = (ComprobanteDeAjusteCuentaCorriente)sender;
                    this.IdTipoDeComprobante = comprobante.TipoComprobanteDestino;
                }
                //Fin Sabrina: Tarea 901. 20101001
            }
            if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeEntrega)))
            {
                //Sabrina: Tarea 901. 20101001
                if (TareaAsociada.Equals(string.Empty) || (!TareaAsociada.Equals(string.Empty) && TareaAsociada.Equals(NombreTareaSender)))
                {
                    ComprobanteDeEntrega comprobante = (ComprobanteDeEntrega)sender;
                    this.IdTipoDeComprobante = comprobante.TipoComprobanteDestino;
                }
                //Fin Sabrina: Tarea 901. 20101001
            }
            if (sender.GetType().Equals(typeof(mz.erp.businessrules.FiscalComprobantes)))
            {
                FiscalComprobantes comprobante = (FiscalComprobantes)sender;
                ImpresionFiscalExitosa   = comprobante.ImpresionFiscalExitosa;
                SoportaComprobanteFiscal = comprobante.SoportaComprobanteFiscal;
            }
        }
Beispiel #15
0
        public static DetalleCuentaCorriente GetDetalleCuentaCorriente(ComprobanteDeVenta comprobante)
        {
            string   IdComprobante       = comprobante.IdComprobante;
            string   Comprobante         = comprobante.IdComprobante;
            string   Numero              = comprobante.Numero;
            DateTime FechaVencimiento    = comprobante.FechaComprobante;
            DateTime FechaEmision        = comprobante.FechaComprobante;
            short    Cuota               = 1;
            decimal  Importe             = comprobante.Total;
            decimal  Saldo               = comprobante.Total * comprobante.SignoCuentaCorriente;
            decimal  Total               = comprobante.Total;
            int      signo               = comprobante.SignoCuentaCorriente;
            string   IdTipoDeComprobante = comprobante.TipoComprobanteDestino;
            DetalleCuentaCorriente dcc   = Factory.GetDetalleCuentaCorriente(IdComprobante, Comprobante, Numero,
                                                                             FechaVencimiento, FechaEmision, Cuota, Importe, Saldo, Total, signo, IdTipoDeComprobante);


            return(dcc);
        }
        public override void ListenerAfterExecuteDependentTask(object sender)
        {
            ITask taskInstance = (ITask)sender;

            if (sender.GetType().Equals(typeof(mz.erp.businessrules.SeleccionEstadoDeItem)))
            {
                ArrayList estadoDeItems = ((SeleccionEstadoDeItem)sender).ArrayItems;
                LoadDataFromClassSeleccionEstadoDeItem(estadoDeItems);
            }
            if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta)))
            {
                ComprobanteDeVenta comprobante = (ComprobanteDeVenta)sender;
                string             _sourceTask = comprobante.GetTaskName();
                if (_sourceTask.Equals("Vender") || _sourceTask.Equals("Prevender") ||
                    _sourceTask.Equals("VenderManual") || _sourceTask.Equals("Prestar") ||
                    _sourceTask.Equals("Preprestar") || _sourceTask.Equals("Pedir"))
                {
                    LoadDataFromClassComprobanteDeVenta(comprobante);
                }
            }
        }
Beispiel #17
0
 public bool ImpresionFiscal(ComprobanteDeVenta Comprobante, string TipoComprobante)
 {
     /*if (TipoComprobante == "FA" || TipoComprobante == "NC" || TipoComprobante == "ND" ||
      *      TipoComprobante == "TI" || TipoComprobante == "TF" || TipoComprobante == "RM")
      *
      * {
      *      IFiscal = new InterfaceFiscal(Comprobante, TipoComprobante);
      *      IFiscal.OnChangeEstadoFiscal += new EventHandler(this.OnChangeEstadoFiscal);
      *      if (IFiscal.ImpresionFiscal())
      *      {
      *              //this.Close();
      *              return true;
      *      }
      *      _soportaComprobante = IFiscal.SoportaComprobante;
      * }
      * else
      * {
      *      _soportaComprobante = false;
      * }*/
     return(false);
 }
Beispiel #18
0
 public void ListenerAfterFlush(object sender)
 {
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta)) &&
         _tareaAsociada.ToUpper().Equals(((ITask)sender).GetTaskName().ToUpper())
         )
     {
         _compVenta = (ComprobanteDeVenta)sender;
         _source    = "COMPROBANTEDEVENTA";
     }
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDePago)) &&
         _tareaAsociada.ToUpper().Equals(((ITask)sender).GetTaskName().ToUpper())
         )
     {
         _compPago = (ComprobanteDePago)sender;
         _source   = "COMPROBANTEDEPAGO";
     }
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeEntrega)) &&
         _tareaAsociada.ToUpper().Equals(((ITask)sender).GetTaskName().ToUpper())
         )
     {
         _compEntrega = (ComprobanteDeEntrega)sender;
         _source      = "COMPROBANTEDEENTREGA";
     }
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeCompra)) &&
         _tareaAsociada.ToUpper().Equals(((ITask)sender).GetTaskName().ToUpper())
         )
     {
         _compCompra = (ComprobanteDeCompra)sender;
         _source     = "COMPROBANTEDECOMPRA";
     }
     if (sender.GetType().Equals(typeof(mz.erp.businessrules.AjustarStock)) &&
         _tareaAsociada.ToUpper().Equals(((ITask)sender).GetTaskName().ToUpper())
         )
     {
         _ajustarStock = (AjustarStock)sender;
         _source       = "AJUSTEDESTOCK";
     }
 }
Beispiel #19
0
        public Fiscal(ComprobanteDeVenta Comprobante, string TipoComprobante)
        {
            //
            // TODO: agregar aquí la lógica del constructor
            //
            _codImpFis   = byte.Parse(Variables.GetValue("Fiscal.Codigo").ToString());
            _comprobante = Comprobante;

            switch (TipoComprobante)
            {
            case "FA": _codCompTipo = 1;
                break;

            case "ND": _codCompTipo = 2;
                break;

            case "NC": _codCompTipo = 3;
                break;
            }
            _codCliTipo = GetTipoCliente();

            fiscal = new ParaisoFiscal.FiscalMZ();
            fiscal.OnChangeEstado += (new System.EventHandler(OnChangeEstado));
        }
Beispiel #20
0
 public Cuenta(string _action, ComprobanteDeVenta sender, string IdCuenta)
 {
     _parent   = sender;
     _idCuenta = IdCuenta;
     Init(_action);
 }
Beispiel #21
0
 public Cuenta(string _action, ComprobanteDeVenta sender)
 {
     _parent = sender;
     Init(_action);
 }
Beispiel #22
0
 /// <summary>
 /// Constructor. Crea una nueva instancia de la coleccion de items
 /// </summary>
 /// <param name="comprobanteDeVenta">
 /// El comprobante de venta que lo contiene
 /// </param>
 public ItemsComprobantes(string action, ComprobanteDeVenta comprobanteDeVenta)
 {
     _comprobanteDeVenta = comprobanteDeVenta;
     Init(action, null);
 }
 public ComprobantesDeVentaController(ComprobanteDeVenta _comprobante)
 {
     _comprobanteDeVenta = _comprobante;
     Init();
 }
Beispiel #24
0
 public ItemsComprobantes(string action, ComprobanteDeVenta comprobanteDeVenta, RelacionesComprobanteOrigenDestino relaciones)
 {
     _comprobanteDeVenta = comprobanteDeVenta;
     Init(action, relaciones);
 }
Beispiel #25
0
 public CondicionDeVenta(string action, ComprobanteDeVenta parent)
 {
     Comprobante = parent;
     Init(action, null);
 }
Beispiel #26
0
        public void ListenerAfterExecuteDependentTask(object sender)
        {
            if (sender.GetType() == typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta))
            {
                _compVenta = (ComprobanteDeVenta)sender;
                ArrayList aux = new ArrayList();
                aux = mz.erp.systemframework.Util.Parse(_tiposDeComprobantes, ",");
                bool ok = false;
                _MovimientosPorOR.Clear();
                _DataTableMovimientosPorOR.Clear();
                _ordenReparacionInstancias.Clear();
                _comprobantesOR.Clear();
                _comprobanteDetalleOR.Clear();
                //_idComprobanteORList.Clear();
                _dataOR = new st_OrdenReparacionDataset();
                ok      = aux.Contains(_compVenta.TipoComprobanteDestino);
                if (ok)
                {
                    /*Cambiar esta linea por una q acceda a la por tsa_comprobantesdetauxiliares*/
                    /*Version Anterior - German*/

                    /*
                     * System.Data.DataSet data = Workflow.GetCaminoComprobantesBottonUp(_compVenta.IdComprobanteOrigen,string.Empty);
                     * if(data.Tables[0].Rows.Count > 0)
                     * {
                     *
                     *      foreach(System.Data.DataRow row in data.Tables[0].Rows)
                     *      {
                     *              if(Convert.ToString(row["IdTipoDeComprobante"]).Equals("OR"))
                     *              {
                     *                      long IdComprobanteOR = Convert.ToInt64(row["IdComprobante"]);
                     *                      long IdInstanciaOrdenReparacion = 0;
                     *                      DataRow rowOR = mz.erp.businessrules.st_OrdenReparacion.GetByPk(Convert.ToString(IdComprobanteOR));
                     *                      if(rowOR == null)
                     *                              this._execute = false;
                     *                      else
                     *                      {
                     *                              if(_soloEquiposNuevos)
                     *                                      this._execute = Convert.ToBoolean(rowOR["EsEquipoNuevo"]);
                     *                              else this._execute = true;
                     *                      }
                     *                      if(this._execute)
                     *                      {
                     *
                     *                              if(_actualizaOR)
                     *                              {
                     *                                      string EstadoOREN = Variables.GetValueString(this._processParent.Process.ProcessName, this._taskName ,"EstadoOrdenDeReparacion.EquipoNuevo");
                     *                                      string EstadoOR = Variables.GetValueString(this._processParent.Process.ProcessName, this._taskName ,"EstadoOrdenDeReparacion.Default");
                     *
                     *                                      if(Convert.ToBoolean(rowOR["EsEquipoNuevo"]))
                     *                                      {
                     *                                              if(EstadoOREN != null && EstadoOREN != string.Empty)
                     *                                                      rowOR["IdEstadoOrdenReparacion"] = EstadoOREN;
                     *                                      }
                     *                                      else
                     *                                              if(EstadoOR != null && EstadoOR != string.Empty)
                     *                                                      rowOR["IdEstadoOrdenReparacion"] = EstadoOR;
                     *                                      rowOR["NumeroFactura"] = System.DBNull.Value;
                     *                                      rowOR["FechaFactura"]= System.DBNull.Value;
                     *                                      rowOR["FechaPrefactura"]= System.DBNull.Value;
                     *                                      _dataOR.st_OrdenReparacion.ImportRow(rowOR);
                     *                              }
                     *                              DataSet dataAux = mz.erp.businessrules.st_InstanciaOrdenReparacion.GetList(Convert.ToInt64(IdComprobanteOR));
                     *                              foreach(DataRow rowAux in dataAux.Tables[0].Rows)
                     *                              {
                     *                                      IdInstanciaOrdenReparacion = Convert.ToInt64(rowAux["IdInstanciaOrdenReparacion"]);
                     *                                      if(!_ordenReparacionInstancias.ContainsKey(IdComprobanteOR))
                     *                                              _ordenReparacionInstancias.Add(IdComprobanteOR, new ArrayList());
                     *                                      ArrayList instancias = (ArrayList)_ordenReparacionInstancias[IdComprobanteOR];
                     *                                      instancias.Add(IdInstanciaOrdenReparacion);
                     *                              }
                     *                              if(this._execute)
                     *                              {
                     *                                      tsa_ComprobantesOrdenReparacionDataset dataComprobanteOR = mz.erp.businessrules.tsa_ComprobantesOrdenReparacion.GetList(string.Empty, Convert.ToInt64(IdComprobanteOR));
                     *                                      if(dataComprobanteOR.Tables[0].Rows.Count != 1)
                     *                                              this._execute = false;
                     *                                      if(this._execute)
                     *                                      {
                     *                                              tsa_ComprobanteDetalleOrdenReparacionDataset dataComprobanteDetalleOR = mz.erp.businessrules.tsa_ComprobanteDetalleOrdenReparacion.GetList(string.Empty,Convert.ToInt64( IdComprobanteOR), long.MinValue);
                     *                                              _comprobantesOR.Add(Convert.ToInt64(IdComprobanteOR), dataComprobanteOR);
                     *                                              _comprobanteDetalleOR.Add(Convert.ToInt64(IdComprobanteOR), dataComprobanteDetalleOR);
                     *                                      }
                     *
                     *
                     *                              }
                     *
                     *                      }
                     *
                     *              }
                     *
                     *      }
                     * }
                     */

                    _ordenReparacionInstancias = _compVenta.GetORAsociadas();
                    if (_ordenReparacionInstancias.Count > 0)
                    {
                        foreach (long IdComprobanteOR in _ordenReparacionInstancias.Keys)
                        {
                            DataRow rowOR = mz.erp.businessrules.st_OrdenReparacion.GetByPk(Convert.ToString(IdComprobanteOR));
                            if (rowOR == null)
                            {
                                this._execute = false;
                            }
                            else
                            {
                                if (_soloEquiposNuevos)
                                {
                                    this._execute = Convert.ToBoolean(rowOR["EsEquipoNuevo"]);
                                }
                                else
                                {
                                    this._execute = true;
                                }
                            }
                            if (this._execute)
                            {
                                if (_actualizaOR)
                                {
                                    string EstadoOREN = Variables.GetValueString(this._processParent.Process.ProcessName, this._taskName, "EstadoOrdenDeReparacion.EquipoNuevo");
                                    string EstadoOR   = Variables.GetValueString(this._processParent.Process.ProcessName, this._taskName, "EstadoOrdenDeReparacion.Default");

                                    if (Convert.ToBoolean(rowOR["EsEquipoNuevo"]))
                                    {
                                        if (EstadoOREN != null && EstadoOREN != string.Empty)
                                        {
                                            rowOR["IdEstadoOrdenReparacion"] = EstadoOREN;
                                        }
                                    }
                                    else
                                    if (EstadoOR != null && EstadoOR != string.Empty)
                                    {
                                        rowOR["IdEstadoOrdenReparacion"] = EstadoOR;
                                    }
                                    rowOR["NumeroFactura"]           = System.DBNull.Value;
                                    rowOR["FechaFactura"]            = System.DBNull.Value;
                                    rowOR["FechaPrefactura"]         = System.DBNull.Value;
                                    rowOR["IdComprobantePrefactura"] = System.DBNull.Value;
                                    rowOR["IdComprobanteFactura"]    = System.DBNull.Value;
                                    _dataOR.st_OrdenReparacion.ImportRow(rowOR);
                                }
                                if (this._execute)
                                {
                                    //tsa_ComprobantesOrdenReparacionDataset dataComprobanteOR = mz.erp.businessrules.tsa_ComprobantesOrdenReparacion.GetList(string.Empty, Convert.ToInt64(IdComprobanteOR));
                                    tsa_ComprobantesOrdenReparacionDataset dataComprobanteOR = mz.erp.businessrules.tsa_ComprobantesOrdenReparacion.GetListByIdOrdenReparacion(Convert.ToInt64(IdComprobanteOR));
                                    if (dataComprobanteOR.Tables[0].Rows.Count != 1)
                                    {
                                        this._execute = false;
                                    }
                                    if (this._execute)
                                    {
                                        //tsa_ComprobanteDetalleOrdenReparacionDataset dataComprobanteDetalleOR = mz.erp.businessrules.tsa_ComprobanteDetalleOrdenReparacion.GetList(null, Convert.ToInt64( IdComprobanteOR), long.MinValue);
                                        tsa_ComprobanteDetalleOrdenReparacionDataset dataComprobanteDetalleOR = mz.erp.businessrules.tsa_ComprobanteDetalleOrdenReparacion.GetListByIdOrdenReparacion(Convert.ToInt64(IdComprobanteOR));
                                        _comprobantesOR.Add(Convert.ToInt64(IdComprobanteOR), dataComprobanteOR);
                                        _comprobanteDetalleOR.Add(Convert.ToInt64(IdComprobanteOR), dataComprobanteDetalleOR);
                                    }
                                }
                            }
                        }
                    }
                }

                if (_transicionesPorComprobante.Contains(_compVenta.TipoComprobanteDestino))
                {
                    this._transicionActual = Convert.ToInt64(_transicionesPorComprobante[_compVenta.TipoComprobanteDestino]);
                }
                else
                {
                    this._execute = false;
                }
                if (this._execute)
                {
                    GetRepuestos();
                }
            }
        }
Beispiel #27
0
        public void ListenerTaskDependentChanged(object sender)
        {
            if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta)))
            {
                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;


                    if (!(this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentas") ||
                          this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentasDV")))
                    {
                        _totalNetoComprobanteDeVentaChanged = this._totalNetoComprobanteDeVenta != comprobanteDeVenta.TotalNeto || _totalNetoComprobanteDeVentaChanged; // && !_idComprobanteDeVentaOrigenChanged;
                        if (_totalNetoComprobanteDeVentaChanged)                                                                                                        //|| _condicionDeVentaChanged)
                        {
                            this._totalConImpuestoComprobanteDeVenta             = comprobanteDeVenta.TotalConImpuestos;
                            this._totalNetoComprobanteDeVenta                    = comprobanteDeVenta.TotalNeto;
                            this._totalConImpuestosSinRecargosComprobanteDeVenta = comprobanteDeVenta.TotalConImpuestosSinRecargos;

                            if (ObjectHasChanged != null)
                            {
                                ObjectHasChanged(this, new EventArgs());
                            }
                        }
                    }
                    else
                    {
                        if ((this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentas") ||
                             this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentasDV")))
                        {
                            if (this._taskName.Equals("Devolver"))
                            {
                                this._totalConImpuestoComprobanteDeVentaOrigen             = comprobanteDeVenta.TotalConImpuestos;
                                this._totalNetoComprobanteDeVentaOrigen                    = comprobanteDeVenta.TotalNeto;
                                this._totalConImpuestosSinRecargosComprobanteDeVentaOrigen = comprobanteDeVenta.TotalConImpuestosSinRecargos;
                                this._totalComprobantedDeVentaOrigen = comprobanteDeVenta.Total;
                                this._condicionDeVentaOrigen         = comprobanteDeVenta.CondicionDeVenta;
                            }
                            else
                            {
                                if (this._taskName.Equals("Vender") || this._taskName.Equals("Prestar"))
                                {
                                    _totalNetoComprobanteDeVentaChanged = (this._totalNetoComprobanteDeVenta != (comprobanteDeVenta.TotalNeto - _totalNetoComprobanteDeVentaOrigen)) || _totalNetoComprobanteDeVentaChanged;                                    // && !_idComprobanteDeVentaOrigenChanged;


                                    this._totalConImpuestoComprobanteDeVentaDestino             = comprobanteDeVenta.TotalConImpuestos;
                                    this._totalNetoComprobanteDeVentaDestino                    = comprobanteDeVenta.TotalNeto;
                                    this._totalConImpuestosSinRecargosComprobanteDeVentaDestino = comprobanteDeVenta.TotalConImpuestosSinRecargos;
                                    this._totalComprobantedDeVentaDestino = comprobanteDeVenta.Total;
                                    this._condicionDeVentaDestino         = comprobanteDeVenta.CondicionDeVenta;


                                    if (_totalNetoComprobanteDeVentaChanged)                                    //|| _condicionDeVentaChanged)
                                    {
                                        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;
                                        }

                                        if (ObjectHasChanged != null)
                                        {
                                            ObjectHasChanged(this, new EventArgs());
                                        }
                                    }
                                }
                            }

                            /*
                             * _totalNetoComprobanteDeVentaChanged = this._totalNetoComprobanteDeVenta != comprobanteDeVenta.TotalNeto || _totalNetoComprobanteDeVentaChanged;// && !_idComprobanteDeVentaOrigenChanged;
                             * if(_totalNetoComprobanteDeVentaChanged )//|| _condicionDeVentaChanged)
                             * {
                             *
                             *      this._totalConImpuestoComprobanteDeVenta = comprobanteDeVenta.TotalConImpuestos;
                             *      this._totalNetoComprobanteDeVenta = comprobanteDeVenta.TotalNeto;
                             *      this._totalConImpuestosSinRecargosComprobanteDeVenta = comprobanteDeVenta.TotalConImpuestosSinRecargos;
                             *
                             *      if(ObjectHasChanged != null)
                             *              ObjectHasChanged(this, new EventArgs());
                             *
                             * }
                             */
                        }
                    }
                }
            }
        }
Beispiel #28
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;
                }
            }
        }