Esempio n. 1
0
        private void obras_ingreso_Load(object sender, EventArgs e)
        {
            sMil = P.Auxiliar.getSeparadorMil;
            DateTime tmp_fecha;

            tmp_fecha = Today.AddMonths(-6);
            ACode.Vperiodo tmp_per = new ACode.Vperiodo(tmp_fecha.Year, tmp_fecha.Month);

            Tfecha_compra.Value        = Today;
            Tfecha_compra.CustomFormat = "dd-MM-yyyy";
            Tfecha_compra.MaxDate      = Today;
            Tfecha_compra.MinDate      = tmp_per.first;

            Tfecha_conta.Value        = Today;
            Tfecha_conta.CustomFormat = "dd-MM-yyyy";
            Tfecha_conta.MaxDate      = Today;
            Tfecha_conta.MinDate      = tmp_per.first;

            //zonas
            cboZona.Items.AddRange(P.Consultas.zonas.SearchList().ToArray());
            cboZona.SelectedIndex = -1;

            //proveedor
            cboProveedor.Items.AddRange(P.Consultas.proveedores.listar().ToArray());
            cboProveedor.SelectedIndex = -1;

            color_btn = btn_guardar.BackColor;
        }
        //public List<SV_CORRECTION_MONETARY_VALUE> ByPeriod(string periodo)
        //{
        //    return _source.Where(x => x.period == periodo).ToList();
        //}

        public SV_CORRECTION_MONETARY_VALUE byAplica(DateTime fecha_compra, ACode.Vperiodo Periodo)
        {
            if (Periodo.last.Year == fecha_compra.Year)
            {
                var r = _source.Where(x => x.applyTo == fecha_compra.Month).FirstOrDefault();
                if (r != null)
                {
                    return(r);
                }
                else
                {
                    return(SV_CORRECTION_MONETARY_VALUE.empty);
                }
            }
            else
            {
                var r = _source.Where(x => x.applyTo == 0).FirstOrDefault();
                if (r != null)
                {
                    return(r);
                }
                else
                {
                    return(SV_CORRECTION_MONETARY_VALUE.empty);
                }
            }
        }
Esempio n. 3
0
 private void load_data()
 {
     if (_codigo != 0)   // && _parte != 0
     {
         PD.SV_SYSTEM              DefSistema = P.Consultas.sistema.Default();
         ACode.Vperiodo            periodo    = new ACode.Vperiodo(Today.Year, Today.Month);
         DateTime                  desde      = DateTime.MinValue;
         DateTime                  hasta      = DateTime.MaxValue;
         List <PD.DETAIL_MOVEMENT> resultado  = P.Consultas.listar_cambios(DefSistema, periodo, _codigo, _parte, desde, hasta, null, null);
         if (resultado.Count > 0)
         {
             cod_art.Text   = _codigo.ToString();
             Tarticulo.Text = resultado[0].desc_breve;
         }
         else
         {
             empty_fields();
         }
         detalle.SetObjects(resultado);
     }
     else
     {
         empty_fields();
     }
 }
Esempio n. 4
0
        public void load_data()
        {
            //cargar información en los controles que no varian
            //periodo contable
            var TPcontab = P.Consultas.periodo_contable.ingreso();

            _contabilizar = P.Consultas.periodo_contable.abierto();

            cbFecha_ing.Items.Clear();
            cbFecha_ing.Items.AddRange(P.Consultas.periodo_contable.ingreso().ToArray());
            cbFecha_ing.SelectedItem = _contabilizar;

            //fecha de compra
            var tempo = new ACode.Vperiodo(DateTime.Today.Year, DateTime.Today.Month);

            Tfecha_compra.Value        = _contabilizar.first;
            Tfecha_compra.CustomFormat = "dd-MM-yyyy";
            Tfecha_compra.MaxDate      = DateTime.Today;
            Tfecha_compra.MinDate      = (tempo - 5).first;

            //zonas
            cboZona.Items.Clear();
            cboZona.Items.AddRange(P.Consultas.zonas.All().ToArray());
            cboZona.SelectedIndex = -1;

            //consistencia / tipo
            cboConsist.Items.Clear();
            cboConsist.Items.AddRange(P.Consultas.tipos.All().ToArray());
            try
            {
                cboConsist.SelectedIndex = 0;
            }
            catch (Exception ex)
            {
                P.Mensaje.Error(ex.Message);
                P.Mensaje.Error(ex.StackTrace);
            }

            //categoria
            cboCateg.Items.Clear();
            cboCateg.Items.AddRange(P.Consultas.categorias.All().ToArray());
            cboCateg.SelectedIndex = -1;

            //proveedor
            cboProveedor.Items.Clear();
            cboProveedor.Items.AddRange(P.Consultas.proveedores.listar().ToArray());
            cboProveedor.SelectedIndex = -1;

            //Gestion
            cboGestion.Items.Clear();
            cboGestion.Items.AddRange(P.Consultas.gestiones.All());
            cboGestion.SelectedIndex = -1;
        }
Esempio n. 5
0
        private void btn_generar_Click(object sender, EventArgs e)
        {
            //Valido formulario
            foreach (Control cnt in this.Controls)
            {
                if (cnt.GetType() == typeof(ComboBox))
                {
                    var combo = (ComboBox)cnt;
                    if (combo.SelectedIndex < 0)
                    {
                        MessageBox.Show("Debe seleccionar una opción para " + combo.Tag.ToString());
                        combo.Focus();
                        return;
                    }
                }
                if (cnt.GetType() == typeof(ListBox))
                {
                    var listbox = (ListBox)cnt;
                    if (listbox.SelectedIndex < 0)
                    {
                        MessageBox.Show("Debe seleccionar una opción para " + listbox.Tag.ToString());
                        listbox.Focus();
                        return;
                    }
                }
            }

            //Obtengo valores del formulario
            int año_desde = ((V.GENERIC_VALUE)cb_desde_y.SelectedItem).id;
            int mes_desde = ((V.GENERIC_VALUE)cb_desde_m.SelectedItem).id;
            int año_hasta = ((V.GENERIC_VALUE)cb_hasta_y.SelectedItem).id;
            int mes_hasta = ((V.GENERIC_VALUE)cb_hasta_m.SelectedItem).id;
            int acumulado = ((V.GENERIC_VALUE)cb_acum.SelectedItem).id;

            ACode.Vperiodo desde, hasta;
            desde = new ACode.Vperiodo(año_desde, mes_desde);
            hasta = new ACode.Vperiodo(año_hasta, mes_hasta, acumulado);
            int situacion = ((V.GENERIC_VALUE)cb_situacion.SelectedItem).id;

            if (lb_reporte.SelectedItem.GetType() == typeof(V.SV_SYSTEM))
            {
                var sistema = (V.SV_SYSTEM)lb_reporte.SelectedItem;
                P.Reportes.bajas_detalle(desde, hasta, situacion, sistema);
                MessageBox.Show("Reporte OK");
            }
        }
Esempio n. 6
0
        public List <DETAIL_MOVEMENT> get_changed_mov(SV_SYSTEM sistema, ACode.Vperiodo periodo, DateTime desde, DateTime hasta, int codigo, int parte, bool WithParameters, SV_KIND[] clases, SV_ZONE[] zonas)
        {
            var resultado = new List <DETAIL_MOVEMENT>();
            var principal = get_changed(sistema, desde, hasta, codigo, parte, WithParameters, clases, zonas);

            foreach (var cambio in principal)
            {
                var anteriores = get_detailed(sistema, cambio.fecha_inicio.AddMinutes(-1), cambio.cod_articulo, WithParameters, true);
                if (anteriores.Count > 0)
                {
                    var single_ant = anteriores.Where(a => a.PartId == cambio.PartId).First();
                    if (single_ant != null)
                    {
                        var mov = new DETAIL_MOVEMENT(single_ant, cambio, Situaciones);
                        resultado.Add(mov);
                    }
                }
            }
            return(resultado);
        }
Esempio n. 7
0
 public static List <PD.DETAIL_MOVEMENT> listar_cambios(PD.SV_SYSTEM Vsistema, ACode.Vperiodo periodo, int BatchId, int PartIndex, DateTime desde, DateTime hasta, PD.SV_KIND[] Vclases, PD.SV_ZONE[] Vzonas)
 {
     using (var cServ = new ServiceProcess.ServiceAFN2())
         return(cServ.Proceso.changed_movimiento(Vsistema, periodo, BatchId, PartIndex, desde, hasta, Vclases, Vzonas));
 }
Esempio n. 8
0
        private RespuestaAccion baja_act(int codigo_articulo, int parte_articulo, DateTime newfecha, int newcantidad, string usuario, List <C.DetalleArticulo> detalle_articulos, SV_VALIDATY tipo_baja)
        {
            var res = new RespuestaAccion();

            try
            {
                ACode.Vperiodo prev_periodo = new ACode.Vperiodo(newfecha.Year, newfecha.Month) - 1;
                //valido que parte existe
                SV_PART partToDown = Partes.ByLotePart(codigo_articulo, parte_articulo);
                if (partToDown == null)
                {
                    res.set(-2, "Activo Fijo no puede ser vendido, ya que no existe la parte solicitada");
                    return(res);
                }
                //determino si necesito crear una nueva parte para bajar
                if (partToDown.quantity > newcantidad)
                {
                    res = CREATE_NEW_PART_FROM(codigo_articulo, partToDown.id, newcantidad, newfecha);
                    if (res.codigo < 0)
                    {
                        return(res);
                    }
                    int newPartId = res.result_objs[0].id;
                    partToDown = Partes.ById(newPartId);
                }

                //determino cabecera vigente
                SV_TRANSACTION_HEADER headPrev = cabeceras.byPartFechaValid(partToDown.id, newfecha);
                if (headPrev == null)
                {
                    res.set(-3, "Activo Fijo no puede ser dado de baja (" + tipo_baja.name + "), no tiene una transaccion vigente al periodo");
                    return(res);
                }

                //crear nueva cabecera de transaccion
                res = REGISTER_DOWNS_HEAD(partToDown.id, newfecha, headPrev, usuario, tipo_baja);
                //TODO: reporto en log hitos
                if (res.codigo < 0)
                {
                    return(res);
                }

                var headDown   = res.result_objs[0];
                var AllSystems = sistemas.All();
                //agregar valores de detalle y parametros para la cabecera
                foreach (SV_SYSTEM currSys in AllSystems)
                {
                    //compruebo si la transaccion anterior tenía detalle para este ambiente
                    SV_TRANSACTION_DETAIL findDet = detalles.GetByPartSystem(headPrev.id, currSys);
                    if (findDet != null)
                    {
                        //ingreso detalle de transaccion
                        res = REGISTER_DOWNS_DETAIL(headDown.id, currSys.id, tipo_baja);
                        if (res.codigo < 0)
                        {
                            return(res);
                        }

                        if (currSys.ENVIORMENT.depreciation_rate == "daily")
                        {
                            //si deprecio en días (IFRS) debo depreciar solo los dias desde el ultimo cierre
                            var currProc = get_detailed(currSys, prev_periodo.last, codigo_articulo, true, true).FirstOrDefault();
                            if (currProc != null)
                            {
                                //determino los valores de depreciados segun corresponda
                                var depreciado = new DETAIL_DEPRECIATE(currProc, 0, newfecha);
                                //ingreso parametros
                                decimal monto_param;
                                if (depreciado.val_AF_cm != 0)
                                {
                                    SV_PARAMETER currParam = parametros.PrecioBase;
                                    monto_param = depreciado.val_AF_cm / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                                if (depreciado.DA_AF != 0)
                                {
                                    SV_PARAMETER currParam = parametros.DepreciacionAcum;
                                    monto_param = depreciado.DA_AF / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                                if (depreciado.credi_adi_cm != 0)
                                {
                                    SV_PARAMETER currParam = parametros.Credito;
                                    monto_param = depreciado.credi_adi_cm / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                                if (depreciado.deter != 0)
                                {
                                    SV_PARAMETER currParam = parametros.Deterioro;
                                    monto_param = depreciado.deter / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                                if (depreciado.val_res != 0)
                                {
                                    SV_PARAMETER currParam = parametros.ValorResidual;
                                    monto_param = depreciado.val_res / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                                if (depreciado.vu_resi != 0)
                                {
                                    SV_PARAMETER currParam = parametros.VidaUtil;
                                    res = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, depreciado.vu_resi);
                                }
                                if (depreciado.preparacion != 0)
                                {
                                    SV_PARAMETER currParam = parametros.Preparacion;
                                    monto_param = depreciado.preparacion / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                                if (depreciado.transporte != 0)
                                {
                                    SV_PARAMETER currParam = parametros.Transporte;
                                    monto_param = depreciado.transporte / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                                if (depreciado.montaje != 0)
                                {
                                    SV_PARAMETER currParam = parametros.Montaje;
                                    monto_param = depreciado.montaje / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                                if (depreciado.desmantelamiento != 0)
                                {
                                    SV_PARAMETER currParam = parametros.Desmantelamiento;
                                    monto_param = depreciado.desmantelamiento / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                                if (depreciado.honorario != 0)
                                {
                                    SV_PARAMETER currParam = parametros.Honorario;
                                    monto_param = depreciado.honorario / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                                if (depreciado.revalorizacion != 0)
                                {
                                    SV_PARAMETER currParam = parametros.Revalorizacion;
                                    monto_param = depreciado.revalorizacion / depreciado.cantidad;
                                    res         = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, currParam.id, monto_param);
                                }
                            }
                            else
                            {
                                res.set(-4, "No se encontro información vigente para dar de baja");
                                return(res);
                            }
                        }
                        else //if (currSys.ENVIORMENT.depreciation_rate == "monthly")
                        {
                            //copio los detalles de valores anteriores a la nueva cabecera (no aplica ningun calculo adicional)
                            List <SV_TRANSACTION_PARAMETER_DETAIL> findDetailsParams = DetallesParametros.ByHeadSys(headPrev.id, currSys);
                            foreach (var DetParam in findDetailsParams)
                            {
                                //ingreso detalle de parametros
                                res = REGISTER_PARAM_DETAIL(headDown.id, currSys.id, DetParam.paratemer_id, DetParam.parameter_value);
                                if (res.codigo < 0)
                                {
                                    return(res);
                                }
                            }
                        }
                    }
                }
                //actualizo detalles de inventarios
                res = ACTUALIZA_PARTES_HASTA(detalle_articulos, partToDown.id, newcantidad, newfecha);
                if (res.codigo < 0)
                {
                    return(res);
                }
                res.set_ok();
            }
            catch (Exception ex)
            {
                res.set(-1, ex.StackTrace);
            }
            return(res);
        }