Exemple #1
0
 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();
 }
Exemple #2
0
        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);
        }
Exemple #3
0
 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;
 }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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();
                }
            }
        }
Exemple #6
0
        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);
        }