コード例 #1
0
        public Int32 crearDocumento(String concepto, double folio)
        {
            SDK.tDocumento lDocto = new SDK.tDocumento();
            lDocto.aCodConcepto = concepto;
            lDocto.aTipoCambio  = 0;

            lDocto.aImporte       = 0;
            lDocto.aDescuentoDoc1 = 0;
            lDocto.aDescuentoDoc2 = 0;
            lDocto.aAfecta        = 1;
            lDocto.aSistemaOrigen = 205;
            // lDocto.aCodigoCteProv = "(Ninguno)";
            lDocto.aFolio         = folio;
            lDocto.aSistemaOrigen = 205;
            lDocto.aSerie         = "";

            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(lIdDocumento);
        }
コード例 #2
0
        public static void CreaDoctoPago()
        {
            int           lError      = 0;
            StringBuilder serie       = new StringBuilder("");
            double        folio       = 0;
            string        codConcepto = "42017"; //Conceptos de Pago.
            string        codCte      = "CL001";

            SDK.tDocumento  lDocto  = new SDK.tDocumento();
            SDK.RegLlaveDoc factura = new SDK.RegLlaveDoc();
            SDK.RegLlaveDoc pago    = new SDK.RegLlaveDoc();
            lError = SDK.fSiguienteFolio(codConcepto, serie, ref folio);
            if (lError != 0)
            {
                SDK.rError(lError);
            }

            else
            {
                lDocto.aCodConcepto   = codConcepto;
                lDocto.aCodigoCteProv = codCte;
                lDocto.aFecha         = DateTime.Today.ToString("MM/dd/yyyy");
                lDocto.aFolio         = folio;
                lDocto.aImporte       = 464;
                lDocto.aNumMoneda     = 1;
                lDocto.aTipoCambio    = 1;
                lDocto.aSerie         = serie.ToString();

                lError = SDK.fAltaDocumentoCargoAbono(ref lDocto);

                if (lError != 0)
                {
                    SDK.rError(lError);
                }
                else
                {
                    factura.aCodConcepto = "42017";
                    factura.aSerie       = "";
                    factura.folio        = 2535;

                    pago.aCodConcepto = codConcepto;
                    pago.aSerie       = serie.ToString();
                    pago.folio        = folio;

                    lError = SDK.fSaldarDocumento(ref factura, ref pago, 464, 1, DateTime.Today.ToString("MM/dd/yyyy"));

                    if (lError != 0)
                    {
                        SDK.rError(lError);
                    }
                    else
                    {
                    }
                }
            }
        }
コード例 #3
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();
            }
        }
コード例 #4
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");
            }
        }
コード例 #5
0
        public bool createDocumento(Documento documento)
        {
            if (documento.timbrar)
            {
                StringBuilder   serie       = new StringBuilder("");
                int             idDocto     = 0;
                int             idMovto     = 0;
                SDK.tDocumento  lDocto      = new SDK.tDocumento();
                SDK.tMovimiento lMovimiento = new SDK.tMovimiento();

                //Paso 1: Conseguir el folio del documento a realizar.
                errorCode = SDK.fSiguienteFolio(documento.cabecera.codConcepto, documento.cabecera.serie,
                                                ref documento.cabecera.folio);
                if (errorCode != 0)
                {
                    errorMessage = SDK.rError(errorCode);
                    return(false);
                }

                //Cabecera
                lDocto.aCodConcepto   = documento.cabecera.codConcepto;
                lDocto.aCodigoCteProv = documento.cabecera.codigoCteProv;
                lDocto.aFecha         = DateTime.Now.ToString("MM/dd/yyyy");
                lDocto.aFolio         = documento.cabecera.folio;
                lDocto.aNumMoneda     = documento.cabecera.numMoneda;
                lDocto.aSerie         = documento.cabecera.serie.ToString();
                lDocto.aTipoCambio    = documento.cabecera.tipoCambio;


                //Paso 2: Dar de alta el documento con su cabecera.
                errorCode = SDK.fAltaDocumento(ref idDocto, ref lDocto);

                if (errorCode != 0)
                {
                    errorMessage = SDK.rError(errorCode);
                    return(false);
                }

                //Paso 3: Se agregan los movimientos al documento.
                foreach (var item in documento.movimientos)
                {
                    lMovimiento.aCodAlmacen = item.codAlmacen;
                    lMovimiento.aCodProdSer = item.codProducto;
                    lMovimiento.aPrecio     = item.precio;
                    lMovimiento.aUnidades   = item.unidades; //Una compra

                    //Se da de alta un movimiento.
                    errorCode = SDK.fAltaMovimiento(idDocto, ref idMovto, ref lMovimiento);
                    if (errorCode != 0)
                    {
                        errorMessage = SDK.rError(errorCode);
                        return(false);
                    }
                }

                //Paso 4: Se timbra el documento
                errorCode = SDK.fEmitirDocumento(documento.cabecera.codConcepto,
                                                 documento.cabecera.serie.ToString(), documento.cabecera.folio, "12345678a", "");
                if (errorCode != 0)
                {
                    errorMessage = SDK.rError(errorCode);
                    return(false);
                }
                //Paso 5: Se exporta a XML o PDF

                errorCode = SDK.fEntregEnDiscoXML(documento.cabecera.codConcepto,
                                                  documento.cabecera.serie.ToString(), documento.cabecera.folio, 0, "");
                if (errorCode != 0)
                {
                    errorMessage = SDK.rError(errorCode);
                    return(false);
                }

                errorCode = SDK.fEntregEnDiscoXML(documento.cabecera.codConcepto,
                                                  documento.cabecera.serie.ToString(), documento.cabecera.folio, 1, "");
                if (errorCode != 0)
                {
                    errorMessage = SDK.rError(errorCode);
                    return(false);
                }
            }

            if (documento.guardarPlantilla)
            {
                try
                {
                    PlantillasServices.addPlantilla(documento);
                }
                catch (Exception e)
                {
                    errorMessage = e.Message;
                    return(false);
                }
            }

            if (documento.docEnPlantiila != null)
            {
                PlantillasServices.updatePlantilla(documento);
            }

            return(true);
        }
コード例 #6
0
        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();
                }
            }
        }