public TRegistro_CfgMDFe() { Cd_empresa = string.Empty; Nm_empresa = string.Empty; Path_schemas = string.Empty; Nr_certificado = string.Empty; tp_ambiente = string.Empty; tipo_ambiente = string.Empty; Cd_versaomdfe = string.Empty; Cd_versaomodal = string.Empty; rEmp = new TRegistro_CadEmpresa(); }
public static string Excluir(TRegistro_CadEmpresa val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadEmpresa qtb_emp = new TCD_CadEmpresa(); try { if (st_transacao) { st_transacao = qtb_emp.CriarBanco_Dados(true); } else { qtb_emp.Banco_Dados = banco; } val.lSocios.ForEach(p => TCN_SociosEmpresa.Excluir(p, qtb_emp.Banco_Dados)); val.lSociosDel.ForEach(p => TCN_SociosEmpresa.Excluir(p, qtb_emp.Banco_Dados)); val.lInsc.ForEach(p => TCN_InscSubstEmpresa.Excluir(p, qtb_emp.Banco_Dados)); val.lInscDel.ForEach(p => TCN_InscSubstEmpresa.Excluir(p, qtb_emp.Banco_Dados)); try { qtb_emp.Excluir(val); } catch { //Exclusao logica val.St_registro = "C"; qtb_emp.Gravar(val); } if (st_transacao) { qtb_emp.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_emp.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir empresa: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_emp.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_CadEmpresa val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CadEmpresa qtb_emp = new TCD_CadEmpresa(); try { if (banco == null) { st_transacao = qtb_emp.CriarBanco_Dados(true); } else { qtb_emp.Banco_Dados = banco; } string retorno = qtb_emp.Gravar(val); val.lSociosDel.ForEach(p => TCN_SociosEmpresa.Excluir(p, qtb_emp.Banco_Dados)); val.lSocios.ForEach(p => { p.Cd_empresa = val.Cd_empresa; TCN_SociosEmpresa.Gravar(p, qtb_emp.Banco_Dados); }); val.lInscDel.ForEach(p => TCN_InscSubstEmpresa.Excluir(p, qtb_emp.Banco_Dados)); val.lInsc.ForEach(p => { p.Cd_empresa = val.Cd_empresa; TCN_InscSubstEmpresa.Gravar(p, qtb_emp.Banco_Dados); }); if (st_transacao) { qtb_emp.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_emp.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar empresa: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_emp.deletarBanco_Dados(); } } }
public TList_RegLanDuplicata Gera_Financeiro(string CFG_Pedido_Comissao, string CD_CondPGTO, string CD_Moeda, TRegistro_CadEmpresa Reg_Empresa, TRegistro_CadClifor Reg_Clifor_Vendedor, TRegistro_CadEndereco Reg_Endereco) { TList_RegLanDuplicata Duplicata = new TList_RegLanDuplicata(); if (CFG_Pedido_Comissao != "") { TCD_CadCFGPedidoFiscal Pedido_Fiscal = new TCD_CadCFGPedidoFiscal(); TpBusca[] vBusca = new TpBusca[0]; Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.cfg_pedido"; vBusca[vBusca.Length - 1].vVL_Busca = "'" + CFG_Pedido_Comissao + "'"; vBusca[vBusca.Length - 1].vOperador = "="; Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.TP_FISCAL"; vBusca[vBusca.Length - 1].vVL_Busca = "'N'"; vBusca[vBusca.Length - 1].vOperador = "="; DataTable DT_Pedido_Fiscal = Pedido_Fiscal.Buscar(vBusca, 0); if (DT_Pedido_Fiscal.Rows.Count > 0) { if (DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim() != string.Empty) { TpBusca[] vBusca_Mov = new TpBusca[0]; Array.Resize(ref vBusca_Mov, vBusca_Mov.Length + 1); vBusca_Mov[vBusca_Mov.Length - 1].vNM_Campo = "a.cd_movimentacao"; vBusca_Mov[vBusca_Mov.Length - 1].vVL_Busca = "'" + DT_Pedido_Fiscal.Rows[0]["cd_movto"].ToString().Trim() + "'"; vBusca_Mov[vBusca_Mov.Length - 1].vOperador = "="; TList_CadMovimentacao List_Movimentacao = new TCD_CadMovimentacao().Select(vBusca_Mov, 0, ""); TList_CadCondPgto List_CondPagamento = TCN_CadCondPgto.Buscar(CD_CondPGTO, "", "", "", "", "", 0, 0, "", "", 1, "", null); if (List_CondPagamento.Count > 0) { List_CondPagamento[0].lCondPgto_X_Parcelas = TCN_CadCondPgto_X_Parcelas.Buscar(List_CondPagamento[0].Cd_condpgto); } TRegistro_LanDuplicata Reg_Duplicata = new TRegistro_LanDuplicata(); TList_CadTpDuplicata List_TPDuplicata = TCN_CadTpDuplicata.Buscar(DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim(), "", ""); if ((DT_Pedido_Fiscal.Rows[0]["ST_Devolucao"].ToString().Trim().ToUpper() != "S") && (!List_CondPagamento[0].St_solicitardtvenctobool) && (List_CondPagamento[0].lCondPgto_X_Parcelas.Count > 0) && (List_Movimentacao[0].cd_historico.Trim() != string.Empty) && (!List_TPDuplicata[0].St_gerarboletoautobool)) { Reg_Duplicata.Cd_empresa = Reg_Empresa.Cd_empresa.Trim(); Reg_Duplicata.Nm_empresa = Reg_Empresa.Nm_empresa.Trim(); Reg_Duplicata.Cd_clifor = Reg_Clifor_Vendedor.Cd_clifor.Trim(); Reg_Duplicata.Nm_clifor = Reg_Clifor_Vendedor.Nm_clifor.Trim(); Reg_Duplicata.Cd_endereco = Reg_Endereco.Cd_endereco.Trim(); Reg_Duplicata.Ds_endereco = Reg_Endereco.Ds_endereco.Trim(); Reg_Duplicata.Cd_historico = List_Movimentacao[0].cd_historico.Trim(); Reg_Duplicata.Ds_historico = List_Movimentacao[0].ds_historico.Trim(); Reg_Duplicata.Tp_duplicata = DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim(); Reg_Duplicata.Ds_tpduplicata = DT_Pedido_Fiscal.Rows[0]["ds_tpduplicata"].ToString().Trim(); Reg_Duplicata.Tp_mov = DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "E" ? "P" : DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "S" ? "R" : ""; Reg_Duplicata.Tp_docto = DT_Pedido_Fiscal.Rows[0]["tp_docto"].ToString().Trim() != string.Empty ? Convert.ToDecimal(DT_Pedido_Fiscal.Rows[0]["tp_docto"].ToString()) : 0; Reg_Duplicata.Ds_tpdocto = DT_Pedido_Fiscal.Rows[0]["ds_tpdocto"].ToString().Trim(); Reg_Duplicata.Cd_condpgto = List_CondPagamento[0].Cd_condpgto.Trim(); Reg_Duplicata.Ds_condpgto = List_CondPagamento[0].Ds_condpgto.Trim(); Reg_Duplicata.St_comentrada = List_CondPagamento[0].St_comentrada.Trim(); Reg_Duplicata.Cd_juro = List_CondPagamento[0].Cd_juro.Trim(); Reg_Duplicata.Ds_juro = List_CondPagamento[0].Ds_juro.Trim(); Reg_Duplicata.Tp_juro = List_CondPagamento[0].Tp_juro.Trim(); Reg_Duplicata.Cd_moeda = CD_Moeda.Trim(); //Reg_Duplicata.Ds_moeda = List_Dados_Pedido[0].Ds_moeda.Trim(); //Reg_Duplicata.Sigla_moeda = List_Dados_Pedido[0].Sigla.Trim(); Reg_Duplicata.Qt_dias_desdobro = List_CondPagamento[0].Qt_diasdesdobro; Reg_Duplicata.Qt_parcelas = List_CondPagamento[0].Qt_parcelas; Reg_Duplicata.Pc_jurodiario_atrazo = List_CondPagamento[0].Pc_jurodiario_atrazo; Reg_Duplicata.Cd_portador = List_CondPagamento[0].Cd_portador.Trim(); Reg_Duplicata.Ds_portador = List_CondPagamento[0].Ds_portador.Trim(); Reg_Duplicata.Nr_docto = ""; Reg_Duplicata.Dt_emissao = DateTime.Now; Reg_Duplicata.Vl_documento = Convert.ToDecimal(VL_Com_Liberada.Text); Reg_Duplicata.Vl_documento_padrao = Convert.ToDecimal(VL_Com_Liberada.Text); decimal vl_saldoadto = TCN_LanAdiantamento.SaldoAdiantamentoDevolver(Reg_Empresa.Cd_empresa.Trim(), Reg_Clifor_Vendedor.Cd_clifor.Trim(), "S", null); if (Reg_Duplicata.Vl_documento_padrao > 0) { if (Reg_Duplicata.Vl_documento_padrao > vl_saldoadto) { Reg_Duplicata.cVl_adiantamento = vl_saldoadto; } else { Reg_Duplicata.cVl_adiantamento = Reg_Duplicata.Vl_documento_padrao; } } else { Reg_Duplicata.cVl_adiantamento = 0; } Reg_Duplicata.Parcelas = TCN_LanDuplicata.calcularParcelas(Reg_Duplicata); } else { TFLanDuplicata fDuplicata = new TFLanDuplicata(); fDuplicata.vNr_pedido = null; fDuplicata.vSt_notafiscal = true; fDuplicata.vCd_empresa = Reg_Empresa.Cd_empresa.Trim(); fDuplicata.vNm_empresa = Reg_Empresa.Nm_empresa.Trim(); fDuplicata.vCd_clifor = Reg_Clifor_Vendedor.Cd_clifor.Trim(); fDuplicata.vNm_clifor = Reg_Clifor_Vendedor.Nm_clifor.Trim(); fDuplicata.vCd_endereco = Reg_Endereco.Cd_endereco.Trim(); fDuplicata.vDs_endereco = Reg_Endereco.Ds_endereco.Trim(); if (List_Movimentacao.Count > 0) { fDuplicata.vCd_historico = List_Movimentacao[0].cd_historico; fDuplicata.vDs_historico = List_Movimentacao[0].ds_historico; } fDuplicata.vTp_duplicata = DT_Pedido_Fiscal.Rows[0]["tp_duplicata"].ToString().Trim(); fDuplicata.vDs_tpduplicata = DT_Pedido_Fiscal.Rows[0]["ds_tpduplicata"].ToString().Trim(); fDuplicata.vTp_mov = DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "E" ? "P" : DT_Pedido_Fiscal.Rows[0]["tp_movimento"].ToString().Trim().ToUpper() == "S" ? "R" : ""; fDuplicata.vTp_docto = DT_Pedido_Fiscal.Rows[0]["tp_docto"].ToString().Trim(); fDuplicata.vDs_tpdocto = DT_Pedido_Fiscal.Rows[0]["ds_tpdocto"].ToString().Trim(); if (List_TPDuplicata[0].St_gerarboletoauto.Trim().ToUpper().Equals("S")) { TList_CadContaGer List_Conta = TCN_CadContaGer.Buscar(List_TPDuplicata[0].Cd_contager_boletoauto, "", null, "", "", "", "", 0, "", "", "", "", 0, null); fDuplicata.vSt_gerarboletoauto = List_TPDuplicata[0].St_gerarboletoauto; fDuplicata.vCd_contager = List_TPDuplicata[0].Cd_contager_boletoauto; fDuplicata.vDs_contager = List_TPDuplicata[0].Ds_contager_boletoauto; } if (List_CondPagamento.Count > 0) { fDuplicata.vCd_condpgto = List_CondPagamento[0].Cd_condpgto.Trim(); fDuplicata.vDs_condpgto = List_CondPagamento[0].Ds_condpgto.Trim(); fDuplicata.vSt_comentrada = List_CondPagamento[0].St_comentrada.Trim(); fDuplicata.vCd_juro = List_CondPagamento[0].Cd_juro.Trim(); fDuplicata.vDs_juro = List_CondPagamento[0].Ds_juro.Trim(); fDuplicata.vTp_juro = List_CondPagamento[0].Tp_juro.Trim(); fDuplicata.vCd_moeda = CD_Moeda; // fDuplicata.vDs_moeda = List_Dados_Pedido[0].Ds_moeda; // fDuplicata.vSigla_moeda = List_Dados_Pedido[0].Sigla; fDuplicata.vQt_dias_desdobro = List_CondPagamento[0].Qt_diasdesdobro; fDuplicata.vQt_parcelas = List_CondPagamento[0].Qt_parcelas; fDuplicata.vPc_jurodiario_atrazo = List_CondPagamento[0].Pc_jurodiario_atrazo; fDuplicata.vCd_portador = List_CondPagamento[0].Cd_portador.Trim(); fDuplicata.vDs_portador = List_CondPagamento[0].Ds_portador.Trim(); fDuplicata.vSt_solicitardtvencto = List_CondPagamento[0].St_solicitardtvenctobool; } fDuplicata.vNr_docto = "0"; fDuplicata.vDt_emissao = DateTime.Now.ToString(); fDuplicata.vVl_documento = Convert.ToDecimal(VL_Com_Liberada.Text); if (fDuplicata.ShowDialog() == DialogResult.OK) { Reg_Duplicata = (fDuplicata.dsDuplicata[0] as TRegistro_LanDuplicata); } else { MessageBox.Show("Obrigatório informar financeiro para gravar aplicação.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return(null); } } Duplicata.Add(Reg_Duplicata); return(Duplicata); } return(Duplicata); } } return(Duplicata); }
private void Gera_Faturamento() { try { if ((BS_Comissao != null) && (BS_Comissao.Count > 0)) { if ((BS_Fechamento_Comissao != null) && (BS_Fechamento_Comissao.Count > 0) && (g_Fechamento_Comissao.Rows.Count > 0)) { try { if (VL_Com_Liberada.Text.Trim() == "") { VL_Com_Liberada.Text = "0"; } if (Convert.ToDecimal(VL_Com_Liberada.Text) == 0) { throw new Exception("Não existe Valores Liberados para se Faturar!"); } } catch { throw new Exception("Problemas com o Valores Liberados para Faturar!"); } if (Existe_Empresas_Diferentes() == true) { throw new Exception("Você deve Faturar somente Comissões de E!"); } // Cria a Lista com os selecionados TList_Lan_Comissao List_Comissao = new TList_Lan_Comissao(); for (int i = 0; i < g_Fechamento_Comissao.SelectedRows.Count; i++) { TRegistro_Lan_Comissao Reg_Lan_Comissao = BS_Fechamento_Comissao[g_Fechamento_Comissao.SelectedRows[i].Index] as TRegistro_Lan_Comissao; List_Comissao.Add(Reg_Lan_Comissao); } TList_CadVendedor List_Vendedor = TCN_CadVendedor.Busca((BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString(), "", "", "", "", "", "", "", "", "", ""); TRegistro_CadVendedor Reg_Vendedor = List_Vendedor[0]; if (List_Vendedor.Count == 0) { throw new Exception("Vendedor: " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString() + " - " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).NM_Vendedor + "não encontrado."); } if (List_Vendedor[0].CD_condpgto_comissao == "") { throw new Exception("Vendedor: " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Vendedor.ToString() + " - " + (BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).NM_Vendedor + "\r\n sem condição de Pagamento configurada. Verifique cadastro de Vendedor."); } string Moeda_Padrao = TCN_CadParamGer.BuscaVlString("CD_MOEDA_PADRAO"); if (Moeda_Padrao == "") { throw new Exception("Moeda Padrão não encontrado. Verificar configurações Gerais"); } string Produto_Comissao = TCN_CadParamGer.BuscaVlString("CD_PRODUTO_COMISSAO"); if (Produto_Comissao == "") { throw new Exception("Produto Comissão não encontrado. Verificar configurações Gerais"); } TRegistro_CadProduto Reg_Produto = TCN_CadProduto.Busca_Produto_Codigo(Produto_Comissao); if ((Reg_Produto == null) || (Reg_Produto.CD_Unidade == "")) { throw new Exception("Unidade da Comissão não encontrado. Verificar configurações Gerais"); } string CFG_Pedido_Comissao = TCN_CadParamGer.BuscaVlString("CFG_Pedido_Comissao"); if (CFG_Pedido_Comissao == "") { throw new Exception("Configuração de Pedido de Comissão não encontrado. Verificar configurações Gerais"); } TRegistro_CadClifor Reg_Clifor_Vendedor = new TRegistro_CadClifor(); Reg_Clifor_Vendedor = TCN_CadClifor.Busca_Clifor_Codigo(List_Vendedor[0].Cd_clifor); TList_CadEmpresa List_Empresa = new TList_CadEmpresa(); TRegistro_CadEmpresa Reg_Empresa = new TRegistro_CadEmpresa(); List_Empresa = TCN_CadEmpresa.Busca((BS_Fechamento_Comissao.Current as TRegistro_Lan_Comissao).CD_Empresa, "", "", null); Reg_Empresa = List_Empresa[0]; TList_CadEndereco List_Endereco = new TList_CadEndereco(); TRegistro_CadEndereco Reg_Endereco = new TRegistro_CadEndereco(); List_Endereco = TCN_CadEndereco.Buscar(List_Vendedor[0].Cd_clifor, List_Vendedor[0].Cd_endereco, "", "", "", "", "", "", "", "", "", "", "", "", "", 0, null); Reg_Endereco = List_Endereco[0]; TList_RegLanDuplicata Duplicata = new TList_RegLanDuplicata(); Duplicata = Gera_Financeiro(CFG_Pedido_Comissao, List_Vendedor[0].CD_condpgto_comissao, Moeda_Padrao, Reg_Empresa, Reg_Clifor_Vendedor, Reg_Endereco); if (Duplicata == null) { throw new Exception("Por favor! \r\n - Verifique os dados das Duplicatas"); } decimal Total_Faturar = Convert.ToDecimal(VL_Com_Liberada.Text); bool Pode_Gravar = false; bool ST_SequenciaNF = false; decimal NR_Nota = 0; TCD_CadCFGPedidoFiscal Pedido_Fiscal = new TCD_CadCFGPedidoFiscal(); TpBusca[] vBusca = new TpBusca[0]; Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.cfg_pedido"; vBusca[vBusca.Length - 1].vVL_Busca = "'" + CFG_Pedido_Comissao + "'"; vBusca[vBusca.Length - 1].vOperador = "="; Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.TP_FISCAL"; vBusca[vBusca.Length - 1].vVL_Busca = "'N'"; vBusca[vBusca.Length - 1].vOperador = "="; DataTable DT_Pedido_Fiscal = Pedido_Fiscal.Buscar(vBusca, 0); if (DT_Pedido_Fiscal.Rows.Count > 0) { if (DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim() != string.Empty) { TList_CadSerieNF List_SerieNF = TCN_CadSerieNF.Busca(DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim(), string.Empty, decimal.Zero, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, null); if (List_SerieNF.Count > 0) { if (List_SerieNF[0].ST_SequenciaAutoBool == false) { TFNumero_Nota Numero_Nota = new TFNumero_Nota(); Numero_Nota.pCd_empresa = Reg_Empresa.Cd_empresa; Numero_Nota.pNm_empresa = Reg_Empresa.Nm_empresa; Numero_Nota.pCd_clifor = Reg_Clifor_Vendedor.Cd_clifor; Numero_Nota.pNm_clifor = Reg_Clifor_Vendedor.Nm_clifor; Numero_Nota.pNr_serie = DT_Pedido_Fiscal.Rows[0]["nr_serie"].ToString().Trim(); Numero_Nota.pDs_serie = DT_Pedido_Fiscal.Rows[0]["ds_serie"].ToString().Trim(); Numero_Nota.pTp_nota = "P"; if (Numero_Nota.ShowDialog() == DialogResult.OK) { NR_Nota = Numero_Nota.pNr_notafiscal; Pode_Gravar = true; } else { Pode_Gravar = false; } } else { ST_SequenciaNF = true; Pode_Gravar = true; } } else { throw new Exception("A Configuração do Pedido:" + CFG_Pedido_Comissao + "não está correta. Vefrificar numero de série!"); } } } else { throw new Exception("A Configuração do Pedido:" + CFG_Pedido_Comissao + "não está correta"); } if (Pode_Gravar == true) { TCN_Lan_Fechamento_Comissao.Gera_Faturamento(List_Comissao, NR_Nota, ST_SequenciaNF, Duplicata, Reg_Vendedor, Moeda_Padrao, Produto_Comissao, Reg_Produto, CFG_Pedido_Comissao, Reg_Clifor_Vendedor, Reg_Empresa, Reg_Endereco, Total_Faturar, null); MessageBox.Show("Comissão Faturada com Sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); afterNovo(); } else { throw new Exception("De Alguma forma o processo foi cancelado!"); } } } } catch (Exception e) { MessageBox.Show("Erro: \r\n\r\n" + e.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { } }
public TRegistro_CadCFGBanco() { id_config = null; id_configstr = string.Empty; Ds_config = string.Empty; Banco = new TRegistro_CadBanco(); Empresa = new TRegistro_CadEmpresa(); Cd_portador = string.Empty; Ds_portador = string.Empty; Codigocedente = string.Empty; Digitocedente = string.Empty; Ano = string.Empty; Nossonumero = decimal.Zero; Ds_localpagamento = string.Empty; Postocedente = string.Empty; aceite = string.Empty; aceite_sn = string.Empty; especiedocumento = null; especiedocumentostring = string.Empty; Ds_instrucoes = string.Empty; logo_banco = null; img = null; tp_cobranca = string.Empty; tipo_cobranca = string.Empty; Tp_carteira = string.Empty; Modalidade = string.Empty; Pc_jurodia = decimal.Zero; tp_jurodia = string.Empty; tipo_jurodia = string.Empty; Pc_desconto = decimal.Zero; tp_desconto = string.Empty; tipo_desconto = string.Empty; Nr_diasdesconto = decimal.Zero; Pc_multa = decimal.Zero; tp_multa = string.Empty; tipo_multa = string.Empty; Nr_diasmulta = decimal.Zero; Cd_contager = string.Empty; Ds_contager = string.Empty; Cd_historico_desconto = string.Empty; Ds_historico_desconto = string.Empty; Cd_historico_taxadesc = string.Empty; Ds_historico_taxadesc = string.Empty; Cd_historico_baixadesc = string.Empty; Ds_historico_baixadesc = string.Empty; Cd_historico_taxacob = string.Empty; Ds_historico_taxacob = string.Empty; Cd_centroresultTXCob = string.Empty; Ds_centroresultTXCob = string.Empty; tp_layoutbloqueto = string.Empty; tipo_layoutbloqueto = string.Empty; Nr_diasdesconto = decimal.Zero; tp_layoutretorno = string.Empty; tipo_layoutretorno = string.Empty; tp_layoutremessa = string.Empty; tipo_layoutremessa = string.Empty; st_protestoauto = "N"; st_protestoautobool = false; ConvenioCobranca = string.Empty; Cd_bancocorrespondente = string.Empty; Ds_bancocorrespondente = string.Empty; Nr_agenciacorrespondente = string.Empty; Nr_contacorrespondente = string.Empty; Carteiracorrespondente = string.Empty; Vl_taxa = decimal.Zero; St_registro = "A"; }
public static TList_ConsultaDest DistribuicaoDFe(TRegistro_CfgNfe rCfgNfe, TRegistro_CadEmpresa rEmp, string NSU, string UltimoNSU, string ChaveAcesso) { StringBuilder xml = new StringBuilder(); xml.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); xml.Append("<distDFeInt xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"1.01\">\n"); //Ambiente xml.Append("<tpAmb>"); xml.Append(rCfgNfe.Tp_ambiente.Trim().ToUpper().Equals("P") ? "1" : "2"); xml.Append("</tpAmb>\n"); //UF Autor xml.Append("<cUFAutor>"); xml.Append(rEmp.rEndereco.Cd_uf); xml.Append("</cUFAutor>\n"); //CNPJ Destinatario xml.Append("<CNPJ>"); xml.Append(rCfgNfe.Cnpj_empresa.SoNumero()); xml.Append("</CNPJ>\n"); if (!string.IsNullOrEmpty(NSU)) { xml.Append("<consNSU>\n"); xml.Append("<NSU>" + NSU.Trim() + "</NSU>\n"); xml.Append("</consNSU>\n"); } else if (!string.IsNullOrEmpty(ChaveAcesso) && ChaveAcesso.Trim().Length.Equals(44)) { xml.Append("<consChNFe>\n"); xml.Append("<chNFe>" + ChaveAcesso.Trim() + "</chNFe>\n"); xml.Append("</consChNFe>\n"); } else { xml.Append("<distNSU>\n"); xml.Append("<ultNSU>" + (string.IsNullOrEmpty(UltimoNSU) ? "000000000000000": UltimoNSU.FormatStringEsquerda(15, '0')) + "</ultNSU>\n"); xml.Append("</distNSU>\n"); } xml.Append("</distDFeInt>\n"); //Validar schema xml Utils.ValidaSchema.ValidaXML2.validaXML(xml.ToString(), rCfgNfe.Path_nfe_schemas.Trim().SeparadorDiretorio() + "distDFeInt_v" + rCfgNfe.Cd_versaocondest.Trim() + ".xsd", "MDFE"); if (!string.IsNullOrEmpty(Utils.ValidaSchema.ValidaXML2.Retorno)) { throw new Exception(Utils.ValidaSchema.ValidaXML2.Retorno); } //Conectar Web Service XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.ToString()); XmlNode retorno = ConectarWebService(doc.DocumentElement, rCfgNfe); //Tratar retorno if (retorno != null) { //para abrir o arquivo para o usuario if (retorno["cStat"].InnerText.Trim().Equals("138")) { TList_ConsultaDest lRet = new TList_ConsultaDest(); foreach (XmlNode n in retorno["loteDistDFeInt"].ChildNodes) { TRegistro_ConsultaDest registro = new TRegistro_ConsultaDest(); registro.Cd_empresa = rEmp.Cd_empresa; registro.Loginconsulta = Parametros.pubLogin; registro.Dt_consulta = DateTime.Now; registro.Nsu = decimal.Parse(n.Attributes.GetNamedItem("NSU").InnerText); if (!string.IsNullOrWhiteSpace(ChaveAcesso)) { registro.St_nfe = "1"; } XmlDocument d = new XmlDocument(); d.LoadXml(Compact_Data.Descompactar(Convert.FromBase64String(n.InnerText))); if (d.GetElementsByTagName("chNFe").Count > 0) { registro.chave_acesso = d.GetElementsByTagName("chNFe")[0].InnerText; } if (d.GetElementsByTagName("CNPJ").Count > 0) { registro.Cnpj_emitente = d.GetElementsByTagName("CNPJ")[0].InnerText; } if (d.GetElementsByTagName("xNome").Count > 0) { registro.Nm_emitente = d.GetElementsByTagName("xNome")[0].InnerText; } if (d.GetElementsByTagName("IE").Count > 0) { registro.Insc_Emitente = d.GetElementsByTagName("IE")[0].InnerText; } if (d.GetElementsByTagName("dhEmi").Count > 0) { registro.Dt_eminfe = DateTime.Parse(d.GetElementsByTagName("dhEmi")[0].InnerText); } if (d.GetElementsByTagName("tpNF").Count > 0) { registro.Tp_movimento = d.GetElementsByTagName("tpNF")[0].InnerText; } if (d.GetElementsByTagName("vNF").Count > 0) { registro.Vl_nfe = decimal.Parse(d.GetElementsByTagName("vNF")[0].InnerText, new System.Globalization.CultureInfo("en-US")); } if (d.GetElementsByTagName("digVal").Count > 0) { registro.digVal = d.GetElementsByTagName("digVal")[0].InnerText; } if (d.GetElementsByTagName("dhRecbto").Count > 0) { registro.Dh_recbto = DateTime.Parse(d.GetElementsByTagName("dhRecbto")[0].InnerText); } if (d.GetElementsByTagName("nProt").Count > 0) { registro.nProt = decimal.Parse(d.GetElementsByTagName("nProt")[0].InnerText); } if (d.GetElementsByTagName("cSitNFe").Count > 0) { registro.St_nfe = d.GetElementsByTagName("cSitNFe")[0].InnerText; } lRet.Add(registro); } return(lRet); } else { throw new Exception(retorno["xMotivo"].InnerText); } } else { throw new Exception("Erro executar WebService."); } }
public static string DownloadXML(TRegistro_CfgNfe rCfgNfe, TRegistro_CadEmpresa rEmp, string Chave) { StringBuilder xml = new StringBuilder(); xml.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); xml.Append("<distDFeInt xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"1.01\">\n"); //Ambiente xml.Append("<tpAmb>"); xml.Append(rCfgNfe.Tp_ambiente.Trim().ToUpper().Equals("P") ? "1" : "2"); xml.Append("</tpAmb>\n"); //UF Autor xml.Append("<cUFAutor>"); xml.Append(rEmp.rEndereco.Cd_uf); xml.Append("</cUFAutor>\n"); //CNPJ Destinatario xml.Append("<CNPJ>"); xml.Append(rCfgNfe.Cnpj_empresa.SoNumero()); xml.Append("</CNPJ>\n"); xml.Append("<consChNFe>\n"); xml.Append("<chNFe>" + Chave.Trim() + "</chNFe>\n"); xml.Append("</consChNFe>\n"); xml.Append("</distDFeInt>\n"); //Validar schema xml Utils.ValidaSchema.ValidaXML2.validaXML(xml.ToString(), rCfgNfe.Path_nfe_schemas.Trim().SeparadorDiretorio() + "distDFeInt_v" + rCfgNfe.Cd_versaocondest.Trim() + ".xsd", "MDFE"); if (!string.IsNullOrEmpty(Utils.ValidaSchema.ValidaXML2.Retorno)) { throw new Exception(Utils.ValidaSchema.ValidaXML2.Retorno); } //Conectar Web Service XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.ToString()); XmlNode retorno = ConectarWebService(doc.DocumentElement, rCfgNfe); //Tratar retorno if (retorno != null) { //para abrir o arquivo para o usuario if (retorno["cStat"].InnerText.Trim().Equals("138")) { if (retorno["loteDistDFeInt"].ChildNodes.Count > 0) { return(Compact_Data.Descompactar(Convert.FromBase64String(retorno["loteDistDFeInt"].ChildNodes[0].InnerText))); } else { return(string.Empty); } } else { throw new Exception(retorno["xMotivo"].InnerText); } } else { throw new Exception("Erro executar WebService."); } }