private void bsClifor_PositionChanged(object sender, EventArgs e) { if (bsClifor.Current != null) { (bsClifor.Current as CamadaDados.Financeiro.Cadastros.TRegistro_CadClifor).lEndereco = TCN_CadEndereco.Buscar((bsClifor.Current as CamadaDados.Financeiro.Cadastros.TRegistro_CadClifor).Cd_clifor, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 0, null); (bsClifor.Current as CamadaDados.Financeiro.Cadastros.TRegistro_CadClifor).lContato = TCN_CadContatoCliFor.Buscar(string.Empty, (bsClifor.Current as CamadaDados.Financeiro.Cadastros.TRegistro_CadClifor).Cd_clifor, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, false, false, false, string.Empty, 0, null); bsClifor.ResetCurrentItem(); } }
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 { } }