Beispiel #1
0
        void BtnDuplicaClick(object sender, EventArgs e)
        {
            if (dgvCadastro.Rows.Count == 0)
            {
                return;
            }
            fEntradaItem frm = new fEntradaItem();

            frm.Text                    = "Entre com o código da nova área";
            frm.lblItem.Text            = "Nova Área";
            frm.edtItem.CharacterCasing = CharacterCasing.Upper;
            frm.ShowDialog();
            cOrcamentos o = new cOrcamentos();

            o.Duplica(fornecedor, data, cod_orcamento, edtArea.Text.Trim(), frm.edtItem.Text);
            o.CarregaItens(dgvCadastro, fornecedor, data, cod_orcamento, formula, tabela);
            Colore();
            if (dgvCadastro.Rows.Count > 0)
            {
                AtualizaDadosLocal(0);
            }
            Posiciona(edtArea.Text, edtCodigo.Text, edtSubCodigo.Text);
        }
Beispiel #2
0
        void BtnConfirmaClick(object sender, EventArgs e)
        {
            string area = edtArea.Text.Trim();

            sArea = area;
            if (area.CompareTo("") == 0)
            {
                MessageBox.Show("Área", "Campo obrigatório",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                edtArea.Focus();
                return;
            }
            string produto = edtProduto.Text.Trim();

            if (produto.CompareTo("") == 0)
            {
                MessageBox.Show("Produto", "Campo obrigatório",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                edtProduto.Focus();
                return;
            }
            int qtde;

            if (!int.TryParse(edtQtde.Text, out qtde) || (qtde == 0))
            {
                MessageBox.Show("Quantidade", "Campo obrigatório",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                edtQtde.Focus();
                return;
            }
            string msg = "";
            string especial;
            bool   result;

            if (acao == 'I')
            {
                acao = 'i';
                return;
            }
            if (acao == 'A')
            {
                acao = 'a';
                return;
            }
            especial = item_especial ? "S" : "N";
            if (item_especial)
            {
                preco_unitario = Globais.StrToFloat(edtPrecoFormula.Text);
            }
            if (acao == 'i')
            {
                result = orcamento.IncluiItem(fornecedor, data, cod_orcamento,
                                              area, produto, edtSubCodigo.Text, (short)qtde,
                                              edtMedidas.Text,
                                              preco_unitario,
                                              //StrToFloat(edtPrecoUnitario.Text),
                                              preco_tabela,
                                              especial,
                                              edtDescricaoProd.Text,
                                              edtTexto.Text,
                                              edtEspecificos.Text,
                                              ref msg);
            }
            else
            {
                result = orcamento.AlteraItem(fornecedor, data, cod_orcamento,
                                              area, Globais.StrToShort(edtDescricao.Text),
                                              produto, edtSubCodigo.Text, (short)qtde,
                                              edtMedidas.Text,
                                              preco_unitario,
                                              //StrToFloat(edtPrecoUnitario.Text),
                                              preco_tabela,
                                              especial,
                                              edtDescricaoProd.Text,
                                              edtTexto.Text,
                                              edtEspecificos.Text,
                                              ref msg);
            }
            if (!result)
            {
                if (acao == 'i')
                {
                    MessageBox.Show(edtProduto.Text + "\n" + msg, "Erro na inclusão do item", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show(edtProduto.Text + "\n" + msg, "Erro na alteração do item", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            orcamento.CarregaItens(dgvCadastro, fornecedor, data, cod_orcamento, formula, tabela);
            Colore();

            Grid.Sort(dgvCadastro, col_sorted, ord_sorted);

            int selecionado = ProcuraItem(area, produto);

            if (selecionado >= 0)
            {
                dgvCadastro.Rows[selecionado].Cells[0].Selected = true;
                AtualizaDados(selecionado);
                AtualizaDadosLocal(selecionado);
            }
            DesabilitaEdicao();
            SetaEdicaoLocal(false);
        }
Beispiel #3
0
        void FCadItensLoad(object sender, EventArgs e)
        {
            cControleAcesso acesso = new cControleAcesso();

            acessoProdutos = Globais.bAdministrador || acesso.PermissaoPrograma(Globais.sUsuario, Globais.sFilial, 2, "fCadProdutos");
            orcamento      = new cOrcamentos();
            per_frete      = orcamento.Frete(fornecedor, data, cod_orcamento);
            orcamento.CarregaItens(dgvCadastro, fornecedor, data, cod_orcamento, formula, tabela);
            Colore();
            if (pedido)
            {
                foreach (DataGridViewRow row in dgvCadastro.Rows)
                {
                    DataGridViewCell cell;

                    cell = row.Cells["Especial"];
                    if (cell.Value.ToString().Equals("S"))
                    {
                        cell = row.Cells["Preço Unitário"];
                        float preco = Globais.StrToFloat(cell.Value.ToString());
                        // desfaz formula
                        Globais.DesfazFormula(ref preco, formula, ipi, per_frete, 0);

                        /*
                         * float fator=0;
                         * for (int i=formula_orcamento.Trim().Length-4; i>=0; i-=4)
                         * {
                         *      if (formula_orcamento[i] == 'x')
                         *      {
                         *              fator = (Globais.StrToFloat(formula_orcamento.Substring(i+1, 3)) - 1) * 100;
                         *      }
                         *      if (formula_orcamento.Substring(i, 4).CompareTo("+IPI") == 0)
                         *      {
                         *              fator = ipi;
                         *      }
                         *      else
                         *      {
                         *              fator = Globais.StrToFloat(formula_orcamento.Substring(i, 4));
                         *      }
                         *      preco = (preco * 100) / (100 + fator);
                         * }
                         */
                        // refaz parte do pedido
                        Globais.CalculaFormula(ref preco, formula, ipi, per_frete, 0);

                        /*
                         * for (int i=0; i<formula.Trim().Length; i+=4)
                         * {
                         *      if (formula[i] == 'x')
                         *      {
                         *              fator = Globais.StrToFloat(formula.Substring(i+1, 3));
                         *              preco *= fator;
                         *              continue;
                         *      }
                         *      if (formula.Substring(i, 4).CompareTo("+IPI") == 0)
                         *      {
                         *              fator = ipi;
                         *              preco += (preco * fator / (float)100);
                         *      }
                         *      else
                         *      {
                         *              fator = Globais.StrToFloat(formula.Substring(i, 4));
                         *              preco += (preco * fator / (float)100);
                         *      }
                         * }
                         */
                        cell.Value = preco;
                        cell       = row.Cells["Preço"];
                        cell.Value = preco;
                    }
                }
            }

            if (dgvCadastro.Rows.Count > 0)
            {
                AtualizaDadosLocal(0);
            }
            lblOrcamento.Text = "Orçamento: " + fornecedor.Trim() + " - " + data.ToString("d/M/yyyy") + " - " + cod_orcamento +
                                "        Cliente: " + cliente;
            tabelas = new cTabelas();
            DesabilitaEdicao();
            SetaEdicaoLocal(false);
            ultimo_produto   = "";
            ultimo_subcodigo = "";
            col_sorted       = "";
            ord_sorted       = SortOrder.Ascending;
        }