//Función para cargar los productos de la orden private void cargarProductos(int iIdPosOrden) { Program.iCuenta = 0; bool bRespuesta = false; ConexionBD.ConexionBD conexion = new ConexionBD.ConexionBD(); string sQuery = ""; sQuery += "select dbo.cv403_cab_pedidos.id_pedido, dbo.cv401_nombre_productos.nombre," + Environment.NewLine; sQuery += "dbo.cv403_det_pedidos.cantidad, dbo.cv403_det_pedidos.precio_unitario, " + Environment.NewLine; sQuery += "dbo.cv403_det_pedidos.Valor_dscto, dbo.cv403_det_pedidos.comentario " + Environment.NewLine; sQuery += "from dbo.cv403_cab_pedidos inner join " + Environment.NewLine; sQuery += "dbo.cv403_det_pedidos on dbo.cv403_cab_pedidos.id_pedido = dbo.cv403_det_pedidos.id_pedido inner join " + Environment.NewLine; sQuery += "dbo.cv401_nombre_productos on dbo.cv403_det_pedidos.id_producto = dbo.cv401_nombre_productos.id_producto" + Environment.NewLine; sQuery += "and dbo.cv401_nombre_productos.estado = 'A' " + Environment.NewLine; sQuery += "where dbo.cv403_cab_pedidos.id_pedido = " + iIdPosOrden + Environment.NewLine; sQuery += "and dbo.cv403_det_pedidos.estado = 'A' " + Environment.NewLine; sQuery += "order by dbo.cv403_det_pedidos.id_det_pedido "; DataTable dtConsulta = new DataTable(); dtConsulta.Clear(); bRespuesta = conexion.GFun_Lo_Busca_Registro(dtConsulta, sQuery); if (bRespuesta == true) { Program.iCuenta = dtConsulta.Rows.Count; Program.sNombreProductos = new string[Program.iCuenta]; Program.sCantidadProductos = new string[Program.iCuenta]; Program.dPreciosProductos = new double[Program.iCuenta]; double dbTotal1 = 0; double suma = 0; for (int i = 0; i < Program.iCuenta; i++) { dbTotal1 += (Convert.ToDouble(dtConsulta.Rows[i][2].ToString()) * (Convert.ToDouble(dtConsulta.Rows[i][3].ToString()) - Convert.ToDouble(dtConsulta.Rows[i][4].ToString()))); if (i == (Program.iCuenta - 1)) { break; } double precio = Convert.ToDouble(dtConsulta.Rows[i][3].ToString()); string Precio1 = precio.ToString(""); suma += (Convert.ToDouble(dtConsulta.Rows[i][2].ToString()) * (Convert.ToDouble(Precio1) - Convert.ToDouble(dtConsulta.Rows[i][4].ToString()))); } for (int i = 0; i < Program.iCuenta; i++) { if ((dtConsulta.Rows[i][5].ToString() == null) || (dtConsulta.Rows[i][5].ToString() == "")) { Program.sNombreProductos[i] = dtConsulta.Rows[i][1].ToString(); } else { Program.sNombreProductos[i] = dtConsulta.Rows[i][5].ToString(); } double dbCantidad = Convert.ToDouble(dtConsulta.Rows[i][2].ToString()); double dbPrecioUnitario = Convert.ToDouble(dtConsulta.Rows[i][3].ToString()); double dbDescuento = Convert.ToDouble(dtConsulta.Rows[i][4].ToString()); string sCadena1; if (dbCantidad < 1) { //sCadena1 = dbCantidad + "";//Se guarda la cantidad en tres espacios sCadena1 = "1/2";//Se guarda la cantidad en tres espacios } else { sCadena1 = "" + dbCantidad; } string sCadena2 = "".PadRight(2, ' ');//se guarda cinco espacios string sCadena3; sCadena3 = Program.sNombreProductos[i].ToString(); string sCadena4 = dbPrecioUnitario.ToString("N2").PadLeft(5, ' '); string sCadena5 = ((dbCantidad * dbPrecioUnitario)).ToString("N2"); //string sCadena5 = ((dbCantidad * (dbPrecioUnitario - dbDescuento))).ToString("N2"); if (i == (Program.iCuenta - 1)) { sCadena5 = (Convert.ToDouble(dbTotal1.ToString("N2")) - suma).ToString("N2"); if (Convert.ToDouble(sCadena5) < 0) { sCadena5 = "0.00"; } } sCadena5 = sCadena5.PadLeft(8, ' '); if (sCadena3.Length > 22) { sTexto = sTexto + sCadena1.PadLeft(3, ' ') + sCadena2.PadRight(2, ' ') + sCadena3.Substring(0, 20).PadRight(22, ' ') + sCadena4.PadRight(5, ' ') + sCadena5.PadLeft(8, ' ') + Environment.NewLine; sTexto = sTexto + "".PadLeft(5, ' ') + sCadena3.Substring(20) + Environment.NewLine; } else { sTexto = sTexto + sCadena1.PadLeft(3, ' ') + sCadena2.PadRight(2, ' ') + sCadena3.PadRight(22, ' ') + sCadena4.PadRight(5, ' ') + sCadena5.PadLeft(8, ' ') + Environment.NewLine; } ////FUNCIONES PARA SABER SI HAY OBSERVACIONES DEL ITEM ////sSql = "select count(*) cuenta from pos_det_pedido_detalle where id_det_pedido = " + Convert.ToInt32(dtConsulta.Rows[i].ToString()) + " and estado = 'A'"; //sSql = "select detalle from pos_det_pedido_detalle where id_det_pedido = " + Convert.ToInt32(dtConsulta.Rows[i][6].ToString()) + " and estado = 'A' order by id_det_pedido"; //dtPreferencia = new DataTable(); //dtPreferencia.Clear(); //bRespuesta = conexion.GFun_Lo_Busca_Registro(dtPreferencia, sSql); //if (bRespuesta == true) //{ // if (dtPreferencia.Rows.Count > 0) // { // for (int j = 0; j < dtPreferencia.Rows.Count; j++) // { // sTexto = sTexto + " >>".PadRight(4, ' ') + dtPreferencia.Rows[j][0].ToString().PadRight(16, ' ') + Environment.NewLine; // } // } //} //else //{ // ok.LblMensaje.Text = "Ocurrió un problema al consultar las observaciones del item '" + dtConsulta.Rows[i][2].ToString() + "."; // ok.ShowDialog(); //} } } else { ok.LblMensaje.Text = "Ocurrió un problema al realizar la consulta."; ok.ShowDialog(); } }
//Función para cargar los productos de la orden private void cargarProductos(int iIdPosOrden) { Program.iCuenta = 0; bool bRespuesta = false; ConexionBD.ConexionBD conexion = new ConexionBD.ConexionBD(); string sQuery = ""; sQuery = sQuery + "SELECT CP.id_pedido, NP.nombre, DP.cantidad," + Environment.NewLine; sQuery = sQuery + "DP.precio_unitario, DP.valor_dscto, DP.comentario, DP.id_det_pedido," + Environment.NewLine; sQuery = sQuery + "CASE WHEN (C.id_pos_cortesia) IS NULL THEN 0 ELSE 1 END AS cortesia," + Environment.NewLine; sQuery = sQuery + "CASE WHEN (CAN.id_pos_cancelacion_productos) IS NULL THEN 0 ELSE 1 END AS cancelacion," + Environment.NewLine; sQuery = sQuery + "DP.valor_iva, DP.valor_otro" + Environment.NewLine; sQuery = sQuery + "FROM cv403_cab_pedidos CP INNER JOIN" + Environment.NewLine; sQuery = sQuery + "cv403_det_pedidos DP ON CP.id_pedido = DP.id_pedido" + Environment.NewLine; sQuery = sQuery + "and DP.estado = 'A'" + Environment.NewLine; sQuery = sQuery + "and CP.estado in ('A', 'N') INNER JOIN" + Environment.NewLine; sQuery = sQuery + "cv401_nombre_productos NP ON DP.id_producto = NP.id_producto" + Environment.NewLine; sQuery = sQuery + "and NP.estado = 'A' LEFT OUTER JOIN" + Environment.NewLine; sQuery = sQuery + "pos_cortesia C ON DP.id_det_pedido = C.id_det_pedido LEFT OUTER JOIN" + Environment.NewLine; sQuery = sQuery + "pos_cancelacion_productos CAN ON DP.id_det_pedido = CAN.id_det_pedido" + Environment.NewLine; sQuery = sQuery + "WHERE CP.id_pedido = " + iIdPosOrden + Environment.NewLine; sQuery = sQuery + "order by DP.id_det_pedido"; DataTable dtConsulta = new DataTable(); dtConsulta.Clear(); bRespuesta = conexion.GFun_Lo_Busca_Registro(dtConsulta, sQuery); if (bRespuesta == true) { dbDescuento = 0; dbPrecioTotal = 0; dbIva = 0; dbServicio = 0; for (int i = 0; i < dtConsulta.Rows.Count; i++) { if (dtConsulta.Rows[i].ItemArray[5].ToString() == "") { sNombreProducto = dtConsulta.Rows[i].ItemArray[1].ToString(); } else { sNombreProducto = dtConsulta.Rows[i].ItemArray[5].ToString(); } dbCantidad = Convert.ToDouble(dtConsulta.Rows[i].ItemArray[2].ToString()); dbPrecioUnitario = Convert.ToDouble(dtConsulta.Rows[i].ItemArray[3].ToString()); if (Convert.ToDouble(dtConsulta.Rows[i].ItemArray[4].ToString()) != 0) { dbDescuento = dbDescuento + (dbCantidad * Convert.ToDouble(dtConsulta.Rows[i].ItemArray[4].ToString())); } dbIva = dbIva + (dbCantidad * Convert.ToDouble(dtConsulta.Rows[i].ItemArray[9].ToString())); dbServicio = dbServicio + (dbCantidad * Convert.ToDouble(dtConsulta.Rows[i].ItemArray[10].ToString())); dbSumaPrecio = dbCantidad * dbPrecioUnitario; dbPrecioTotal = dbPrecioTotal + dbSumaPrecio; if (dbCantidad < 1) { sCantidadProducto = "1/2"; } else { sCantidadProducto = dbCantidad.ToString("N0"); } if (sNombreProducto.Length > 20) { sTexto = sTexto + sNombreProducto.Substring(0, 20).PadRight(20, ' ') + sCantidadProducto.PadLeft(3, ' ') + dbPrecioUnitario.ToString("N2").PadLeft(8, ' ') + dbSumaPrecio.ToString("N2").PadLeft(9, ' ') + Environment.NewLine; sTexto = sTexto + sNombreProducto.Substring(20).PadRight((sNombreProducto.Substring(21).Length + 5), ' ') + Environment.NewLine; } else { sTexto = sTexto + sNombreProducto.PadRight(20, ' ') + sCantidadProducto.PadLeft(3, ' ') + dbPrecioUnitario.ToString("N2").PadLeft(8, ' ') + dbSumaPrecio.ToString("N2").PadLeft(9, ' ') + Environment.NewLine; } } //SECCION PARA MOSTRAR LOS TOTALES sTexto = sTexto + "========================================" + Environment.NewLine; //sTexto = sTexto + "----------------------------------------" + Environment.NewLine; sTexto = sTexto + "SUBTOTAL NETO:".PadRight(31, ' ') + dbPrecioTotal.ToString("N2").PadLeft(9, ' ') + Environment.NewLine; //sTexto = sTexto + ("DESCUENTO " + dtConsulta.Rows[0].ItemArray[6].ToString() + "%:").PadRight(31, ' ') + dbDescuento.ToString("N2").PadLeft(9, ' ') + Environment.NewLine; sTexto = sTexto + "DESCUENTO:".PadRight(31, ' ') + dbDescuento.ToString("N2").PadLeft(9, ' ') + Environment.NewLine; sTexto = sTexto + "".PadLeft(40, '-') + Environment.NewLine; sTexto = sTexto + ("SUBTOTAL " + dbPorcentajeIva.ToString("N0") + "%:").PadRight(31, ' ') + (dbPrecioTotal - dbDescuento).ToString("N2").PadLeft(9, ' ') + Environment.NewLine; sTexto = sTexto + ("IVA " + dbPorcentajeIva.ToString("N0") + "%:").PadRight(31, ' ') + dbIva.ToString("N2").PadLeft(9, ' ') + Environment.NewLine; //sTexto = sTexto + "TOTAL DE LA ORDEN:".PadRight(31, ' ') + (subtotal + iva).ToString("N2").PadLeft(9, ' ') + Environment.NewLine; if (dbPorcentajeServicio != 0) { sTexto = sTexto + (dbPorcentajeServicio.ToString("N0") + "% SERVICIO").PadRight(31, ' ') + dbServicio.ToString("N2").PadLeft(9, ' ') + Environment.NewLine; } sTexto = sTexto + "".PadLeft(40, '-') + Environment.NewLine; sTexto = sTexto + "CANTIDAD DEBIDA:".PadRight(31, ' ') + (dbPrecioTotal - dbDescuento + dbIva + dbServicio).ToString("N2").PadLeft(9, ' ') + Environment.NewLine + Environment.NewLine; dbTotal = dbPrecioTotal - dbDescuento + dbIva + dbServicio; dbTotalOrden = dbTotal; } else { ok.LblMensaje.Text = sQuery; ok.ShowDialog(); } }
//Función para cargar los productos de la orden private void cargarProductos(int iIdPosOrden) { Program.iCuenta = 0; bool bRespuesta = false; ConexionBD.ConexionBD conexion = new ConexionBD.ConexionBD(); string sQuery = "select dbo.cv403_cab_pedidos.id_pedido, dbo.cv401_nombre_productos.nombre, dbo.cv403_det_pedidos.cantidad, dbo.cv403_det_pedidos.precio_unitario, " + "dbo.cv403_det_pedidos.Valor_dscto, dbo.cv403_det_pedidos.comentario " + "from dbo.cv403_cab_pedidos inner join " + "dbo.cv403_det_pedidos on dbo.cv403_cab_pedidos.id_pedido = dbo.cv403_det_pedidos.id_pedido inner join " + "dbo.cv401_nombre_productos on dbo.cv403_det_pedidos.id_producto = dbo.cv401_nombre_productos.id_producto and dbo.cv401_nombre_productos.estado = 'A'" + "where dbo.cv403_cab_pedidos.id_pedido = " + iIdPosOrden + " and dbo.cv403_det_pedidos.estado = 'A' " + " ORDER BY dbo.cv403_det_pedidos.id_det_pedido "; DataTable dtConsulta = new DataTable(); dtConsulta.Clear(); bRespuesta = conexion.GFun_Lo_Busca_Registro(dtConsulta, sQuery); if (bRespuesta == true) { Program.iCuenta = dtConsulta.Rows.Count; Program.sNombreProductos = new string[Program.iCuenta]; Program.sCantidadProductos = new string[Program.iCuenta]; Program.dPreciosProductos = new double[Program.iCuenta]; double dbTotal1 = 0; double suma = 0; for (int i = 0; i < Program.iCuenta; i++) { dbTotal1 += (Convert.ToDouble(dtConsulta.Rows[i].ItemArray[2].ToString()) * (Convert.ToDouble(dtConsulta.Rows[i].ItemArray[3].ToString()) - Convert.ToDouble(dtConsulta.Rows[i].ItemArray[4].ToString()))); if (i == (Program.iCuenta - 1)) { break; } double precio = Convert.ToDouble(dtConsulta.Rows[i].ItemArray[3].ToString()); string Precio1 = precio.ToString(""); suma += (Convert.ToDouble(dtConsulta.Rows[i].ItemArray[2].ToString()) * (Convert.ToDouble(Precio1) - Convert.ToDouble(dtConsulta.Rows[i].ItemArray[4].ToString()))); } for (int i = 0; i < Program.iCuenta; i++) { if ((dtConsulta.Rows[i].ItemArray[5].ToString() == null) || (dtConsulta.Rows[i].ItemArray[5].ToString() == "")) { Program.sNombreProductos[i] = dtConsulta.Rows[i].ItemArray[1].ToString(); } else { Program.sNombreProductos[i] = dtConsulta.Rows[i].ItemArray[1].ToString() + "(" + dtConsulta.Rows[i].ItemArray[5].ToString() + ")"; } double dbCantidad = Convert.ToDouble(dtConsulta.Rows[i].ItemArray[2].ToString()); double dbPrecioUnitario = Convert.ToDouble(dtConsulta.Rows[i].ItemArray[3].ToString()); double dbDescuento = Convert.ToDouble(dtConsulta.Rows[i].ItemArray[4].ToString()); string sCadena1; if (dbCantidad < 1) { //sCadena1 = dbCantidad +"" ;//Se guarda la cantidad en tres espacios sCadena1 = "1/2"; //Se guarda la cantidad en tres espacios } else { sCadena1 = dbCantidad.ToString(); } string sCadena2 = " ";//se guarda cinco espacios string sCadena3; sCadena3 = Program.sNombreProductos[i].ToString(); //if (Program.sNombreProductos[i].Length < iAnchoDeDescripcion) //{ // sCadena3 =Program.sNombreProductos[i].PadRight(iAnchoDeDescripcion,' '); //} //else //{ // sCadena3 = Program.sNombreProductos[i].Substring(0, iAnchoDeDescripcion);//se guarda el nombre con 13 caractéres //} string sCadena4 = " ";//se guarda tres espacios string sCadena5 = ((dbCantidad * (dbPrecioUnitario - dbDescuento))).ToString("N2"); if (i == (Program.iCuenta - 1)) { sCadena5 = (Convert.ToDouble(dbTotal1.ToString("N2")) - suma).ToString("N2"); if (Convert.ToDouble(sCadena5) < 0) { sCadena5 = "0.00"; } } Program.sCantidadProductos[i] = dtConsulta.Rows[i].ItemArray[2].ToString(); Program.dPreciosProductos[i] = Convert.ToDouble(dtConsulta.Rows[i].ItemArray[3].ToString()) - dbDescuento; if (sCadena3.Length > 25) { sw.WriteLine(sCadena1.PadLeft(4, ' ') + sCadena2.PadRight(1, ' ') + sCadena3.Substring(0, 25).PadRight(25, ' ') + sCadena4.PadRight(1, ' ') + sCadena5.PadLeft(9, ' ')); sw.WriteLine(sCadena3.Substring(25).PadLeft((sCadena3.Substring(26).Length + 5), ' ')); } else { sw.WriteLine(sCadena1.PadLeft(4, ' ') + sCadena2.PadRight(1, ' ') + sCadena3.PadRight(25, ' ') + sCadena4.PadRight(1, ' ') + sCadena5.PadLeft(9, ' ')); } // texto = texto + Program.sCantidadProductos[i] + " " + Program.sNombreProductos[i] + " $" + ((dbCantidad * (dbPrecioUnitario - dbDescuento))).ToString("N2") +" \n" + Environment.NewLine; //sw.WriteLine(sCadena1.PadLeft(4, ' ' ) + sCadena2 + sCadena3 + sCadena4 + sCadena5); } } else { } }