public void Commit()
        {
            string    idTipoDomicilio = ComprobantesRules.Momentos_Cuenta_Domicilio_Default(this._taskName);
            Domicilio dom             = this._cuenta.GetDomicilio(idTipoDomicilio);


            _rowComprobante["IdTipoDeComprobante"] = _idTipoDeComprobante;
            _rowComprobante["Numero"]             = _numero;
            _rowComprobante["IdResponsable"]      = _idResponsable;
            _rowComprobante["IdCuenta"]           = this._cuenta.IdCuenta;
            _rowComprobante["IdCondicionDeVenta"] = _idCondicionDeVenta;
            _rowComprobante["Fecha"]         = _fechaEmision;
            _rowComprobante["Observaciones"] = _observaciones;
            _rowComprobante["Cliente"]       = this._cuenta.Nombre;
            if (dom != null)
            {
                _rowComprobante["Domicilio"] = dom.DomicilioTexto;
            }
            else
            {
                _rowComprobante["Domicilio"] = this._cuenta.Domicilio;
            }
            _rowComprobante["TipoDocumento"] = this._cuenta.TipoDocumento;
            _rowComprobante["Documento"]     = this._cuenta.Documento;
            _rowComprobante["Aux1"]          = this._cuenta.CampoAuxiliar1;
            _rowComprobante["Aux2"]          = this._cuenta.CampoAuxiliar2;
            _rowComprobante["Aux2"]          = this._cuenta.CampoAuxiliar3;

            _dataVariablesAuxiliares = _variablesComprobante.CommitEdit(_idComprobante);
        }
Exemplo n.º 2
0
        public string ComprobanteDeEntregaSugerido(string ProcessName, string TaskName, string Estado)
        {
            //string[] arrayComprobantes = ComprobantesRules.Comprobantes_Admitidos_Segun_Momento( ProcessName, taskName );
            string idTiposComprobantes = Variables.GetValueString(ProcessName, TaskName, Estado + ".Comprobantes");

            if (idTiposComprobantes == null || idTiposComprobantes == string.Empty)
            {
                idTiposComprobantes = Variables.GetValueString(ProcessName, TaskName, "Comprobantes");
            }
            ArrayList arrayComprobantes             = mz.erp.systemframework.Util.Parse(idTiposComprobantes, ",");
            ArrayList arrayComprobantesPorCategoria = ComprobantesRules.CategoriaImpositiva_Comprobantes_Por_Tipo(this._categoriaImpositiva);

            foreach (string tc in arrayComprobantes)
            {
                /*
                 * for (int f=0;f<=(arrayComprobantesPorCategoria.Length -1) ;f++)
                 * {
                 *      if (tc.Trim().ToUpper() ==  arrayComprobantesPorCategoria[f].Trim().ToUpper() )
                 *              return tc.Trim().ToUpper();
                 * }
                 */
                foreach (string IdComp in arrayComprobantesPorCategoria)
                {
                    if (tc.Trim().ToUpper() == IdComp.Trim().ToUpper())
                    {
                        return(tc.Trim().ToUpper());
                    }
                }
            }
            return(string.Empty);
        }
Exemplo n.º 3
0
 private void SetEditablesProperty()
 {
     AllowEditTipoDeComprobante  = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, this._processManager.Process.ProcessName, "Emision.Editar.TComp");
     AllowEditCuenta             = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, this._processManager.Process.ProcessName, "Emision.Editar.Cuenta");
     AllowEditFecha              = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, this._processManager.Process.ProcessName, "Emision.Editar.Fecha");
     AllowEditResponsableEmision = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, this._processManager.Process.ProcessName, "Emision.Editar.REmision");
     AllowEditNumeration         = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, this._processManager.Process.ProcessName, "Emision.Editar.Numeracion");
     _numeracionManual           = AllowEditNumeration;
 }
Exemplo n.º 4
0
 public static void Reset()
 {
     _variables.Clear();
     _variablesPerfiles.Clear();
     _variablesPuestos.Clear();
     _variablesUsuarios.Clear();
     _variablesEmpresas.Clear();
     dataaccess.Variables.Reset();
     ComprobantesRules.Reset();
 }
Exemplo n.º 5
0
        private void SetEditablesProperty()
        {
            string cMomento = this.Momento;

            AllowEditTipoDeComprobante  = false; // ComprobantesRules.Momentos_Parametros_Bool( this.Momento, "Emision.Editar.TComp");
            AllowEditProveedor          = false; // ComprobantesRules.Momentos_Parametros_Bool( this.Momento, "Emision.Editar.Proveedor");
            AllowEditFecha              = true;  // ComprobantesRules.Momentos_Parametros_Bool( this.Momento, "Emision.Editar.Fecha");
            AllowEditFormasDePago       = false; //ComprobantesRules.Momentos_Parametros_Bool( this.Momento, "Emision.Editar.FPago");
            AllowEditCondicionDeVenta   = false; //ComprobantesRules.Momentos_Parametros_Bool( this.Momento, "Emision.Editar.CondVenta");
            AllowEditItems              = ComprobantesRules.Momentos_Parametros_Bool(this.Momento, "Emision.Editar.Items");
            AllowEditResponsableEmision = false; // ComprobantesRules.Momentos_Parametros_Bool( this.Momento, "Emision.Editar.REmision");
        }
Exemplo n.º 6
0
        private void SetEditableProperties()
        {
            string Tarea   = this._brClass.GetTaskName();
            string Proceso = this._brClass.GetProcessManagerParent().Process.ProcessName;

            _allowEditTipoDeComprobante   = ComprobantesRules.Momentos_Parametros_Bool(Tarea, Proceso, "Emision.Editar.TComp");
            _allowEditObservaciones       = ComprobantesRules.Momentos_Parametros_Bool(Tarea, Proceso, "Emision.Editar.Observaciones");
            _allowEditCuenta              = ComprobantesRules.Momentos_Parametros_Bool(Tarea, Proceso, "Emision.Editar.Cuenta");
            _allowEditFecha               = ComprobantesRules.Momentos_Parametros_Bool(Tarea, Proceso, "Emision.Editar.Fecha");
            _allowEditCondicionDeVenta    = ComprobantesRules.Momentos_Parametros_Bool(Tarea, Proceso, "Emision.Editar.CondVenta");
            _allowEditResponsableEmision  = ComprobantesRules.Momentos_Parametros_Bool(Tarea, Proceso, "Emision.Editar.REmision");
            _allowEditNumeration          = ComprobantesRules.Momentos_Parametros_Bool(Tarea, Proceso, "Emision.Editar.Numeracion");
            _allowEditVariablesAuxiliares = ComprobantesRules.Momentos_Parametros_Bool(Tarea, Proceso, "Emision.Editar.VariablesAuxiliares", _allowEditVariablesAuxiliares);
        }
        private void SetEditablesProperty()
        {
            string processName = this.GetProcessManagerParent().Process.ProcessName;

            _allowEditTipoDeComprobante       = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, processName, "Emision.Editar.TComp");
            _allowEditProveedor               = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, processName, "Emision.Editar.Proveedor");
            _allowEditFecha                   = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, processName, "Emision.Editar.Fecha");
            _allowEditResponsableEmision      = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, processName, "Emision.Editar.REmision");
            _allowEditNumeration              = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, processName, "Emision.Editar.Numeracion");
            _actualizaNumeracion              = !ComprobantesRules.Momentos_Parametros_Bool(this._taskName, processName, "Emision.Editar.Numeracion");
            _allowValidarNumeracion           = ComprobantesRules.Momentos_Parametros_Bool(this._taskName, processName, "Emision.Validar.Numeracion");
            _askForPasswordResponsableEmision = Variables.GetValueBool(this._taskName, processName, "Emision.HabilitarContraseña.REmision");
            _allowEditInstanciaDeCaja         = Variables.GetValueBool(this._taskName, processName, "Emision.Editar.IdInstanciaCaja", _allowEditInstanciaDeCaja);
        }
Exemplo n.º 8
0
        private string ComprobanteDeVentaSugerido()
        {
            //German 20120416 -  Tarea 0000247
            ArrayList arrayComprobantesPorCategoria = ComprobantesRules.CategoriaImpositiva_Comprobantes_Por_Tipo(this._cuenta.CategoriaImpositiva);;

            if (this._processManager.Process.ProcessName.Equals("ProcesoPrevenderVenderAcopio"))
            {
                if (arrayComprobantesPorCategoria.Contains("CREACOPA"))
                {
                    return("CREACOPA");
                }
                else
                {
                    return("CREACOPB");
                }
            }
            else
            if (this._processManager.Process.ProcessName.Equals("ProcesoPreprestarPrestarAcopio"))
            {
                if (arrayComprobantesPorCategoria.Contains("CREACOPAN"))
                {
                    return("CREACOPAN");
                }
                else
                {
                    return("CREACOPBN");
                }
            }
            else
            {
                foreach (DataRow row in _tableTiposDeComprobantes.Rows)
                {
                    //for (int f=0;f<=(arrayComprobantesPorCategoria.Length -1) ;f++)
                    foreach (string IdComp in arrayComprobantesPorCategoria)
                    {
                        if (Convert.ToString(row["IdTipoDeComprobante"]).Trim().ToUpper() == IdComp.Trim().ToUpper())
                        {
                            return(Convert.ToString(row["IdTipoDeComprobante"]).Trim().ToUpper());
                        }
                    }
                }
            }
            //Fin German 20120416 -  Tarea 0000247
            return(string.Empty);
        }
Exemplo n.º 9
0
        //public event RefrescarCuenta OnRefrescarCuenta;


        /*
         * public string ComprobanteDeVentaSugerido()
         * {
         *      string[] arrayComprobantes = ComprobantesRules.Comprobantes_Admitidos_Segun_Momento( this._parent.Momento );
         *      string[] arrayComprobantesPorCategoria = ComprobantesRules.CategoriaImpositiva_Comprobantes_Por_Tipo( this._categoriaImpositiva );
         *      for (int i=0; i<=(arrayComprobantes.Length - 1);i++)
         *      {
         *              for (int f=0;f<=(arrayComprobantesPorCategoria.Length -1) ;f++)
         *              {
         *                      if (arrayComprobantes[i].Trim().ToUpper() ==  arrayComprobantesPorCategoria[f].Trim().ToUpper() )
         *                              return arrayComprobantes[i].Trim().ToUpper();
         *              }
         *      }
         *      return string.Empty;
         *
         * }
         */

        public string ComprobanteDeVentaSugerido(string ProcessName, string taskName)
        {
            string[]  arrayComprobantes             = ComprobantesRules.Comprobantes_Admitidos_Segun_Momento(ProcessName, taskName);
            ArrayList arrayComprobantesPorCategoria = ComprobantesRules.CategoriaImpositiva_Comprobantes_Por_Tipo(this._categoriaImpositiva);

            for (int i = 0; i <= (arrayComprobantes.Length - 1); i++)
            {
                //for (int f=0;f<=(arrayComprobantesPorCategoria.Length -1) ;f++)
                foreach (string IdComp in arrayComprobantesPorCategoria)
                {
                    if (arrayComprobantes[i].Trim().ToUpper() == IdComp.Trim().ToUpper())
                    {
                        return(arrayComprobantes[i].Trim().ToUpper());
                    }
                }
            }
            return(string.Empty);
        }
Exemplo n.º 10
0
        private tpu_ComprobantesExDataset CommitMovimientosDeStock(tpu_ComprobantesExDataset data)
        {
            //Movimiento de Stock
            if (!this.ItemsComprobantes.Parent.Momento.Equals("PREPEDIR"))
            {
                string IdDeposito = ComprobantesRules.Momentos_Parametros(this.ItemsComprobantes.Parent.Momento, "Deposito");
                string IdSeccion  = ComprobantesRules.Momentos_Parametros(this.ItemsComprobantes.Parent.Momento, "Seccion");

                string IdEstadoStockOrigen  = string.Empty;
                string IdEstadoStockDestino = string.Empty;
                long   idMomentoDeStock     = tlg_TiposComprobantesOrigenDestino.GetMomento(this._idTipoComprobanteOrigen, this.ItemsComprobantes.Parent.TipoComprobanteDestino);
                //Stock.GetEstados( idMomentoDeStock, ref IdEstadoStockOrigen, ref IdEstadoStockDestino );

                if ((IdDeposito != string.Empty) && (IdSeccion != string.Empty))
                {
                    data = mz.erp.businessrules.tpu_ComprobantesEx.SetMovimientosDeStock(data, Security.IdSucursal, Security.IdEmpresa, IdDeposito, IdSeccion, null, IdEstadoStockOrigen, IdEstadoStockDestino, null, this._idProducto, this._cantidad);
                }
            }
            return(data);
        }
Exemplo n.º 11
0
        private void SetCaption(RecargosFormasDePago recargo)
        {
            _caption = "Seleccione la/s Formas de Pagos";
            string cap = " para la Cond. de Venta ";

            cap = cap + ((recargo.CondicionDeVenta.Equals(string.Empty))? string.Empty : recargo.CondicionDeVenta);
            //German 20100427 - Tarea 741
            if (ComprobantesRules.Momentos_MuestraRecargoCodicionDeVentaEnTituloPantallaSeleccionarFormaDePago(recargo.GetProcessManagerParent().Process.ProcessName, recargo.GetTaskName()))
            {
                string rec = string.Empty;
                if (!recargo.RecargoCondicionDeVenta.Equals(0))
                {
                    rec = Convert.ToString(recargo.RecargoCondicionDeVenta);
                }
                if (!rec.Equals(string.Empty))
                {
                    cap = cap + " Recargo: " + rec + "%";
                }
                _caption = _caption + cap;
            }
            //Fin German 20100427 - Tarea 741

            _caption = _caption + cap;
        }
Exemplo n.º 12
0
        /// <summary>
        /// Captura la información de la cuenta que no se almacena en el comprobante. Buscará la información directamente de
        /// los datos almacenados en el RDBM
        /// </summary>
        private void FillStaticData()
        {
            /* Silvina 20100730 - Tarea 806 */
            tsa_CuentasDataset.tsa_CuentasRow _row = mz.erp.businessrules.tsa_Cuentas.GetByPk(_idCuenta);
            /* Fin Silvina */
            if (_row != null)
            {
                string codigoClienteDePaso = Variables.GetValueString("Cuenta.ClienteDePaso.Default");
                if (!_row.Codigo.Equals(codigoClienteDePaso))
                {
                    this._nombre        = _row.Nombre;
                    _parent.InfoCliente = this._nombre;
                }
                else
                {
                    if ((this._nombre == null || this._nombre.Equals(string.Empty)) || _codigoChanged)
                    {
                        this._nombre        = _row.Nombre;
                        _parent.InfoCliente = this._nombre;
                    }
                }
                this._categoriaImpositiva = _row.IdCategoriaIva;
                this._tipoDocumento       = _row.idTipoDocumento;
                this._documento           = _row.Documento;
                this._domicilio           = _row.Domicilio;
                this._telefono            = _row.Telefono;
                this._codigo              = _row.Codigo;
                this._limiteDeCredito     = _row.LimiteDeCredito;
                this._diasLimiteDeCredito = _row.DiasLimiteDeCredito;
                this._excluyePercepcionIB = _row.ExcluyePercepcionIB;
                this._alicuotaPercepcionIngresosBrutos = _row.AlicuotaPercepcionIngresosBrutos;
                string idTipoDomicilio = ComprobantesRules.Momentos_Cuenta_Domicilio_Default(this._parent.Momento);

                /*Aca llamar a la funcion de la BD fn_getIdDomicilio*/
                string IdDomicilio = mz.erp.businessrules.tcs_DomiciliosCuentas.GetIdDomicilioDefault(IdCuenta, Convert.ToUInt32(idTipoDomicilio));
                /*Con el IdDimicilio que devuelve la funcion, ahcer un getByPk(IdDomicilio)*/

                this._domicilio = tcs_DomiciliosCuentas.GetDomicilioPorDefault(IdDomicilio);
                this._telefono  = tcs_DomiciliosCuentas.GetTelefonoPorDefault(IdDomicilio);
                this._localidad = tcs_DomiciliosCuentas.GetLocalidadPorDefault(IdDomicilio);
                //Matias 20110819 - Tarea 0000131
                this._codigoPostal    = tcs_DomiciliosCuentas.GetCpPorDefault(IdDomicilio);
                this._idProvincia     = tcs_DomiciliosCuentas.GetIdProvinciaPorDefault(IdDomicilio);
                this._codigoProvincia = tcs_DomiciliosCuentas.GetCodigoProvinciaPorDefault(IdDomicilio);
                this._email           = _row.Email;
                //FinMatias 20110819 - Tarea 0000131
                this._domiciliosAsociados = mz.erp.businessrules.tcs_DomiciliosCuentas.GetDomicilios(_idCuenta);

                this._saldoCtaCte   = _row.SaldoCtaCte;
                this._saldoCtaCteDV = _row.SaldoCtaCteDV;

                //Sabrina 20100615 - Tarea 765
                this._idListaDePreciosDefault = _row.IdListaDePreciosDefault;
                //Fin Sabrina 20100615 - Tarea 765

                _parent.InfoDomicilio     = this._domicilio;
                _parent.InfoTipoDocumento = this._tipoDocumento;
                _parent.InfoDocumento     = this._documento;
                _parent.InfoObservaciones = "Código de cliente: " + this._codigo + ".";
//				_parent.InfoAux1 = this._nombre;
//				_parent.InfoAux2 = this._nombre;
//				_parent.InfoAux3 = this._nombre;

                /* Silvina 20111104 - Tarea 0000222 */
                if (_jerarquiaCuentas.Equals(_campoAuxiliar6Cuentas))
                {
                    ArrayList jer = new ArrayList();
                    ArrayList CampoAuxiliar6BDList = mz.erp.systemframework.Util.Parse(_row.CampoAuxiliar6, ",");
                    foreach (string aux in CampoAuxiliar6BDList)
                    {
                        if (aux != null && aux != string.Empty)
                        {
                            DataRow row = mz.erp.businessrules.tsa_JerarquiaAgrupCuentas.GetPkByDescripcion(aux);
                            if (row != null)
                            {
                                jer.Add(row["Jerarquia"].ToString());
                            }
                        }
                    }
                    _jerarquiaCategorias = systemframework.Util.PackString(jer);
                }
                else
                {
                    dataCuentaJerarquia  = tsa_AgrupCuentas.GetList(_idCuenta);
                    _jerarquiaCategorias = string.Empty;
                    foreach (DataRow row in dataCuentaJerarquia.Tables[0].Rows)
                    {
                        if (row["Jerarquia"].ToString().Contains(_jerarquiaCuentas))
                        {
                            _jerarquiaCategorias = row["Jerarquia"].ToString();
                        }
                    }
                }
                /* Fin Silvina 20111104 - Tarea 0000222 */
                /* Silvina 20120413 - Tarea 0000275 */
                _idDomicilioDefault = _row.IdDomicilioDefault;
                /* Fin Silvina 20120413 - Tarea 0000275 */
            }
        }
Exemplo n.º 13
0
        //Esta sobrecarga recibe como parametro el IdComprobante del comprobante
        //que esta imputado o no con un comprobante de pago
        //Esta sobrecarga debe recuperar primero el comprobante de pago

        public static ComprobanteDePago GetComprobanteDePago(string IdComprobanteDeVenta, string IdCondicionDeVenta)
        {
            ComprobanteDePago cdp;

            CuentaCorriente ctacte = Factory.GetCuentaCorriente();
            string          IdComprobanteDePago = "";

            tsa_ComprobanteValoresVarAuxDataset.tsa_ComprobanteValoresVarAuxRow rowVarAux = mz.erp.businessrules.tsa_ComprobanteValoresVarAux.GetByPk(IdComprobanteDeVenta, "11");
            if (rowVarAux != null)
            {
                IdComprobanteDePago = rowVarAux.Valor;
            }
            //mz.erp.businessrules.tsa_ComprobanteValoresVarAux.GetByPk(IdComprobanteDeVenta,"11").Valor;	}
            //se chequea que exista un comprobante de pago asociado, puesto que puede que no se haya generado comprobante de pago
            //No se generan comprobantes de pagos si no se han ingresado valores

            if (IdComprobanteDePago != null && !IdComprobanteDePago.Equals(string.Empty))
            {
                System.Data.DataRow rowComprobanteDePago = mz.erp.businessrules.tsa_Comprobantes.GetByPk(IdComprobanteDePago);


                System.Data.DataRow rowDetalleDeudaComprobanteDePago   = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetByPk(IdComprobanteDePago, 1);
                System.Data.DataSet dataDetalleDeudaComprobanteDeVenta = mz.erp.businessrules.tsa_ComprobanteDetalleDeuda.GetList(IdComprobanteDeVenta, null, null);

                if (ComprobantesRules.Comprobantes_CondicionDeVenta_Permite_Imputar(IdCondicionDeVenta))
                {
                    //DetalleCuentaCorriente dccComprobanteDePago = Factory.GetDetalleCuentaCorriente(rowDetalleDeudaComprobanteDePago);
                    //DetalleCuentaCorriente dccComprobanteDeVenta = Factory.GetDetalleCuentaCorriente(rowDetalleDeudaComprobanteDeVenta);
                    //ctacte.Detalle.Add(dccComprobanteDePago);
                    //ctacte.Detalle.Add(dccComprobanteDeVenta);

                    foreach (System.Data.DataRow rowDetalleDeudaComprobanteDeVenta in dataDetalleDeudaComprobanteDeVenta.Tables[0].Rows)
                    {
                        DetalleCuentaCorriente dccComprobanteDeVenta = Factory.GetDetalleCuentaCorriente(rowDetalleDeudaComprobanteDeVenta);
                        ctacte.Detalle.Add(dccComprobanteDeVenta);
                    }


                    decimal total = (decimal)rowComprobanteDePago["Total"];
                    decimal pago  = total - (decimal)rowDetalleDeudaComprobanteDePago["Saldo"];
                    cdp = Factory.GetComprobanteDePago(IdComprobanteDePago, total, pago, ctacte, IdCondicionDeVenta);
                }
                else
                {
                    //decimal total = (decimal) rowComprobanteDePago["Total"];
                    //decimal pago = total - (decimal) rowDetalleDeudaComprobanteDePago["Saldo"];
                    cdp           = Factory.GetComprobanteDePago(IdComprobanteDePago, 0, 0, ctacte, IdCondicionDeVenta);
                    cdp.Total     = (decimal)rowComprobanteDePago["Total"];
                    cdp.Saldo     = (decimal)rowDetalleDeudaComprobanteDePago["Saldo"];
                    cdp.TotalPago = cdp.Total - cdp.Saldo;
                }
                cdp.Anular = true;
                cdp.TipoComprobanteDestino = (string)rowComprobanteDePago["IdTipoDeComprobante"];
            }
            else
            {
                cdp = Factory.GetComprobanteDePago();
            }

            return(cdp);
        }
Exemplo n.º 14
0
    //Fin German 20100428

    public static string[] Comprobantes_Admitidos_Segun_Momento(string procesName, string taskName)
    {
        string valores = ComprobantesRules.Momentos_Parametros(procesName, taskName, "Comprobantes");

        return(valores.Split(new char[] { Convert.ToChar(",") }, 50));
    }
Exemplo n.º 15
0
        public void Commit()
        {
            /*Anterior - German*/

            /*
             * if(_execute)
             * {
             *      string _idDeposito = ComprobantesRules.TareaProceso_GetDeposito(this._processParent.Process.ProcessName, this._taskName);//Variables.GetValueString( "Momentos."+this._taskName+".Deposito" );
             *      string _idSeccion =  ComprobantesRules.TareaProceso_GetSeccion(this._processParent.Process.ProcessName, this._taskName);//Variables.GetValueString( "Momentos."+this._taskName+".Seccion" );
             *      long IdOR = 0;
             *      foreach(long IdOrdenreparacion  in _ordenReparacionInstancias.Keys)
             *      {
             *              ArrayList instancias = (ArrayList)_ordenReparacionInstancias[IdOrdenreparacion];
             *              foreach(long IdIsntanciaOrdenreparacion in instancias)
             *              {
             *                      mz.erp.businessrules.GenerarMovimientosDeStock _movimientos = new GenerarMovimientosDeStock( _idDeposito, _idSeccion );
             *                      string aux = Convert.ToString(IdOrdenreparacion) +":"+Convert.ToString(IdIsntanciaOrdenreparacion);
             *                      _MovimientosPorOR.Add(aux, _movimientos);
             *              }
             *      }
             *      string prefacturas = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Prefacturas");
             *      string prefacturasDV = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Prefacturas DV");
             *      ArrayList compPrevios = mz.erp.systemframework.Util.Parse(prefacturas, ",");
             *      compPrevios.AddRange(mz.erp.systemframework.Util.Parse(prefacturasDV, ","));
             *
             *      foreach (ItemComprobante _item in _compVenta.Items.ItemsNoVisibles)
             *      {
             *
             *              DataSet dataOR = Workflow.GetCaminoComprobantesOrdinalBottonUp(_item.ItemsComprobantes.ComprobanteDeVenta.IdComprobanteOrigen, _item.OrdinalOrigen, "OR");
             *              IdOR = GetORAsociada(dataOR);
             *              long IdInsOR = GetInstanciaORAsociada(_item, IdOR);
             *              if(!IdInsOR.Equals(long.MinValue))
             *              {
             *                      string aux = Convert.ToString(IdOR) +":"+Convert.ToString(IdInsOR);
             *                      if(!IdOR.Equals(long.MinValue) && _comprobantesOR.Contains(IdOR))
             *                      {
             *                              if(_item.AfectaStock && !EstaReservado(_item, IdOR,IdInsOR))
             *                              {
             *                                      if(_MovimientosPorOR.Contains(aux))
             *                                      {
             *                                              GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
             *                                              _movimientos.Add( _transicionActual, _item.IdProducto, _item.Cantidad );
             *                                      }
             *
             *                              }
             *                              else
             *                              {
             *                                      if(_item.AfectaStock && EstaReservado(_item, IdOR, IdInsOR))
             *                                      {
             *                                              if(_MovimientosPorOR.Contains(aux))
             *                                              {
             *
             *                                                      GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
             *                                                      _movimientos.Add( Convert.ToInt64(2), _item.IdProducto, _item.Cantidad );
             *                                              }
             *                                      }
             *                              }
             *                              EliminarRepuesto(_item, IdOR, IdInsOR);
             *
             *                      }
             *              }
             *
             *
             *
             *      }
             *
             *      foreach (ItemComprobante _item in _compVenta.Items)
             *      {
             *
             *              if(! _item.IdTipoProducto.Equals("E") && ! _item.IdTipoProducto.Equals("S"))
             *              {
             *                      DataSet dataOR = Workflow.GetCaminoComprobantesOrdinalBottonUp(_item.ItemsComprobantes.ComprobanteDeVenta.IdComprobanteOrigen, _item.OrdinalOrigen, "OR");
             *                      IdOR = GetORAsociada(dataOR);
             *                      long IdInsOR = GetInstanciaORAsociada(_item, IdOR);
             *                      if(!IdInsOR.Equals(long.MinValue))
             *                      {
             *                              string aux = Convert.ToString(IdOR) +":"+Convert.ToString(IdInsOR);
             *                              if(!IdOR.Equals(long.MinValue) && _comprobantesOR.Contains(IdOR))
             *                              {
             *                                      if(_item.AfectaStock && !EstaReservado(_item, IdOR, IdInsOR))
             *                                      {
             *                                              if(_MovimientosPorOR.Contains(aux))
             *                                              {
             *                                                      GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
             *                                                      _movimientos.Add( _transicionActual, _item.IdProducto, _item.Cantidad );
             *                                              }
             *
             *                                      }
             *                                      else
             *                                      {
             *                                              if(_item.AfectaStock && EstaReservado(_item, IdOR, IdInsOR))
             *                                              {
             *
             *                                                      if(_MovimientosPorOR.Contains(aux))
             *                                                      {
             *                                                              GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
             *                                                              _movimientos.Add( Convert.ToInt64(2), _item.IdProducto, _item.Cantidad );
             *                                                      }
             *                                              }
             *                                      }
             *                                      EliminarRepuesto(_item, IdOR, IdInsOR);
             *
             *                              }
             *                      }
             *              }
             *
             *      }
             *
             *
             *      foreach(string IdORIdInsOR in _MovimientosPorOR.Keys)
             *      {
             *              GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[IdORIdInsOR];
             *              mz.erp.commontypes.data.tlg_MovimientosDeStockDataset.tlg_MovimientosDeStockDataTable _table = Stock.GetDataTableStock( _movimientos );
             *              _DataTableMovimientosPorOR.Add(IdORIdInsOR, _table);
             *      }
             *
             *
             *      foreach(long IdOrdenRep in _comprobantesOR.Keys)
             *      {
             *              tsa_ComprobantesOrdenReparacionDataset dataComprobanteOR = (tsa_ComprobantesOrdenReparacionDataset)_comprobantesOR[IdOrdenRep];
             *              dataComprobanteOR.Tables[0].Rows[0].Delete();
             *      }
             *
             *      foreach(long IdOrdenRep in _comprobanteDetalleOR.Keys)
             *      {
             * tsa_ComprobanteDetalleOrdenReparacionDataset dataComprobanteDetalleOR = (tsa_ComprobanteDetalleOrdenReparacionDataset)_comprobanteDetalleOR[IdOrdenRep]	;
             *              foreach(DataRow rowCompDetOR in dataComprobanteDetalleOR.Tables[0].Rows)
             *              {
             *                      rowCompDetOR.Delete();
             *              }
             *      }
             *
             *
             * }
             */

            if (_execute)
            {
                string _idDeposito = ComprobantesRules.TareaProceso_GetDeposito(this._processParent.Process.ProcessName, this._taskName);               //Variables.GetValueString( "Momentos."+this._taskName+".Deposito" );
                string _idSeccion  = ComprobantesRules.TareaProceso_GetSeccion(this._processParent.Process.ProcessName, this._taskName);                //Variables.GetValueString( "Momentos."+this._taskName+".Seccion" );
                long   IdOR        = 0;
                foreach (long IdOrdenreparacion  in _ordenReparacionInstancias.Keys)
                {
                    ArrayList instancias = (ArrayList)_ordenReparacionInstancias[IdOrdenreparacion];
                    foreach (long IdIsntanciaOrdenreparacion in instancias)
                    {
                        mz.erp.businessrules.GenerarMovimientosDeStock _movimientos = new GenerarMovimientosDeStock(_idDeposito, _idSeccion);
                        string aux = Convert.ToString(IdOrdenreparacion) + ":" + Convert.ToString(IdIsntanciaOrdenreparacion);
                        _MovimientosPorOR.Add(aux, _movimientos);
                    }
                }
                string    prefacturas   = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Prefacturas");
                string    prefacturasDV = Variables.GetValueString("Comprobantes.TiposDeComprobantes.Prefacturas DV");
                ArrayList compPrevios   = mz.erp.systemframework.Util.Parse(prefacturas, ",");
                compPrevios.AddRange(mz.erp.systemframework.Util.Parse(prefacturasDV, ","));

                foreach (ItemComprobante _item in _compVenta.Items.ItemsNoVisibles)
                {
                    //DataSet dataOR = Workflow.GetCaminoComprobantesOrdinalBottonUp(_item.ItemsComprobantes.ComprobanteDeVenta.IdComprobanteOrigen, _item.OrdinalOrigen, "OR");
                    IdOR = _item.IdOrdenReparacion;                     //GetORAsociada(dataOR);
                    long IdInsOR = _item.IdInstanciaOrdenReparacion;
                    if (/*!IdInsOR.Equals(long.MinValue)*/ IdOR > 0 && IdInsOR > 0)
                    {
                        string aux = Convert.ToString(IdOR) + ":" + Convert.ToString(IdInsOR);
                        if (!IdOR.Equals(long.MinValue) && _comprobantesOR.Contains(IdOR))
                        {
                            if (_item.AfectaStock && !EstaReservado(_item, IdOR, IdInsOR))
                            {
                                if (_MovimientosPorOR.Contains(aux))
                                {
                                    GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
                                    _movimientos.Add(_transicionActual, _item.IdProducto, _item.Cantidad, _idAjusteDeStockOrigen, _idAjusteDeStockDestino);
                                }
                            }
                            else
                            {
                                if (_item.AfectaStock && EstaReservado(_item, IdOR, IdInsOR))
                                {
                                    if (_MovimientosPorOR.Contains(aux))
                                    {
                                        GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
                                        _movimientos.Add(Convert.ToInt64(2), _item.IdProducto, _item.Cantidad, _idAjusteDeStockOrigen, _idAjusteDeStockDestino);
                                    }
                                }
                            }
                            EliminarRepuesto(_item, IdOR, IdInsOR);
                        }
                    }
                }

                foreach (ItemComprobante _item in _compVenta.Items)
                {
                    if (!_item.IdTipoProducto.Equals("E") && !_item.IdTipoProducto.Equals("S"))
                    {
                        //DataSet dataOR = Workflow.GetCaminoComprobantesOrdinalBottonUp(_item.ItemsComprobantes.ComprobanteDeVenta.IdComprobanteOrigen, _item.OrdinalOrigen, "OR");
                        IdOR = _item.IdOrdenReparacion;                         //GetORAsociada(dataOR);
                        long IdInsOR = _item.IdInstanciaOrdenReparacion;
                        if (/*!IdInsOR.Equals(long.MinValue)*/ IdOR > 0 && IdInsOR > 0)
                        {
                            string aux = Convert.ToString(IdOR) + ":" + Convert.ToString(IdInsOR);
                            if (!IdOR.Equals(long.MinValue) && _comprobantesOR.Contains(IdOR))
                            {
                                if (_item.AfectaStock && !EstaReservado(_item, IdOR, IdInsOR))
                                {
                                    if (_MovimientosPorOR.Contains(aux))
                                    {
                                        GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
                                        _movimientos.Add(_transicionActual, _item.IdProducto, _item.Cantidad, _idAjusteDeStockOrigen, _idAjusteDeStockDestino);
                                    }
                                }
                                else
                                {
                                    if (_item.AfectaStock && EstaReservado(_item, IdOR, IdInsOR))
                                    {
                                        if (_MovimientosPorOR.Contains(aux))
                                        {
                                            GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[aux];
                                            _movimientos.Add(Convert.ToInt64(2), _item.IdProducto, _item.Cantidad, _idAjusteDeStockOrigen, _idAjusteDeStockDestino);
                                        }
                                    }
                                }
                                EliminarRepuesto(_item, IdOR, IdInsOR);
                            }
                        }
                    }
                }


                foreach (string IdORIdInsOR in _MovimientosPorOR.Keys)
                {
                    GenerarMovimientosDeStock _movimientos = (GenerarMovimientosDeStock)_MovimientosPorOR[IdORIdInsOR];
                    mz.erp.commontypes.data.tlg_MovimientosDeStockDataset.tlg_MovimientosDeStockDataTable _table = Stock.GetDataTableStock(_movimientos);
                    _DataTableMovimientosPorOR.Add(IdORIdInsOR, _table);
                }


                foreach (long IdOrdenRep in _comprobantesOR.Keys)
                {
                    tsa_ComprobantesOrdenReparacionDataset dataComprobanteOR = (tsa_ComprobantesOrdenReparacionDataset)_comprobantesOR[IdOrdenRep];
                    dataComprobanteOR.Tables[0].Rows[0].Delete();
                }

                foreach (long IdOrdenRep in _comprobanteDetalleOR.Keys)
                {
                    tsa_ComprobanteDetalleOrdenReparacionDataset dataComprobanteDetalleOR = (tsa_ComprobanteDetalleOrdenReparacionDataset)_comprobanteDetalleOR[IdOrdenRep];
                    foreach (DataRow rowCompDetOR in dataComprobanteDetalleOR.Tables[0].Rows)
                    {
                        rowCompDetOR.Delete();
                    }
                }
            }
        }