예제 #1
0
        void CalculaPreco()
        {
            string produto = edtProduto.Text.Trim();
            string subcod  = edtSubCodigo.Text.Trim();
            int    qtde;

            int.TryParse(edtQtde.Text.Trim(), out qtde);
            if ((fornecedor.Length == 0) || (caracteristica.Length == 0) || (produto.Length == 0) || (tabela.Length == 0))
            {
                return;
            }
            if (tabelas == null)
            {
                return;
            }
            preco_tabela   = tabelas.Preco(fornecedor, tabela, produto, subcod);
            preco_unitario = preco_tabela;
            cOrcamentos orcamento = new cOrcamentos();

            per_frete     = cCaracteristicas.Frete(fornecedor, caracteristica);
            preco_formula = preco_unitario;
            Globais.CalculaFormula(ref preco_formula, formula, ipi, per_frete, 0);
            edtPrecoFormula.Text = preco_formula.ToString("#,###,##0.00");
            if (qtde > 0)
            {
                edtPrecoTotal.Text = (Globais.Arredonda(preco_formula) * qtde).ToString("#,###,##0.00");
            }
        }
예제 #2
0
        void BtnCalculoMouseEnter(object sender, EventArgs e)
        {
            dgvFormula.Visible = true;
            float     preco = preco_tabela;
            DataTable tab   = new DataTable();

            tab.Columns.Add("Percentual", typeof(string));
            tab.Columns.Add("Valor", typeof(float));
            tab.Rows.Add(new object[] { "Tabela", preco_tabela });
            //if (!item_especial || pedido)
            if (!item_especial)
            {
                Globais.MostraFormula(ref preco, formula, ipi, 0, 0, tab);
            }
            else
            {
                preco = preco_unitario;
                tab.Rows.Add(new object[] { "Especial", preco });
            }
            //preco += (preco * ipi / 100F);
            //tab.Rows.Add(new object[] {"IPI +"+ipi.ToString("#0")+"%", preco});
            int qtde = 0;

            int.TryParse(edtQtde.Text, out qtde);
            preco = Globais.Arredonda(preco) * qtde;
            tab.Rows.Add(new object[] { "x" + edtQtde.Text, preco });
            dgvFormula.DataSource = tab;
            dgvFormula.Columns["Percentual"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgvFormula.Columns["Valor"].DefaultCellStyle.Alignment      = DataGridViewContentAlignment.MiddleRight;
            dgvFormula.Columns["Valor"].DefaultCellStyle.Format         = "###,###,##0.00";
        }
예제 #3
0
        public void AtualizaDadosLocal(int i)
        {
            item_especial         = ckbEspecial.Checked = dgvCadastro.Rows[i].Cells["Especial"].Value.ToString().Trim().Equals("S");
            item_generico         = ckbGenerico.Checked = dgvCadastro.Rows[i].Cells["Genérico"].Value.ToString().Trim().Equals("S");
            edtArea.Text          = dgvCadastro.Rows[i].Cells["Área"].Value.ToString().Trim();
            edtDescricao.Text     = dgvCadastro.Rows[i].Cells["Seq"].Value.ToString().Trim();
            edtProduto.Text       = dgvCadastro.Rows[i].Cells["Produto"].Value.ToString().Trim();
            edtSubCodigo.Text     = dgvCadastro.Rows[i].Cells["Sub-Código"].Value.ToString().Trim();
            edtDescricaoProd.Text = dgvCadastro.Rows[i].Cells["Descrição"].Value.ToString().Trim();
            edtTexto.Text         = dgvCadastro.Rows[i].Cells["Texto"].Value.ToString().Trim();
            edtEspecificos.Text   = dgvCadastro.Rows[i].Cells["Específicos"].Value.ToString().Trim();
            ultimo_produto        = edtProduto.Text.Trim();
            ultimo_subcodigo      = edtSubCodigo.Text.Trim();
            edtQtde.Text          = dgvCadastro.Rows[i].Cells["Qtde"].Value.ToString().Trim();
            edtMedidas.Text       = dgvCadastro.Rows[i].Cells["Medidas"].Value.ToString().Trim();
            preco_formula         = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Preço"].Value.ToString());
            preco_unitario        = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Preço Unitário"].Value.ToString());
            preco_tabela          = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Preço Tabela"].Value.ToString());
            if (item_generico)
            {
                edtPrecoGenerico.Text = preco_tabela.ToString("#,###,##0.00");
            }
            else
            {
                edtPrecoGenerico.Text = 0.ToString("#,###,##0.00");
            }
            edtPrecoFormula.Text = preco_formula.ToString("#,###,##0.00");
            float total = Globais.Arredonda(preco_formula) * Globais.StrToInt(edtQtde.Text);

            edtPrecoTotal.Text = total.ToString("#,###,##0.00");
            MostraImagem();
        }
예제 #4
0
        void BtnCalculoMouseEnter(object sender, EventArgs e)
        {
            dgvFormula.Visible = true;
            float     preco = preco_tabela;
            DataTable tab   = new DataTable();

            tab.Columns.Add("Percentual", typeof(string));
            tab.Columns.Add("Valor", typeof(float));
            tab.Rows.Add(new object[] { "Tabela", preco_tabela });
            Globais.MostraFormula(ref preco, formula, ipi, per_frete, 0, tab);

            /*
             * float fator;
             * for (int i=0; i<formula.Trim().Length; i+=4)
             * {
             *      if (formula[i] == 'x')
             *      {
             *              fator = Globais.StrToFloat(formula.Substring(i+1, 3));
             *              preco *= fator;
             *              tab.Rows.Add(new object[] {formula.Substring(i, 4), preco});
             *              continue;
             *      }
             *      if (formula.Substring(i, 4).CompareTo("+IPI") == 0)
             *      {
             *              fator = ipi;
             *              preco += (preco * fator / (float)100);
             *              tab.Rows.Add(new object[] {"IPI +" + ipi.ToString("#0") + "%", preco});
             *      }
             *      else
             *      {
             *              fator = Globais.StrToFloat(formula.Substring(i, 4));
             *              preco += (preco * fator / (float)100);
             *              tab.Rows.Add(new object[] {formula.Substring(i, 4)+"%", preco});
             *      }
             * }
             */
            int qtde = 0;

            int.TryParse(edtQtde.Text, out qtde);
            preco = Globais.Arredonda(preco) * qtde;
            tab.Rows.Add(new object[] { "x" + edtQtde.Text, preco });
            dgvFormula.DataSource = tab;
            dgvFormula.Columns["Percentual"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgvFormula.Columns["Valor"].DefaultCellStyle.Alignment      = DataGridViewContentAlignment.MiddleRight;
            dgvFormula.Columns["Valor"].DefaultCellStyle.Format         = "###,###,##0.00";
        }
예제 #5
0
        void CalculaPreco()
        {
            string produto = edtProduto.Text.Trim();
            string subcod  = edtSubCodigo.Text.Trim();
            int    qtde;

            int.TryParse(edtQtde.Text.Trim(), out qtde);
            if ((produto.Length == 0) || (tabela.Length == 0))
            {
                return;
            }
            if (tabelas == null)
            {
                return;
            }
            preco_tabela = tabelas.Preco(fornecedor, tabela, produto, subcod);
            if (ckbGenerico.Checked)
            {
                preco_tabela          = Globais.StrToFloat(edtPrecoGenerico.Text);
                edtPrecoGenerico.Text = preco_tabela.ToString("#,###,##0.00");
            }
            if (!item_especial)
            {
                preco_unitario = preco_tabela;
                preco_formula  = preco_unitario;
                Globais.CalculaFormula(ref preco_formula, formula, ipi, per_frete, 0);
                edtPrecoFormula.Text = preco_formula.ToString("#,###,##0.00");
            }
            else
            {
                if (!pedido)
                {
                    preco_unitario = Globais.StrToFloat(edtPrecoFormula.Text);
                    preco_formula  = preco_unitario;
                }
                else
                {
                }
            }
            //preco_formula += (preco_formula * ipi / 100F);
            if (qtde > 0)
            {
                edtPrecoTotal.Text = (Globais.Arredonda(preco_formula) * qtde).ToString("#,###,##0.00");
            }
        }