private void FItensRemessa_Load(object sender, EventArgs e) { Icon = ResourcesUtils.TecnoAliance_ICO; if (rorcamento != null) { bsOrcamento.DataSource = new TList_Orcamento() { rorcamento } } ; else { bsOrcamento.AddNew(); } bsCFGEmpreendimento.DataSource = TCN_CadCFGEmpreendimento.Busca(string.Empty, string.Empty, null); if (rfatDir != null) { bsFicha.DataSource = (rfatDir.lFicha); } if (bsOrcamento.Count > 0) { afterBusca(); } }
private void FCompararVersao_Load(object sender, EventArgs e) { Icon = ResourcesUtils.TecnoAliance_ICO; if (cOrc != null) { bsOrcamento.Add(cOrc); } lcfg = TCN_CadCFGEmpreendimento.Busca(vCd_Empresa, string.Empty, null); afterbusca(); }
private void afterGrava() { string[] str = editData1.Text.Trim().Split('/'); for (int i = 0; i < str.Length; i++) { if (string.IsNullOrEmpty(str[i].Trim())) { MessageBox.Show("Informe a previsão proposta", "Informe", MessageBoxButtons.OK, MessageBoxIcon.Information); editData1.Focus(); return; } } if (Convert.ToDateTime(editData1.Text) < DateTime.Now) { MessageBox.Show("Data previsão proposta invalida", "Inválida", MessageBoxButtons.OK, MessageBoxIcon.Information); editData1.Focus(); return; } if (!dt_prevfin.Text.Equals(" / /") && !dt_previni.Text.Equals(" / /")) { if (Convert.ToDateTime(dt_previni.Text) > Convert.ToDateTime(dt_prevfin.Text)) { MessageBox.Show("Data da previsão deve ser maior que a data inicial!", "mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); dt_prevfin.Focus(); return; } } TList_CadCFGEmpreendimento lcfg = TCN_CadCFGEmpreendimento.Busca(string.Empty, string.Empty, null); if (lcfg.Count.Equals(0)) { MessageBox.Show("Não existe pré-cadastrado configuração de empreendimento, não será possível finalizar o processo de orçamento.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if ((bsOrcamento.Current as TRegistro_Orcamento).lRequisitos.Count < lcfg[0].QT_MINREQUISITO) { MessageBox.Show("Deve informar mais requisitos pois o mínimo é " + lcfg[0].QT_MINREQUISITO, "Inválida", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (pDados.validarCampoObrigatorio()) { this.DialogResult = DialogResult.OK; } }
private void cbEmpresa_SelectedIndexChanged(object sender, EventArgs e) { if (rorcamento == null && cbEmpresa.SelectedValue != null) { //Buscar Configuração Empreendimento TList_CadCFGEmpreendimento lCfg = TCN_CadCFGEmpreendimento.Busca(cbEmpresa.SelectedValue.ToString(), string.Empty, null); if (lCfg.Count > 0) { //pc_irpj.Value = lCfg[0].Pc_IRPJ; //pc_csll.Value = lCfg[0].Pc_CSLL; //pc_pis.Value = lCfg[0].Pc_PIS; //pc_cofins.Value = lCfg[0].Pc_Cofins; //pc_margemcont.Value = lCfg[0].Pc_margemcont; } } }
private void TFMateriais_Load(object sender, EventArgs e) { vFicha = lFicha; TList_CadCFGEmpreendimento registro_CadCFG = TCN_CadCFGEmpreendimento.Busca(string.Empty, string.Empty, null); if (registro_CadCFG.Count.Equals(0)) { MessageBox.Show("Necessário ter pré-cadastrado configuração empreendimento", "Informativo", MessageBoxButtons.OK, MessageBoxIcon.Error); DialogResult = DialogResult.Abort; } else if (registro_CadCFG[0].Cd_tabelapreco == null || string.IsNullOrEmpty(registro_CadCFG[0].Cd_tabelapreco)) { MessageBox.Show("Necessário ter pré-cadastrado tabela de preço na configuração do empreendimento", "Informativo", MessageBoxButtons.OK, MessageBoxIcon.Error); DialogResult = DialogResult.Abort; } vFicha.ForEach(r => { object d = new CamadaDados.Estoque.Cadastros.TCD_CadProduto().BuscarPrecoVenda(registro_CadCFG[0].cd_empresa, r.Cd_produto, registro_CadCFG[0].Cd_tabelapreco); r.Vl_unitarioAtual = d == null ? 0 : Convert.ToDecimal(d); }); bsMateriais.DataSource = vFicha; bsMateriais.ResetBindings(true); }
public static CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento ProcessarEmpreendimento(string tp_nota, string Cd_clifor, TRegistro_Orcamento rOrcamento, List <TRegistro_FichaTec> rFicha) { // TP_NOTA S SERVICO N NORMAL if (new TCD_CadCFGEmpreendimento().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rOrcamento.Cd_empresa.Trim() + "'" } }, "a.cfg_remessa", string.Empty, string.Empty, null) == null) { throw new Exception("Não existe configuração para emitir NF peças para a empresa " + rOrcamento.Cd_empresa.Trim()); } //Buscar configuracao fiscal do pedido CamadaDados.Faturamento.Cadastros.TList_CadCFGPedidoFiscal lCfgPed = new CamadaDados.Faturamento.Cadastros.TList_CadCFGPedidoFiscal(); if (tp_nota.Equals("N")) { lCfgPed = new CamadaDados.Faturamento.Cadastros.TCD_CadCFGPedidoFiscal().Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_EMP_CFGEmpreendimento x " + "where a.cfg_pedido = x.cfg_remessa " + "and x.cd_empresa = '" + rOrcamento.Cd_empresa.Trim() + "')" }, new TpBusca() { vNM_Campo = "a.tp_fiscal", vOperador = "=", vVL_Busca = "'NO'" } }, 1, string.Empty); } if (tp_nota.Equals("S")) { lCfgPed = new CamadaDados.Faturamento.Cadastros.TCD_CadCFGPedidoFiscal().Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_EMP_CFGEmpreendimento x " + "where a.cfg_pedido = x.cfg_servico " + "and x.cd_empresa = '" + rOrcamento.Cd_empresa.Trim() + "')" }, new TpBusca() { vNM_Campo = "a.tp_fiscal", vOperador = "=", vVL_Busca = "'SE'" } }, 1, string.Empty); } if (lCfgPed.Count.Equals(0)) { throw new Exception("Não existe configuração fiscal do pedido para o tipo pedido!"); } //Objeto Nota Fiscal CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rNf = new CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento(); //Buscar registro empresa CamadaDados.Diversos.TRegistro_CadEmpresa rEmpresa = CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(rOrcamento.Cd_empresa, string.Empty, string.Empty, null)[0]; rNf.Cd_empresa = rEmpresa.Cd_empresa; rNf.Cd_uf_empresa = rEmpresa.rEndereco.Cd_uf; rNf.Uf_empresa = rEmpresa.rEndereco.UF; //Buscar registro clifor CamadaDados.Financeiro.Cadastros.TRegistro_CadClifor rCliente = CamadaNegocio.Financeiro.Cadastros.TCN_CadClifor.Busca_Clifor_Codigo(Cd_clifor, null); rNf.Cd_clifor = rCliente.Cd_clifor; rNf.Cd_condfiscal_clifor = rCliente.Cd_condfiscal_clifor; //Buscar endereco cliente CamadaDados.Financeiro.Cadastros.TRegistro_CadEndereco rEndereco = CamadaNegocio.Financeiro.Cadastros.TCN_CadEndereco.Buscar(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, 1, null)[0]; rNf.Cd_endereco = rEndereco.Cd_endereco; rNf.Cd_uf_clifor = rEndereco.Cd_uf; rNf.Uf_clifor = rEndereco.UF; rNf.Cd_cmi = lCfgPed[0].Cd_cmi; rNf.Cd_movimentacao = lCfgPed[0].Cd_movto; rNf.lCFGFiscal = lCfgPed; rNf.Tp_duplicata = lCfgPed[0].Tp_duplicata; rNf.Ds_tpduplicata = lCfgPed[0].Ds_tpduplicata; rNf.Cd_condpgto = lCfgPed[0].CD_CondPgto; rNf.Tp_movimento = "S"; rNf.Tp_pessoa = rCliente.Tp_pessoa; rNf.Tp_nota = (rNf.Tp_pessoa.Trim().ToUpper().Equals("J") && rNf.Tp_movimento.Trim().ToUpper().Equals("E") ? "T" : "P"); rNf.Nr_serie = lCfgPed[0].Nr_serie; rNf.Cd_modelo = lCfgPed[0].Cd_modelo; rNf.St_sequenciaauto = lCfgPed[0].ST_SequenciaAuto.Trim().ToUpper().Equals("S"); rNf.Dt_emissao = CamadaDados.UtilData.Data_Servidor(); rNf.Dt_saient = rNf.Dt_emissao; rNf.Dadosadicionais = ProcessaAplicacao.BuscarObsMov("D", rNf.Cd_movimentacaostring, rEndereco.UF.Trim().Equals(rEmpresa.rEndereco.UF.Trim())); rNf.Obsfiscal = ProcessaAplicacao.BuscarObsMov("F", rNf.Cd_movimentacaostring, rEndereco.UF.Trim().Equals(rEmpresa.rEndereco.UF.Trim())); //Abrir tela para capturar dados da nota fiscal using (NumeroNota.TFNumero_Nota fNumero = new NumeroNota.TFNumero_Nota()) { fNumero.pCd_empresa = rNf.Cd_empresa; fNumero.pNm_empresa = rNf.Nm_empresa; fNumero.pCd_clifor = rNf.Cd_clifor; fNumero.pNm_clifor = rNf.Nm_clifor; fNumero.pTp_pessoa = rNf.Tp_pessoa; fNumero.pTp_movimento = rNf.Tp_movimento; fNumero.pCd_municipioexecservico = rOrcamento.Cd_cidadeemp; fNumero.pNm_municipioexecservico = rOrcamento.Ds_cidadeemp; fNumero.pTp_nota = rNf.Tp_nota; fNumero.pChave_Acesso_NFe = rNf.Chave_acesso_nfe; fNumero.pNr_serie = rNf.Nr_serie; fNumero.pDs_serie = rNf.Ds_serienf; fNumero.pCd_modelo = rNf.Cd_modelo; fNumero.pDt_emissao = rNf.Dt_emissao; fNumero.pST_NotaUnica = false; fNumero.pNr_notafiscal = rNf.Nr_notafiscal.HasValue ? rNf.Nr_notafiscal.Value.ToString() : string.Empty; fNumero.pDt_saient = rNf.Dt_saient; fNumero.pDs_dadosadic = rNf.Dadosadicionais; fNumero.pDs_obsfiscal = rNf.Obsfiscal; fNumero.pSt_sequenciaauto = rNf.St_sequenciaauto; fNumero.pCd_movto = rNf.Cd_movimentacaostring; fNumero.pCd_cmi = rNf.Cd_cmistring; if (rNf.Tp_nota.Trim().ToUpper().Equals("T")) { fNumero.pInsc_estadual = rEndereco.Insc_estadual; } if (fNumero.ShowDialog() == System.Windows.Forms.DialogResult.OK) { rNf.Chave_acesso_nfe = fNumero.pChave_Acesso_NFe; if (!string.IsNullOrEmpty(fNumero.pNr_notafiscal)) { rNf.Nr_notafiscal = decimal.Parse(fNumero.pNr_notafiscal); } else { rNf.Nr_notafiscal = null; } rNf.Nr_serie = fNumero.pNr_serie; rNf.Cd_modelo = fNumero.pCd_modelo; rNf.Dt_emissao = fNumero.pDt_emissao; rNf.Dt_saient = fNumero.pDt_saient; rNf.Obsfiscal = fNumero.pDs_obsfiscal; rNf.Dadosadicionais = fNumero.pDs_dadosadic; rNf.Cd_transportadora = fNumero.pCd_transportadora; rNf.Nm_razaosocialtransp = fNumero.pNm_transportadora; rNf.Cpf_transp = fNumero.pCnpjCpfTransp; rNf.Placaveiculo = fNumero.pPlacaVeiculo; rNf.Tp_frete = fNumero.pTp_frete; rNf.Especie = fNumero.pEspecie; rNf.Quantidade = fNumero.pQuantidade; rNf.Pesobruto = fNumero.pPsbruto; rNf.Pesoliquido = fNumero.pPsliquido; rNf.Vl_frete = fNumero.pVl_frete; CamadaDados.Fiscal.TRegistro_CadCMI rCmi = CamadaNegocio.Fiscal.TCN_CadCMI.Busca(fNumero.pCd_cmi, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, false, false, false, false, false, false, false, null)[0]; rNf.Cminf.Add(new CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento_CMI() { St_compdevimposto = rCmi.St_compdevimposto, St_complementar = rCmi.St_complementar, St_devolucao = rCmi.St_devolucao, St_geraestoque = rCmi.St_geraestoque, St_mestra = rCmi.St_mestra, St_simplesremessa = rCmi.St_simplesremessa, St_retorno = rCmi.St_retorno }); rNf.Cd_cmistring = fNumero.pCd_cmi; rNf.Ds_cmi = rCmi.Ds_cmi; rNf.Tp_duplicata = rCmi.Tp_duplicata; rNf.Ds_tpduplicata = rCmi.ds_tpduplicata; } else { throw new Exception("Obrigatorio informar numero da nota fiscal."); } } if (rNf.Nr_notafiscal.HasValue) { CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rFat = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.existeNumeroNota(rNf.Nr_notafiscal.ToString(), rNf.Nr_serie, rNf.Cd_empresa, rNf.Cd_clifor, string.Empty, rNf.Tp_nota, null); if (rFat != null) { if (rFat.St_registro.Trim().ToUpper().Equals("C")) { throw new Exception("Nota Fiscal Nº " + rFat.Nr_notafiscal.ToString() + " ja existe no sistema e se encontra cancelada.\r\n" + "Para poder utilizar o mesmo numero e necessario excluir a nota fiscal cancelada.\r\n" + "Dica: Menu FATURAMENTO->Emissão de Notas Fiscais / NFe, localize a nota fiscal cancelada e exclua a mesma.\r\n" + "Obs.: Para excluir a nota fiscal cancelada é necessario que o usuario tenha permissão."); } else { throw new Exception("Nota Fiscal Nº " + rFat.Nr_notafiscal.ToString() + " ja existe no sistema e se encontra ativa.\r\n" + "Não é permitido gerar nota fiscal com mesmo numero."); } } } //Itens da Nota rFicha.ForEach(item => { CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento_Item rItem = new CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento_Item(); rItem.Cd_empresa = item.Cd_empresa; rItem.Cd_produto = item.Cd_produto; //pega cd condfiscal do produto object cd_cfiscal = new CamadaDados.Estoque.Cadastros.TCD_CadProduto().BuscarEscalar(new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = item.Cd_produto } }, "d.cd_condfiscal_produto"); TList_CadCFGEmpreendimento cfg = TCN_CadCFGEmpreendimento.Busca(item.Cd_empresa, string.Empty, null); object ncmm = new CamadaDados.Estoque.Cadastros.TCD_CadProduto().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + item.Cd_produto.Trim() + "'" } }, "isnull(a.ncm, 0)"); if (ncmm != null) { if (!string.IsNullOrEmpty(ncmm.ToString())) { object obj_imp = new CamadaDados.Fiscal.TCD_CadNCM().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.ncm", vOperador = "=", vVL_Busca = "'" + ncmm.ToString().Trim() + "'" } }, "isnull(a.Pc_Aliquota, 0)"); if (obj_imp != null) { if (!string.IsNullOrEmpty(obj_imp.ToString())) { rItem.Pc_imposto_Aprox = Convert.ToDecimal(obj_imp.ToString()); } } } } //buscar cdunidade rItem.Cd_condfiscal_produto = cd_cfiscal != null ?cd_cfiscal.ToString() : string.Empty; rItem.Cd_unidade = item.Cd_unidade; rItem.Cd_local = cfg[0].cd_local; rItem.Cd_unidEst = item.Cd_unidade; rItem.Quantidade = item.quantidade_agregar; rItem.Quantidade_estoque = item.quantidade_agregar; rItem.Vl_subtotal = item.quantidade_agregar * item.Vl_unitario; rItem.Vl_subtotal_estoque = item.quantidade_agregar * item.Vl_unitario; rItem.Vl_unitario = item.Vl_unitario; //Buscar cfop do item CamadaDados.Fiscal.TRegistro_CadCFOP rCfop = null; bool st_dentroestado = rEndereco.Cd_uf.Trim().Equals(rEmpresa.rEndereco.Cd_uf.Trim()); if (CamadaNegocio.Fiscal.TCN_Mov_X_CFOP.BuscarCFOP(rNf.Cd_movimentacaostring, rItem.Cd_condfiscal_produto, rEndereco.Cd_uf.Trim().Equals("99") ? "I" : rEndereco.Cd_uf.Trim().Equals(rEmpresa.rEndereco.Cd_uf.Trim()) ? "D" : "F", (rNf.Tp_movimento.Trim().ToUpper().Equals("E") ? rNf.Cd_uf_clifor : rNf.Cd_uf_empresa), (rNf.Tp_movimento.Trim().ToUpper().Equals("E") ? rNf.Cd_uf_empresa : rNf.Cd_uf_clifor), rNf.Tp_movimento, rNf.Cd_condfiscal_clifor, rNf.Cd_empresa, ref rCfop, null)) { rItem.Cd_cfop = rCfop.CD_CFOP; rItem.Ds_cfop = rCfop.DS_CFOP; rItem.St_bonificacao = rCfop.St_bonificacaobool; } else { throw new Exception("Não existe CFOP " + (rEndereco.Cd_uf.Trim().Equals("99") ? "internacional" : rEndereco.Cd_uf.Trim().Equals(rEmpresa.rEndereco.Cd_uf.Trim()) ? "dentro estado" : "fora estado") + " configurado para a Movimentação " + rNf.Cd_movimentacaostring + " condição fiscal do produto "); //+ item.Cd_condfiscal_produto } //Procurar Impostos Estaduais para o Item string vObsFiscal = string.Empty; CamadaDados.Faturamento.NotaFiscal.TList_ImpostosNF lImpUf = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento_Item.procuraImpostosPorUf(rNf.Cd_empresa, (rNf.Tp_movimento.Trim().ToUpper().Equals("E") ? rNf.Cd_uf_clifor : rNf.Cd_uf_empresa), (rNf.Tp_movimento.Trim().ToUpper().Equals("E") ? rNf.Cd_uf_empresa : rNf.Cd_uf_clifor), rNf.Cd_movimentacaostring, rNf.Tp_movimento, rNf.Cd_condfiscal_clifor, rItem.Cd_condfiscal_produto, rItem.Vl_subtotal, rItem.Quantidade, ref vObsFiscal, rNf.Dt_emissao, rItem.Cd_produto, rNf.Tp_nota, rNf.Nr_serie, null); if (lImpUf.Exists(v => v.Imposto.St_ICMS)) { CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento_Item.PreencherICMS(lImpUf.Find(v => v.Imposto.St_ICMS), rItem); rNf.Obsfiscal += vObsFiscal.Trim(); } else if (CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento_Item.ObrigImformarICMS(rItem.Cd_produto, rNf.Nr_serie, null)) { throw new Exception("Erro: Não existe condição fiscal do ICMS.\r\n" + "Tipo Movimento: " + rNf.Tipo_movimento.Trim() + "\r\n" + "Movimentação: " + rNf.Cd_movimentacao.ToString() + "\r\n" + "Cond. Fiscal Clifor: " + rNf.Cd_condfiscal_clifor.Trim() + "\r\n" + "Cond. Fiscal Produto: " + rItem.Cd_condfiscal_produto.Trim() + "\r\n" + "UF Origem: " + (rNf.Tp_movimento.Trim().ToUpper().Equals("E") ? rNf.Uf_clifor.Trim() : rNf.Uf_empresa.Trim()) + "\r\n" + "UF Destino: " + (rNf.Tp_movimento.Trim().ToUpper().Equals("E") ? rNf.Uf_empresa.Trim() : rNf.Uf_clifor.Trim())); } //Procurar impostos sobre os itens da nota fiscal de destino CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento_Item.PreencherOutrosImpostos( CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento_Item.procuraCondicaoFiscalImpostos(rNf.Cd_condfiscal_clifor, rItem.Cd_condfiscal_produto, rNf.Cd_movimentacaostring, rNf.Tp_movimento, rNf.Tp_pessoa, rNf.Cd_empresa, rNf.Nr_serie, rNf.Cd_clifor, rItem.Cd_unidEst, rNf.Dt_emissao, rItem.Quantidade, rItem.Vl_subtotal, rNf.Tp_nota, rNf.Cd_municipioexecservico, null), rItem, rNf.Tp_movimento); rItem.rItemFichaTec = item; rNf.ItensNota.Add(rItem); }); return(rNf); }
public static string GravarDireto(TRegistro_Orcamento orcamento, TList_FichaTec litens, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CompraEmpreendimento qtb_orc = new TCD_CompraEmpreendimento(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } TList_CadCFGEmpreendimento lCfg = TCN_CadCFGEmpreendimento.Busca(string.Empty, string.Empty, qtb_orc.Banco_Dados); if (lCfg.Count.Equals(0)) { throw new Exception("Não existe cadastro CFG.Empreendimento."); } TList_FichaTec itensDireto = new TList_FichaTec(); if (litens == null) { orcamento.lOrcProjeto.ForEach(o => { o.lFicha.ForEach(p => { if (p.St_fatdiretobool) { itensDireto.Add(p); } }); }); } else { litens.ForEach(p => { itensDireto.Add(p); }); } string ret = string.Empty; itensDireto.ForEach(p => { CamadaDados.Compra.Lancamento.TRegistro_Requisicao req = new CamadaDados.Compra.Lancamento.TRegistro_Requisicao(); req.Cd_empresa = orcamento.Cd_empresa; req.Cd_produto = p.Cd_produto; req.Ds_produto = p.Ds_produto; req.Quantidade = p.quantidade_agregar == decimal.Zero? p.Quantidade : p.quantidade_agregar; CamadaDados.Financeiro.Cadastros.TList_CadClifor lclifor = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_cmp_usuariocompra x " + "where x.cd_clifor_cmp = a.cd_clifor " + "and isnull(x.st_requisitar, 'N') = 'S' " + "and x.login = '******')" } }, 0, string.Empty); if (lclifor.Count > 0) { req.Cd_clifor_comprador = lclifor[0].Cd_clifor; req.Cd_clifor_requisitante = lclifor[0].Cd_clifor; } req.St_requisicao = "AC"; req.Id_tprequisicaostr = p.St_fatdiretobool ? lCfg[0].tp_requisicaodir: lCfg[0].tp_requisicao; //GRAVAR req.Id_requisicao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel( CamadaNegocio.Compra.Lancamento.TCN_Requisicao.GravarRequisicao(req, qtb_orc.Banco_Dados), "@P_ID_REQUISICAO")); TRegistro_CompraEmpreendimento val = new TRegistro_CompraEmpreendimento(); val.Id_orcamentostr = p.Id_orcamentostr; val.Id_registrostr = p.Id_registrostr; val.Id_requisicao = req.Id_requisicao; val.Nr_versao = p.Nr_versao; val.Id_ficha = p.Id_ficha; val.id_atividade = p.Id_projetostr; val.Cd_empresa = p.Cd_empresa; ret = qtb_orc.Gravar(val); val.Id_requisicao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_REQUISICAO")); }); //string ret = qtb_orc.Gravar(val); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return(ret); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar requisicao: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
private void FOrcamentoDetalhado_Load(object sender, EventArgs e) { Icon = ResourcesUtils.TecnoAliance_ICO; if (cOrcamento != null) { bsOrcamento.DataSource = new TList_Orcamento() { cOrcamento }; bsOrcamento.Position = 0; if (cOrcamento == null) { afterBusca(); } else { bsOrcamento_PositionChanged(this, new EventArgs()); } // buscar dados de cfg bsCfgOrc.DataSource = TCN_CadCFGEmpreendimento.Busca(cOrcamento.Cd_empresa, string.Empty, null); bsCfgOrc.ResetCurrentItem(); if (cOrcamento.St_registro.Equals("H") && (CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Parametros.pubLogin, "PERMITIR APROVAR", null))) { bbreabrir.Visible = true; bb_inutilizar.Visible = true; } else { bbreabrir.Visible = false; bb_inutilizar.Visible = false; bnprojetobt.Visible = false; st_empglobal.Enabled = false; totimposto.Enabled = false; cofins.Enabled = false; irpj.Enabled = false; adirpj.Enabled = false; contribuicao.Enabled = false; custofin.Enabled = false; vlOrcContr.Enabled = false; comissao.Enabled = false; csll.Enabled = false; cofins.Enabled = false; custofin.Enabled = false; custo_desp.Enabled = false; custo_ficha.Enabled = false; custo_maoobra.Enabled = false; pis.Enabled = false; issqn.Enabled = false; inss.Enabled = false; pc_descprog.Enabled = false; } calculaFinaltext(); } else { bsOrcamento.AddNew(); } calculaEncargos(); if (bsOrcamento.Current != null && bsCfgOrc.Current != null) { (bsOrcamento.Current as TRegistro_Orcamento).Pc_margemcont = string.IsNullOrEmpty((bsOrcamento.Current as TRegistro_Orcamento).Pc_margemcont.ToString())? (bsCfgOrc.Current as TRegistro_CadCFGEmpreendimento).Pc_margemcont: (bsOrcamento.Current as TRegistro_Orcamento).Pc_margemcont; cofins.Value = cofins.Value.Equals(decimal.Zero) ? (bsCfgOrc.Current as TRegistro_CadCFGEmpreendimento).Pc_Cofins : cofins.Value; csll.Value = csll.Value.Equals(decimal.Zero) ? (bsCfgOrc.Current as TRegistro_CadCFGEmpreendimento).Pc_CSLL : csll.Value; irpj.Value = irpj.Value.Equals(decimal.Zero) ? (bsCfgOrc.Current as TRegistro_CadCFGEmpreendimento).Pc_IRPJ : irpj.Value; pis.Value = pis.Value.Equals(decimal.Zero) ? (bsCfgOrc.Current as TRegistro_CadCFGEmpreendimento).Pc_PIS : pis.Value; } }
private void bb_inutilizar_Click(object sender, EventArgs e) { bool flag = false, semvalor = false; try { if (bsOrcamento.Current == null) { MessageBox.Show("Selecione um projeto!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if ((bsFicha.List as List <TRegistro_FichaTec>).Where(p => p.st_agregar).ToList().FindAll(c => string.IsNullOrEmpty(c.Cd_produto)).Count > 0) { MessageBox.Show("Obrigatório informar código de produto para gerar a remessa", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } (bsFicha.List as List <TRegistro_FichaTec>).Where(p => p.st_agregar && p.quantidade_agregar > decimal.Zero).ToList().ForEach(p => { flag = true; if (vTp_Fat.Equals("Normal")) { decimal saldo = BuscarSaldoLocal(vCD_Empresa, p.Cd_produto); if (saldo.Equals(decimal.Zero)) { MessageBox.Show("Não existe saldo disponivel no estoque.\r\n" + "Produto.........: " + p.Cd_produto.Trim() + "-" + p.Ds_produto.Trim() + "\r\n" + "Local Arm.......: " + vCd_Local.Trim() + "-" + vDs_Local + "\r\n" + "Saldo Disponivel: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR", true)), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); semvalor = true; } } }); if (!semvalor) { if (flag) { if (vTp_Fat.Equals("Normal")) { List <TRegistro_FichaTec> lficha = new List <TRegistro_FichaTec>(); (bsFicha.List as List <TRegistro_FichaTec>).Where(p => p.st_agregar && p.quantidade_agregar > decimal.Zero).ToList() .ForEach(x => lficha.Add(x)); bsCFGEmpreendimento.DataSource = TCN_CadCFGEmpreendimento.Busca((bsOrcamento.Current as TRegistro_Orcamento).Cd_empresa, string.Empty, null); bsCFGEmpreendimento.ResetCurrentItem(); TList_CadCFGEmpreendimento lcfg = TCN_CadCFGEmpreendimento.Busca(string.Empty, string.Empty, null); if (lcfg[0].tp_precoitem.Trim().Equals("0")) { lficha.ForEach(p => { p.Vl_unitario = CamadaNegocio.Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(p.Cd_empresa, p.Cd_produto, null); if (p.Vl_unitario <= decimal.Zero) { throw new Exception("Produto " + p.Cd_produto.Trim() + "-" + p.Ds_produto.Trim() + " esta com valor medio negativo no estoque."); } }); } CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rNf = Proc_Commoditties.ProcessaEmpreendimento.ProcessarEmpreendimento("N", (bsOrcamento.Current as TRegistro_Orcamento).Cd_clifor, rorcamento, lficha); TCN_Orcamento.ProcessarNFEmpreendimento(rNf, bsCFGEmpreendimento.Current as TRegistro_CadCFGEmpreendimento, bsOrcamento.Current as TRegistro_Orcamento, null); if (rNf.Tp_nota.Trim().ToUpper().Equals("P") && rNf.Cd_modelo.Trim().Equals("55")) { if (MessageBox.Show("Deseja enviar NF-e para a receita agora?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { //Verificar se é nota de produto ou mista object obj = new CamadaDados.Faturamento.Cadastros.TCD_CadSerieNF().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.nr_serie", vOperador = "=", vVL_Busca = "'" + rNf.Nr_serie + "'" } }, "a.tp_serie"); if (obj != null) { if (obj.ToString().Trim().ToUpper().Equals("P") || obj.ToString().Trim().ToUpper().Equals("M")) { try { using (srvNFE.TFGerenciarNFe fGerNfe = new srvNFE.TFGerenciarNFe()) { fGerNfe.rNfe = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rNf.Cd_empresa, rNf.Nr_lanctofiscalstr, null); fGerNfe.ShowDialog(); } } catch (Exception ex) { MessageBox.Show("Erro enviar NF-e: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (obj.ToString().Trim().ToUpper().Equals("S")) { try { CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rNfs = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rNf.Cd_empresa, rNf.Nr_lanctofiscalstr, null); NFES.TGerarRPS.CriarArquivoRPS(rNfs.rCfgNfe, new List <CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento>() { rNfs }); MessageBox.Show("NFS-e enviada com sucesso. Aguarde alguns segundos e consulte o status do lote.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("Erro enviar NFS-e: " + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } } DialogResult = DialogResult.OK; } else { MessageBox.Show("Para confirmar deve selecionar algum item.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { MessageBox.Show("" + ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }