示例#1
0
        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());
            }
        }
示例#2
0
 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();
 }
示例#3
0
        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);
            }
        }
示例#4
0
        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!");
            }
        }
示例#5
0
        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);
                    }
                }
            }
        }
示例#6
0
        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();
        }
示例#7
0
        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();
        }
示例#8
0
        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);
            }
        }