//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); }
protected void Guardar_Proveedor(DataTable dtConceptos, ref ArrayList sqlStrings) { ArrayList totales = new ArrayList(); totales = this.Calcular_Totales(); facs = new ArrayList(); FacturaProveedor miFacturaP = new FacturaProveedor(); string completo; // Se actualiza el valor del servicio a los proveedores que este mes se cumple un Año de contrato miFacturaP.SqlRels.Add("UPDATE pcausacionPROVEEDOR SET PCAU_VALOCAUS = ROUND(PCAU_VALOCAUS*(1+(PCAU_PORCINCR*0.01)),0) WHERE MONTH(PCAU_FECHINIC) = (SELECT PMES_MESVIGENTE FROM CCARTERA);"); string[] partes; int numero = Convert.ToInt32(DBFunctions.SingleData("SELECT pdoc_ultidocu FROM dbxschema.pdocumento WHERE pdoc_codigo='"+ this.ddlPrefijo.SelectedValue + "'")); for (int i = 0; i < totales.Count; i++) { completo = totales[i].ToString(); partes = completo.Split('-'); miFacturaP = new FacturaProveedor(ddlPrefijo.SelectedValue, ddlPrefijo.SelectedValue, ddlPrefijo.SelectedValue, partes[0], ddlAlmacen.SelectedValue, "F", Convert.ToUInt64(numero + i + 1), Convert.ToUInt64(numero + i + 1), "V", DateTime.Now, DateTime.Now, Convert.ToDateTime(null), DateTime.Now, Convert.ToDouble(partes[1]), Convert.ToDouble(partes[2]), 0, 0, 0, tbDetalle.Text, HttpContext.Current.User.Identity.Name.ToLower()); facs.Add(ddlPrefijo.SelectedValue + "-" + (numero + i + 1).ToString()); Session["facs"] = facs; for (int j = 0; j < dtConceptos.Rows.Count; j++) { if (dtConceptos.Rows[j][0].ToString() == partes[0]) { miFacturaP.SqlRels.Add("INSERT INTO dfacturaproveedor VALUES(default,'@1',@2,'" + dtConceptos.Rows[j][3].ToString() + " " + tbDetalle.Text + "'," + dtConceptos.Rows[j][1].ToString() + "," + (Convert.ToDouble(dtConceptos.Rows[j][1]) * (Convert.ToDouble(dtConceptos.Rows[j][2]) / 100)).ToString() + ")"); } } if (miFacturaP.GrabarFacturaProveedor(false)) { this.Sacar_SqlsP(miFacturaP, ref sqlStrings); } else { sqlStrings.Add(miFacturaP.ProcessMsg); } } }
//Seleccionar Embarque protected void btnSeleccionar_Click(object sender, System.EventArgs e) { ArrayList sqlStrings = new ArrayList(); DataTable dtVehiculos = (DataTable)ViewState["VEHICULOS"]; string manifiesto = txtManifiesto.Text.Trim(); string d_o = txtDO.Text.Trim(); string levante = txtLevante.Text.Trim(); string aduana = txtAduana.Text.Trim(); double tasaCambioI = 0, tasaCambioN = 0, totalEmbarque = 0, valor, totalIVA = 0, subtotal = 0, totalEmbarqueM = 0; string tGN, tGE; double totalGastosE = 0, totalGastosN = 0; double unidadesEmbarque = 0; DateTime fechaProceso; #region Validaciones for (int n = 0; n < dgEnsambles.Items.Count; n++) { if (((CheckBox)dgEnsambles.Items[n].FindControl("chkUsarE")).Checked) { sqlStrings.Add( "UPDATE MVEHICULO " + "SET MVEH_NUMEMANI='" + txtManifiesto.Text + "', MVEH_NUMED_O='" + txtDO.Text + "', " + "MVEH_NUMELEVANTE='" + txtLevante.Text + "', MVEH_ADUANA='" + txtAduana.Text + "', " + "TEST_TIPOESTA=20 " + "WHERE MCAT_VIN='" + dtVehiculos.Rows[n]["MCAT_VIN"] + "';"); dtVehiculos.Rows[n]["USAR"] = 1; } else { dtVehiculos.Rows[n]["USAR"] = 0; } } if (sqlStrings.Count == 0) { Utils.MostrarAlerta(Response, "No seleccionó vehículos."); return; } //Tasa de cambio I try { tasaCambioI = Convert.ToDouble(txtTasaCambioI.Text); } catch { Utils.MostrarAlerta(Response, "Tasa de cambio no válida."); return; } //Tasa de cambio N try { tasaCambioN = Convert.ToDouble(txtTasaCambio.Text); } catch { Utils.MostrarAlerta(Response, "Tasa de cambio no válida."); return; } //Embarques if (ddlEmbarque.Items.Count == 0) { Utils.MostrarAlerta(Response, "No hay embarques."); return; } //Manifiesto if (manifiesto.Length == 0) { Utils.MostrarAlerta(Response, "Debe ingresar el manifiesto."); return; } //DO if (d_o.Length == 0) { Utils.MostrarAlerta(Response, "Debe ingresar el D.O."); return; } //Levante... if (levante.Length == 0) { Utils.MostrarAlerta(Response, "Debe ingresar el levante."); return; } //Aduana if (aduana.Length == 0) { Utils.MostrarAlerta(Response, "Debe la aduana."); return; } //Fecha proceso try { fechaProceso = Convert.ToDateTime(txtFecha.Text); } catch { Utils.MostrarAlerta(Response, "Fecha no válida."); return; } #endregion #region Consultar Dembarqueckd //Detalles DataSet dsEmbarque = new DataSet(); DBFunctions.Request(dsEmbarque, IncludeSchema.NO, "SELECT * FROM DEMBARQUECKD WHERE MEMB_SECUENCIA=" + ddlEmbarque.SelectedValue + ";"); btEjecutar.Enabled = false; plcNacionalizar.Visible = true; #endregion #region Gastos //Cargar gastos DataSet dsGastos = new DataSet(); DBFunctions.Request(dsGastos, IncludeSchema.NO, "Select df.PDOC_CODIORDEPAGO PREFO,df.MFAC_NUMEORDEPAGO NUMO,df.pgas_codigo,pg.PGAS_NOMBRE gasto,sum(df.dfac_valorgasto) valor, pg.PGAS_MODENACI " + "from DFACTURAGASTOEMBARQUE df, PGASTODIRECTO pg " + "where memb_secuencia=" + ddlEmbarque.SelectedValue + " and pg.PGAS_CODIGO=df.PGAS_CODIGO " + "group by memb_secuencia,df.pgas_codigo,pgas_nombre,df.PDOC_CODIORDEPAGO,df.MFAC_NUMEORDEPAGO,pg.PGAS_MODENACI;"); dgrGastos.DataSource = dsGastos.Tables[0]; dgrGastos.DataBind(); txtManifiesto.Enabled = txtDO.Enabled = txtLevante.Enabled = txtAduana.Enabled = txtFecha.Enabled = txtTasaCambioI.Enabled = txtTasaCambio.Enabled = ddlEmbarque.Enabled = ddlPrefDoc.Enabled = false; //Gastos moneda extranjera tGE = DBFunctions.SingleData( "SELECT " + "SUM(DF.DFAC_VALORGASTO) " + "FROM DFACTURAGASTOEMBARQUE DF, PGASTODIRECTO PG " + "WHERE " + "PG.PGAS_CODIGO=DF.PGAS_CODIGO AND DF.MEMB_SECUENCIA=" + ddlEmbarque.SelectedValue + " AND " + "PG.PGAS_MODENACI='N';"); if (tGE.Length > 0) { totalGastosE = Convert.ToDouble(tGE); } //Gastos moneda nacional tGN = DBFunctions.SingleData( "SELECT " + "SUM(DF.DFAC_VALORGASTO) " + "FROM DFACTURAGASTOEMBARQUE DF, PGASTODIRECTO PG " + "WHERE " + "PG.PGAS_CODIGO=DF.PGAS_CODIGO AND DF.MEMB_SECUENCIA=" + ddlEmbarque.SelectedValue + " AND " + "PG.PGAS_MODENACI='S';"); if (tGN.Length > 0) { totalGastosN = Convert.ToDouble(tGN); } #endregion #region Validar Catalogos en embarque DataRow[] drVs; DataRow drV; int unidades = 0; for (int n = 0; n < dtVehiculos.Rows.Count; n++) { drV = dtVehiculos.Rows[n]; if (Convert.ToInt16(drV["USAR"]) == 1) { if (dsEmbarque.Tables[0].Select("PCAT_CODIGO='" + drV["PCAT_CODIGO"] + "'").Length == 0) { Utils.MostrarAlerta(Response, "El catálogo " + drV["PCAT_CODIGO"] + " no se encuentra en el embarque."); return; } sqlStrings.Add("UPDATE DEMBARQUECKD SET DITE_CANTNACI=DITE_CANTNACI+1 " + "WHERE MEMB_SECUENCIA=" + ddlEmbarque.SelectedValue + " AND PCAT_CODIGO='" + drV["PCAT_CODIGO"] + "';"); unidades++; } } #endregion #region Validar total embarque //Detalles embarque totalCIF for (int n = 0; n < dsEmbarque.Tables[0].Rows.Count; n++) { drV = dsEmbarque.Tables[0].Rows[n]; valor = Convert.ToDouble(drV["DITE_VALOFOB"]) * Convert.ToDouble(drV["DITE_CANTEMBA"]); unidadesEmbarque += Convert.ToDouble(drV["DITE_CANTEMBA"]); totalEmbarque += valor; } totalEmbarqueM = Convert.ToDouble(DBFunctions.SingleData( "SELECT MLIC_VALOEMBA FROM MEMBARQUE WHERE MEMB_SECUENCIA=" + ddlEmbarque.SelectedValue + ";")); if (Math.Abs(totalEmbarqueM - totalEmbarque) > (totalEmbarqueM / 100)) { btEjecutar.Enabled = false; Utils.MostrarAlerta(Response, "La sumatoria de los detalles del embarque no coincide con el valor total del embarque!"); } #endregion string ensamble = ""; //Planta string planta = DBFunctions.SingleData("SELECT MPLA_CODIGO FROM MPLANTAS WHERE TPRO_CODIGO='E' FETCH FIRST 1 ROWS ONLY;"); //CIF: double CIF = CosteoProduccion.TraerCIF(planta, DateTime.Now.Year, DateTime.Now.Month); //Horas laboradas al mes string horasMes = DBFunctions.SingleData("SELECT cnom_horaslabxmes from CNOMINA"); //Carga Prestacional double cargaPrestacional = Convert.ToDouble(DBFunctions.SingleData("SELECT CNOM_PORCCARGPRES from CNOMINA")); //Costo hora planta double costoHoraPlanta = Convert.ToDouble(DBFunctions.SingleData("SELECT MPLA_COSTOHORA FROM MPLANTAS WHERE MPLA_CODIGO='" + planta + "';")); //Capacidad Planta double capacidadPlanta = Convert.ToDouble(DBFunctions.SingleData("SELECT MPLA_CAPACIDAD FROM MPLANTAS WHERE MPLA_CODIGO='" + planta + "';")); CosteoProduccion costeo; string numD = DBFunctions.SingleData("SELECT pdoc_ultidocu+1 FROM pdocumento WHERE pdoc_codigo='" + ddlPrefDoc.SelectedValue + "';"); string prfD = ddlPrefDoc.SelectedValue; double cifV = 0, gravamenV = 0, ivaV = 0, gcifV = 0, costoUniV = 0, factorCIF = 0, factorImportacion = 0, totalCostoImportacion = 0, costeoV = 0; for (int n = 0; n < dtVehiculos.Rows.Count; n++) { drV = dtVehiculos.Rows[n]; dtVehiculos.Rows[n]["IVA"] = 0; if (Convert.ToInt16(drV["USAR"]) == 1) { drVs = dsEmbarque.Tables[0].Select("PCAT_CODIGO='" + drV["PCAT_CODIGO"] + "'"); valor = Convert.ToDouble(drVs[0]["DITE_VALOFOB"]); //Response.Write("<H1>"+drV["MCAT_VIN"]+"</H1><br>"); //Response.Write("fob: "+valor+"<br>"); cifV = totalEmbarque + totalGastosE; //Response.Write("CIF: "+cifV+"<br>"); gravamenV = Convert.ToDouble(DBFunctions.SingleData( "SELECT COALESCE(PA.PARA_GRAVAME,0) " + "FROM PCATALOGOVEHICULO PC LEFT JOIN PARANCEL PA ON PA.PARA_CODIGO=PC.PARA_CODIGO " + "WHERE PC.PCAT_CODIGO='" + drV["PCAT_CODIGO"] + "';")); gravamenV = cifV * tasaCambioN * gravamenV / 100; //Response.Write("GRAVAMEN: "+gravamenV+"<br>"); ivaV = Convert.ToDouble(DBFunctions.SingleData( "SELECT COALESCE(PA.PIVA_PORCIVA,0) " + "FROM PCATALOGOVEHICULO PC LEFT JOIN PARANCEL PA ON PA.PARA_CODIGO=PC.PARA_CODIGO " + "WHERE PC.PCAT_CODIGO='" + drV["PCAT_CODIGO"] + "';")) / 100; ivaV += (cifV * tasaCambioN + gravamenV) * ivaV; //Response.Write("IVA: "+ivaV+"<br>"); totalIVA += ivaV; gcifV = (cifV * tasaCambioI) + gravamenV + totalGastosN; //Response.Write("GCIF: "+gcifV+"<br>"); costoUniV = (gcifV / totalEmbarque) * valor; //Response.Write("Costo unitario: "+costoUniV+"<br>"); valor = costoUniV; #region Costeo ensamble = DBFunctions.SingleData( "SELECT PENS_CODIGO FROM PENSAMBLEPRODUCCION WHERE PCAT_CODIGO='" + dtVehiculos.Rows[n]["PCAT_CODIGO"] + "';" ); costeo = new CosteoProduccion( dtVehiculos.Rows[n]["PCAT_CODIGO"].ToString(), 1, ensamble, TipoCosteo.Ensamble, CIF, horasMes, costoHoraPlanta, capacidadPlanta, cargaPrestacional); costeoV = costeo.Calcular(); valor += costeoV; //Response.Write("Costeo: "+costeoV+"<br>"); //Response.Write("TOTAL: "+valor+"<br><br><br>"); if (costeo.error.Length > 0) { Utils.MostrarAlerta(Response, "" + costeo.error + ""); return; } #endregion sqlStrings.Add("UPDATE MVEHICULO SET MVEH_VALOCOMP=" + valor + " " + "where MCAT_VIN='" + drV["MCAT_VIN"] + "';"); factorCIF = totalGastosE / totalEmbarque; factorImportacion = gcifV / totalEmbarque; totalCostoImportacion = gcifV - (totalEmbarque * tasaCambioN); subtotal += valor; sqlStrings.Add( "INSERT INTO DLIQUIDACIONCKD VALUES(" + "DEFAULT," + ddlEmbarque.SelectedValue + "," + "'" + drV["PCAT_CODIGO"] + "','" + drV["MCAT_VIN"] + "'," + totalEmbarque + "," + gcifV / unidadesEmbarque + "," + gravamenV / unidadesEmbarque + "," + ivaV / unidadesEmbarque + "," + tasaCambioN + "," + tasaCambioI + "," + totalGastosE / unidadesEmbarque + "," + totalGastosN / unidadesEmbarque + "," + factorCIF + "," + factorImportacion + "," + totalCostoImportacion / unidadesEmbarque + "," + "'" + HttpContext.Current.User.Identity.Name + "'," + "'" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "');" ); sqlStrings.Add("INSERT INTO DCOSTOPRODUCCION VALUES('" + prfD + "'," + numD + "," + costeo.totalMateriaPrima + "," + costeo.totalTrabajoTerceros + "," + costeo.totalManoObra + "," + costeo.totalCIF + "," + costeo.totalMaquinas + ",'" + drV["MCAT_VIN"] + "');"); } } sqlStrings.Add("UPDATE pdocumento set pdoc_ultidocu=pdoc_ultidocu+1 " + "WHERE pdoc_codigo='" + prfD + "';"); totalIVA = unidades * (totalIVA / unidadesEmbarque); #region Factura Proveedor FacturaProveedor facturaRepuestos = new FacturaProveedor(); string prefijoFacturaProveedor = ddlPrefDoc.SelectedValue; UInt64 numeroFacturaProveedor = Convert.ToUInt64(lblNumDoc.Text.Trim()); string nit = DBFunctions.SingleData("SELECT MNIT_NIT FROM CEMPRESA;"); 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, prefijoFacturaProveedor, nit, planta, "F", numeroFacturaProveedor, numeroFacturaProveedor, "P", DateTime.Now, DateTime.Now, Convert.ToDateTime(null), DateTime.Now, 0, 0, 0, 0, 0, txtLevante.Text, HttpContext.Current.User.Identity.Name.ToLower()); facturaRepuestosProv.GrabarFacturaProveedor(false); ViewState["NUM_FAC"] = facturaRepuestosProv.NumeroFactura; ViewState["PRE_FAC"] = facturaRepuestosProv.PrefijoFactura; for (int i = 0; i < facturaRepuestosProv.SqlStrings.Count; i++) { sqlStrings.Insert(0, facturaRepuestosProv.SqlStrings[facturaRepuestosProv.SqlStrings.Count - i - 1].ToString()); } #endregion Factura Proveedor txtTotalEmbarque.Text = totalEmbarque.ToString("C"); txtTotalUnidades.Text = unidades.ToString("0"); txtTotalGastosE.Text = totalGastosE.ToString("C"); txtTotalGastosN.Text = totalGastosN.ToString("C"); txtIVA.Text = totalIVA.ToString("C"); txtSubtotal.Text = subtotal.ToString("C"); txtTotal.Text = (totalIVA + subtotal).ToString("C"); ViewState["DLIQUIDACION"] = sqlStrings; ViewState["VEHICULOS"] = dtVehiculos; btEjecutar.Enabled = true; btnSeleccionar.Visible = false; for (int n = 0; n < dgEnsambles.Items.Count; n++) { ((CheckBox)dgEnsambles.Items[n].FindControl("chkUsarE")).Enabled = false; } if (sqlStrings.Count == 0) { Utils.MostrarAlerta(Response, "No seleccionó vehículos."); return; } }
//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; } } }
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; } }
public bool Guardar_Factura() { bool estado = false; FacturaCliente miFactura = new FacturaCliente(); FacturaProveedor miFacturaP = new FacturaProveedor(); ArrayList sqlStrings = new ArrayList(); ArrayList sqlOpcional = new ArrayList(); int i; if (tipoFactura == "C") { miFactura = new FacturaCliente("FC", this.prefijoFactura, this.nit, this.almacen, "A", Convert.ToUInt32(this.numeroFactura), Convert.ToUInt32(diasPlazo), Convert.ToDateTime(this.fecha), Convert.ToDateTime(fechaVencimiento), Convert.ToDateTime(null), this.valorFactura, this.valorIva, this.valorFletes, this.valorIvaFletes, this.valorRete, this.costoFactura, this.centroCosto, this.observacion, this.vendedor, this.usuario, null); // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 //Activos Fijos if (tipoGasto == "1") { for (i = 0; i < tablaDetallesFactura.Rows.Count; i++) { sqlStrings.Add("INSERT INTO dgastoactivocliente VALUES('@1',@2,1," + this.tablaDetallesFactura.Rows[i][0].ToString() + ",'" + this.tablaDetallesFactura.Rows[i][1].ToString() + "'," + Convert.ToDouble(this.tablaDetallesFactura.Rows[i][3].ToString().Substring(1)) + ")"); sqlStrings.Add("UPDATE mactivofijo SET tvig_vigencia='C' WHERE mafj_codiacti='" + tablaDetallesFactura.Rows[i][1].ToString() + "'"); } } //Gastos Diferidos else if (tipoGasto == "2") { for (i = 0; i < tablaDetallesFactura.Rows.Count; i++) { sqlStrings.Add("INSERT INTO dgastodiferidocliente VALUES('@1',@2,2," + this.tablaDetallesFactura.Rows[i][0].ToString() + ",'" + this.tablaDetallesFactura.Rows[i][1].ToString() + "'," + Convert.ToDouble(this.tablaDetallesFactura.Rows[i][3].ToString().Substring(1)) + ")"); } } //Gastos Operativos else if (tipoGasto == "3") { for (i = 0; i < tablaDetallesFactura.Rows.Count; i++) { if (this.tablaDetallesFactura.Rows[i][2].ToString() == "") { sqlStrings.Add("INSERT INTO dgastooperativocliente VALUES('@1',@2,3," + this.tablaDetallesFactura.Rows[i][0].ToString() + ",'" + this.tablaDetallesFactura.Rows[i][1].ToString() + "',null," + Convert.ToDouble(this.tablaDetallesFactura.Rows[i][3].ToString().Substring(1)) + "," + i + ")"); } else { sqlStrings.Add("INSERT INTO dgastooperativocliente VALUES('@1',@2,3," + this.tablaDetallesFactura.Rows[i][0].ToString() + ",'" + this.tablaDetallesFactura.Rows[i][1].ToString() + "','" + this.tablaDetallesFactura.Rows[i][2].ToString() + "'," + Convert.ToDouble(this.tablaDetallesFactura.Rows[i][3].ToString().Substring(1)) + "," + i + ")"); } } } //Gastos Varios else if (tipoGasto == "4") { for (i = 0; i < tablaDetallesFactura.Rows.Count; i++) { //Si es debito y tiene valor base if (((Convert.ToDouble(tablaDetallesFactura.Rows[i][7].ToString())) != 0) && ((Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString())) != 0)) { sqlStrings.Add("INSERT INTO dgastosvarioscliente VALUES('@1',@2," + i.ToString() + ",'" + tablaDetallesFactura.Rows[i][6].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][4].ToString().Trim() + "'," + System.Convert.ToInt32(tablaDetallesFactura.Rows[i][5].ToString().Trim()).ToString() + ",'" + tablaDetallesFactura.Rows[i][1].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][0].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][2].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][3].ToString().Trim() + "'," + System.Convert.ToDouble(tablaDetallesFactura.Rows[i][7].ToString()).ToString() + ",'D'," + System.Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString()).ToString() + ")"); } //Si es debito y no tiene valor base else if (((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][7].ToString())) != 0) && ((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString())) == 0)) { sqlStrings.Add("INSERT INTO dgastosvarioscliente VALUES('@1',@2," + i.ToString() + ",'" + tablaDetallesFactura.Rows[i][6].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][4].ToString().Trim() + "'," + System.Convert.ToInt32(tablaDetallesFactura.Rows[i][5].ToString().Trim()).ToString() + ",'" + tablaDetallesFactura.Rows[i][1].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][0].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][2].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][3].ToString().Trim() + "'," + (System.Convert.ToDouble(tablaDetallesFactura.Rows[i][7].ToString())).ToString() + ",'D',0)"); } //Si es credito y tiene valor base else if (((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][8].ToString())) != 0) && ((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString())) != 0)) { sqlStrings.Add("INSERT INTO dgastosvarioscliente VALUES('@1',@2," + i.ToString() + ",'" + tablaDetallesFactura.Rows[i][6].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][4].ToString().Trim() + "'," + System.Convert.ToInt32(tablaDetallesFactura.Rows[i][5].ToString().Trim()).ToString() + ",'" + tablaDetallesFactura.Rows[i][1].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][0].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][2].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][3].ToString().Trim() + "'," + (System.Convert.ToDouble(tablaDetallesFactura.Rows[i][8].ToString())).ToString() + ",'C'," + System.Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString()).ToString() + ")"); } //Si es credito y no tiene valor base else if (((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][8].ToString())) != 0) && ((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString())) == 0)) { sqlStrings.Add("INSERT INTO dgastosvarioscliente VALUES('@1',@2," + i.ToString() + ",'" + tablaDetallesFactura.Rows[i][6].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][4].ToString().Trim() + "'," + System.Convert.ToInt64(tablaDetallesFactura.Rows[i][5].ToString().Trim()).ToString() + ",'" + tablaDetallesFactura.Rows[i][1].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][0].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][2].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][3].ToString().Trim() + "'," + (System.Convert.ToDouble(tablaDetallesFactura.Rows[i][8].ToString())).ToString() + ",'C',0)"); } } } //Activos Fijos else if (tipoGasto == "5") { for (i = 0; i < tablaDetallesFactura.Rows.Count; i++) { sqlStrings.Add("INSERT INTO DACTIVOFIJOMEJORA VALUES('" + tablaDetallesFactura.Rows[i][1].ToString() + "'," + tablaDetallesFactura.Rows[i][3].ToString().Substring(1).Replace(",", "").Trim() + ",'" + observacion + "', '" + this.prefijoFactura + "', " + this.NumeroFactura + ", '" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "')"); sqlStrings.Add("UPDATE MACTIVOFIJO SET MAFJ_VALOMEJORA = " + tablaDetallesFactura.Rows[i][3].ToString().Substring(1).Replace(",", "").Trim() + " WHERE MAFJ_CODIACTI = '" + tablaDetallesFactura.Rows[i][1].ToString() + "'"); } } if (tablaRetenciones != null) { if (tablaRetenciones.Rows.Count != 0) { for (i = 0; i < tablaRetenciones.Rows.Count; i++) { sqlStrings.Add("INSERT INTO mfacturaclienteretencion VALUES('@1',@2,'" + tablaRetenciones.Rows[i][0].ToString() + "'," + Convert.ToDouble(tablaRetenciones.Rows[i][3]).ToString() + "," + Convert.ToDouble(tablaRetenciones.Rows[i][2]).ToString() + ")"); } } } if (tablaIva != null) { if (tablaIva.Rows.Count != 0) { for (i = 0; i < tablaIva.Rows.Count; i++) { sqlStrings.Add("INSERT INTO dfacturaclienteiva VALUES('@1',@2," + tablaIva.Rows[i][0].ToString() + ",'" + tablaIva.Rows[i][3].ToString() + "','" + tablaIva.Rows[i][2].ToString() + "'," + tablaIva.Rows[i][1].ToString() + ")"); } } } sqlStrings.Add("INSERT INTO mfacturaadministrativacliente VALUES('@1',@2,'" + cuenta + "')"); miFactura.SqlRels = sqlStrings; if (miFactura.GrabarFacturaCliente(true)) { this.mensajes = miFactura.ProcessMsg; estado = true; } else { this.mensajes = miFactura.ProcessMsg; } } else if (tipoFactura == "P") { miFacturaP = new FacturaProveedor("FP", prefijoFactura, prefijoProveedor, nit, almacen, "A", Convert.ToUInt64(numeroFactura), Convert.ToUInt64(numeroProveedor), // 0 1 2 3 4 5 6 7 "V", Convert.ToDateTime(fecha), Convert.ToDateTime(fechaVencimiento), Convert.ToDateTime(null), Convert.ToDateTime(fecha), valorFactura, valorIva, // 8 9 10 11 12 13 14 valorFletes, valorIvaFletes, valorRete, observacion, usuario); // 15 16 17 18 19 this.Sacar_Sqls(ref sqlStrings); // cuando el saldo de la factura sea 0, se pone la vigencia en C if (valorFactura + valorIva + valorFletes + valorIvaFletes - valorRete == 0) { sqlStrings.Add("update MFACTURAPROVEEDOR SET TVIG_VIGENCIA = 'C' WHERE PDOC_CODIORDEPAGO = '@1' AND MFAC_NUMEORDEPAGO = @2 "); } //Activos Fijos if (tipoGasto == "1") { for (i = 0; i < tablaDetallesFactura.Rows.Count; i++) { sqlStrings.Add("INSERT INTO dgastoactivoproveedor VALUES('@1',@2,1," + this.tablaDetallesFactura.Rows[i][0].ToString() + ",'" + this.tablaDetallesFactura.Rows[i][1].ToString() + "'," + Convert.ToDouble(tablaDetallesFactura.Rows[i][3].ToString().Substring(1)) + ")"); } } //Gastos Diferidos else if (tipoGasto == "2") { for (i = 0; i < tablaDetallesFactura.Rows.Count; i++) { sqlStrings.Add("INSERT INTO dgastodiferidoproveedor VALUES('@1',@2,2," + this.tablaDetallesFactura.Rows[i][0].ToString() + ",'" + this.tablaDetallesFactura.Rows[i][1].ToString() + "'," + Convert.ToDouble(tablaDetallesFactura.Rows[i][3].ToString().Substring(1)) + ")"); } } //Gastos Operativos else if (tipoGasto == "3") { for (i = 0; i < tablaDetallesFactura.Rows.Count; i++) { if (this.tablaDetallesFactura.Rows[i][2].ToString() == "") { sqlStrings.Add("INSERT INTO dgastooperativoproveedor VALUES('@1',@2,3," + this.tablaDetallesFactura.Rows[i][0].ToString() + ",'" + this.tablaDetallesFactura.Rows[i][1].ToString() + "',null," + Convert.ToDouble(tablaDetallesFactura.Rows[i][3].ToString().Substring(1)) + "," + i + ")"); } else { sqlStrings.Add("INSERT INTO dgastooperativoproveedor VALUES('@1',@2,3," + this.tablaDetallesFactura.Rows[i][0].ToString() + ",'" + this.tablaDetallesFactura.Rows[i][1].ToString() + "','" + this.tablaDetallesFactura.Rows[i][2].ToString() + "'," + Convert.ToDouble(tablaDetallesFactura.Rows[i][3].ToString().Substring(1)) + "," + i + ")"); } } } //Gastos Varios else if (tipoGasto == "4") { for (i = 0; i < tablaDetallesFactura.Rows.Count; i++) { //Si es debito y tiene valor base if (((Convert.ToDouble(tablaDetallesFactura.Rows[i][7].ToString())) != 0) && ((Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString())) != 0)) { sqlStrings.Add("INSERT INTO dgastosvariosproveedor VALUES('@1',@2," + i.ToString() + ",'" + tablaDetallesFactura.Rows[i][6].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][4].ToString().Trim() + "'," + System.Convert.ToUInt64(tablaDetallesFactura.Rows[i][5].ToString().Trim()).ToString() + ",'" + tablaDetallesFactura.Rows[i][1].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][0].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][2].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][3].ToString().Trim() + "'," + System.Convert.ToDouble(tablaDetallesFactura.Rows[i][7].ToString()).ToString() + ",'D'," + System.Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString()).ToString() + ")"); } //Si es debito y no tiene valor base else if (((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][7].ToString())) != 0) && ((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString())) == 0)) { sqlStrings.Add("INSERT INTO dgastosvariosproveedor VALUES('@1',@2," + i.ToString() + ",'" + tablaDetallesFactura.Rows[i][6].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][4].ToString().Trim() + "'," + System.Convert.ToUInt64(tablaDetallesFactura.Rows[i][5].ToString().Trim()).ToString() + ",'" + tablaDetallesFactura.Rows[i][1].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][0].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][2].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][3].ToString().Trim() + "'," + (System.Convert.ToDouble(tablaDetallesFactura.Rows[i][7].ToString())).ToString() + ",'D',0)"); } //Si es credito y tiene valor base else if (((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][8].ToString())) != 0) && ((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString())) != 0)) { sqlStrings.Add("INSERT INTO dgastosvariosproveedor VALUES('@1',@2," + i.ToString() + ",'" + tablaDetallesFactura.Rows[i][6].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][4].ToString().Trim() + "'," + System.Convert.ToUInt64(tablaDetallesFactura.Rows[i][5].ToString().Trim()).ToString() + ",'" + tablaDetallesFactura.Rows[i][1].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][0].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][2].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][3].ToString().Trim() + "'," + (System.Convert.ToDouble(tablaDetallesFactura.Rows[i][8].ToString())).ToString() + ",'C'," + System.Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString()).ToString() + ")"); } //Si es credito y no tiene valor base else if (((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][8].ToString())) != 0) && ((System.Convert.ToDouble(tablaDetallesFactura.Rows[i][9].ToString())) == 0)) { sqlStrings.Add("INSERT INTO dgastosvariosproveedor VALUES('@1',@2," + i.ToString() + ",'" + tablaDetallesFactura.Rows[i][6].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][4].ToString().Trim() + "'," + System.Convert.ToUInt64(tablaDetallesFactura.Rows[i][5].ToString().Trim()).ToString() + ",'" + tablaDetallesFactura.Rows[i][1].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][0].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][2].ToString().Trim() + "','" + tablaDetallesFactura.Rows[i][3].ToString().Trim() + "'," + (System.Convert.ToDouble(tablaDetallesFactura.Rows[i][8].ToString())).ToString() + ",'C',0)"); } } } //Activos Fijos else if (tipoGasto == "5") { for (i = 0; i < tablaDetallesFactura.Rows.Count; i++) { sqlStrings.Add("INSERT INTO DACTIVOFIJOMEJORA VALUES('" + tablaDetallesFactura.Rows[i][1].ToString() + "'," + tablaDetallesFactura.Rows[i][3].ToString().Substring(1).Replace(",", "").Trim() + ",'" + observacion + "', '" + this.prefijoFactura + "', " + this.NumeroFactura + ", '" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "')"); sqlStrings.Add("UPDATE MACTIVOFIJO SET MAFJ_VALOMEJORA = " + tablaDetallesFactura.Rows[i][3].ToString().Substring(1).Replace(",", "").Trim() + " WHERE MAFJ_CODIACTI = '" + tablaDetallesFactura.Rows[i][1].ToString() + "'"); } } if (tablaRetenciones != null) { if (tablaRetenciones.Rows.Count != 0) { for (i = 0; i < tablaRetenciones.Rows.Count; i++) { sqlStrings.Add("INSERT INTO mfacturaproveedorretencion VALUES('@1',@2,'" + tablaRetenciones.Rows[i][0].ToString() + "'," + Convert.ToDouble(tablaRetenciones.Rows[i][3]).ToString() + "," + Convert.ToDouble(tablaRetenciones.Rows[i][2]).ToString() + ")"); } } } if (tablaIva != null) { if (tablaIva.Rows.Count != 0) { for (i = 0; i < tablaIva.Rows.Count; i++) { sqlStrings.Add("INSERT INTO dfacturaproveedoriva VALUES('@1',@2," + tablaIva.Rows[i][0].ToString() + ",'" + tablaIva.Rows[i][3].ToString() + "','" + tablaIva.Rows[i][2].ToString() + "'," + tablaIva.Rows[i][1].ToString() + ")"); } } } sqlStrings.Add("INSERT INTO mfacturaadministrativaproveedor VALUES('@1',@2,'" + cuenta + "')"); miFacturaP.SqlRels = sqlStrings; if (miFacturaP.GrabarFacturaProveedor(true)) { //Este proceso aplica solamente para EUROTECK y cancela la factua en finanzas sin generar comprobantes de egreso cuando usan la cuenta 1330 if (DBFunctions.SingleData("SELECT MNIT_NIT FROM CEMPRESA") == "901087944" && cuenta.ToString().Substring(0, 4) == "1330") { sqlOpcional.Add("update MFACTURAPROVEEDOR set MFAC_VALOABON = MFAC_VALOFACT + MFAC_VALOIVA + MFAC_VALOFLET + MFAC_VALOIVAFLET - MFAC_VALORETE, TVIG_VIGENCIA = 'C' where PDOC_CODIORDEPAGO = '" + prefijoFactura + "' and MFAC_NUMEORDEPAGO = " + Convert.ToUInt64(numeroFactura) + ""); if (DBFunctions.Transaction(sqlStrings)) { string processMsg = DBFunctions.exceptions; } } estado = true; this.mensajes = miFacturaP.ProcessMsg; } else { this.mensajes = "Error : " + miFacturaP.ProcessMsg; } } return(estado); }
//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); }
Realizar_Recepcion(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) { observacion += " " + tbInformacionTecnica.Rows.Count; //Construir Observacion Catalogo+Vin for (i = 0; i < tbInformacionTecnica.Rows.Count; i++) { observacion += " " + tbInformacionTecnica.Rows[i][0].ToString() + "-" + tbInformacionTecnica.Rows[i][1].ToString() + " "; } 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.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(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); } else { RetencionVehiculos.Guardar_Retenciones(false, dtRetenciones); } for (i = 0; i < RetencionVehiculos.Sqls.Count; i++) { sqlStrings.Add(RetencionVehiculos.Sqls[i].ToString()); } } //Primero debemos grabar los registros de la tabla mcatalogovehiculo for (i = 0; i < tbInformacionTecnica.Rows.Count; i++) { //observacion += "<br/>SELECT * FROM mcatalogovehiculo WHERE mcat_vin='"+tbInformacionTecnica.Rows[i][1].ToString()+"'<br/>"; string fechaVenta = DateTime.Now.ToString("yyyy-MM-dd"); if (tbInformacionComercial.Rows[i][7].ToString() == "U") // En vehículo usado de toma la fecha de matriculo inicial en la fecha de venta { fechaVenta = tbInformacionComercial.Rows[i][9].ToString(); } if (!DBFunctions.RecordExist("SELECT * FROM mcatalogovehiculo WHERE mcat_vin='" + tbInformacionTecnica.Rows[i][1].ToString() + "' ")) { sqlStrings.Add("INSERT INTO mcatalogovehiculo VALUES('" + tbInformacionTecnica.Rows[i][0].ToString() + "','" + tbInformacionTecnica.Rows[i][1].ToString() + "','" + tbInformacionTecnica.Rows[i][8].ToString() + "','" + tbInformacionTecnica.Rows[i][2].ToString() + "','" + DBFunctions.SingleData("SELECT mnit_nit FROM cempresa") + "','" + tbInformacionTecnica.Rows[i][3].ToString() + "','" + tbInformacionTecnica.Rows[i][4].ToString() + "','" + tbInformacionTecnica.Rows[i][5].ToString() + "'," + tbInformacionTecnica.Rows[i][6].ToString() + ",'" + tbInformacionTecnica.Rows[i][7].ToString() + "',null,null,'" + fechaVenta + "',0,null,0,1000,null,null,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',null)"); } } //Ahora Agregamos los registros de la tabla mvehiculo for (i = 0; i < tbInformacionComercial.Rows.Count; i++) { string nitPropietario = DBFunctions.SingleData("SELECT mnit_nit FROM cempresa"); if (tbInformacionComercial.Rows[i][13].ToString() != "P") { nitPropietario = nitProveedor; // En las Consignaciones o Retomas de Vehiculos, se deja el nit del proveedor como propietario } if (!factura) { if (valorIva == null) { valorIva = "0"; } if ((prefijoPedido == "" && numeroPedido == "") || indicativoRetoma == "S") { 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(" + tbInformacionComercial.Rows[i][0].ToString() + ",null,'" + tbInformacionComercial.Rows[i][2].ToString() + "',10,null,null,'" + 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() + "',null,null," + tbInformacionComercial.Rows[i][14].ToString() + ",null,'" + nitSeleccionado + "',null," + valorIva + ")"); } //sqlStrings.Add("INSERT INTO mvehiculo VALUES(" + tbInformacionComercial.Rows[i][0].ToString() + ",null,'" + tbInformacionComercial.Rows[i][2].ToString() + "',10,null,null,'" + 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() + "',null,null," + tbInformacionComercial.Rows[i][14].ToString() + ",null,'" + nitProveedor + "',null," + valorIva + ")"); else { 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(" + tbInformacionComercial.Rows[i][0].ToString() + ",null,'" + tbInformacionComercial.Rows[i][2].ToString() + "',10,'" + 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() + "',null,null," + tbInformacionComercial.Rows[i][14].ToString() + ",null,'" + nitSeleccionado + "',null," + valorIva + ")"); //sqlStrings.Add("INSERT INTO mvehiculo VALUES(" + tbInformacionComercial.Rows[i][0].ToString() + ",null,'" + tbInformacionComercial.Rows[i][2].ToString() + "',10,'" + 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() + "',null,null," + 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='" + tbInformacionComercial.Rows[i][1].ToString() + "'"); } //Ahora creamos el registro en la tabla mubicacionvehiculo sqlStrings.Add("INSERT INTO mubicacionvehiculo VALUES(default,'" + tbInformacionComercial.Rows[i][1].ToString() + "','" + tbInformacionComercial.Rows[i][2].ToString() + "','" + this.ubicacion + "','" + DateTime.Now.ToString("yyyy-MM-dd") + "',null,null,null,null)"); } else { if ((prefijoPedido == "" && numeroPedido == "") || indicativoRetoma == "S") { 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(" + tbInformacionComercial.Rows[i][0].ToString() + ",null,'" + tbInformacionComercial.Rows[i][2].ToString() + "',20,null,null,'" + 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,'" + nitSeleccionado + "',null," + valorIva + ")"); } //sqlStrings.Add("INSERT INTO mvehiculo VALUES(" + tbInformacionComercial.Rows[i][0].ToString() + ",null,'" + tbInformacionComercial.Rows[i][2].ToString() + "',20,null,null,'" + 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 + ")"); else { 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(" + 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,'" + 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='" + tbInformacionComercial.Rows[i][1].ToString() + "'"); } //Ahora creamos el registro en la tabla mubicacionvehiculo sqlStrings.Add("INSERT INTO mubicacionvehiculo VALUES(default,'" + tbInformacionComercial.Rows[i][1].ToString() + "','" + tbInformacionComercial.Rows[i][2].ToString() + "','" + this.ubicacion + "','" + DateTime.Now.ToString("yyyy-MM-dd") + "',null,null,null,null)"); } } if (indicativoRetoma == "S") { for (i = 0; i < tbInformacionTecnica.Rows.Count; i++) { sqlStrings.Add("UPDATE dpedidovehiculoretoma SET mveh_inventario=" + tbInformacionComercial.Rows[i][0].ToString() + " WHERE pcat_codigo='" + tbInformacionTecnica.Rows[i][0].ToString() + "' AND dped_numeplaca='" + tbInformacionTecnica.Rows[i][8].ToString() + "'"); } } 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); }