public void PrecargarRetenciones(string nt, string tipoF, ArrayList arV, ArrayList arT, ArrayList arB) { string campoPorcentaje = ""; nit = nt; tipoFactura = tipoF; Cargar_Tabla_Rtns(); Retencion rtns = new Retencion(nt, false); if (rtns.TipoSociedad == "N" || rtns.TipoSociedad == "U") { campoPorcentaje = "PRET_PORCENNODECL"; } else { campoPorcentaje = "PRET_PORCENDECL"; } for (int n = 0; n < arV.Count; n++) { DataRow drR = tablaRtns.NewRow(); drR["CODRET"] = arT[n].ToString(); drR["PORCRET"] = Convert.ToDouble(DBFunctions.SingleData("SELECT COALESCE(" + campoPorcentaje + ",0) FROM PRETENCION WHERE PRET_CODIGO='" + arT[n].ToString() + "';")); drR["VALOR"] = Convert.ToDouble(arV[n]); drR["VALORBASE"] = Convert.ToDouble(arB[n]); //(Convert.ToDouble(drR["VALOR"]) * 100) / Convert.ToDouble(drR["PORCRET"]); drR["NOMBRERET"] = DBFunctions.SingleData("SELECT PRET_NOMBRE FROM PRETENCION WHERE PRET_CODIGO='" + arT[n].ToString() + "';"); tablaRtns.Rows.Add(drR); } ViewState["TABLERETS"] = tablaRtns; ViewState["TABLERETSNIT"] = nit; ViewState["TABLERETSTIPOFAC"] = tipoFactura; Bind(); }
public ReportUtilities.Reportes.Clases.Plantilla Documentos(string tipo_doc, int secuencia, string ruc_cedula) { ReportUtilities.Reportes.Clases.Plantilla doc = null; switch (tipo_doc) { case "01": doc = new Factura(secuencia, ruc_cedula); break; case "04": doc = new NotaCredito(secuencia, ruc_cedula); break; case "05": doc = new NotaDebito(secuencia, ruc_cedula); break; case "06": doc = new GuiaRemision(secuencia, ruc_cedula); break; case "07": doc = new Retencion(secuencia, ruc_cedula); break; } return(doc); }
protected void gridRtns_ItemDataBound(object Sender, DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.Footer) { TextBox txtBase = (TextBox)e.Item.FindControl("base"); TextBox txtPorcentaje = (TextBox)e.Item.FindControl("codretb"); TextBox txtValor = (TextBox)e.Item.FindControl("valor"); string scrTotal = "PorcentajeVal('" + txtPorcentaje.ClientID + "','" + txtBase.ClientID + "','" + txtValor.ClientID + "');"; txtBase.Attributes.Add("onkeyup", "NumericMaskE(this,event);" + scrTotal); if (rblTipo.SelectedValue == "C") { ((TextBox)e.Item.Cells[0].Controls[1]).Attributes.Add("onClick", "ModalDialog(this,'SELECT pret_codigo,pret_nombre,pret_porcennodecl FROM pretencion ORDER BY tret_codigo',new Array());" + scrTotal); } else if (rblTipo.SelectedValue == "P") { Retencion rtns = new Retencion(nit, false); if (rtns.TipoSociedad == "N" || rtns.TipoSociedad == "U") { ((TextBox)e.Item.Cells[0].Controls[1]).Attributes.Add("onClick", "ModalDialog(this,'SELECT pr.pret_codigo codigo,pr.pret_nombre nombre,pr.pret_porcennodecl porcentaje,pr.ttip_proceso proceso, pr.tret_codigo tipo, pr.mcue_codipucprov cuenta FROM pretencion pr where pr.ttip_codigo IN (\\'N\\',\\'T\\') ORDER BY tipo;',new Array());" + scrTotal); } else { ((TextBox)e.Item.Cells[0].Controls[1]).Attributes.Add("onClick", "ModalDialog(this,'SELECT pr.pret_codigo codigo,pr.pret_nombre nombre,pr.pret_porcendecl porcentaje,pr.ttip_proceso proceso, pr.tret_codigo tipo, pr.mcue_codipucprov cuenta FROM pretencion pr where pr.ttip_codigo IN (\\'J\\',\\'T\\') ORDER BY tipo;',new Array());" + scrTotal); } } } }
protected void gridRtns_ItemDataBound(object Sender, DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.Footer) { Retencion rtns = new Retencion(nitProveedor.Text, false); DropDownList ddlTiporetencion = (DropDownList)e.Item.FindControl("ddlTiporet"); if (rtns.TipoSociedad == null) { rtns.TipoSociedad = ""; } TextBox txtBase = (TextBox)e.Item.FindControl("base"); TextBox txtPorcentaje = (TextBox)e.Item.FindControl("codretb"); TextBox txtValor = (TextBox)e.Item.FindControl("valor"); txtBase.Text = valorFactura.Text; string scrTotal = "PorcentajeVal('" + txtPorcentaje.ClientID + "','" + txtBase.ClientID + "','" + txtValor.ClientID + "');"; txtBase.Attributes.Add("onkeyup", "NumericMaskE(this,event);" + scrTotal); DatasToControls bind = new DatasToControls(); ddlTiporetencion.Attributes.Add("onChange", "Cambio_Retencion(this," + ((TextBox)e.Item.Cells[1].Controls[1]).ClientID + ",'" + rtns.TipoSociedad + "','" + txtPorcentaje.ClientID + "','" + txtBase.ClientID + "','" + txtValor.ClientID + "')"); bind.PutDatasIntoDropDownList(ddlTiporetencion, "select * from tretencion order by 2;"); ddlTiporetencion.Items.Insert(0, new ListItem("Seleccione...", "0")); } }
private Retencion[] CrearImpuestosDemo2() { var traslado = new Retencion[] { new Retencion() { importe = 1000, impuesto = RetencionImpuesto.ISR }, new Retencion() { importe = 12, impuesto = RetencionImpuesto.ISR }, new Retencion() { importe = 12, impuesto = RetencionImpuesto.ISR }, new Retencion() { importe = 12, impuesto = RetencionImpuesto.ISR } }; return(traslado); }
public BuscarVoucher(String Ruc) { InitializeComponent(); formRetencion = Retencion.retencionForm; objPagoDAO = new PagoDAO(); objListaS = objPagoDAO.buscarPago(Ruc, Ventas.UNIDADNEGOCIO); gridParams(); grdCliente.DataSource = objListaS; grdCliente.Refresh(); }
public BuscarDocumentoRetencion(String tipoDocumento, String ruc) { InitializeComponent(); formRetencion = Retencion.retencionForm; objDocumentoDao = new DocumentoDAO(); objListDocumentoCab = objDocumentoDao.buscarDocumentosNotas(tipoDocumento, Ventas.UNIDADNEGOCIO, ruc); objListBusquedaTotal = objListDocumentoCab; gridParams(); listDocumento(objListDocumentoCab); txt_BuscarDocumento.TextChanged += Txt_BuscarDocumento_TextChanged; }
public IActionResult Update(int IdTipoDoc, [FromBody] Retencion entity) { try { retencionBusiness.Update(IdTipoDoc, entity); return(Ok(true)); } catch (Exception) { throw; } }
public IActionResult Create([FromBody] Retencion entity) { try { retencionBusiness.Create(entity); return(Ok(true)); } catch (Exception) { throw; } }
protected void btnSeleccionar_Click(object sender, System.EventArgs e) { DataSet dsRetenciones = new DataSet(); string campoPorcentaje = ""; btnSeleccionar.Visible = false; ddlPrefijo.Enabled = false; ddlNumero.Enabled = false; pnlRetenciones.Visible = true; int numeroEntrada = 0; try { numeroEntrada = Convert.ToInt32(ddlNumero.SelectedValue); } catch { numeroEntrada = 0; }; nit = DBFunctions.SingleData("SELECT MNIT_NIT FROM MFACTURA" + tabla + " mf " + "WHERE mf." + prefi + "='" + ddlPrefijo.SelectedValue + "' AND mf." + nume + " = " + numeroEntrada + "; "); ViewState["NIT"] = nit; Retencion rtns = new Retencion(nit, false); if (rtns.TipoSociedad == "N" || rtns.TipoSociedad == "U") { campoPorcentaje = "pret_porcennodecl"; } else { campoPorcentaje = "pret_porcendecl"; } string strSql = "SELECT PR.PRET_CODIGO CODRET, PR.PRET_NOMBRE NOMBRE, PR." + campoPorcentaje + " PORCRET, " + "mfcr.MFAC_VALORETE VALOR, mfcr.MFAC_VALOBASE VALORBASE, " + "TRN.TRET_NOMBRE, TTP.TTIP_NOMBRE TTIP_PROCESO, TPP.TTIP_NOMBRE " + "FROM MFACTURA" + tabla + "RETENCION MFCR, MFACTURA" + tabla + " MFC, PRETENCION PR, " + "TRETENCION TRN, TTIPOPERSONA TPP, TTIPOPROCESO TTP " + "WHERE MFCR." + prefi + "=MFC." + prefi + " AND MFCR." + nume + "=MFC." + nume + " AND " + "TRN.TRET_CODIGO=PR.TRET_CODIGO AND TPP.TTIP_CODIGO=PR.TTIP_CODIGO AND TTP.TTIP_CODIGO=PR.TTIP_PROCESO AND " + "MFCR." + prefi + "='" + ddlPrefijo.SelectedValue + "' AND MFCR." + nume + " = " + numeroEntrada + " AND " + "PR.PRET_CODIGO=MFCR.PRET_CODIGO;"; DBFunctions.Request(dsRetenciones, IncludeSchema.NO, strSql); if (dsRetenciones.Tables.Count > 0) { tablaRtns = dsRetenciones.Tables[0]; ViewState["TABLERETS"] = tablaRtns; Bind(); } }
public Retencion GetTipoRet(int IdEmpresa, string TipoDoc) { try { SiinErpContext context = new SiinErpContext(); Retencion entity = context.Retenciones.FirstOrDefault(x => x.IdEmpresa == IdEmpresa && x.CodRetencion.Equals(TipoDoc)); return(entity); } catch (Exception ex) { errorBusiness.Create("GetRetContab", ex.Message, null); throw; } }
public static bool Buscar(int id) { using (var db = new Repositorio <Retencion>()) { if ((retencionReturn = db.Buscar(e => e.RetencionId == id)) != null) { return(true); } else { return(false); } } }
//Funcion para factuarar un vehiculos ya recibido public bool Facturar_Vehiculo_Recibido(DataTable vehiculos) { int i; sqlStrings = new ArrayList(); bool status = false; //Debemos crear el registro de mfacturaproveedor FacturaProveedor facturaRepuestos = new FacturaProveedor("FPR", prefijoOrdenPago, prefijoFacturaProveedor, nitProveedor, Almacen, "F", Convert.ToUInt64(numeroOrdenPago), Convert.ToUInt64(numeroFacturaProveedor), //0 1 2 3 4 5 6 7 estadoFacturaProveedor, Convert.ToDateTime(fechaFactura), Convert.ToDateTime(fechaVencimiento), Convert.ToDateTime(null), Convert.ToDateTime(fechaIngreso), //8 9 10 11 Convert.ToDouble(valorFactura), Convert.ToDouble(valorIva), Convert.ToDouble(valorFletes), Convert.ToDouble(valorIvaFletes), Convert.ToDouble(valorRetencion), //12 13 14 15 16 observacion, usuario); //17 18 facturaRepuestos.GrabarFacturaProveedor(false); numeroOrdenPago = facturaRepuestos.NumeroFactura.ToString(); for (i = 0; i < facturaRepuestos.SqlStrings.Count; i++) { sqlStrings.Add(facturaRepuestos.SqlStrings[i].ToString()); } //Cálculo de retenciones RetencionVehiculos = new Retencion(facturaRepuestos.NitProveedor, facturaRepuestos.PrefijoFactura, Convert.ToInt32(facturaRepuestos.NumeroFactura), (Convert.ToDouble(valorFactura) + Convert.ToDouble(valorFletes)), (Convert.ToDouble(valorIva) + Convert.ToDouble(valorIvaFletes)), "V", false); RetencionVehiculos.Guardar_Retenciones(false); for (i = 0; i < RetencionVehiculos.Sqls.Count; i++) { sqlStrings.Add(RetencionVehiculos.Sqls[i].ToString()); } //Ahora debemos actualizar los registros de mvehiculo y asociarlo a la factura del proveedor for (i = 0; i < vehiculos.Rows.Count; i++) { sqlStrings.Add("UPDATE mvehiculo SET pdoc_codiordepago='" + prefijoOrdenPago + "', mfac_numeordepago=" + numeroOrdenPago + ", test_tipoesta=20 WHERE mcat_vin='" + vehiculos.Rows[i][2].ToString() + "' and test_tipoesta = 10"); } if (DBFunctions.Transaction(sqlStrings)) { status = true; processMsg += DBFunctions.exceptions + "<br>"; } else { processMsg += "Error: " + DBFunctions.exceptions + "<br><br>"; } return(status); }
public BusquedaProveedor(String DocumentoTipo) { InitializeComponent(); objProveedorDAO = new ProveedorDAO(); TipoDocumento = DocumentoTipo; formRetencion = Retencion.retencionForm; formCajaLetra = CanjeLetraNuevo.canjeletranuevo; formReporte = ReporteFacturaProveeodr.formReporteProveedor; formCheques = ReporteVoucher.formReporteCheques; objListProveedor = objProveedorDAO.listarProveedor(); objListBusquedaTotal = objListProveedor; gridParams(); listProveedor(objListProveedor); txt_BuscarCliente.TextChanged += Txt_BuscarCliente_TextChanged; }
public void Create(Retencion entity) { try { entity.FechaCreacion = DateTimeOffset.Now; SiinErpContext context = new SiinErpContext(); context.Retenciones.Add(entity); context.SaveChanges(); } catch (Exception ex) { errorBusiness.Create("CreateRetContab", ex.Message, null); throw; } }
public void Update(int IdTipoDoc, Retencion entity) { try { SiinErpContext context = new SiinErpContext(); Retencion ob = context.Retenciones.Find(IdTipoDoc); ob.CodRetencion = entity.CodRetencion; ob.Porcentaje = entity.Porcentaje; ob.BaseRetencion = entity.BaseRetencion; ob.Descripcion = entity.Descripcion; ob.Estado = entity.Estado; context.SaveChanges(); } catch (Exception ex) { errorBusiness.Create("UpdateRetContab", ex.Message, null); throw; } }
public static bool Eliminar(int id) { using (var db = new Repositorio <Retencion>()) { if (Buscar(id)) { if (db.Eliminar(retencionReturn)) { return(true); } else { return(false); } } else { retencionReturn = null; return(false); } } }
public static bool Guardar(Retencion retencion) { using (var db = new Repositorio <Retencion>()) { if (Buscar(retencion.RetencionId) == false) { if (db.Guardar(retencion) != null) { retencionReturn = retencion; return(true); } else { retencionReturn = null; return(false); } } else { db.Modificar(retencion); return(true); } } }
/// <summary> /// Genera asiento con retención IUE /// </summary> /// <param name="retencion"></param> private void GenerarRetenido(RetencionVista retencion) { var usuarioActual = HttpContext.User.Identity.Name; var comprobanteActual = comprobantesManager.GetComprobante(retencion.ComprobanteId); var retencionIt = (retencion.Importe * 0.03M); var retencionIue = retencion.TipoRetencionId == 1 ? (retencion.Importe * 0.125M) : (retencion.Importe * 0.05M); var retencionRcIva = retencion.Importe * 0.13M; var retencionIueBe = retencion.Importe * 0.125M; var anexoTributarioId = 0; var importeRetencion = 0M; var importeRetencionIt = 0M; var importeCajaBancos = 0M; switch (retencion.TipoRetencionId) { case 1: case 2: anexoTributarioId = 10; importeRetencion = retencionIue; importeRetencionIt = retencionIt; importeCajaBancos = retencion.Importe - retencionIt - retencionIue; break; case 3: anexoTributarioId = 8; importeRetencion = retencionRcIva; importeRetencionIt = retencionIt; importeCajaBancos = retencion.Importe - retencionIt - retencionRcIva; break; case 4: anexoTributarioId = 8; importeRetencion = retencionRcIva; importeCajaBancos = retencion.Importe - retencionRcIva; break; case 5: anexoTributarioId = 11; importeRetencion = retencionIueBe; importeCajaBancos = retencion.Importe - retencionIueBe; break; } var cuentaAsientoPersonalizada = new CuentaAsiento { ComprobanteId = retencion.ComprobanteId, CuentaContableId = retencion.CuentaContableId, Glosa = retencion.Glosa, Debe = retencion.Importe, Haber = 0, TerritorioId = 1, PlanProgramaticoId = 6, ContraparteId = 1, AnexoTributarioId = anexoTributarioId, EsDebe = true, EsAjuste = false, UsuarioCreacion = usuarioActual, UsuarioModificacion = usuarioActual }; cuentasAsientosManager.InsertCuentaAsiento(cuentaAsientoPersonalizada); if (retencion.TipoRetencionId == 1 || retencion.TipoRetencionId == 2 || retencion.TipoRetencionId == 3) { var cuentaAsientoIt = new CuentaAsiento { ComprobanteId = retencion.ComprobanteId, CuentaContableId = 1280, Glosa = retencion.Glosa, Debe = 0, Haber = retencionIt, TerritorioId = 1, PlanProgramaticoId = 6, ContraparteId = 1, AnexoTributarioId = 9, //Retención IT EsDebe = false, EsAjuste = false, UsuarioCreacion = usuarioActual, UsuarioModificacion = usuarioActual }; cuentasAsientosManager.InsertCuentaAsiento(cuentaAsientoIt); } if (retencion.TipoRetencionId == 1 || retencion.TipoRetencionId == 2) { var cuentaAsientoIue = new CuentaAsiento { ComprobanteId = retencion.ComprobanteId, CuentaContableId = 1281, Glosa = retencion.Glosa, Debe = 0, Haber = retencionIue, TerritorioId = 1, PlanProgramaticoId = 6, ContraparteId = 1, AnexoTributarioId = anexoTributarioId, EsDebe = false, EsAjuste = false, UsuarioCreacion = usuarioActual, UsuarioModificacion = usuarioActual }; cuentasAsientosManager.InsertCuentaAsiento(cuentaAsientoIue); } if (retencion.TipoRetencionId == 3 || retencion.TipoRetencionId == 4) { var cuentaAsientoRcIva = new CuentaAsiento { ComprobanteId = retencion.ComprobanteId, CuentaContableId = 1283, Glosa = retencion.Glosa, Debe = 0, Haber = retencionRcIva, TerritorioId = 1, PlanProgramaticoId = 6, ContraparteId = 1, AnexoTributarioId = anexoTributarioId, EsDebe = false, EsAjuste = false, UsuarioCreacion = usuarioActual, UsuarioModificacion = usuarioActual }; cuentasAsientosManager.InsertCuentaAsiento(cuentaAsientoRcIva); } if (retencion.TipoRetencionId == 5) { var cuentaAsientoIueBe = new CuentaAsiento { ComprobanteId = retencion.ComprobanteId, CuentaContableId = 1282, Glosa = retencion.Glosa, Debe = 0, Haber = retencionIueBe, TerritorioId = 1, PlanProgramaticoId = 6, ContraparteId = 1, AnexoTributarioId = anexoTributarioId, EsDebe = false, EsAjuste = false, UsuarioCreacion = usuarioActual, UsuarioModificacion = usuarioActual }; cuentasAsientosManager.InsertCuentaAsiento(cuentaAsientoIueBe); } var cuentaAsientoCaja = new CuentaAsiento { ComprobanteId = retencion.ComprobanteId, CuentaContableId = 775, Glosa = retencion.Glosa, Debe = 0, Haber = importeCajaBancos, TerritorioId = 1, PlanProgramaticoId = 6, ContraparteId = 1, AnexoTributarioId = anexoTributarioId, EsDebe = false, EsAjuste = false, UsuarioCreacion = usuarioActual, UsuarioModificacion = usuarioActual }; cuentasAsientosManager.InsertCuentaAsiento(cuentaAsientoCaja); // Insertar Objeto Retencion var retencionEntidad = new Retencion { ComprobanteId = retencion.ComprobanteId, FechaComprobante = comprobanteActual.FechaComprobante, TipoRetencionId = (short)retencion.TipoRetencionId, ImporteRetencion = importeRetencion, ImporteRetencionIT = importeRetencionIt, Retenido = true, UsuarioCreacion = usuarioActual, UsuarioModificacion = usuarioActual }; retencionesManager.InsertRetencion(retencionEntidad); }
//Funcion para facturar un vehiculo ya recibido public bool Facturar_Vehiculo_Recibido(string catalogoVehiculo, string vinVehiculo) { int i; sqlStrings = new ArrayList(); bool status = false; FacturaProveedor facturaVehiculo = new FacturaProveedor("FPR", prefijoOrdenPago, prefijoFacturaProveedor, nitProveedor, Almacen, "F", Convert.ToUInt64(numeroOrdenPago), Convert.ToUInt64(numeroFacturaProveedor), //0 1 2 3 4 5 6 7 estadoFacturaProveedor, Convert.ToDateTime(fechaFactura), Convert.ToDateTime(fechaVencimiento), Convert.ToDateTime(null), Convert.ToDateTime(fechaIngreso), //8 9 10 11 Convert.ToDouble(valorFactura), Convert.ToDouble(valorIva), Convert.ToDouble(valorFletes), Convert.ToDouble(valorIvaFletes), Convert.ToDouble(valorRetencion), //12 13 14 15 16 observacion, usuario); //17 18 facturaVehiculo.GrabarFacturaProveedor(false); numeroOrdenPago = facturaVehiculo.NumeroFactura.ToString(); for (i = 0; i < facturaVehiculo.SqlStrings.Count; i++) { sqlStrings.Add(facturaVehiculo.SqlStrings[i].ToString()); } //Cálculo de retenciones RetencionVehiculos = new Retencion(facturaVehiculo.NitProveedor, facturaVehiculo.PrefijoFactura, Convert.ToInt32(facturaVehiculo.NumeroFactura), (Convert.ToDouble(valorFactura) + Convert.ToDouble(valorFletes)), (Convert.ToDouble(valorIva) + Convert.ToDouble(valorIvaFletes)), "V", false); if (dtRetenciones == null) { RetencionVehiculos.Guardar_Retenciones(false); } else { RetencionVehiculos.Guardar_Retenciones(false, dtRetenciones); } for (i = 0; i < RetencionVehiculos.Sqls.Count; i++) { sqlStrings.Add(RetencionVehiculos.Sqls[i].ToString()); } //Ahora debemos actualizar el registro de mvehiculo y asociarlo a la factura del proveedor //Si el vehiculo esta facturado o asignado no se modifica el estado del vehiculo. string estadoVehiculo = DBFunctions.SingleData("SELECT test_tipoesta FROM dbxschema.mvehiculo WHERE mcat_vin='" + vinVehiculo + "' order by mveh_inventario desc FETCH FIRST 1 ROWS ONLY;"); Int32 numeroVehiculo = Convert.ToInt32(DBFunctions.SingleData("SELECT coalesce(mveh_inventario,0) FROM dbxschema.mvehiculo WHERE mcat_vin='" + vinVehiculo + "' order by mveh_inventario desc FETCH FIRST 1 ROWS ONLY;")); if (estadoVehiculo == "10") { sqlStrings.Add("UPDATE mvehiculo SET pdoc_codiordepago='" + prefijoOrdenPago + "', mfac_numeordepago=" + numeroOrdenPago + ", mveh_valocomp=" + valorFactura + ", MVEH_VALOIVA=" + valorIva + ", test_tipoesta=20 WHERE mveh_inventario = " + numeroVehiculo + " "); } else { sqlStrings.Add("UPDATE mvehiculo SET pdoc_codiordepago='" + prefijoOrdenPago + "', mfac_numeordepago=" + numeroOrdenPago + ", mveh_valocomp=" + valorFactura + ", MVEH_VALOIVA=" + valorIva + " WHERE mveh_inventario = " + numeroVehiculo + " "); } //Ahora Actualizamos el consecutivo if (DBFunctions.Transaction(sqlStrings)) { status = true; processMsg += DBFunctions.exceptions + "<br>"; } else { processMsg += "Error: " + DBFunctions.exceptions + "<br><br>"; } return(status); }
/// <summary> /// Función que lee los nodos XML de un documento CFDI /// </summary> /// <param name="padre"></param> private void LeerNodos(XmlNode padre) { // Procesamos el nodo switch (padre.Prefix) { case "cfdi": { switch (padre.LocalName) { case "Comprobante": cfdi = new Comprobante(); cfdi.atributos = leerAtributos(padre); break; case "Emisor": cfdi.Emisor = new Emisor(); cfdi.Emisor.atributos = leerAtributos(padre); break; case "DomicilioFiscal": cfdi.Emisor.DomicilioFiscal = new DomicilioFiscal(); cfdi.Emisor.DomicilioFiscal.atributos = leerAtributos(padre); break; case "ExpedidoEn": cfdi.Emisor.ExpedidoEn = new ExpedidoEn(); cfdi.Emisor.ExpedidoEn.atributos = leerAtributos(padre); break; case "RegimenFiscal": cfdi.Emisor.RegimenFiscal = padre.Attributes["Regimen"].Value; break; case "Receptor": cfdi.Receptor = new Receptor(); cfdi.Receptor.atributos = leerAtributos(padre); break; case "Domicilio": cfdi.Receptor.Domicilio = new Domicilio(); cfdi.Receptor.Domicilio.atributos = leerAtributos(padre); break; case "Conceptos": cfdi.Conceptos = new Conceptos(); break; case "Concepto": Concepto concepto = new Concepto(); concepto.atributos = leerAtributos(padre); cfdi.Conceptos.Agregar(concepto); break; case "Impuestos": cfdi.Impuestos = new Impuestos(); cfdi.Impuestos.atributos = leerAtributos(padre); break; case "Traslados": cfdi.Impuestos.Traslados = new Traslados(); break; case "Traslado": Traslado traslado = new Traslado(); traslado.atributos = leerAtributos(padre); cfdi.Impuestos.Traslados.Agregar(traslado); break; case "Retenciones": cfdi.Impuestos.Retenciones = new Retenciones(); break; case "Retencion": Retencion retencion = new Retencion(); retencion.atributos = leerAtributos(padre); cfdi.Impuestos.Retenciones.Agregar(retencion); break; } break; } case "tfd": { switch (padre.LocalName) { case "TimbreFiscalDigital": TimbreFiscalDigital timbre = new TimbreFiscalDigital(); timbre.atributos = leerAtributos(padre); cfdi.AgregarComplemento(timbre); break; } break; } case "nomina": { switch (padre.LocalName) { case "Nomina": Nomina nomina = new Nomina(); nomina.atributos = leerAtributos(padre); cfdi.AgregarComplemento(nomina); break; case "Percepciones": Percepciones percepciones = new Percepciones(); percepciones.atributos = leerAtributos(padre); nomina = cfdi.Complemento("nomina") as Nomina; nomina.Percepciones = new Percepciones(); break; case "Percepcion": Percepcion percepcion = new Percepcion(); percepcion.atributos = leerAtributos(padre); nomina = cfdi.Complemento("nomina") as Nomina; nomina.Percepciones.Agregar(percepcion); break; case "Deducciones": Deducciones deducciones = new Deducciones(); deducciones.atributos = leerAtributos(padre); nomina = cfdi.Complemento("nomina") as Nomina; nomina.Deducciones = deducciones; break; case "Deduccion": Deduccion deduccion = new Deduccion(); deduccion.atributos = leerAtributos(padre); nomina = cfdi.Complemento("nomina") as Nomina; nomina.Deducciones.Agregar(deduccion); break; case "Incapacidades": nomina = cfdi.Complemento("nomina") as Nomina; nomina.Incapacidades = new Incapacidades(); break; case "Incapacidad": Incapacidad incapacidad = new Incapacidad(); incapacidad.atributos = leerAtributos(padre); nomina = cfdi.Complemento("nomina") as Nomina; nomina.Incapacidades.Agregar(incapacidad); break; case "HorasExtras": nomina = cfdi.Complemento("nomina") as Nomina; nomina.HorasExtras = new HorasExtras(); break; case "HorasExtra": HorasExtra horasExtra = new HorasExtra(); horasExtra.atributos = leerAtributos(padre); nomina = cfdi.Complemento("nomina") as Nomina; nomina.HorasExtras.Agregar(horasExtra); break; } break; } case "ecc": { switch (padre.LocalName) { case "EstadoDeCuentaCombustible": EstadoDeCuentaCombustible edoCta = new EstadoDeCuentaCombustible(); edoCta.atributos = leerAtributos(padre); cfdi.AgregarComplemento(edoCta); break; case "Conceptos": EstadoDeCuentaCombustible combustible = cfdi.Complemento("combustible") as EstadoDeCuentaCombustible; combustible.conceptos = new ConceptosEstadoDeCuentaCombustibles(); break; case "ConceptoEstadoDeCuentaCombustible": ConceptoEstadoDeCuenta concepto = new ConceptoEstadoDeCuenta(); concepto.atributos = leerAtributos(padre); combustible = cfdi.Complemento("combustible") as EstadoDeCuentaCombustible; combustible.Agregar(concepto); break; case "Traslados": combustible = cfdi.Complemento("combustible") as EstadoDeCuentaCombustible; combustible.conceptos[combustible.conceptos.Elementos - 1].traslados = new TrasladosConceptosEstadoDeCuentaCombustible(); break; case "Traslado": TrasladoEstadoDeCuentaCombustible traslado = new TrasladoEstadoDeCuentaCombustible(); traslado.atributos = leerAtributos(padre); combustible = cfdi.Complemento("combustible") as EstadoDeCuentaCombustible; combustible.conceptos[combustible.conceptos.Elementos - 1].AgregaTraslado(traslado); break; } break; } case "implocal": { switch (padre.LocalName) { case "ImpuestosLocales": ImpuestosLocales implocal = new ImpuestosLocales(); implocal.atributos = leerAtributos(padre); cfdi.AgregarComplemento(implocal); break; } break; } } // Procesamos los nodos hijos for (int i = 0; i < padre.ChildNodes.Count; i++) { if (padre.ChildNodes[i].NodeType == XmlNodeType.Element) { LeerNodos(padre.ChildNodes[i]); } } }
public RetencionViewModel(Retencion retencion) { this.Importe = retencion.Importe; this.Impuesto = retencion.Impuesto; }
private void buttonGuardar_Click(object sender, EventArgs e) { switch (tabControlRegistros.SelectedIndex) { case 0: { if (Validar(1)) { int id; int.TryParse(textBoxEmpleadoId.Text, out id); Empleado empleado = new Empleado(id, textBoxEmpleadoNombre.Text, dateTimePickerEmpleadoNacimiento.Value, int.Parse(maskedTextBoxEmpleadoSueldo.Text)); if (BLL.EmpleadosBLL.Guardar(empleado)) { MessageBox.Show("Se guardo el empleado!"); textBoxEmpleadoId.Text = BLL.EmpleadosBLL.empleadoReturn.EmpleadoId.ToString(); } else { MessageBox.Show("No see guardo el empleado!"); } } break; } case 1: { if (Validar(1)) { int id; int.TryParse(textBoxRetencionId.Text, out id); Retencion retencion = new Retencion(id, textBoxRetencionDescripcion.Text, int.Parse(textBoxRetencionValor.Text)); if (BLL.RetencionesBLL.Guardar(retencion)) { MessageBox.Show("Se guardo la retencion!"); textBoxRetencionId.Text = BLL.RetencionesBLL.retencionReturn.RetencionId.ToString(); } else { MessageBox.Show("No se guardo la retencion!"); } } break; } case 2: { if (Validar(1)) { int id; int.TryParse(textBoxTipoEmailId.Text, out id); TipoEmail tipoEmail = new TipoEmail(id, textBoxTipoEmailDescripcion.Text); if (BLL.TiposEmailsBLL.Guardar(tipoEmail)) { MessageBox.Show("Se guardo el tipo de email!"); textBoxTipoEmailId.Text = BLL.TiposEmailsBLL.tipoEmailReturn.TipoEmailId.ToString(); } else { MessageBox.Show("No se guardo el tipo de email!"); } } break; } case 3: { if (Validar(1)) { int id; int.TryParse(textBoxEmpleadoEmailId.Text, out id); EmpleadoEmail empleadoEmail = new EmpleadoEmail(id, Convert.ToInt32(comboBoxEmpleadosId.SelectedValue), Convert.ToInt32(comboBoxTipoEmailId.SelectedValue), textBoxEmpleadoEmail.Text); if (BLL.EmpleadosEmailsBLL.Guardar(empleadoEmail)) { MessageBox.Show("Se guardo el email!"); textBoxEmpleadoEmailId.Text = BLL.EmpleadosEmailsBLL.empleadoEmailReturn.EmpleadoEmailId.ToString(); } else { MessageBox.Show("No se guardo el email!"); } } break; } case 4: { if (Validar(1)) { int id; int.TryParse(textBoxEmpleadoRetencionId.Text, out id); EmpleadoRetencion empleadoRetencion = new EmpleadoRetencion(id, Convert.ToInt32(comboBoxEmpleadoRetencionEmpleadoId.SelectedValue), Convert.ToInt32(comboBoxEmpleadoRetencionRetencionId.SelectedValue)); if (BLL.EmpleadosRetencionesBLL.Guardar(empleadoRetencion)) { MessageBox.Show("Se guardo la retencion en el empleado!"); textBoxEmpleadoRetencionId.Text = BLL.EmpleadosRetencionesBLL.empleadoRetencionReturn.EmpleadoRetencionId.ToString(); } else { MessageBox.Show("No se guardo la retencion en el empleado!"); } } break; } } }
protected void NewAjust(Object Sender, EventArgs E) { if (!VerificarValoresGrillaFacturacion()) { BindDatas(); return; } //QUEDA int diasP = -1; try{ diasP = Convert.ToInt16(txtDiasP.Text); } catch {}; if (diasP < 0 || diasP > 180) { BindDatas(); Utils.MostrarAlerta(Response, "El numero de días de plazo dado NO es válido, debe estar entre 0 y 180!"); return; } if (ddlCodDoc.SelectedIndex == 0 && ddlCodDoc.Items.Count > 1) { BindDatas(); Utils.MostrarAlerta(Response, "Por favor seleccione el Documento para realizar el proceso !!!"); return; } string nLis1 = Request.QueryString["nped"]; string[] nLis = nLis1.ToString().Split('-');//Numero de Lista de empaque string ano_cont = DBFunctions.SingleData("SELECT pano_ano from cinventario"); int ano = Convert.ToInt16(ano_cont); int mes = Convert.ToInt16(DBFunctions.SingleData("select PMES_MES from CINVENTARIO;")); if (ano != Convert.ToDateTime(tbDate.Text).Year || mes != Convert.ToDateTime(tbDate.Text).Month) { Utils.MostrarAlerta(Response, "Fecha NO vigente !!"); if (HttpContext.Current.User.Identity.Name.ToLower().ToString() == "abarrios") // EUROTECK temporalmente permite facturar con otras fechas { } else { return; } } if (ddlCodDoc.SelectedItem.Value == "Seleccione..") { Utils.MostrarAlerta(Response, "Usted NO ha configurado un documento del tipo FC en esta sede para este proceso..!"); return; } btnAjus.Enabled = false; // apaga el boton de facturar PedidoFactura pedfac = new PedidoFactura(txtNIT.Text, Convert.ToDateTime(tbDate.Text), txtObs.Text, // 1 2 3 diasP, nLis1, ddlVendedor.SelectedItem.Value, ddlCodDoc.SelectedItem.Value, Convert.ToUInt32(txtNumDoc.Text), //4 5 6 7 8 Convert.ToDouble(txtTotIF.Text.Substring(1)), Convert.ToDouble(tbIvaFlts.Text.Substring(1)), //9 10 Convert.ToDouble(txtSubTotal.Text.Substring(1)) - Convert.ToDouble(txtDesc.Text.Substring(1)), //11 Convert.ToDouble(txtTotal.Text.Substring(1)), // 12 kit, // 13 AnoA, //14 almacen // 15 ); if (hdCargoTrans.Value != "") { pedfac.CargoOrden = hdCargoTrans.Value; } int n; for (n = 0; n < dtInserts.Rows.Count; n++) { string codI = ""; Referencias.Guardar(dtInserts.Rows[n][0].ToString(), ref codI, DBFunctions.SingleData("SELECT plin_tipo FROM plineaitem WHERE plin_codigo='" + dtInserts.Rows[n][11].ToString() + "'")); pedfac.InsertaFila(codI, Convert.ToDouble(dtInserts.Rows[n][2]), //1 Convert.ToDouble(dtInserts.Rows[n][3]), Convert.ToDouble(dtInserts.Rows[n][4]), //2 3 Convert.ToDouble(dtInserts.Rows[n][5]), Convert.ToDouble(dtInserts.Rows[n][9]), dtInserts.Rows[n]["PPED_CODIGO"].ToString(), dtInserts.Rows[n]["MPED_NUMEPEDI"].ToString()); //4 5 6 7 } // causacion de retenciones en la venta Retencion retencion = new Retencion( txtNIT.Text, ddlCodDoc.SelectedItem.Value, // PrefijoFactura, Convert.ToInt32(txtNumDoc.Text), // NumeroFactura, Convert.ToDouble(txtSubTotal.Text.Substring(1)) - Convert.ToDouble(txtDesc.Text.Substring(1)), //ValorFactura, Convert.ToDouble(txtIVA.Text.Substring(1)), //ValorIva, "R", true); if (pedfac.RealizarFac(true)) { if (retencion.Guardar_Retenciones(true)) { string indexPage = ConfigurationManager.AppSettings["MainIndexPage"]; string indexAjaxPage = ConfigurationManager.AppSettings["MainAjaxPage"]; Session.Clear(); contaOnline.contabilizarOnline(ddlCodDoc.SelectedItem.Value, Convert.ToInt32(txtNumDoc.Text), DateTime.Now, ddlAlmacen.SelectedValue); if (Request.QueryString["orig"] == "Inventarios.ListasEmpaque") { Response.Redirect(indexPage + "?process=Inventarios.ListasEmpaque&actor=C&subprocess=Fact&prefF=" + pedfac.Coddocumentof + "&numF=" + pedfac.Numdocumentof + "&factGen=1"); } //Response.Redirect("" + indexPage + "?process=Inventarios.VistaImpresion&prefFact="+pedfac.Coddocumentof+"&numFact="+pedfac.Numdocumentof+"&cliente="+Tipo+"&orig="+Request.QueryString["orig"]+""); else if (Request.QueryString["orig"] == "Inventarios.CrearPedido") { Response.Redirect(indexAjaxPage + "?process=Inventarios.CrearPedido&actor=C&subprocess=Fact&prefF=" + pedfac.Coddocumentof + "&numF=" + pedfac.Numdocumentof + ""); } //Response.Redirect(indexPage+"?process=Inventarios.ListasEmpaque&actor=C&subprocess=Fact"); //lbInfo.Text +="<br>BIEN :" +pedfac.ProcessMsg; } else { lbInfo.Text += retencion.Mensajes; } } else { lbInfo.Text += "<br>ERROR :" + pedfac.ProcessMsg; } }
static void Main_(string[] args) { string datilApiRetencionUrl = "https://link.datil.co/retentions/"; // Credenciales del requerimiento string myApiKey = "xxxx"; string myPassword = "******"; // Crear requerimiento var requestOptions = new RequestOptions(); requestOptions.ApiKey = myApiKey; requestOptions.Password = myPassword; requestOptions.Url = datilApiRetencionUrl + "issue"; // Crear retención Retencion retencion = new Retencion(); // Cabecera de la retención retencion.Secuencial = "610"; DateTime today = DateTime.Today; var offset = TimeZoneInfo.Local.GetUtcOffset(today); retencion.FechaEmision = new DateTimeOffset(today, offset); retencion.Ambiente = 1; retencion.TipoEmision = 1; retencion.PeriodoFiscal = "09/2016"; //retencion.Version = //retencion.ClaveAcceso = // Información del sujeto retenido Comprador sujetoRetenido = new Comprador("Juan Pérez", "0989898921001", "04", "*****@*****.**", "Calle única Numero 987", "046029400"); retencion.Sujeto = sujetoRetenido; // Información del establecimiento Establecimiento establecimiento = new Establecimiento("001", "002", "Av. Primera 234 y calle 5ta"); // Información del emisor. Necesita de un Establecimiento. Emisor emisor = new Emisor("0910000000001", "GUGA S.A. ", "XYZ Corp", "Av.Primera 234 y calle 5ta", "12345", true, establecimiento); retencion.Emisor = emisor; // Impuestos de la retención. var impuestos = new List <ItemRetencion>(); ItemRetencion impuesto = new ItemRetencion("2", "3", 14, 4359.54, 610.36, new DateTimeOffset(today, offset), "001-002-000000123", "01"); impuestos.Add(impuesto); // agregar más impuestos a la retenciòn de ser necesario retencion.items = impuestos; // Información adicional var infoAdicionalRetencion = new Dictionary <string, string>(); infoAdicionalRetencion.Add("Tiempo de entrega", "5 días"); retencion.InformacionAdicional = infoAdicionalRetencion; // Enviar retención var respuesta = retencion.Enviar(requestOptions); Console.WriteLine("RESPUESTA:" + respuesta); // Obtener el id externo, para luego consultar el estado JObject json = JObject.Parse(respuesta); string idExterno = (string)json["id"]; Console.WriteLine("ID EXTERNO: " + idExterno); //5832e2c370414663a1bea71938a65bf0 //Consultar estado de la retención var requestOptions2 = new RequestOptions(); requestOptions2.ApiKey = myApiKey; requestOptions2.Password = myPassword; requestOptions2.Url = datilApiRetencionUrl + idExterno; respuesta = Retencion.Consultar(requestOptions2); json = JObject.Parse(respuesta); string estado = (string)json["estado"]; Console.WriteLine("ESTADO: " + estado); // RECIBIDO }
//REALIZAR PROCESO------------------------------------- protected void NewAjust(Object Sender, EventArgs E) { if (chkCerrarO.Checked == true) { Totales(); } btnAjus.Enabled = false; int diasP = 0; //Dias plazo double vFlet, vIVAFlet, total, vDescuento, vIVA, vExternos; DateTime fechaProceso; string vend, codigoAlmacen, ccos, carg, prefE, ano_cinv, tipoE; UInt64 numPre; ArrayList sqlStrings; #region Validaciones try{ numPre = Convert.ToUInt32(txtNumFacE.Text); } catch { Utils.MostrarAlerta(Response, "El número de entrada de almacén no es valido!"); BindDatas(); return; } try{ diasP = Convert.ToInt32(txtPlazo.Text); } catch { Utils.MostrarAlerta(Response, "Los días de plazo no son válidos!"); BindDatas(); return; } try { vDescuento = Convert.ToDouble(txtDesc.Text); } catch { Utils.MostrarAlerta(Response, "El valor de los descuentos no es válido!"); return; } try { vExternos = Convert.ToDouble(txtTotalExternos.Text); } catch { Utils.MostrarAlerta(Response, "El valor de los totales externos no es valido!"); return; } try { vFlet = Convert.ToDouble(txtFlet.Text); } catch { Utils.MostrarAlerta(Response, "El valor de los fletes no es valido!"); return; } try { vIVAFlet = Convert.ToDouble(txtTotIF.Text); } catch { Utils.MostrarAlerta(Response, "El valor IVA de los fletes no es valido!"); return; } try { vIVA = Convert.ToDouble(txtIVA.Text); } catch { Utils.MostrarAlerta(Response, "El valor del IVA no es valido!"); return; } try { fechaProceso = Convert.ToDateTime(tbDate.Text); } catch { Utils.MostrarAlerta(Response, "Fecha de proceso no es valido!"); return; } try { total = Convert.ToDouble(txtTotal.Text); } catch { Utils.MostrarAlerta(Response, "El valor del total no es valido!"); return; } if (vExternos < vDescuento) { Utils.MostrarAlerta(Response, "Los descuentos no pueden superar los valores externos!"); return; } //Validar total if (Math.Abs((vExternos - vDescuento + vIVA + vFlet + vIVAFlet) - (total)) > 0.009) { Utils.MostrarAlerta(Response, "El valor del total no coincide!"); BindDatas(); return; } #endregion Validaciones //Aqui Iniciamos el proceso como tal, habiendo superado con exito el proceso de validacion vend = ddlVendedor.SelectedValue; //Codigo del Vendedor codigoAlmacen = ddlAlmacen.SelectedValue; ccos = DBFunctions.SingleData("SELECT pcen_centinv FROM palmacen WHERE palm_almacen='" + codigoAlmacen + "'"); carg = DBFunctions.SingleData("SELECT TVEND_CODIGO FROM PVENDEDOR WHERE PVEN_CODIGO='" + vend + "'"); //Cargo??????? prefE = ""; //Prefijo Documento Interno (PDOCUMENTO) numPre = 0; //Numero de Documento Interno (PDOCUMENTO) ano_cinv = ConfiguracionInventario.Ano; tipoE = DBFunctions.SingleData("SELECT MORD_TIPO FROM MORDENPRODUCCION WHERE PDOC_CODIGO='" + ddlPrefOrden.SelectedValue + "' AND MORD_NUMEORDE=" + ddlNumOrden.SelectedValue + ";"); sqlStrings = new ArrayList(); #region Factura Proveedor ArrayList arrRecepciones = new ArrayList(); FacturaProveedor facturaRepuestos = new FacturaProveedor(); string prefijoFacturaProveedor = ddlPrefE.SelectedValue; UInt64 numeroFacturaProveedor = Convert.ToUInt64(txtNumFacE.Text.Trim()); prefE = prefijoFacturaProveedor; numPre = numeroFacturaProveedor; if (DBFunctions.RecordExist("SELECT * FROM mfacturaproveedor WHERE pdoc_codiordepago='" + prefijoFacturaProveedor + "' AND mfac_numeordepago=" + numeroFacturaProveedor + "")) { numeroFacturaProveedor = Convert.ToUInt32(DBFunctions.SingleData("SELECT pdoc_ultidocu+1 FROM pdocumento WHERE pdoc_codigo='" + prefijoFacturaProveedor + "'")); } FacturaProveedor facturaRepuestosProv = new FacturaProveedor("FPR", prefijoFacturaProveedor, ddlPrefOrden.SelectedValue, txtNIT.Text.Trim(), ddlAlmacen.SelectedValue, "F", numeroFacturaProveedor, Convert.ToUInt64(ddlNumOrden.SelectedValue), "P", fechaProceso, fechaProceso.AddDays(Convert.ToDouble(txtPlazo.Text.Trim())), Convert.ToDateTime(null), fechaProceso, vExternos - vDescuento, vIVA, vFlet, vIVAFlet, 0, txtObs.Text, HttpContext.Current.User.Identity.Name.ToLower()); facturaRepuestosProv.GrabarFacturaProveedor(false); numPre = facturaRepuestosProv.NumeroFactura; for (int i = 0; i < facturaRepuestosProv.SqlStrings.Count; i++) { sqlStrings.Add(facturaRepuestosProv.SqlStrings[i].ToString()); } #endregion Factura Proveedor #region Retenciones DataTable dtRet = TablaRetenciones(); dtRet.Rows[0][0] = "1"; dtRet.Rows[0][1] = DBFunctions.SingleData("SELECT MITE_CODIGO FROM MITEMS WHERE TORI_CODIGO='X' FETCH FIRST 1 ROWS ONLY;"); dtRet.Rows[0][2] = ""; dtRet.Rows[0][3] = 1; dtRet.Rows[0][4] = 1; dtRet.Rows[0][5] = vExternos; dtRet.Rows[0][6] = vDescuento; dtRet.Rows[0][7] = (vIVA * 100) / vExternos; dtRet.Rows[0][8] = ""; dtRet.Rows[0][9] = total; dtRet.Rows[0][10] = ""; dtRet.Rows[0][11] = ""; try { Retencion RetencionItems = new Retencion(facturaRepuestosProv.NitProveedor, facturaRepuestosProv.PrefijoFactura, Convert.ToInt32(facturaRepuestosProv.NumeroFactura), dtRet, (facturaRepuestosProv.ValorFactura + facturaRepuestosProv.ValorFletes), (facturaRepuestosProv.ValorIva + facturaRepuestosProv.ValorIvaFletes), "R", false); RetencionItems.Guardar_Retenciones(false); for (int i = 0; i < RetencionItems.Sqls.Count; i++) { sqlStrings.Add(RetencionItems.Sqls[i].ToString()); } } catch (Exception ex) { Utils.MostrarAlerta(Response, "Error en Retenciones. Detalles : \\n" + ex.Message + ""); return; } #endregion #region Movimiento de Kardex string ano_cont = ConfiguracionInventario.Ano; int tm = 20; //Entradas de proveedor //Creamos el Objeto manejador de movimientos de kardex utilizando el constructor #2 Movimiento Mov = new Movimiento(prefE, numPre, tm, fechaProceso, txtNIT.Text, codigoAlmacen, vend, carg, ccos, "N"); double cant, valU, costP, costPH, costPA, costPHA, invI, invIA, pIVA, pDesc, cantDev, valP; ArrayList Prrs = new ArrayList(); //Prerecepciones de la lista DataTable dtItems = (DataTable)ViewState["ITEMS"]; //DITEMS for (int n = 0; n < dtItems.Rows.Count; n++) { string codI = dtItems.Rows[n]["CODIGO"].ToString(); string prefijoDocumentoReferencia = ""; UInt64 numeroDocumentoReferencia = 0; prefijoDocumentoReferencia = ddlPrefOrden.SelectedValue; // prefijo Orden numeroDocumentoReferencia = Convert.ToUInt32(ddlNumOrden.SelectedValue); // Numero Orden cant = Convert.ToDouble(dtItems.Rows[n]["CANTIDAD"]); //cantidad ingresada valU = Convert.ToDouble(dtItems.Rows[n]["VALOR"]); //(Costeo) pIVA = 0; //iva pDesc = 0; //descuento costP = SaldoItem.ObtenerCostoPromedio(codI, ano_cont); costPH = SaldoItem.ObtenerCostoPromedioHistorico(codI, ano_cont); costPA = SaldoItem.ObtenerCostoPromedioAlmacen(codI, ano_cont, codigoAlmacen); costPHA = SaldoItem.ObtenerCostoPromedioHistoricoAlmacen(codI, ano_cont, codigoAlmacen); invI = SaldoItem.ObtenerCantidadActual(codI, ano_cont); //Inventario inicial invIA = SaldoItem.ObtenerCantidadActualAlmacen(codI, ano_cont, codigoAlmacen); //Inventario inicial Almacen cantDev = 0; //devolucion valP = costP; //Valor publico Mov.InsertaFila(codI, cant, valU, costP, costPA, pIVA, pDesc, cantDev, costPH, costPHA, valP, invI, invIA, prefijoDocumentoReferencia, numeroDocumentoReferencia); // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 } Mov.RealizarMov(false); for (int i = 0; i < Mov.SqlStrings.Count; i++) { sqlStrings.Add(Mov.SqlStrings[i].ToString()); } #endregion #region Actualizar detalle y orden produccion //Actualizar cantidad entregada for (int n = 0; n < dtItems.Rows.Count; n++) { sqlStrings.Add( "UPDATE DORDENPRODUCCION SET " + "DORD_CANTENTR=DORD_CANTENTR+" + dtItems.Rows[n]["CANTIDAD"] + " " + "WHERE PDOC_CODIGO='" + ddlPrefOrden.SelectedValue + "' AND " + "MORD_NUMEORDE=" + ddlNumOrden.SelectedValue + " AND " + "PENS_CODIGO='" + dtItems.Rows[n]["ENSAMBLE"] + "' AND " + "MITE_CODIGO='" + dtItems.Rows[n]["CODIGO"] + "';"); } //cerrar mordenproduccion si se recibieron todos los items sqlStrings.Add( "UPDATE MORDENPRODUCCION MO SET MO.TEST_ESTADO='F' " + "WHERE MO.pdoc_codigo='" + ddlPrefOrden.SelectedValue + "' AND mord_numeorde=" + ddlNumOrden.SelectedValue + " AND " + "NOT EXISTS(" + " SELECT * FROM DORDENPRODUCCION DOR " + " WHERE " + " DOR.pdoc_codigo=MO.pdoc_codigo AND DOR.mord_numeorde=MO.mord_numeorde AND " + " DOR.DORD_CANTXPROD>DORD_CANTENTR " + ");"); #endregion #region Costeo //Costeo sqlStrings.Add("INSERT INTO dcostoproduccion values(" + "'" + ddlPrefE.SelectedValue + "'," + numPre + "," + Convert.ToDouble(ViewState["TOT_MATPRIMA"]).ToString() + "," + Convert.ToDouble(ViewState["TOT_TERCEROS"]).ToString() + "," + Convert.ToDouble(ViewState["TOT_MANOBRA"]).ToString() + "," + Convert.ToDouble(ViewState["TOT_CIF"]).ToString() + "," + Convert.ToDouble(ViewState["TOT_MAQUINARIA"]).ToString() + "," + "'" + ViewState["MITE_CODIGO"].ToString() + "'" + ");"); #endregion Costeo //Cerrar orden de producción if (chkCerrarO.Checked == true) { string sql = CerrarOrdenProduccion(); if (sql != "") { sqlStrings.Add(sql); } else { Utils.MostrarAlerta(Response, "Se presentó un error al intentar cerrar la orden de ooperación!"); return; } } if (chkCerrarO.Checked == false) { if (DBFunctions.Transaction(sqlStrings)) { Response.Redirect("" + indexPage + "?process=Produccion.EntradasProduccion&path=" + Request.QueryString["path"] + "&pref=" + prefijoFacturaProveedor + "&num=" + numeroFacturaProveedor); } else { lbInfo.Text += "<br>Error : Detalles <br>" + DBFunctions.exceptions; } } else { if (DBFunctions.Transaction(sqlStrings) && RealizarAjusteInventario()) { Response.Redirect("" + indexPage + "?process=Produccion.EntradasProduccion&path=" + Request.QueryString["path"] + "&pref=" + prefijoFacturaProveedor + "&num=" + numeroFacturaProveedor + "&act=1&prefA=" + ddlPrefijoAjuste.SelectedValue + "&numA=" + lblNumeroAjuste.Text); } else { lbInfo.Text += "<br>Error : Detalles <br>" + DBFunctions.exceptions; } } }
//factura por vehículo(Facturación Excel) public bool Realizar_Recepcion_Excel(bool factura, bool grabar) { sqlStrings = new ArrayList(); bool status = false; int i; //Se cambia por el primer NIT del proceso. String nitSeleccionado = nitProveedor2; if (nitProveedor2 == "" || nitProveedor2 == null) { nitSeleccionado = nitProveedor; } if (factura) { FacturaProveedor facturaRepuestos = new FacturaProveedor("FPR", prefijoOrdenPago, prefijoFacturaProveedor, nitProveedor, Almacen, "F", Convert.ToUInt64(numeroOrdenPago), Convert.ToUInt64(numeroFacturaProveedor), //0 1 2 3 4 5 6 7 estadoFacturaProveedor, Convert.ToDateTime(fechaFactura), Convert.ToDateTime(fechaVencimiento), Convert.ToDateTime(null), Convert.ToDateTime(fechaIngreso), //8 9 10 11 Convert.ToDouble(valorFactura), Convert.ToDouble(valorIva), Convert.ToDouble(valorFletes), Convert.ToDouble(valorIvaFletes), Convert.ToDouble(valorRetencion), //12 13 14 15 16 observacion, usuario); //17 18 if (valorAbono != null && valorAbono != "") { facturaRepuestos.ValorAbonos = Convert.ToDouble(valorAbono); } facturaRepuestos.GrabarFacturaProveedorExcel(false); numeroOrdenPago = facturaRepuestos.NumeroFactura.ToString(); for (i = 0; i < facturaRepuestos.SqlStrings.Count; i++) { sqlStrings.Add(facturaRepuestos.SqlStrings[i].ToString()); } //Cálculo de retenciones RetencionVehiculos = new Retencion(nitProveedor2, facturaRepuestos.PrefijoFactura, Convert.ToInt32(facturaRepuestos.NumeroFactura), (Convert.ToDouble(valorFactura) + Convert.ToDouble(valorFletes)), (Convert.ToDouble(valorIva) + Convert.ToDouble(valorIvaFletes)), "V", false); //if (dtRetenciones == null) RetencionVehiculos.Guardar_Retenciones(false); } if (!DBFunctions.RecordExist("SELECT * FROM mcatalogovehiculo WHERE mcat_vin='" + drInformacionTecnica[1] + "' ")) { sqlStrings.Add("INSERT INTO mcatalogovehiculo VALUES('" + drInformacionTecnica[0] + "','" + drInformacionTecnica[1] + "','" + drInformacionTecnica[8] + "','" + drInformacionTecnica[2] + "','" + DBFunctions.SingleData("SELECT mnit_nit FROM cempresa") + "','" + drInformacionTecnica[3] + "','" + drInformacionTecnica[4] + "','" + drInformacionTecnica[5] + "'," + drInformacionTecnica[6] + ",'" + drInformacionTecnica[7] + "',null,null,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',0,null,0,1000,null,null,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',null)"); } //Ahora Agregamos EL REGISTRO A MVEHICULO string nitPropietario = DBFunctions.SingleData("SELECT mnit_nit FROM cempresa"); //string i = drInformacionComercial[1]; if (drInformacionComercial[13].ToString() != "P") { nitPropietario = nitProveedor; // En las Consignaciones o Retomas de Vehiculos, se deja el nit del proveedor como propietario } if (factura) { sqlStrings.Add("INSERT INTO mvehiculo (MVEH_INVENTARIO,PVEN_MERCADEISTA,MCAT_VIN,TEST_TIPOESTA,PDOC_CODIGOPEDIPROV,MPED_NUMERO,MNIT_NIT,MVEH_NUMERECE,MVEH_FECHRECE,MVEH_FECHDISP,MVEH_KILOMETR,TCLA_CODIGO,MVEH_NUMEMANI,MVEH_FECHMANI,MVEH_ADUANA,MVEH_NUMED_O,MVEH_NUMELEVANTE,MVEH_VALOGAST,MVEH_VALOINFL,TCOM_CODIGO,PDOC_CODIORDEPAGO,MFAC_NUMEORDEPAGO,MVEH_VALOCOMP,MVEH_FECHENTR,MPRO_NIT,MVEH_PRENDA,MVEH_VALOIVA) VALUES(" + drInformacionComercial[0] + ",null,'" + drInformacionComercial[2] + "',20,'null',null,'" + nitPropietario + "'," + drInformacionComercial[3] + ",'" + drInformacionTecnica[9] + "','" + drInformacionComercial[5] + "'," + drInformacionComercial[6] + ",'" + drInformacionComercial[7] + "','" + drInformacionComercial[8] + "','" + drInformacionComercial[9] + "','" + drInformacionComercial[10] + "','" + drInformacionComercial[11] + "','" + drInformacionComercial[12] + "',0,0,'" + drInformacionComercial[13] + "','" + prefijoOrdenPago + "'," + numeroOrdenPago + "," + drInformacionComercial[14] + ",null,'" + nitSeleccionado + "',null," + valorIva + ")"); //sqlStrings.Add("INSERT INTO mvehiculo VALUES(" + tbInformacionComercial.Rows[i][0].ToString() + ",null,'" + tbInformacionComercial.Rows[i][2].ToString() + "',20,'" + prefijoPedido + "'," + numeroPedido + ",'" + nitPropietario + "'," + tbInformacionComercial.Rows[i][3].ToString() + ",'" + tbInformacionComercial.Rows[i][4].ToString() + "','" + tbInformacionComercial.Rows[i][5].ToString() + "'," + tbInformacionComercial.Rows[i][6].ToString() + ",'" + tbInformacionComercial.Rows[i][7].ToString() + "','" + tbInformacionComercial.Rows[i][8].ToString() + "','" + tbInformacionComercial.Rows[i][9].ToString() + "','" + tbInformacionComercial.Rows[i][10].ToString() + "','" + tbInformacionComercial.Rows[i][11].ToString() + "','" + tbInformacionComercial.Rows[i][12].ToString() + "',0,0,'" + tbInformacionComercial.Rows[i][13].ToString() + "','" + prefijoOrdenPago + "'," + numeroOrdenPago + "," + tbInformacionComercial.Rows[i][14].ToString() + ",null,'" + nitProveedor + "',null," + valorIva + ")"); sqlStrings.Add("UPDATE dpedidovehiculoproveedor SET dped_cantingr = dped_cantingr + 1 WHERE pdoc_codigo='" + this.prefijoPedido + "' AND mped_numepedi=" + this.numeroPedido + " AND pcat_codigo='" + drInformacionComercial[1] + "'"); //Ahora creamos el registro en la tabla mubicacionvehiculo sqlStrings.Add("INSERT INTO mubicacionvehiculo VALUES(default,'" + drInformacionComercial[1] + "','" + drInformacionComercial[2] + "','" + this.ubicacion + "','" + DateTime.Now.ToString("yyyy-MM-dd") + "',null,null,null,null)"); } for (i = 0; i < sqlRels.Count; i++) { sqlStrings.Add(sqlRels[i].ToString()); } if (grabar) { if (DBFunctions.Transaction(sqlStrings)) { status = true; processMsg += DBFunctions.exceptions + "<br>"; } else { processMsg += "Error" + DBFunctions.exceptions + "<br><br>"; } } else { status = true; } return(status); }
public void Ejecutar(object sender, System.EventArgs e) { uint ndrefE = 0; //Numero Factura - Numero Factura Entrada DateTime fechaProceso; string vend, codigoAlmacen, ccos, carg, prefE, ano_cinv, tipoE; UInt64 numPre; ArrayList sqlStrings = new ArrayList(); string nit, ciudad; int anoV; UInt32 cVIN; #region Validaciones try{ anoV = Convert.ToInt16(txtAno.Text); if (Math.Abs(DateTime.Now.Year - anoV) > 5) { throw(new Exception()); } } catch { Utils.MostrarAlerta(Response, "Año no válido."); return; } if (dtEnsambles.Rows.Count == 0) { Utils.MostrarAlerta(Response, "No hay ensambles seleccionados."); return; } try{ ndrefE = Convert.ToUInt32(txtNumFacE.Text); } catch { Utils.MostrarAlerta(Response, "El número de entrada de almacén no es valido!"); return; } Utils.MostrarAlerta(Response, "El número de entrada de almacén no es valido!"); try{ fechaProceso = Convert.ToDateTime(tbDate.Text); } catch { Utils.MostrarAlerta(Response, "Fecha de proceso no es valido!"); return; } #endregion Validaciones //Aqui Iniciamos el proceso como tal, habiendo superado con exito el proceso de validacion nit = DBFunctions.SingleData("SELECT MNIT_NIT FROM CEMPRESA;"); ciudad = DBFunctions.SingleData("SELECT CEMP_CIUDAD FROM CEMPRESA;"); vend = ddlVendedor.SelectedValue; //Codigo del Vendedor codigoAlmacen = ddlAlmacen.SelectedValue; ccos = DBFunctions.SingleData("SELECT pcen_centinv FROM palmacen WHERE palm_almacen='" + codigoAlmacen + "'"); carg = DBFunctions.SingleData("SELECT TVEND_CODIGO FROM PVENDEDOR WHERE PVEN_CODIGO='" + vend + "'"); //Cargo??????? prefE = ""; //Prefijo Documento Interno (PDOCUMENTO) numPre = 0; //Numero de Documento Interno (PDOCUMENTO) ano_cinv = ConfiguracionInventario.Ano; tipoE = DBFunctions.SingleData("SELECT MORD_TIPO FROM MORDENPRODUCCION WHERE PDOC_CODIGO='" + ddlPrefOrden.SelectedValue + "' AND MORD_NUMEORDE=" + ddlNumOrden.SelectedValue + ";"); sqlStrings = new ArrayList(); #region Factura Proveedor ArrayList arrRecepciones = new ArrayList(); FacturaProveedor facturaRepuestos = new FacturaProveedor(); string prefijoFacturaProveedor = ddlPrefE.SelectedValue; UInt64 numeroFacturaProveedor = Convert.ToUInt64(txtNumFacE.Text.Trim()); prefE = prefijoFacturaProveedor; numPre = numeroFacturaProveedor; if (DBFunctions.RecordExist("SELECT * FROM mfacturaproveedor WHERE pdoc_codiordepago='" + prefijoFacturaProveedor + "' AND mfac_numeordepago=" + numeroFacturaProveedor + "")) { numeroFacturaProveedor = Convert.ToUInt32(DBFunctions.SingleData("SELECT pdoc_ultidocu+1 FROM pdocumento WHERE pdoc_codigo='" + prefijoFacturaProveedor + "'")); } FacturaProveedor facturaRepuestosProv = new FacturaProveedor("FPR", prefijoFacturaProveedor, ddlPrefOrden.SelectedValue, nit, ddlAlmacen.SelectedValue, "F", numeroFacturaProveedor, Convert.ToUInt64(ddlNumOrden.SelectedValue), "V", fechaProceso, fechaProceso.AddDays(0), Convert.ToDateTime(null), fechaProceso, 0, 0, 0, 0, 0, txtObs.Text, HttpContext.Current.User.Identity.Name.ToLower()); facturaRepuestosProv.GrabarFacturaProveedor(false); numPre = facturaRepuestosProv.NumeroFactura; for (int i = 0; i < facturaRepuestosProv.SqlStrings.Count; i++) { sqlStrings.Add(facturaRepuestosProv.SqlStrings[i].ToString()); } #endregion Factura Proveedor #region Retenciones DataTable dtRet = TablaRetenciones(); dtRet.Rows[0][0] = "1"; dtRet.Rows[0][1] = DBFunctions.SingleData("SELECT MITE_CODIGO FROM MITEMS WHERE TORI_CODIGO='X' FETCH FIRST 1 ROWS ONLY;"); dtRet.Rows[0][2] = ""; dtRet.Rows[0][3] = 1; dtRet.Rows[0][4] = 1; dtRet.Rows[0][5] = 0; dtRet.Rows[0][6] = 0; dtRet.Rows[0][7] = 0; dtRet.Rows[0][8] = ""; dtRet.Rows[0][9] = 0; dtRet.Rows[0][10] = ""; dtRet.Rows[0][11] = ""; try { Retencion RetencionItems = new Retencion(facturaRepuestosProv.NitProveedor, facturaRepuestosProv.PrefijoFactura, Convert.ToInt32(facturaRepuestosProv.NumeroFactura), dtRet, (facturaRepuestosProv.ValorFactura + facturaRepuestosProv.ValorFletes), (facturaRepuestosProv.ValorIva + facturaRepuestosProv.ValorIvaFletes), "R", false); RetencionItems.Guardar_Retenciones(false); for (int i = 0; i < RetencionItems.Sqls.Count; i++) { sqlStrings.Add(RetencionItems.Sqls[i].ToString()); } } catch (Exception ex) { Utils.MostrarAlerta(Response, "Error en Retenciones. Detalles : \\n" + ex.Message + ""); return; } #endregion #region Vehiculos, catalogos, detalles ordenes, pcatalogovehiculo bool vehiculos = false; for (int n = 0; n < dtEnsambles.Rows.Count; n++) { if (((CheckBox)dgEnsambles.Items[n].FindControl("chkUsarE")).Checked) { cVIN = Convert.ToUInt32(dtEnsambles.Rows[n]["MCAT_VIN"].ToString().Substring(12)); //Insertar mcatalogovehiculo sqlStrings.Add("INSERT INTO MCATALOGOVEHICULO VALUES (" + "'" + dtEnsambles.Rows[n]["PCAT_CODIGO"].ToString() + "'," + //Catalogo "'" + dtEnsambles.Rows[n]["MCAT_VIN"].ToString() + "'," + //VIN "'" + dtEnsambles.Rows[n]["MCAT_VIN"].ToString().Substring(12) + "'," + //placa "'" + dtEnsambles.Rows[n]["MCAT_VIN"].ToString() + "'," + //Motor "'" + nit + "'," + //NIT "NULL," + "'" + dtEnsambles.Rows[n]["MCAT_VIN"].ToString() + "'," + //Chasis "'" + dtEnsambles.Rows[n]["PCOL_CODIGO"].ToString() + "'," + //Color anoV + ",'A',NULL,NULL,'" + tbDate.Text + "',0,NULL,0,0,NULL,NULL,'" + tbDate.Text + "',null)"); //Insertar mvehiculo sqlStrings.Add("INSERT INTO MVEHICULO VALUES (" + "DEFAULT," + //Inventario "NULL," + //Catalogo "'" + dtEnsambles.Rows[n]["MCAT_VIN"].ToString() + "'," + //VIN "1," + //Estado "NULL,NULL," + //Pedido "'" + nit + "'," + //NIT "0," + //No recepcion "'" + tbDate.Text + "'," + //Fecha Recep "'" + tbDate.Text + "'," + //Fecha Disponb. "0," + //Kilometraje "'N'," + //Nuevo "'" + dtEnsambles.Rows[n]["MCAT_VIN"].ToString() + "'," + //Manifiesto "'" + tbDate.Text + "'," + //Fecha Manifiesto "'" + ciudad + "'," + //Aduana "NULL," + //Version "'" + dtEnsambles.Rows[n]["MCAT_VIN"].ToString() + "'," + //No Levante "NULL,NULL," + //Vr Gastos, Inflacion "'P'," + //Tipo de compra "NULL,NULL," + //Orden de pago "0," + //Valor compra a proveedor "NULL," + //Fecha entrega "'" + nit + "'," + //NIT Proveedor "NULL,NULL" + //Prenda,IVA ");"); //Actualizar pcatalogovehiculo sqlStrings.Add("update pcatalogovehiculo " + "set pcat_consecutivo=" + cVIN + " " + "WHERE PCAT_CODIGO='" + dtEnsambles.Rows[n]["PCAT_CODIGO"].ToString() + "' AND pcat_consecutivo<" + cVIN + ";"); //Actualizar dordenproduccion sqlStrings.Add("UPDATE DORDENPRODUCCION SET " + "DORD_CANTENTR=DORD_CANTENTR+1 " + "WHERE PDOC_CODIGO='" + ddlPrefOrden.SelectedValue + "' AND " + "MORD_NUMEORDE=" + ddlNumOrden.SelectedValue + " AND " + "PCAT_CODIGO='" + dtEnsambles.Rows[n]["PCAT_CODIGO"] + "';"); vehiculos = true; } } if (!vehiculos) { Utils.MostrarAlerta(Response, "No seleccionó ningún elemento."); return; } #endregion #region Orden Produccion //cerrar mordenproduccion si se recibieron todos los items sqlStrings.Add( "UPDATE MORDENPRODUCCION MO SET MO.TEST_ESTADO='F' " + "WHERE MO.pdoc_codigo='" + ddlPrefOrden.SelectedValue + "' AND mord_numeorde=" + ddlNumOrden.SelectedValue + " AND " + "NOT EXISTS(" + " SELECT * FROM DORDENPRODUCCION DOR " + " WHERE " + " DOR.pdoc_codigo=MO.pdoc_codigo AND DOR.mord_numeorde=MO.mord_numeorde AND " + " DOR.DORD_CANTXPROD>DORD_CANTENTR " + ");"); #endregion if (DBFunctions.Transaction(sqlStrings)) { Response.Redirect("" + indexPage + "?process=Produccion.EntradasEnsambles&path=" + Request.QueryString["path"] + "&pref=" + prefijoFacturaProveedor + "&num=" + numeroFacturaProveedor); } else { lbInfo.Text += "<br>Error : Detalles <br>" + DBFunctions.exceptions; } }