private void GenearPorProveedores(string Carpeta, decimal PesoProveedor) { //TODO: Codigo para crear carpeta automatica DataSets.EmbarquesTableAdapters.ProveedoresTXTTableAdapter proTA = new DataSets.EmbarquesTableAdapters.ProveedoresTXTTableAdapter(); DataSets.Embarques.ProveedoresTXTDataTable proDT = new DataSets.Embarques.ProveedoresTXTDataTable(); DataSets.EmbarquesTableAdapters.GenerarTXTTableAdapter txtTA = new DataSets.EmbarquesTableAdapters.GenerarTXTTableAdapter(); DataSets.Embarques.GenerarTXTDataTable txtDT = new DataSets.Embarques.GenerarTXTDataTable(); proTA.Fill(proDT, txtPlanta.Text); Clases.ExportarTXT exporta = new MaterialCore.Clases.ExportarTXT(); foreach (DataRow r in proDT.Rows) { txtTA.FillByProveedor(txtDT, txtNumeroPaleta.Text, txtPlanta.Text, Convert.ToString(r["ProveedorId"])); if (!System.IO.Directory.Exists(Carpeta)) { System.IO.Directory.CreateDirectory(Carpeta); } exporta.exportar(Carpeta + "\\" + txtConsecutivoEmbarque.Text + "-" + Convert.ToString(r["ProveedorId"]) + ".txt", txtDT, true, PesoProveedor); } }
public void exportar(string archivo, DataSets.Embarques.GenerarTXTDataTable txtDT, bool EsProveedores, decimal peso) { string linea = ""; using (StreamWriter sw = new StreamWriter(archivo, true)) { for (int i = 0; i < txtDT.Rows.Count; i++) { // linea = FormatoCampoEspacios(String.Format("yyyy-mm-dd", txtDT[i]["FechaRecibo"]), 11, TextAlignment.Left) + linea = FormatoCampoEspacios(Convert.ToDateTime(txtDT[i]["FechaRecibo"]).ToString("yyyy-MM-dd"), 11, TextAlignment.Left) + FormatoCampoCeros(Convert.ToString(txtDT[i]["ProveedorId"]), 5, TextAlignment.Right) + " " + FormatoCampoEspacios(Convert.ToString(txtDT[i]["FacturaProveedor"]), 16, TextAlignment.Left) + FormatoCampoEspacios(Convert.ToString(txtDT[i]["Id"]), 7, TextAlignment.Left) + FormatoCampoEspacios(FormatoCampoCeros(Convert.ToString(txtDT[i]["RenglonId"]), 3, TextAlignment.Right), 4, TextAlignment.Left) + FormatoCampoEspacios(Convert.ToString(txtDT[i]["NumeroParte"]), 16, TextAlignment.Left) + FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(txtDT[i]["CantidadRecibida"]), 12, 2, TextAlignment.Right), 13, TextAlignment.Left) + FormatoCampoEspacios(Convert.ToString(txtDT[i]["UnidadMedida"]), 3, TextAlignment.Left); //parte del peso if (!EsProveedores) //archivo global { if (i == 0) { linea += FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(peso), 17, 8, TextAlignment.Right), 18, TextAlignment.Left) + FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(peso), 17, 8, TextAlignment.Right), 18, TextAlignment.Left); } else { linea += FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(0), 17, 8, TextAlignment.Right), 18, TextAlignment.Left) + FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(0), 17, 8, TextAlignment.Right), 18, TextAlignment.Left); } } else //SI es el archivo de proveedor { linea += FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(peso), 17, 8, TextAlignment.Right), 18, TextAlignment.Left) + FormatoCampoEspacios(FormatoCampoDecimal(Convert.ToString(peso), 17, 8, TextAlignment.Right), 18, TextAlignment.Left); } string pais = Convert.ToString(txtDT[i]["Pais"]); if (pais.Length > 2) { pais = pais.Substring(0, 2); } linea += //FormatoCampoEspacios(Convert.ToString(txtDT[i]["Pais"]).Substring(0, 2), 7, TextAlignment.Left) + //corta la cadena a 2 caracteres FormatoCampoEspacios(Convert.ToString(pais), 7, TextAlignment.Left) + //corta la cadena a 2 caracteres FormatoCampoEspacios(Convert.ToString(txtDT[i]["Moneda"]), 4, TextAlignment.Left) + FormatoCampoEspacios(FormatoCampoCeros(Convert.ToString(txtDT[i]["Numero2"]), 9, TextAlignment.Left), 10, TextAlignment.Left); if (EsProveedores) { linea += FormatoCampoEspacios(Convert.ToString(txtDT[i]["NoGuia"]), 41, TextAlignment.Left) + FormatoCampoEspacios(Convert.ToString(txtDT[i]["EmbarquePlanta"]), 8, TextAlignment.Left) + FormatoCampoEspacios(Convert.ToString(txtDT[i]["Tarima"]), 42, TextAlignment.Left); //aqui debe de ir el nombre dde la tabla // FormatoCampoEspacios(Convert.ToString(txtDT[i]["NoGuia"]), txtDT[i]["NoGuia"].ToString().Length, TextAlignment.Left); } else { linea += FormatoCampoEspacios(Convert.ToString(txtDT[i]["NoGuia"]), txtDT[i]["NoGuia"].ToString().Length, TextAlignment.Left); } sw.WriteLine(linea); } } }
private void button1_Click(object sender, EventArgs e) { if (txtPlanta.Text == "") { MessageBox.Show("Debe agregar la planta.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); return; } if (txtPlanta.Text.ToUpper().Contains("DD")) { MessageBox.Show("No se puede crear tarimas de Partidas detenidas.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); return; } if (txtConsecutivoEmbarque.Text == "") { MessageBox.Show("Debe agregar un número de embarque", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); return; } if (txtConsecutivo.Text == "") { try { Convert.ToInt32(txtConsecutivo.Text); } catch { MessageBox.Show("Consecutivo no válido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); txtConsecutivo.Focus(); txtConsecutivo.SelectAll(); return; } //TODO validar que sea entero MessageBox.Show("Debe agregar el consecutivo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); txtConsecutivo.Focus(); return; } if (txtNombrePaleta.Text != "") { if (dgvEtiAzul.RowCount > 0) { //if (txtNoEtiqueta.Text != "" && txtNoEtiqueta.Text.Substring(0, 1) == "B") //{ DataSets.EmbarquesTableAdapters.GenerarTXTTableAdapter txtTA = new DataSets.EmbarquesTableAdapters.GenerarTXTTableAdapter(); DataSets.Embarques.GenerarTXTDataTable txtDT = new DataSets.Embarques.GenerarTXTDataTable(); // txtTA.EnforceConstraints = false; txtTA.Fill(txtDT, txtNumeroPaleta.Text, txtPlanta.Text); if (txtDT.Rows.Count == 0) { MessageBox.Show("No hay ninguna partida para esta planta.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); return; } if (EsDecimal(txtPesoBruto.Text)) { this.AgregarPaleta(); //asocial el bulto a un PL generado para evitar problemas en el port5al web string PL = PLautomatico(); for (int i = 0; i < dgvEtiAzul.RowCount; i++) { string guia = dgvEtiAzul.Rows[i].Cells[0].Value.ToString(); AgregarPaletaDespacho(Convert.ToInt32(txtConsecutivoEmbarque.Text), guia); AsociaPL(guia, PL); AgregarGuiaTarima(_NumeroTarimaInsertada, guia); } RehacerTarimas(); MessageBox.Show("Tarima creada con exito, se procesaron " + txtDT.Rows.Count + " partidas."); this.Close(); } else { MessageBox.Show("El peso bruto no tiene el formato correcto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } //MessageBox.Show("El peso bruto no tiene el formato correcto"); } else { MessageBox.Show("Debe de agregar al menos una etiqueta Azul", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); //MessageBox.Show("Verifique que el numero de la etiqueta sea correcto"); } } else { MessageBox.Show("Debe incluir el nombre del archivo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } //MessageBox.Show("Debe incluir el nombre del archivo"); }