public TRegistro_LanFixacao() { Id_fixacao = null; dt_fixacao = null; dt_fixacaostr = string.Empty; Ps_fixado_total = decimal.Zero; vl_unitario = decimal.Zero; Vl_bonificacao = decimal.Zero; Vl_adiantamento = decimal.Zero; Vl_impostosret = decimal.Zero; Vl_royalties = decimal.Zero; Vl_royalties_declarado = decimal.Zero; Vl_royalties_testado = decimal.Zero; Vl_fixacao = decimal.Zero; Ds_observacao = string.Empty; nr_contrato = null; nr_contratostr = string.Empty; Cd_produto = string.Empty; Ds_produto = string.Empty; Cd_unidestoque = string.Empty; Ds_unidestoque = string.Empty; Sigla_unidestoque = string.Empty; Cd_unidvalor = string.Empty; Ds_unidvalor = string.Empty; Sigla_unidvalor = string.Empty; Qtd_gmo_declarado = decimal.Zero; Qtd_gmo_testado = decimal.Zero; St_registro = "A"; lFixacaonf = new TList_Fixacao_NF(); rFixacao_pedido = null; rDup = null; lDupFixacao = new TList_RegLanDuplicata(); lItemNf = new TList_RegLanFaturamento_Item(); }
private TList_RegLanFaturamento_Item ObservacaoFiscalItemNf(TRegistro_LanFaturamento rNf, decimal Tam_DadosAdic) { TList_RegLanFaturamento_Item lItens = new TList_RegLanFaturamento_Item(); rNf.ItensNota.ForEach(p => { lItens.Add(p); if (p.Observacao_item.Trim() != string.Empty) { string[] obs = p.Observacao_item.Trim().Split(new char[] { '\n' }); if (Tam_DadosAdic > 0) { foreach (string str in obs) { if (str.Trim() != string.Empty) { if (str.Trim().Length > Convert.ToInt32(Tam_DadosAdic)) { int index = 0; int total_copiar = 0; do { total_copiar = (Convert.ToInt32(Tam_DadosAdic) > str.Trim().Substring(index, str.Trim().Length - index).Length ? str.Trim().Substring(index, str.Trim().Length - index).Length : Convert.ToInt32(Tam_DadosAdic)); lItens.Add(new TRegistro_LanFaturamento_Item() { Ds_produto = str.Trim().Substring(index, total_copiar) }); index += total_copiar; }while (index < str.Trim().Length); } else { lItens.Add(new TRegistro_LanFaturamento_Item() { Ds_produto = str }); } } } } else { foreach (string str in obs) { if (str.Trim() != string.Empty) { lItens.Add(new TRegistro_LanFaturamento_Item() { Ds_produto = str }); } } } } }); return(lItens); }
public TFLan_Originacao(TList_RegLanFaturamento_Item ItensNotaParam) { InitializeComponent(); BB_Novo.Visible = false; BB_Gravar.Visible = true; BB_Gravar.Text = "(F4)\n Lançar"; BB_Gravar.Width = 105; BB_Cancelar.Visible = true; BB_Buscar.Visible = false; habilitarControls(false); pDadosFiltro.set_FormatZero(); ItensNota = ItensNotaParam; BS_ItensNota.DataSource = ItensNotaParam; }
public void Imprime_NF(TRegistro_LanFaturamento listNF, bool St_imprimir, bool St_visualizar, bool St_enviaremail, List <string> Destinatarios, string Titulo, string Mensagem) { TList_CFGImpNF CfgImpNf = TCN_CFGImpNF.Buscar(listNF.Nr_serie, listNF.Cd_modelo, listNF.Cd_empresa, null); if (CfgImpNf.Count > 0) { //Buscar itens da nota listNF.ItensNota = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento_Item.Busca(listNF.Cd_empresa, listNF.Nr_lanctofiscalstr, string.Empty, null); //Tratar observacao Fiscal dos itens da nota listNF.ItensNota = this.ObservacaoFiscalItemNf(listNF, CfgImpNf[0].Tam_dadosadic); //ADD A QTD DE LINHAS Q FALTA if (listNF.ItensNota.Count < CfgImpNf[0].Qt_itensnota) { int QtdItemVazio = (Convert.ToInt32(CfgImpNf[0].Qt_itensnota) - listNF.ItensNota.Count); if (listNF.Vl_desconto > 0) { QtdItemVazio -= 1; } for (int i = 0; i < QtdItemVazio; i++) { listNF.ItensNota.Add(new TRegistro_LanFaturamento_Item()); } if (listNF.Vl_desconto > 0) { listNF.ItensNota.Add(new TRegistro_LanFaturamento_Item() { Ds_produto = "Desconto sobre produtos: " + Math.Round(listNF.Vl_desconto, 2) }); } } else { TList_RegLanFaturamento_Item ListaItem = new TList_RegLanFaturamento_Item(); int contador = 0; for (int i = 0; i < listNF.ItensNota.Count; i++) { if (contador == ((Convert.ToInt32(CfgImpNf[0].Qt_itensnota) - 1))) { ListaItem.Add(new TRegistro_LanFaturamento_Item() { Ds_produto = "VALOR A TRANSPORTAR... " + ListaItem.Sum(p => p.Vl_subtotal).ToString("C2", new System.Globalization.CultureInfo("pt-BR", true)) }); for (int x = 0; x < CfgImpNf[0].Qt_linha; x++) { ListaItem.Add(new TRegistro_LanFaturamento_Item()); } ListaItem.Add(new TRegistro_LanFaturamento_Item() { Ds_produto = "VALOR TRANSPORTADO... " + ListaItem.Sum(p => p.Vl_subtotal).ToString("C2", new System.Globalization.CultureInfo("pt-BR", true)) }); //PARA PULAR DE LINHA contador = 1; } contador++; ListaItem.Add(listNF.ItensNota[i]); if (i == (listNF.ItensNota.Count - 1)) { if (CfgImpNf[0].Qt_itensnota > 0) { int QtdItemVazio = (Convert.ToInt32(CfgImpNf[0].Qt_itensnota) - contador); if (listNF.Vl_desconto > 0) { QtdItemVazio -= 1; } for (int x = 0; x < QtdItemVazio; x++) { ListaItem.Add(new TRegistro_LanFaturamento_Item()); } if (listNF.Vl_desconto > 0) { ListaItem.Add(new TRegistro_LanFaturamento_Item() { Ds_produto = "Desconto sobre produtos: " + Math.Round(listNF.Vl_desconto, 2) }); } } } } listNF.ItensNota.Clear(); listNF.ItensNota = ListaItem; } if (listNF.Duplicata.Count == 0) { listNF.Duplicata.Add(new TRegistro_LanDuplicata()); } //ADD AS PARCELAS for (int i = 0; i < listNF.Duplicata[0].Parcelas.Count; i++) { this.Parametros_Relatorio.Add("CDPARCELA" + i, listNF.Duplicata[0].Parcelas[i].Cd_parcela.ToString()); this.Parametros_Relatorio.Add("DTVENCTO" + i, listNF.Duplicata[0].Parcelas[i].Dt_vencto); this.Parametros_Relatorio.Add("VLPARCELA" + i, listNF.Duplicata[0].Parcelas[i].Vl_parcela); } this.reportManager.DataSources.Add("DTS", listNF); Imprime(CfgImpNf[0], listNF.Nr_notafiscal.ToString(), St_imprimir, St_visualizar, St_enviaremail, Destinatarios, Titulo, Mensagem); } }
public static string GravaGMO(TList_RegLanFaturamento_Item val, bool vTpGMOTestado, bool vTpGMODeclarado, string vTP_Movimento, TObjetoBanco banco) { TCD_LanRoyaltiesGMO cd = new TCD_LanRoyaltiesGMO(); bool st_transacao = false; try { if (banco == null) { st_transacao = cd.CriarBanco_Dados(true); } else { cd.Banco_Dados = banco; } decimal ID_LanctoGMO = decimal.Zero; val.ForEach(p => { if (vTP_Movimento.Equals("E")) { //PROCURAR O PEDIDO E O CONTRATO PRA VER SE HE GMO NA CLASSE TCD_CadContratoxPedidoItem //SE FOR GMO QUER DIZER QUE HE DECLARADO *** O TESTADO NUNCA VAI EXISTIR NESSA CONDICAO // vST_GMOTestado = "N"; vST_GMODeclarado = ao que deu no contrato TList_CadContrato lContrato = TCN_CadContrato.BuscarContrato(string.Empty, string.Empty, string.Empty, string.Empty, p.Nr_pedido.ToString(), string.Empty, string.Empty, string.Empty, p.Cd_produto, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, banco); if (lContrato.Count > 0) { if (lContrato[0].Tp_prodcontrato.Trim().ToUpper().Equals("ID") || vTpGMOTestado || vTpGMODeclarado) { //GRAVA OS DESCONTOS DE GMO ID_LanctoGMO = Convert.ToDecimal(Gravar(new CamadaDados.Graos.TRegistro_LanRoyaltiesGMO() { CD_Produto = p.Cd_produto, Nr_Contrato = lContrato[0].Nr_contrato, TP_Lancto = "N", Tp_gmo = vTpGMOTestado ? "T" : "D", QTD_Credito = decimal.Zero, QTD_Debito = p.Quantidade_estoque > 0 ? p.Quantidade_estoque : p.Quantidade, }, banco)); //GRAVAR GMO NOTA CamadaNegocio.Graos.TCN_Lan_NotaFiscalGMO.Gravar(new CamadaDados.Graos.TRegistro_Lan_NotaFiscalGMO() { id_LanctoGmo = ID_LanctoGMO, cd_Empresa = p.Cd_empresa, nr_LanctoFiscal = p.Nr_lanctofiscal, id_NfItem = p.Id_nfitem }, banco); processaFinanceiroGMO(lContrato[0].Nr_contratostr, ID_LanctoGMO, banco); } } } }); if (st_transacao) { cd.Banco_Dados.Commit_Tran(); } return(ID_LanctoGMO.ToString()); } catch (Exception ex) { if (st_transacao) { cd.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar Royalties: " + ex.Message.Trim()); } finally { if (st_transacao) { cd.deletarBanco_Dados(); } } }
public static List <TRegistro_SaldoContratoGMO> processaFinanceiroGMO(string Nr_contrato, decimal id_LanctoGmo, TObjetoBanco banco) { //Buscar saldo pedido GMO List <TRegistro_SaldoContratoGMO> lSaldoContrato = new TCD_LanRoyaltiesGMO(banco).SelectSaldoContratoGMO( new TpBusca[] { new TpBusca() { vNM_Campo = "p.nr_contrato", vOperador = "=", vVL_Busca = Nr_contrato } }, 0); //Buscar Saldo NF GMO List <TRegistro_SaldoNFGMO> lSaldoNf = new TCD_LanRoyaltiesGMO(banco).SelectSaldoNFGMO( new TpBusca[] { new TpBusca() { vNM_Campo = "contrato.nr_contrato", vOperador = "=", vVL_Busca = Nr_contrato } }, 0); decimal pc_gmo_declarado = ConfigGer.TCN_CadParamGer.BuscaVlNumerico("PC_GMO_DECLARADO", banco); decimal pc_gmo_testado = ConfigGer.TCN_CadParamGer.BuscaVlNumerico("PC_GMO_TESTADO", banco); TList_RegLanLiquidacao liq = new TList_RegLanLiquidacao(); //credito/debito de todas as notas fiscais do pedido lSaldoContrato.ForEach(p => { if ((p.Saldo_debito - p.Saldo_credito) > 0) { //Credito/Debito da nota fiscal atual lSaldoNf.ForEach(v => { if ((v.Saldo_debito - v.Saldo_credito) > 0) { if (v.Tp_gmo.Trim().ToUpper().Equals("D") && pc_gmo_declarado.Equals(decimal.Zero)) { throw new Exception("Não existe configuração percentual de GMO declarado configurado.\r\n" + "Va em PARAMETROS->CONFIGURAÇÕES->CONFIGURAÇÕES GERAIS e configure o percentual GMO declarado."); } if (v.Tp_gmo.Trim().ToUpper().Equals("T") && pc_gmo_testado.Equals(decimal.Zero)) { throw new Exception("Não existe configuração percentual de GMO testado configurado.\r\n" + "Va em PARAMETROS->CONFIGURAÇÕES->CONFIGURAÇÕES GERAIS e configure o percentual GMO testado."); } decimal qtd_lancto = decimal.Zero; if ((p.Saldo_debito - p.Saldo_credito) >= (v.Saldo_debito - v.Saldo_credito)) { qtd_lancto = v.Saldo_debito - v.Saldo_credito; } else { qtd_lancto = p.Saldo_debito - p.Saldo_credito; } //Calcular impostos Retidos da Nota TList_RegLanFaturamento lNf = TCN_LanFaturamento.Busca(v.Cd_empresa, string.Empty, string.Empty, v.Nr_lanctofiscal.ToString(), 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, 1, string.Empty, banco); decimal vl_liquidar = decimal.Zero; if (lNf.Count > 0) { //Buscar Item da Nota TList_RegLanFaturamento_Item lItem = TCN_LanFaturamento_Item.Busca(v.Cd_empresa, v.Nr_lanctofiscal.Value.ToString(), v.Id_nfitem.Value.ToString(), banco); if (lItem.Count > 0) { //Calcular Impostos Retidos TCN_LanFaturamento_Item.PreencherOutrosImpostos( TCN_LanFaturamento_Item.procuraCondicaoFiscalImpostos(lNf[0].Cd_condfiscal_clifor, lItem[0].Cd_condfiscal_produto, lNf[0].Cd_movimentacaostring, lNf[0].Tp_movimento, lNf[0].Tp_pessoa, lNf[0].Cd_empresa, lNf[0].Nr_serie, lNf[0].Cd_clifor, lItem[0].Cd_unidEst, lNf[0].Dt_emissao, qtd_lancto, TCN_CadConvUnidade.ConvertUnid(p.Cd_unidade, p.Cd_unidade_valor, (qtd_lancto * v.Vl_unitario), 2, banco), lNf[0].Tp_nota, lNf[0].Cd_municipioexecservico, banco), lItem[0], lNf[0].Tp_movimento); lNf[0].ItensNota = lItem; } TCN_LanFaturamento.CalcTotalNota(lNf[0]); vl_liquidar = lNf[0].Vl_totalnota * ((v.Tp_gmo.Trim().ToUpper().Equals("D") ? pc_gmo_declarado : pc_gmo_testado) / 100); } else { //Valor liquidar vl_liquidar = TCN_CadConvUnidade.ConvertUnid(p.Cd_unidade, p.Cd_unidade_valor, (qtd_lancto * v.Vl_unitario), 2, banco) * ((v.Tp_gmo.Trim().ToUpper().Equals("D") ? pc_gmo_declarado : pc_gmo_testado) / 100); } //Liquidar duplicata liquidaDuplicatas(v, p, vl_liquidar, qtd_lancto, banco); } }); } }); return(lSaldoContrato); }