public static string Excluir(TRegistro_ImpostosNF val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ImpostosNF qtb_imp = new TCD_ImpostosNF(); try { if (banco == null) { st_transacao = qtb_imp.CriarBanco_Dados(true); } else { qtb_imp.Banco_Dados = banco; } qtb_imp.Excluir(val); if (st_transacao) { qtb_imp.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_imp.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir impostos: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_imp.deletarBanco_Dados(); } } }
public static void ReprocessarImpostos(TRegistro_LanFaturamento rNf, CamadaDados.Faturamento.CTRC.TRegistro_ConhecimentoFrete rCtrc, CamadaDados.Faturamento.PDV.TRegistro_NFCe rEcf, decimal Vl_TotalNota, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ImpostosNF qtb_imp = new TCD_ImpostosNF(); try { if (banco == null) { st_transacao = qtb_imp.CriarBanco_Dados(true); } else { qtb_imp.Banco_Dados = banco; } TList_ImpostosNF lImp = new TList_ImpostosNF(); if (rCtrc != null) { //Verificar se o ctrc possui imposto processado object objfiscal = new TCD_ImpostosNF(banco).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rCtrc.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.nr_lanctoCTR", vOperador = "=", vVL_Busca = rCtrc.Nr_lanctoCTRC.Value.ToString() }, new TpBusca() { vNM_Campo = "a.id_lotefis", vOperador = "is", vVL_Busca = "not null" } }, "1"); if (objfiscal != null) { throw new Exception("Não é permitido reprocessar impostos de conhecimento de frete com registro fiscal processado."); } //Buscar impostos CTRC gravados para excluir lImp = Buscar(string.Empty, rCtrc.Cd_empresa, string.Empty, string.Empty, rCtrc.Nr_lanctoCTRC.Value.ToString(), string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, false, string.Empty, qtb_imp.Banco_Dados); } //Excluir impostos lImp.ForEach(p => Excluir(p, qtb_imp.Banco_Dados)); //Gravar novos impostos if (rCtrc != null) { rCtrc.lImpostos.ForEach(p => { p.Cd_empresa = rCtrc.Cd_empresa; p.Nr_lanctoctr = rCtrc.Nr_lanctoCTRC; Gravar(p, qtb_imp.Banco_Dados); }); } else if (rNf != null) { rNf.ItensNota.ForEach(p => TCN_LanFaturamento_Item.AlterarFaturamentoItem(p, qtb_imp.Banco_Dados)); } else if (rEcf != null) { rEcf.lItem.ForEach(p => new CamadaDados.Faturamento.PDV.TCD_NFCe_Item(qtb_imp.Banco_Dados).Gravar(p)); } if (st_transacao) { qtb_imp.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_imp.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro reprocessar impostos: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_imp.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_ImpostosNF val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ImpostosNF qtb_imp = new TCD_ImpostosNF(); try { if (banco == null) { st_transacao = qtb_imp.CriarBanco_Dados(true); } else { qtb_imp.Banco_Dados = banco; } string retorno = qtb_imp.Gravar(val); //Gravar Contabilidade Imposto Calculado //if (val.Vl_impostocalc > decimal.Zero && val.Nr_lanctofiscal != null) //{ // List<CamadaDados.Contabil.TRegistro_ProcImpostos> lProcImpCalc = // CamadaNegocio.Contabil.TCN_Lan_ProcContabil.BuscarProc_Impostos(val.Cd_empresa, // val.Nr_lanctofiscal.Value.ToString(), // string.Empty, // string.Empty, // val.Cd_impostostr, // string.Empty, // string.Empty, // string.Empty, // string.Empty, // string.Empty, // string.Empty, // string.Empty, // decimal.Zero, // decimal.Zero, // false, // qtb_imp.Banco_Dados); // if (lProcImpCalc.Count > 0) // if (lProcImpCalc.Exists(p => p.Cd_contactb_deb.HasValue && p.Cd_contactb_cred.HasValue)) // CamadaNegocio.Contabil.TCN_LanContabil.ProcessaCTB_Impostos(lProcImpCalc.FindAll(p => p.Cd_contactb_cred.HasValue && p.Cd_contactb_deb.HasValue), qtb_imp.Banco_Dados); //} ////Gravar Contabilidade Imposto Retido //if (val.Vl_impostoretido > decimal.Zero && val.Nr_lanctofiscal != null) //{ // List<CamadaDados.Contabil.TRegistro_ProcImpostos> lProcImpRet = // CamadaNegocio.Contabil.TCN_Lan_ProcContabil.BuscarProc_Impostos(val.Cd_empresa, // val.Nr_lanctofiscal.Value.ToString(), // string.Empty, // string.Empty, // val.Cd_impostostr, // string.Empty, // string.Empty, // string.Empty, // string.Empty, // string.Empty, // string.Empty, // string.Empty, // decimal.Zero, // decimal.Zero, // false, // qtb_imp.Banco_Dados); // if (lProcImpRet.Count > 0) // if (lProcImpRet.Exists(p => p.Cd_contactb_deb.HasValue && p.Cd_contactb_cred.HasValue)) // CamadaNegocio.Contabil.TCN_LanContabil.ProcessaCTB_Impostos(lProcImpRet.FindAll(p => p.Cd_contactb_cred.HasValue && p.Cd_contactb_deb.HasValue), qtb_imp.Banco_Dados); //} if (st_transacao) { qtb_imp.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_imp.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar impostos: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_imp.deletarBanco_Dados(); } } }