Ejemplo n.º 1
0
        /// <summary>
        /// Manda llamar los modelos correspondientes para guardar en la base de datos.
        /// </summary>
        /// <param name="presentaciones">Lista de Insumo.</param>
        public void registrarPresentaciones(List <Presentacion> presentaciones)
        {
            int    error = 0;
            double folio = 0;

            StringBuilder serie = new StringBuilder(12);

            factura.registrar(factura);

            SDK.fSiguienteFolio("21", serie, ref folio);

            foreach (var presentacion in presentaciones)
            {
                if (presentacion.verificarRegistro(presentacion) == false)
                {
                    presentacion.Factura = factura;

                    //registro de presentacion a contpaq
                    SDK.tProduto cProducto = new SDK.tProduto();
                    cProducto.cCodigoProducto      = presentacion.codigo;
                    cProducto.cNombreProducto      = presentacion.descripcion;
                    cProducto.cDescripcionProducto = presentacion.descripcion;
                    String[] clasificacion       = cbxValoresDeClasificaciones.SelectedItem.ToString().Split('|');
                    string   codigoClasificacion = clasificacion[0].Trim();
                    string   ultimo_costo        = presentacion.ultimo_costo.ToString();
                    cProducto.cPrecio1      = Double.Parse(ultimo_costo);
                    cProducto.cImpuesto1    = Double.Parse(Convert.ToString(presentacion.IVA));
                    cProducto.cTipoProducto = 1;
                    cProducto.cMetodoCosteo = 1;

                    int unidadid = presentacion.Insumo.unidad_id;

                    Int32 aldProducto = 0;
                    error = SDK.fAltaProducto(ref aldProducto, ref cProducto);
                    if (error == 0)
                    {
                        SDK.fEditaProducto();
                        SDK.fSetDatoProducto("CBANUNIDADES", unidadid.ToString());
                        SDK.fSetDatoProducto("CIDUNIDADBASE", unidadid.ToString());
                        SDK.fSetDatoProducto("CCONTROLEXISTENCIA", "1");
                        SDK.fSetDatoProducto("CIDVALORCLASIFICACION1", codigoClasificacion);
                        SDK.fGuardaProducto();
                        presentacion.registrar(presentacion);
                    }
                    else
                    {
                        SDK.rError(error);
                        return;
                    }
                }
            }

            SDK.tDocumento lDocto = new SDK.tDocumento();

            lDocto.aCodConcepto  = "21";
            lDocto.aCodigoAgente = "(Ninguno)";
            lDocto.aNumMoneda    = 1;
            lDocto.aTipoCambio   = 1;

            lDocto.aImporte       = 0;
            lDocto.aDescuentoDoc1 = 0;
            lDocto.aDescuentoDoc2 = 0;
            lDocto.aAfecta        = 0;
            lDocto.aSistemaOrigen = 205;
            lDocto.aCodigoCteProv = txtcodigoProveedor.Text;
            lDocto.aFolio         = folio;
            lDocto.aSistemaOrigen = 205;
            lDocto.aSerie         = factura.folio;
            lDocto.aGasto1        = 0;
            lDocto.aGasto2        = 0;
            lDocto.aGasto3        = 0;
            lDocto.aFecha         = DateTime.Today.ToString("MM/dd/yyyy");
            int   lError       = 0;
            Int32 lIdDocumento = 0;

            lError = SDK.fAltaDocumento(ref lIdDocumento, ref lDocto);

            if (lError != 0)
            {
                SDK.rError(lError);

                return;
            }

            foreach (var presentacion in presentaciones)
            {
                SDK.tMovimiento ltMovimiento  = new SDK.tMovimiento();
                int             lIdMovimiento = 0;

                SDK.fBuscaAlmacen(presentacion.Almacen.codigo);
                StringBuilder codigo = new StringBuilder(20);
                SDK.fLeeDatoAlmacen("CCODIGOALMACEN", codigo, 20);
                ltMovimiento.aCodAlmacen  = codigo.ToString();
                ltMovimiento.aConsecutivo = 1;
                ltMovimiento.aCodProdSer  = presentacion.codigo;

                ltMovimiento.aUnidades = Double.Parse(Convert.ToString(presentacion.cantidad));


                ltMovimiento.aCosto  = Double.Parse(Convert.ToString(presentacion.costo_unitario));
                ltMovimiento.aPrecio = Double.Parse(Convert.ToString(presentacion.costo_unitario));

                lError = 0;
                lError = SDK.fAltaMovimiento(lIdDocumento, ref lIdMovimiento, ref ltMovimiento);

                if (lError != 0)
                {
                    SDK.rError(lError);
                    return;
                }
                else
                {
                    //entrada almacen shark

                    EntradaPresentacion entrada = new EntradaPresentacion();
                    DateTime            thisDay = DateTime.Today;
                    entrada.fecha_registro = Convert.ToDateTime(thisDay.ToString());
                    Presentacion presentacionR = presentacion.obtener(presentacion);
                    entrada.Presentacion = presentacionR;

                    entrada.Almacen  = almacen.obtener(presentacion.Almacen.nombre);
                    entrada.cantidad = presentacion.cantidad;
                    entrada.registrar(entrada);
                }
            }



            if (lError == 0)
            {
                System.Windows.Forms.MessageBox.Show("SE REGISTRARON TODOS LOS DATOS CORRECTAMENTE", "Aviso Shark");
            }

            if (CerrarNuevo == 1)
            {
                this.Close();
            }
            else
            {
                clearFields();
            }
        }
Ejemplo n.º 2
0
        private void btnguardarMovimiento_ItemClick(object sender, DevExpress.Xpf.Bars.ItemClickEventArgs e)
        {
            if (cbxMovimiento.SelectedItem != null)
            {
                Tipo_movimiento tipo         = new Tipo_movimiento();
                Presentacion    presentacion = new Presentacion();
                Salida_almacen  salida       = new Salida_almacen();
                Insumo          _insumo      = insumo.obtener(cbxInsumo.SelectedItem.ToString());


                double        totalExistencia = 0;
                double        folio           = 0;
                StringBuilder serie           = new StringBuilder(12);

                salida.cantidad        = Double.Parse(txtCantidad.Text);
                salida.Insumo          = _insumo;
                salida.Tipo_movimiento = tipo.obtener(cbxMovimiento.SelectedItem.ToString());
                salida.descripcion     = txtDescripcion.Text;


                if (cbxAlamcenAfectado.SelectedItem != null)
                {
                    salida.Almacen = almacen.obtener(cbxAlamcenAfectado.SelectedItem.ToString());
                }
                else if (cbxAOrigen.SelectedItem != null)
                {
                    salida.Almacen = almacen.obtener(cbxAOrigen.SelectedItem.ToString());
                }
                List <Presentacion> presentaciones = presentacion.obtenerPorInsumoAlmacen(salida.Insumo.id, salida.Almacen.id);
                foreach (var item in presentaciones)
                {
                    totalExistencia += Double.Parse(Convert.ToString(item.existencia));
                }
                if (cbxMovimiento.SelectedItem.ToString() == "SALIDA")
                {
                    //sdk
                    SDK.fSiguienteFolio("35", serie, ref folio);
                    Int32 lIdDocumento = crearDocumento("35", folio);

                    if (cbxAlamcenAfectado.SelectedItem != null && cbxInsumo.SelectedItem != null && !String.IsNullOrEmpty(txtCantidad.Text) && !String.IsNullOrEmpty(txtDescripcion.Text))
                    {
                        //proceso para una salida de almacen
                        salidaAlmacen(totalExistencia, presentaciones, lIdDocumento, salida, salida.Almacen.codigo);
                    }

                    clearFields();
                }
                else
                {
                    SDK.fSiguienteFolio("35", serie, ref folio);

                    if (cbxPresentaciones.SelectedItem != null && cbxInsumo.SelectedItem != null && cbxAOrigen.SelectedItem != null)
                    {
                        if (totalExistencia >= Convert.ToDouble(txtCantidad.Text))
                        {
                            salida.descripcion = tipo.nombre;
                            Int32 lIdDocumentoSalida = crearDocumento("35", folio);

                            salidaAlmacen(totalExistencia, presentaciones, lIdDocumentoSalida, salida, salida.Almacen.codigo);

                            if (salida.id > 0)
                            {
                                SDK.fSiguienteFolio("34", serie, ref folio);

                                EntradaPresentacion entrada = new EntradaPresentacion();
                                DateTime            thisDay = DateTime.Today;
                                entrada.fecha_registro = Convert.ToDateTime(thisDay.ToString());
                                entrada.Presentacion   = presentacion.get(cbxPresentaciones.SelectedItem.ToString());
                                entrada.Almacen        = almacen.obtener(cbxADestino.SelectedItem.ToString());
                                entrada.cantidad       = Double.Parse(txtCantidad.Text);

                                Int32 lIdDocumentoEntrada = crearDocumento("34", folio);

                                if (movimientoAlmacen(entrada.Presentacion, lIdDocumentoEntrada, Double.Parse(txtCantidad.Text), entrada.Almacen.codigo) == true)
                                {
                                    entrada.registrar(entrada);
                                    MessageBox.Show("SE TRASPASÓ: " + txtCantidad.Text + " " + unidad.nombre + "\nDEL INSUMO: " + _insumo.descripcion + "\nDEL ALMACÉN: " + cbxAOrigen.SelectedItem.ToString() + "\nAL ALMACÉN: " + cbxADestino.SelectedItem.ToString());
                                    clearFields();
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("LA CANTIDAD QUE DESEA MARCAR COMO SALIDA ES MAYOR AL NÚMERO DE EXISTENCIA EN SU ALMACÉN");
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Es Necesario especificar el tipo de movimiento que desea hacer");
            }
        }
Ejemplo n.º 3
0
        private void addPresentacion_Click(object sender, RoutedEventArgs e)
        {
            Boolean maximo = verificaMaximos();

            if (!String.IsNullOrEmpty(txtCodigoPr.Text) && !String.IsNullOrEmpty(txtDescripcion.Text) && cbxInsumoBase.SelectedItem != null && cbxProveedor.SelectedItem != null && cbxAlmacen.SelectedItem != null && !String.IsNullOrEmpty(txtCPromedio.Text) && !String.IsNullOrEmpty(txtCCImpuesto.Text) && !String.IsNullOrEmpty(txtUcosto.Text) && !String.IsNullOrEmpty(txtRendimiento.Text) && !String.IsNullOrEmpty(txtCantidad.Text))
            {
                if (maximo == false)
                {
                    Presentacion presentacion = new Presentacion();
                    presentacion.codigo             = txtCodigoPr.Text;
                    presentacion.cantidad           = Double.Parse(txtCantidad.Text);
                    presentacion.costo_con_impuesto = Double.Parse(txtCCImpuesto.Text);
                    presentacion.costo_promedio     = Double.Parse(txtCPromedio.Text);
                    presentacion.ultimo_costo       = Double.Parse(txtUcosto.Text);
                    presentacion.rendimiento        = Double.Parse(txtRendimiento.Text);
                    presentacion.IVA            = Double.Parse(txtIVA.Text);
                    presentacion.costo_unitario = Double.Parse(txtUcosto.Text);
                    presentacion.descripcion    = txtDescripcion.Text;
                    presentacion.Insumo         = insumo.obtener(cbxInsumoBase.SelectedItem.ToString());
                    presentacion.Almacen        = almacen.obtener(cbxAlmacen.SelectedItem.ToString());
                    presentacion.Proveedor      = proveedor.obtener(cbxProveedor.SelectedItem.ToString());
                    presentacion.existencia     = presentacion.rendimiento * presentacion.cantidad;


                    SDK.tProduto cProducto = new SDK.tProduto();
                    cProducto.cCodigoProducto      = txtCodigoPr.Text;
                    cProducto.cNombreProducto      = txtDescripcion.Text;
                    cProducto.cDescripcionProducto = txtDescripcion.Text;
                    String[] clasificacion       = cbxValoresDeClasificaciones.SelectedItem.ToString().Split('|');
                    string   codigoClasificacion = clasificacion[0].Trim();
                    cProducto.cPrecio1      = Double.Parse(txtUcosto.Text);
                    cProducto.cImpuesto1    = Double.Parse(txtIVA.Text);
                    cProducto.cTipoProducto = 1;
                    cProducto.cMetodoCosteo = 1;

                    int unidad = presentacion.Insumo.unidad_id;

                    Int32 aldProducto = 0;
                    int   error       = SDK.fAltaProducto(ref aldProducto, ref cProducto);
                    if (error == 0)
                    {
                        SDK.fEditaProducto();
                        SDK.fSetDatoProducto("CBANUNIDADES", unidad.ToString());
                        SDK.fSetDatoProducto("CIDUNIDADBASE", unidad.ToString());
                        SDK.fSetDatoProducto("CCONTROLEXISTENCIA", "1");
                        SDK.fSetDatoProducto("CIDVALORCLASIFICACION1", codigoClasificacion);
                        SDK.fGuardaProducto();
                        presentacion.registrar(presentacion);
                    }
                    else
                    {
                        SDK.rError(error);
                    }

                    if (Convert.ToDouble(txtCantidad.Text) > 0)
                    {
                        error = 0;
                        double folio = 0;

                        StringBuilder serie = new StringBuilder(12);

                        SDK.fSiguienteFolio("21", serie, ref folio);

                        if (presentacion.verificarRegistro(presentacion) == false)
                        {
                            SDK.tDocumento lDocto = new SDK.tDocumento();


                            lDocto.aCodConcepto  = "21";
                            lDocto.aCodigoAgente = "(Ninguno)";
                            lDocto.aNumMoneda    = 1;
                            lDocto.aTipoCambio   = 1;

                            lDocto.aImporte       = 0;
                            lDocto.aDescuentoDoc1 = 0;
                            lDocto.aDescuentoDoc2 = 0;
                            lDocto.aAfecta        = 0;
                            lDocto.aSistemaOrigen = 205;
                            Proveedor pro = proveedor.obtener(cbxProveedor.SelectedItem.ToString());
                            lDocto.aCodigoCteProv = pro.codigo;
                            lDocto.aFolio         = folio;
                            lDocto.aSistemaOrigen = 205;
                            lDocto.aSerie         = "";
                            lDocto.aGasto1        = 0;
                            lDocto.aGasto2        = 0;
                            lDocto.aGasto3        = 0;
                            lDocto.aFecha         = DateTime.Today.ToString("MM/dd/yyyy");
                            int   lError       = 0;
                            Int32 lIdDocumento = 0;
                            lError = SDK.fAltaDocumento(ref lIdDocumento, ref lDocto);

                            if (lError != 0)
                            {
                                SDK.rError(lError);

                                return;
                            }

                            SDK.tMovimiento ltMovimiento  = new SDK.tMovimiento();
                            int             lIdMovimiento = 0;

                            SDK.fBuscaAlmacen(presentacion.Almacen.codigo);
                            StringBuilder codigo = new StringBuilder(20);
                            SDK.fLeeDatoAlmacen("CCODIGOALMACEN", codigo, 20);
                            ltMovimiento.aCodAlmacen  = codigo.ToString();
                            ltMovimiento.aConsecutivo = 1;
                            ltMovimiento.aCodProdSer  = presentacion.codigo;

                            ltMovimiento.aUnidades = Double.Parse(Convert.ToString(presentacion.cantidad));


                            ltMovimiento.aCosto  = Double.Parse(Convert.ToString(presentacion.costo_unitario));
                            ltMovimiento.aPrecio = Double.Parse(Convert.ToString(presentacion.costo_unitario));

                            lError = 0;
                            lError = SDK.fAltaMovimiento(lIdDocumento, ref lIdMovimiento, ref ltMovimiento);

                            if (lError != 0)
                            {
                                SDK.rError(lError);
                                return;
                            }
                            else
                            {
                                //entrada almacen shark

                                EntradaPresentacion entrada = new EntradaPresentacion();
                                DateTime            thisDay = DateTime.Today;
                                entrada.fecha_registro = Convert.ToDateTime(thisDay.ToString());
                                Presentacion presentacionR = presentacion.obtener(presentacion);
                                entrada.Presentacion = presentacionR;

                                entrada.Almacen  = almacen.obtener(presentacion.Almacen.nombre);
                                entrada.cantidad = presentacion.cantidad;
                                entrada.registrar(entrada);
                            }
                        }

                        hasChanged = "Yes";
                        clearFields();
                        llenarPresentaciones();
                        //dtPLista.Rows.Add(presentacion.id, presentacion.descripcion, presentacion.rendimiento, this.presentacionIns.Insumo.Unidad_Medida.nombre, presentacion.Proveedor.nombre, presentacion.codigo);
                    }
                }
            }
            else
            {
                MessageBox.Show("¡AVISO! \n > Falta Ingresar Algunos Campos Importantes \n    Es Necesario Ingresarlos");
            }
        }
        private void save()
        {
            if (cbxPresentaciones.SelectedItem != null && cbxAlmacenes.SelectedItem != null && !String.IsNullOrEmpty(txtCantidad.Text))
            {
                double folio = 0;

                StringBuilder serie = new StringBuilder(12);

                SDK.fSiguienteFolio("21", serie, ref folio);


                SDK.tDocumento lDocto = new SDK.tDocumento();

                lDocto.aCodConcepto  = "21";
                lDocto.aCodigoAgente = "(Ninguno)";
                lDocto.aNumMoneda    = 1;
                lDocto.aTipoCambio   = 1;

                //obtiene el codigo del proveedor
                Presentacion pre = presentacion.get(cbxPresentaciones.SelectedItem.ToString());
                Proveedor    pro = proveedor.obtenerPorID(pre.proveedor_id);
                lDocto.aCodigoCteProv = pro.codigo;

                lDocto.aImporte       = 0;
                lDocto.aDescuentoDoc1 = 0;
                lDocto.aDescuentoDoc2 = 0;
                lDocto.aAfecta        = 0;
                lDocto.aSistemaOrigen = 205;
                lDocto.aFolio         = folio;
                lDocto.aSistemaOrigen = 205;
                lDocto.aSerie         = "";
                lDocto.aGasto1        = 0;
                lDocto.aGasto2        = 0;
                lDocto.aGasto3        = 0;
                lDocto.aFecha         = DateTime.Today.ToString("MM/dd/yyyy");
                int   lError       = 0;
                Int32 lIdDocumento = 0;
                lError = SDK.fAltaDocumento(ref lIdDocumento, ref lDocto);

                if (lError != 0)
                {
                    SDK.rError(lError);
                    clearFields();
                    return;
                }

                SDK.tMovimiento ltMovimiento  = new SDK.tMovimiento();
                int             lIdMovimiento = 0;
                pre.Almacen = almacen.obtener(cbxAlmacenes.SelectedItem.ToString());

                ltMovimiento.aCodAlmacen  = pre.Almacen.codigo;
                ltMovimiento.aConsecutivo = 1;
                ltMovimiento.aCodProdSer  = pre.codigo;

                ltMovimiento.aUnidades = Double.Parse(txtCantidad.Text);


                ltMovimiento.aCosto  = Double.Parse(Convert.ToString(pre.costo_unitario));
                ltMovimiento.aPrecio = Double.Parse(Convert.ToString(pre.costo_unitario));

                lError = 0;
                lError = SDK.fAltaMovimiento(lIdDocumento, ref lIdMovimiento, ref ltMovimiento);

                if (lError != 0)
                {
                    SDK.rError(lError);
                    clearFields();
                    return;
                }
                else
                {
                    //entrada almacen shark
                    EntradaPresentacion entrada = new EntradaPresentacion();
                    DateTime            thisDay = DateTime.Today;
                    entrada.fecha_registro = Convert.ToDateTime(thisDay.ToString());
                    entrada.Presentacion   = presentacion.get(cbxPresentaciones.SelectedItem.ToString());
                    entrada.Almacen        = almacen.obtener(cbxAlmacenes.SelectedItem.ToString());
                    entrada.cantidad       = Convert.ToDouble(txtCantidad.Text);
                    entrada.registrar(entrada);
                    presentacion.sumarEntrada(entrada.Presentacion.id, Convert.ToDouble(entrada.cantidad));
                    MessageBoxResult dialogResult = MessageBox.Show("Se registró con exito la entrada de almacén, ¿Desea obtener el código de barras para monitorear dicha entrada?", "Confirmación", MessageBoxButton.YesNo);
                    if (dialogResult == MessageBoxResult.Yes)
                    {
                        ReportsView.BarcodeView vista = new ReportsView.BarcodeView();
                        vista.loadReport(entrada.id);
                        vista.Show();
                    }
                    clearFields();
                }

                if (CerrarNuevo == 1)
                {
                    this.Close();
                }
            }
        }