private void Gerar_Itens(ref DataTable row_Itens, ref DataRow row_Capa) { int iNotaFiscal = 0; foreach (DataRow row in row_Itens.Select("", "Situacao_Tributaria")) { im.Imp(row["produto"].ToString()); im.ImpCol(8, row["Desc_Produto"].ToString()); //-- im.ImpColRight(59, row["Peso_Bruto"].ToString()); im.ImpCol(62, row["Classificacao_Fiscal_Nota"].ToString()); im.ImpCol(68, row["Situacao_Tributaria"].ToString()); im.ImpCol(75, row["Desc_Unidade_Abrevidado"].ToString()); im.ImpCol(82, row["Quantidade"].ToString()); im.ImpColRight(100, row["Valor_Unitario"].ToString()); im.ImpColRight(119, row["Valor_Total_Item"].ToString()); if (Convert.ToInt32(row_Capa["Empresa"]) == 1) { im.ImpCol(125, Funcoes_Matricial.Zero_Branco(row["Aliquota_ICMS"], Funcoes_Matricial.Tipo_Zero.Inteiro)); } else { im.ImpCol(123, Funcoes_Matricial.Zero_Branco(row["Aliquota_ICMS"], Funcoes_Matricial.Tipo_Zero.Inteiro)); } im.ImpCol(127, Funcoes_Matricial.Zero_Branco(row["Aliquota_IPI"], Funcoes_Matricial.Tipo_Zero.Inteiro)); im.ImpColRightLF(137, Funcoes_Matricial.Zero_Branco(row["Valor_IPI"], Funcoes_Matricial.Tipo_Zero.Decimal)); iNotaFiscal = Convert.ToInt32(row["Nota_Fiscal"]); } //-- Imprime mensagens... IList <string> ilMens = this.Captura_Mensagem(iNotaFiscal); //-- Pula linhas para impressão das notas fiscais. if (Convert.ToInt32(row_Capa["Empresa"]) == 1) { im.Pula((36 - ilMens.Count) - im.Numero_Linhas_Impressao_Atual); } else { im.Pula((37 - ilMens.Count) - im.Numero_Linhas_Impressao_Atual); } foreach (string sMensagem in ilMens) { im.ImpColLF(2, sMensagem); } im.Pula(39 - im.Numero_Linhas_Impressao_Atual); }
private void Gerar_Fooder(ref DataRow row_Capa) { //-- Calculos dos impostos (impressão) im.ImpColRight(20, Funcoes_Matricial.Zero_Branco(row_Capa["Valor_Base_ICMS"], Funcoes_Matricial.Tipo_Zero.Decimal)); im.ImpColRight(45, Funcoes_Matricial.Zero_Branco(row_Capa["Valor_ICMS"], Funcoes_Matricial.Tipo_Zero.Decimal)); im.ImpColRight(77, Funcoes_Matricial.Zero_Branco(row_Capa["Valor_Base_Substituicao_ICMS"], Funcoes_Matricial.Tipo_Zero.Decimal)); im.ImpColRight(112, Funcoes_Matricial.Zero_Branco(row_Capa["Valor_Substituicao_ICMS"], Funcoes_Matricial.Tipo_Zero.Decimal)); im.ImpColRightLF(133, Funcoes_Matricial.Zero_Branco(row_Capa["Valor_Total_Produtos"], Funcoes_Matricial.Tipo_Zero.Decimal)); im.Pula(1); im.ImpColRight(20, Funcoes_Matricial.Zero_Branco(row_Capa["Valor_Frete"], Funcoes_Matricial.Tipo_Zero.Decimal)); im.ImpColRight(45, Funcoes_Matricial.Zero_Branco(row_Capa["Valor_Seguro"], Funcoes_Matricial.Tipo_Zero.Decimal)); im.ImpColRight(77, Funcoes_Matricial.Zero_Branco(row_Capa["Outros_Valores"], Funcoes_Matricial.Tipo_Zero.Decimal)); im.ImpColRight(112, Funcoes_Matricial.Zero_Branco(row_Capa["Valor_IPI"], Funcoes_Matricial.Tipo_Zero.Decimal)); im.ImpColRightLF(133, Funcoes_Matricial.Zero_Branco(row_Capa["Valor_Total_Nota"], Funcoes_Matricial.Tipo_Zero.Decimal)); im.Pula(2); //-- Dados da transportadora. im.ImpCol(2, row_Capa["Razao_Social_Transportadora"].ToString()); im.ImpCol(87, row_Capa["Tipo_Frete"].ToString()); if (row_Capa["CNPJ_Transportadora"] != DBNull.Value) { im.ImpColLF(122, Funcoes_Matricial.Formata_CNPJ_CPF(row_Capa["CNPJ_Transportadora"].ToString())); } else { im.ImpLF(""); } im.Pula(1); //-- Endereço da transportadora string sEndereco = row_Capa["Endereco_Transportadora"].ToString(); if (row_Capa["Numero_Transportadora"] != DBNull.Value) { sEndereco += ", " + row_Capa["Numero_Transportadora"].ToString(); } im.ImpCol(2, sEndereco); im.ImpCol(70, row_Capa["Cidade_Transportadora"].ToString()); im.ImpColLF(113, row_Capa["Estado_Transportadora"].ToString()); im.Pula(1); im.ImpCol(2, row_Capa["Quantidade_Itens"].ToString()); im.ImpCol(20, row_Capa["Especie"].ToString()); im.ImpCol(43, row_Capa["Marca"].ToString()); im.ImpCol(68, row_Capa["Numero"].ToString()); im.ImpColRight(104, row_Capa["Peso_Bruto"].ToString()); im.ImpColRight(134, row_Capa["Peso_Liquido"].ToString()); //-- Mostra as mensagens im.Pula(54 - im.Numero_Linhas_Impressao_Atual); IList <string> ilObs = new List <string>(); string sObservacao = row_Capa["Observacao"].ToString(); if (sObservacao.Length > 55) { //-- Loop para quebrar nota em linhas. while (sObservacao.Length > 55) { string sobs = sObservacao.Substring(0, 55); sObservacao = sObservacao.Replace(sobs, ""); sobs = sobs.Replace(Convert.ToChar(13).ToString() + Convert.ToChar(10).ToString(), "\r\n".PadRight(23)); ilObs.Add(sobs); } if (sObservacao.Length > 0) { ilObs.Add(sObservacao.Replace(Convert.ToChar(13).ToString() + Convert.ToChar(10).ToString(), "\r\n".PadRight(23))); } } else { if (sObservacao.Length > 0) { ilObs.Add(sObservacao.Replace(Convert.ToChar(13).ToString() + Convert.ToChar(10).ToString(), "\r\n".PadRight(23))); } } //-- Verifica e imprimi valores. bool bImprimir_Pedido = true; if (ilObs.Count > 0) { int iTotal_Linhas_Pedido = ((im.Numero_Linhas_Impressao_Atual - 1) + ilObs.Count); foreach (string sObs in ilObs) { if (iTotal_Linhas_Pedido >= 57) { bImprimir_Pedido = false; if (im.Numero_Linhas_Impressao_Atual == 57) { im.ImpCol(8, "PED. (" + row_Capa["Pedido"].ToString() + ")"); } } else { bImprimir_Pedido = true; } im.ImpColLF(21, sObs); } } if (bImprimir_Pedido) { im.Pula(56 - im.Numero_Linhas_Impressao_Atual); im.ImpCol(8, "PED. (" + row_Capa["Pedido"].ToString() + ")"); } if (Convert.ToInt32(row_Capa["Empresa"]) == 1) { im.Pula(4); im.ImpCol(5, string.Format("{0:00000000}", row_Capa["Numero_nota"])); } }