private void TFLoteLMCe_Load(object sender, EventArgs e) { this.Icon = Utils.ResourcesUtils.TecnoAliance_ICO; pFiltro.set_FormatZero(); object obj = new CamadaDados.Diversos.TCD_CadEmpresa().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "EXISTS", vVL_Busca = "(select 1 from tb_div_usuario_x_empresa x " + "where x.cd_empresa = a.cd_empresa " + "and ((x.login = '******') or " + "(exists(select 1 from tb_div_usuario_x_grupos y " + " where y.logingrp = x.login and y.loginusr = '******'))))" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fat_cfgnfe x " + "where x.cd_empresa = a.cd_empresa " + "and x.tp_ambiente_lmc is not null)" } }, "a.cd_empresa"); if (obj != null) { cd_empresa.Text = obj.ToString(); cd_empresa_Leave(this, new EventArgs()); } }
private void TFContabilAvulso_Load(object sender, EventArgs e) { Utils.ShapeGrid.RestoreShape(this, dataGridDefault1); Utils.ShapeGrid.RestoreShape(this, dataGridDefault2); if (!string.IsNullOrEmpty(Utils.Parametros.pubCultura)) { Idioma.TIdioma.AjustaCultura(this); } this.Icon = Utils.ResourcesUtils.TecnoAliance_ICO; pDados.set_FormatZero(); //Buscar Empresa CamadaDados.Diversos.TList_CadEmpresa lEmp = new CamadaDados.Diversos.TCD_CadEmpresa().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = string.Empty, vVL_Busca = "exists(select 1 from tb_div_usuario_x_empresa x " + "where x.cd_empresa = a.cd_empresa " + "and ((x.login = '******') or " + "exists(select 1 from tb_div_usuario_x_grupos y " + " where y.logingrp = x.login and y.loginusr = '******')))" } }, 0, string.Empty); cd_empresa.DataSource = lEmp; cd_empresa.DisplayMember = "NM_Empresa"; cd_empresa.ValueMember = "CD_Empresa"; bsLanctoMultiplo.AddNew(); cd_empresa.SelectedValue = pCd_empresa; DT_Inic.Focus(); }
private void bb_despesa_Click(object sender, EventArgs e) { string vColunas = "a.ds_despesa|Despesa|200;" + "a.id_despesa|Codigo|80"; string vParam = "a.tp_despesa|IN|('MV', 'MI', 'DV')"; DataRowView linha = FormBusca.UtilPesquisa.BTN_BUSCA(vColunas, new Componentes.EditDefault[] { id_despesa, ds_despesa }, new CamadaDados.Frota.Cadastros.TCD_Despesa(), vParam); if (linha != null) { vl_realizado.Enabled = !linha["TP_DESPESA"].ToString().Equals("MI"); st_consumointerno = linha["TP_DESPESA"].ToString().Equals("MI"); } if (st_consumointerno && !string.IsNullOrEmpty(cd_empresa.Text)) { //Buscar Clifor Empresa CamadaDados.Diversos.TList_CadEmpresa lEmp = null; lEmp = new CamadaDados.Diversos.TCD_CadEmpresa().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + cd_empresa.Text.Trim() + "'" } }, 1, string.Empty); if (lEmp != null) { cd_cliforOficina.Text = lEmp[0].Cd_clifor; nm_cliforOficina.Text = lEmp[0].Nm_clifor; } //Marcar como Realizada dt_realizada.Text = CamadaDados.UtilData.Data_Servidor().ToString(); //Habilitar retirada Almoxarifado tlpManut.RowStyles[1] = new RowStyle(SizeType.Absolute, 260); this.Size = new Size(865, 600); } else { tlpManut.RowStyles[1] = new RowStyle(SizeType.Absolute, 0); this.Size = new Size(865, 334); } }
private void ImprimirEventoCCe() { if (bsEventoNFe.Count > 0) { using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao()) { FormRelPadrao.Relatorio Evento = new FormRelPadrao.Relatorio(); Evento.Altera_Relatorio = Altera_Relatorio; BindingSource Bin = new BindingSource(); Bin.DataSource = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.Busca( (bsEventoNFe.Current as CamadaDados.Faturamento.NFE.TRegistro_EventoNFe).Cd_empresa, string.Empty, string.Empty, (bsEventoNFe.Current as CamadaDados.Faturamento.NFE.TRegistro_EventoNFe).Nr_lanctofiscalstr, string.Empty, string.Empty, decimal.Zero, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, decimal.Zero, decimal.Zero, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, string.Empty, 0, string.Empty, null); //Buscar Carta Correção BindingSource binCCe = new BindingSource(); binCCe.DataSource = CamadaNegocio.Faturamento.NFE.TCN_EventoNFe.Buscar((bsEventoNFe.Current as CamadaDados.Faturamento.NFE.TRegistro_EventoNFe).Id_eventostr, (bsEventoNFe.Current as CamadaDados.Faturamento.NFE.TRegistro_EventoNFe).Cd_empresa, (bsEventoNFe.Current as CamadaDados.Faturamento.NFE.TRegistro_EventoNFe).Nr_lanctofiscalstr, string.Empty, string.Empty, "CC", string.Empty, null); Evento.Adiciona_DataSource("CCe", binCCe); Evento.Nome_Relatorio = "TFLanFaturamento_Evento"; Evento.NM_Classe = "TFLanFaturamento"; Evento.Modulo = "FAT"; Evento.Ident = "TFLanFaturamento_Evento"; Evento.DTS_Relatorio = Bin; fImp.pMensagem = "CARTA CORREÇÃO"; //Verificar se existe logo configurada para a empresa object log = new CamadaDados.Diversos.TCD_CadEmpresa().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + (bsEventoNFe.Current as CamadaDados.Faturamento.NFE.TRegistro_EventoNFe).Cd_empresa.Trim() + "'" } }, "a.logoEmpresa"); if (log != null) { Evento.Parametros_Relatorio.Add("IMAGEM_RELATORIO", log); } if (Altera_Relatorio) { Evento.Gera_Relatorio(string.Empty, fImp.pSt_imprimir, fImp.pSt_visualizar, fImp.pSt_enviaremail, fImp.pSt_exportPdf, fImp.Path_exportPdf, fImp.pDestinatarios, null, "CARTA DE CORREÇÃO", fImp.pDs_mensagem); Altera_Relatorio = false; } else if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail)) { Evento.Gera_Relatorio(string.Empty, fImp.pSt_imprimir, fImp.pSt_visualizar, fImp.pSt_enviaremail, fImp.pSt_exportPdf, fImp.Path_exportPdf, fImp.pDestinatarios, null, "CARTA DE CORREÇÃO", fImp.pDs_mensagem); } } } else { MessageBox.Show("Não existe Registros Para Imprimir o Evento!"); } }
private void BuscarItens() { if (!string.IsNullOrEmpty(cd_produto.Text)) { string pCd_codbarra = cd_produto.Text; //Buscar lengt cd_produto CamadaDados.Diversos.TList_CadParamSys lParam = CamadaNegocio.Diversos.TCN_CadParamSys.Busca("CD_PRODUTO", string.Empty, decimal.Zero, null); if (lParam.Count > 0) { if (cd_produto.Text.Trim().Length < lParam[0].Tamanho) { cd_produto.Text = cd_produto.Text.Trim().PadLeft(Convert.ToInt32(lParam[0].Tamanho), '0'); } } List <CamadaDados.Estoque.Cadastros.TRegistro_ProdutoPDV> lProduto = CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.BuscarProdutoPDV(cd_produto.Text, pCd_codbarra, lCfg[0], null); if (lProduto.Count > 0) { try { TRegistro_CupomFiscal_Item rItem = new TRegistro_CupomFiscal_Item(); //Criar objeto item cupom rItem.Cd_empresa = lCfg[0].Cd_empresa; rItem.Cd_local = lCfg[0].Cd_local; rItem.Cd_produto = lProduto[0].Cd_produto; rItem.Cd_condfiscal_produto = lProduto[0].Cd_condfiscal_produto; rItem.Cd_unidade = lProduto[0].Cd_unidade; rItem.Id_cupom = rCupom.Id_cupom; rItem.Quantidade = decimal.Parse(lblQuantidade.Text); rItem.Vl_unitario = lProduto[0].Vl_precovenda; rItem.Vl_subtotal = rItem.Quantidade * rItem.Vl_unitario; //Buscar CFOP CamadaDados.Fiscal.TRegistro_CadCFOP rCfop = null; if (CamadaNegocio.Fiscal.TCN_Mov_X_CFOP.BuscarCFOP(rCupom.Cd_movimentacaostr, rItem.Cd_condfiscal_produto, true, ref rCfop, null)) { rItem.Cd_cfop = rCfop.CD_CFOP; rItem.Ds_cfop = rCfop.DS_CFOP; } else { throw new Exception("Não existe CFOP cadastrado para a movimentação " + rCupom.Cd_movimentacaostr.Trim() + "\r\n" + "Condição fiscal produto " + rItem.Cd_condfiscal_produto.Trim()); } //Procurar Impostos Estaduais para o Item //Buscar estado da empresa object obj = new CamadaDados.Diversos.TCD_CadEmpresa().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rCupom.Cd_empresa.Trim() + "'" } }, "c.cd_uf"); string vObsFiscal = string.Empty; CamadaDados.Faturamento.NotaFiscal.TList_ImpostosNF lImpUf = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento_Item.procuraImpostosPorUf(rCupom.Cd_empresa, obj != null ? obj.ToString() : string.Empty, obj != null ? obj.ToString() : string.Empty, rCupom.Cd_movimentacaostr, "S", lCfg[0].Cd_condfiscal_clifor, rItem.Cd_condfiscal_produto, rItem.Vl_subtotalliquido, rItem.Quantidade, ref vObsFiscal, rCupom.Dt_emissao, rItem.Cd_produto, "P", rCupom.Nr_serie, null); if (lImpUf.Count > 0) { rItem.ImpostosItens = lImpUf; } else { throw new Exception("Erro: Não existe condição fiscal do ICMS.\r\n" + "Tipo Movimento: SAIDA" + "\r\n" + "Movimentação: " + rCupom.Cd_movimentacaostr + "\r\n" + "Cond. Fiscal Clifor: " + lCfg[0].Cd_condfiscal_clifor.Trim() + "\r\n" + "Cond. Fiscal Produto: " + rItem.Cd_condfiscal_produto.Trim() + "\r\n" + "UF Origem: " + (obj != null ? obj.ToString() : string.Empty) + "\r\n" + "UF Destino: " + (obj != null ? obj.ToString() : string.Empty)); } //Procurar impostos sobre os itens da nota fiscal de destino rItem.ImpostosItens.Concat(CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento_Item.procuraCondicaoFiscalImpostos(lCfg[0].Cd_condfiscal_clifor, rItem.Cd_condfiscal_produto, rCupom.Cd_movimentacaostr, "S", lCfg[0].Tp_pessoa, rCupom.Cd_empresa, rCupom.Nr_serie, string.Empty, string.Empty, rCupom.Dt_emissao, decimal.Zero, rItem.Vl_subtotalliquido, "P", string.Empty, null)); pImgProduto.Image = lProduto[0].Imagem; //Objeto Cupom Impressora string aliquota = CamadaNegocio.Faturamento.Cadastros.TCN_CFGCupomFiscal.BuscarAliquotaICMS(rItem.ImpostosItens, null); if (string.IsNullOrEmpty(aliquota)) { throw new Exception("Item sem parametro do ICMS."); } int nr_sequencial = 0; if (TGerenciarECF.VenderItem(rECF, lProduto[0].Cd_produto, lProduto[0].Ds_produto, lProduto[0].Sigla_unidade, aliquota, "F", lblQuantidade.Text, 3, lProduto[0].Vl_precovenda.ToString("N3", new System.Globalization.CultureInfo("pt-BR")), "%", decimal.Zero, decimal.Zero, ref nr_sequencial)) { //Gravar item no banco if (nr_sequencial > 0) { rItem.Nr_sequencial_ecf = nr_sequencial; } else { rItem.Nr_sequencial_ecf = TGerenciarECF.UltimoItemVendido(rECF); } TCN_CupomFiscal_Item.Gravar(rItem, true, null); //Adicionar ao cupom em tela rCupom.lItem.Add(rItem); //Atualizar o Display StringBuilder cupom = new StringBuilder(); cupom.AppendFormat("{0:000}", rItem.Nr_sequencial_ecf); cupom.Append(' ', 2); cupom.AppendFormat("{0,-29:G}", rItem.Ds_produto); cupom.Append(' ', 2); cupom.AppendFormat(rItem.Quantidade.ToString("G").PadLeft(3, ' ')); cupom.AppendFormat(rItem.Vl_subtotal.ToString("N").PadLeft(12, ' ')); cupom.Append('\n'); this.AtualizarDisplay(cupom.ToString()); Application.DoEvents(); this.lblVlUnitario.Text = rItem.Vl_unitario.ToString("N"); this.lblVlSubTotal.Text = rItem.Vl_subtotal.ToString("N"); this.lblProduto.Text = rItem.Ds_produto; this.lblTotalCupom.Text = TGerenciarECF.BuscarVlSubTotal(rECF).ToString("N"); this.lblQuantidade.Text = decimal.Parse("1").ToString("N3", new System.Globalization.CultureInfo("pt-BR", true)); // volta quantidade para 1 this.cd_produto.Clear(); this.lblMenuCancelarItem.Enabled = true; this.lblMenuFecharVenda.Enabled = true; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
private void Imprime_Danfe() { FormRelPadrao.Relatorio Danfe = new FormRelPadrao.Relatorio(); Danfe.Altera_Relatorio = Altera_Relatorio; //Buscar NFe TRegistro_LanFaturamento rNfe = TCN_LanFaturamento.BuscarNF((bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_empresa, (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_lanctofiscalstr, null); //Buscar Itens NFe rNfe.ItensNota = TCN_LanFaturamento_Item.Busca(rNfe.Cd_empresa, rNfe.Nr_lanctofiscalstr, string.Empty, null); Danfe.Parametros_Relatorio.Add("VL_IPI", rNfe.ItensNota.Sum(v => v.Vl_ipi)); Danfe.Parametros_Relatorio.Add("VL_ICMS", rNfe.ItensNota.Sum(v => v.Vl_icms + v.Vl_FCP)); Danfe.Parametros_Relatorio.Add("VL_BASEICMS", rNfe.ItensNota.Sum(v => v.Vl_basecalcICMS)); Danfe.Parametros_Relatorio.Add("VL_BASEICMSSUBST", rNfe.ItensNota.Sum(v => v.Vl_basecalcSTICMS)); Danfe.Parametros_Relatorio.Add("VL_ICMSSUBST", rNfe.ItensNota.Sum(v => v.Vl_ICMSST + v.Vl_FCPST)); BindingSource Bin = new BindingSource(); Bin.DataSource = new TList_RegLanFaturamento() { rNfe }; Danfe.Nome_Relatorio = "TFLanFaturamento_Danfe"; Danfe.NM_Classe = "TFLanConsultaNFe"; Danfe.Modulo = "FAT"; Danfe.Ident = "TFLanFaturamento_Danfe"; Danfe.DTS_Relatorio = Bin; //Buscar financeiro da DANFE CamadaDados.Financeiro.Duplicata.TList_RegLanParcela lParc = new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'L'" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_duplicata x " + "inner join tb_fat_notafiscal_x_duplicata y " + "on x.cd_empresa = y.cd_empresa " + "and x.nr_lancto = y.nr_lanctoduplicata " + "where isnull(x.st_registro, 'A') <> 'C' " + "and x.cd_empresa = a.cd_empresa " + "and x.nr_lancto = a.nr_lancto " + "and y.cd_empresa = '" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_empresa.Trim() + "' " + "and y.nr_lanctofiscal = " + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_lanctofiscal + ")" } }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty); if (lParc.Count == 0) { //Verificar se Nota a nota foi vinculada de um cupom e buscar o Financeiro lParc = new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'L'" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_duplicata x " + "inner join TB_PDV_CupomFiscal_X_Duplicata y " + "on x.cd_empresa = y.cd_empresa " + "and x.nr_lancto = y.nr_lancto " + "inner join TB_PDV_Cupom_X_VendaRapida k " + "on y.cd_empresa = k.cd_empresa " + "and y.id_cupom = k.id_vendarapida " + "inner join TB_FAT_ECFVinculadoNF z " + "on k.cd_empresa = z.cd_empresa " + "and k.id_cupom = z.id_cupom " + "where isnull(x.st_registro, 'A') <> 'C' " + "and x.cd_empresa = a.cd_empresa " + "and x.nr_lancto = a.nr_lancto " + "and z.cd_empresa = '" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_empresa.Trim() + "' " + "and z.nr_lanctofiscal = " + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_lanctofiscal + ")" } }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty); if (lParc.Count == 0) { //Verificar se Nota foi gerada de uma venda rapida e buscar o Financeiro lParc = new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'L'" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_duplicata x " + "inner join TB_PDV_CupomFiscal_X_Duplicata y " + "on x.cd_empresa = y.cd_empresa " + "and x.nr_lancto = y.nr_lancto " + "inner join TB_PDV_Pedido_X_VendaRapida k " + "on k.cd_empresa = y.cd_empresa " + "and k.id_vendarapida = y.id_cupom " + "inner join TB_FAT_NotaFiscal z " + "on z.cd_empresa = k.cd_empresa " + "and z.nr_pedido = k.nr_pedido " + "where isnull(x.st_registro, 'A') <> 'C' " + "and x.cd_empresa = a.cd_empresa " + "and x.nr_lancto = a.nr_lancto " + "and z.cd_empresa = '" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_empresa.Trim() + "' " + "and z.nr_lanctofiscal = " + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Nr_lanctofiscal + ")" } }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty); } } if (lParc.Count > 0) { for (int i = 0; i < lParc.Count; i++) { if (i < 12) { Danfe.Parametros_Relatorio.Add("DT_VENCTO" + i.ToString(), lParc[i].Dt_venctostring); Danfe.Parametros_Relatorio.Add("VL_DUP" + i.ToString(), lParc[i].Vl_parcela_padrao); } else { break; } } } //Verificar se existe logo configurada para a empresa object log = new CamadaDados.Diversos.TCD_CadEmpresa().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + (bsNotaFiscal.Current as TRegistro_LanFaturamento).Cd_empresa.Trim() + "'" } }, "a.logoEmpresa"); if (log != null) { Danfe.Parametros_Relatorio.Add("IMAGEM_RELATORIO", log); } Danfe.Gera_Relatorio(); }
private void bsFichaTec_PositionChanged(object sender, EventArgs e) { if (bsImpostos.Count <= 0) { CamadaDados.Financeiro.Cadastros.TRegistro_CadClifor clifor = CamadaNegocio.Financeiro.Cadastros.TCN_CadClifor.Busca_Clifor_Codigo((bsOrcamento.Current as TRegistro_Orcamento).Cd_clifor, null); object cd_cidade = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_clifor", vOperador = "=", vVL_Busca = (bsOrcamento.Current as TRegistro_Orcamento).Cd_clifor }, new TpBusca() { vNM_Campo = "a.cd_endereco", vOperador = "=", vVL_Busca = (bsOrcamento.Current as TRegistro_Orcamento).Cd_endereco } }, "a.cd_cidade"); object uf_clifor = new CamadaDados.Financeiro.Cadastros.TCD_CadCidade().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_cidade", vOperador = "=", vVL_Busca = cd_cidade.ToString() } }, "a.cd_uf"); object uf_empresa = new CamadaDados.Diversos.TCD_CadEmpresa().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = (bsOrcamento.Current as TRegistro_Orcamento).Cd_empresa } }, "c.cd_uf"); CamadaDados.Estoque.Cadastros.TRegistro_CadProduto prod = CamadaNegocio.Estoque.Cadastros.TCN_CadProduto.Busca_Produto_Codigo((bsFichaTec.Current as TRegistro_FichaTec).Cd_produto, null); string vObsFiscal = string.Empty; (bsFichaTec.Current as TRegistro_FichaTec).lImpostos = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento_Item.procuraImpostosPorUf((bsOrcamento.Current as TRegistro_Orcamento).Cd_empresa, uf_empresa.ToString(), uf_clifor.ToString(), (bsCFGPed.Current as CamadaDados.Faturamento.Cadastros.TRegistro_CadCFGPedidoFiscal).Cd_movtostring, (bsCFGPed.Current as CamadaDados.Faturamento.Cadastros.TRegistro_CadCFGPedidoFiscal).Tp_movimento, clifor.Cd_condfiscal_clifor, prod.CD_CondFiscal_Produto, decimal.Zero, (bsFichaTec.Current as TRegistro_FichaTec).Quantidade, ref vObsFiscal, dt_emissao.Data, (bsFichaTec.Current as TRegistro_FichaTec).Cd_produto, "P", (bsCFGPed.Current as CamadaDados.Faturamento.Cadastros.TRegistro_CadCFGPedidoFiscal).Nr_serie, null); (bsFichaTec.Current as TRegistro_FichaTec).lImpostos.Concat( CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento_Item.procuraCondicaoFiscalImpostos(clifor.Cd_condfiscal_clifor, prod.CD_CondFiscal_Produto, (bsCFGPed.Current as CamadaDados.Faturamento.Cadastros.TRegistro_CadCFGPedidoFiscal).Cd_movtostring, (bsCFGPed.Current as CamadaDados.Faturamento.Cadastros.TRegistro_CadCFGPedidoFiscal).Tp_movimento, clifor.Tp_pessoa, (bsOrcamento.Current as TRegistro_Orcamento).Cd_empresa, (bsCFGPed.Current as CamadaDados.Faturamento.Cadastros.TRegistro_CadCFGPedidoFiscal).Cfg_pedido, clifor.Cd_clifor, prod.CD_Unidade, dt_emissao.Data, (bsFichaTec.Current as TRegistro_FichaTec).Quantidade, decimal.Zero, "P", (bsOrcamento.Current as TRegistro_Orcamento).Cd_cidadeemp, null)); } (bsFichaTec.Current as TRegistro_FichaTec).lImpostos.ForEach(p => { p.Vl_basecalc = (bsFichaTec.Current as TRegistro_FichaTec).Vl_subtotal; CamadaNegocio.Faturamento.NotaFiscal.TCN_ImpostosNF.CalcValorImposto(p, p.Vl_basecalc, false); }); bsFichaTec.ResetCurrentItem(); }
private void ImprimirDanfe() { //Verificar status NFe object obj = new CamadaDados.Faturamento.NFE.TCD_LanLoteNFE_X_NotaFiscal().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rNfe.Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.nr_lanctofiscal", vOperador = "=", vVL_Busca = rNfe.Nr_lanctofiscal.ToString() }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_FAT_LoteNFE x " + "where x.id_lote = a.id_lote " + "and x.st_registro = 'P' " + "and x.status = '104')" } }, "a.status"); if (obj != null) { if (obj.ToString().Trim().Equals("100")) { try { using (FormRelPadrao.TFGerenciadorImpressao fImp = new FormRelPadrao.TFGerenciadorImpressao()) { FormRelPadrao.Relatorio Rel = new FormRelPadrao.Relatorio(); Rel.Altera_Relatorio = Altera_Relatorio; BindingSource BinDados = new BindingSource(); if (rNfe != null) { //Buscar registro nfe x nota fiscal CamadaDados.Faturamento.NFE.TList_LanLoteNFE_X_NotaFiscal lLoteNfe = new CamadaDados.Faturamento.NFE.TCD_LanLoteNFE_X_NotaFiscal().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rNfe.Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.nr_lanctofiscal", vOperador = "=", vVL_Busca = rNfe.Nr_lanctofiscalstr }, new Utils.TpBusca() { vNM_Campo = "a.status", vOperador = "=", vVL_Busca = "'100'" } }, 1, string.Empty); if (lLoteNfe.Count > 0) { rNfe.Dt_processamento = lLoteNfe[0].Dt_processamento; rNfe.Nr_protocolo = lLoteNfe[0].Nr_protocolo.HasValue ? lLoteNfe[0].Nr_protocolo.Value.ToString() : string.Empty; } Rel.Parametros_Relatorio.Add("VL_IPI", rNfe.ItensNota.Sum(v => v.Vl_ipi)); Rel.Parametros_Relatorio.Add("VL_ICMS", rNfe.ItensNota.Sum(v => v.Vl_icms + v.Vl_FCP)); Rel.Parametros_Relatorio.Add("VL_BASEICMS", rNfe.ItensNota.Sum(v => v.Vl_basecalcICMS)); Rel.Parametros_Relatorio.Add("VL_BASEICMSSUBST", rNfe.ItensNota.Sum(v => v.Vl_basecalcSTICMS)); Rel.Parametros_Relatorio.Add("VL_ICMSSUBST", rNfe.ItensNota.Sum(v => v.Vl_ICMSST + v.Vl_FCPST)); //Buscar conf impressao da nota fiscal obj = new CamadaDados.Faturamento.Cadastros.TCD_CFGImpNF().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rNfe.Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.nr_serie", vOperador = "=", vVL_Busca = "'" + rNfe.Nr_serie.Trim() + "'" } }, "a.QT_ItensNota"); if (obj != null) { if (rNfe.ItensNota.Count < Convert.ToDecimal(obj.ToString())) { while (rNfe.ItensNota.Count < Convert.ToDecimal(obj.ToString())) { rNfe.ItensNota.Add(new CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento_Item()); } } } } BinDados.DataSource = new CamadaDados.Faturamento.NotaFiscal.TList_RegLanFaturamento() { rNfe }; Rel.DTS_Relatorio = BinDados; //Buscar financeiro da DANFE CamadaDados.Financeiro.Duplicata.TList_RegLanParcela lParc = new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'L'" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_duplicata x " + "inner join tb_fat_notafiscal_x_duplicata y " + "on x.cd_empresa = y.cd_empresa " + "and x.nr_lancto = y.nr_lanctoduplicata " + "where isnull(x.st_registro, 'A') <> 'C' " + "and x.cd_empresa = a.cd_empresa " + "and x.nr_lancto = a.nr_lancto " + "and y.cd_empresa = '" + rNfe.Cd_empresa.Trim() + "' " + "and y.nr_lanctofiscal = " + rNfe.Nr_lanctofiscal.ToString() + ")" } }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty); if (lParc.Count == 0) { //Verificar se a nota foi vinculada de um cupom e buscar o Financeiro lParc = new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'L'" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_duplicata x " + "inner join TB_PDV_CupomFiscal_X_Duplicata y " + "on x.cd_empresa = y.cd_empresa " + "and x.nr_lancto = y.nr_lancto " + "inner join TB_PDV_Cupom_X_VendaRapida k " + "on y.cd_empresa = k.cd_empresa " + "and y.id_cupom = k.id_vendarapida " + "inner join TB_FAT_ECFVinculadoNF z " + "on k.cd_empresa = z.cd_empresa " + "and k.id_cupom = z.id_cupom " + "where isnull(x.st_registro, 'A') <> 'C' " + "and x.cd_empresa = a.cd_empresa " + "and x.nr_lancto = a.nr_lancto " + "and z.cd_empresa = '" + rNfe.Cd_empresa.Trim() + "' " + "and z.nr_lanctofiscal = " + rNfe.Nr_lanctofiscal + ")" } }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty); if (lParc.Count == 0) { //Verificar se Nota foi gerada de uma venda rapida e buscar o Financeiro lParc = new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'L'", }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_duplicata x " + "inner join TB_PDV_CupomFiscal_X_Duplicata y " + "on x.cd_empresa = y.cd_empresa " + "and x.nr_lancto = y.nr_lancto " + "inner join TB_PDV_Pedido_X_VendaRapida k " + "on k.cd_empresa = y.cd_empresa " + "and k.id_vendarapida = y.id_cupom " + "inner join TB_FAT_NotaFiscal z " + "on z.cd_empresa = k.cd_empresa " + "and z.nr_pedido = k.nr_pedido " + "where isnull(x.st_registro, 'A') <> 'C' " + "and x.cd_empresa = a.cd_empresa " + "and x.nr_lancto = a.nr_lancto " + "and z.cd_empresa = '" + rNfe.Cd_empresa.Trim() + "' " + "and z.nr_lanctofiscal = " + rNfe.Nr_lanctofiscal + ")" } }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty); } } if (lParc.Count > 0) { for (int i = 0; i < lParc.Count; i++) { if (i < 12) { Rel.Parametros_Relatorio.Add("DT_VENCTO" + i.ToString(), lParc[i].Dt_venctostring); Rel.Parametros_Relatorio.Add("VL_DUP" + i.ToString(), lParc[i].cVl_atual); } else { break; } } } Rel.Nome_Relatorio = "TFLanFaturamento_Danfe"; Rel.NM_Classe = "TFLanConsultaNFe"; Rel.Modulo = "FAT"; Rel.Ident = "TFLanFaturamento_Danfe"; fImp.St_enabled_enviaremail = true; fImp.pCd_clifor = rNfe.Cd_clifor; fImp.pMensagem = "DANFE Nº" + rNfe.Nr_notafiscal.ToString(); fImp.St_danfe = true; //Verificar se existe logo configurada para a empresa object log = new CamadaDados.Diversos.TCD_CadEmpresa().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rNfe.Cd_empresa.Trim() + "'" } }, "a.logoEmpresa"); if (log != null) { Rel.Parametros_Relatorio.Add("IMAGEM_RELATORIO", log); } if (Altera_Relatorio) { Rel.Gera_Relatorio(string.Empty, fImp.pSt_imprimir, fImp.pSt_visualizar, fImp.pSt_enviaremail, fImp.pSt_exportPdf, fImp.Path_exportPdf, fImp.pDestinatarios, null, "DANFE", fImp.pDs_mensagem); Altera_Relatorio = false; } else if ((fImp.ShowDialog() == DialogResult.OK) || (fImp.pSt_enviaremail)) { List <string> Anexo = null; if (fImp.St_receberXmlNfe) { string path_anexo = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlString("PATH_ANEXO_EMAIL", null); if (!string.IsNullOrEmpty(path_anexo)) { if (!System.IO.Directory.Exists(path_anexo)) { System.IO.Directory.CreateDirectory(path_anexo); } if (!path_anexo.EndsWith("\\")) { path_anexo += System.IO.Path.DirectorySeparatorChar.ToString(); } //Limpar diretorio path arquivo string[] arq = System.IO.Directory.GetFiles(path_anexo.Trim(), "*.xml"); try { srvNFE.GerarArq.TGerarArq2.GerarArqXmlPeriodo(path_anexo, string.Empty, string.Empty, string.Empty, rNfe.Cd_empresa, rNfe.Nr_notafiscal.ToString(), rNfe.rCfgNfe); } catch { } //Ler arquivo gerado Anexo = new List <string>(); Anexo.Add(path_anexo + rNfe.Chave_acesso_nfe.Trim() + "-nfe.xml"); } } Rel.Gera_Relatorio(string.Empty, fImp.pSt_imprimir, fImp.pSt_visualizar, fImp.pSt_enviaremail, fImp.pSt_exportPdf, fImp.Path_exportPdf, fImp.pDestinatarios, Anexo, "DANFE", fImp.pDs_mensagem); } } } catch { } } else { MessageBox.Show("Lote Processado com Sucesso.\r\nNota Fiscal não foi aceita pela receita.\r\n" + "Verifique o erro na tela de controle de NFe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("Erro ao processar Lote NFe.\r\n" + "Verifique o erro na tela de controle de NFe.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } }