예제 #1
0
        void DgvCadastroRowEnter(object sender, DataGridViewCellEventArgs e)
        {
            edtResumo.Text         = dgvCadastro.Rows[e.RowIndex].Cells["Resumo"].Value.ToString();
            edtUsuario.Text        = dgvCadastro.Rows[e.RowIndex].Cells["Usuário"].Value.ToString();
            dtpData.Value          = DateTime.Parse(dgvCadastro.Rows[e.RowIndex].Cells["Data"].Value.ToString());
            edtObservacao.Text     = dgvCadastro.Rows[e.RowIndex].Cells["Observação"].Value.ToString();
            edtTabela.Text         = dgvCadastro.Rows[e.RowIndex].Cells["Tabela"].Value.ToString();
            edtCaracteristica.Text = dgvCadastro.Rows[e.RowIndex].Cells["Característica"].Value.ToString();
            fornecedor             = dgvCadastro.Rows[e.RowIndex].Cells["Fornecedor"].Value.ToString();
            cliente   = dgvCadastro.Rows[e.RowIndex].Cells["Cliente"].Value.ToString();
            consultor = dgvCadastro.Rows[e.RowIndex].Cells["Consultor"].Value.ToString();
            DateTime data   = DateTime.Parse(dgvCadastro.Rows[e.RowIndex].Cells["Data"].Value.ToString());
            short    codigo = Globais.StrToShort(dgvCadastro.Rows[e.RowIndex].Cells["Cod"].Value.ToString());

            CarregaAnexos(fornecedor, data, codigo);


            // seta a comissao de acordo com o limiar da caracteristica
            if ((dgvCadastro.Rows[e.RowIndex].Cells["Fornecedor"].Value != null) &&
                (dgvCadastro.Rows[e.RowIndex].Cells["Característica"].Value != null))
            {
                float           vlr_itens      = Globais.StrToFloat(dgvCadastro.Rows[e.RowIndex].Cells["Valor Itens"].Value.ToString());
                float           vlr_desconto   = Globais.StrToFloat(dgvCadastro.Rows[e.RowIndex].Cells["Desconto"].Value.ToString());
                float           per_consultor  = Globais.StrToFloat(dgvCadastro.Rows[e.RowIndex].Cells["Comissão Consultor"].Value.ToString());
                string          caracteristica = dgvCadastro.Rows[e.RowIndex].Cells["Característica"].Value.ToString().Trim();
                float           limiar         = Globais.StrToFloat(dgvCadastro.Rows[e.RowIndex].Cells["Limiar"].Value.ToString());
                float           sinal          = orcamento.CalculaSinal(fornecedor, caracteristica, vlr_itens, vlr_desconto, per_consultor, limiar);
                cComissaoLimiar comissao       = new cComissaoLimiar();
                float           vlr_orcamento  = vlr_itens - vlr_desconto;
                float           per_comissao   = comissao.Calcula(fornecedor, caracteristica, vlr_orcamento, sinal);
                edtPerComissao.Text = per_comissao.ToString("#0.00");
                edtVlrComissao.Text = (per_comissao * vlr_orcamento / 100f).ToString("###,##0.00");
            }
        }
예제 #2
0
        void BtnConfirmaClick(object sender, EventArgs e)
        {
            cParametrosRemessa prms = new cParametrosRemessa();

            prms.COD_EMPRESA        = edtCodigo.Text;
            prms.NOM_EMPRESA        = edtRazao.Text;
            prms.NRO_REMESSA        = Globais.StrToInt(edtRemessa.Text);
            prms.NRO_NOSSO          = Globais.StrToInt(edtNosso.Text);
            prms.COD_CARTEIRA       = Globais.StrToInt(edtCarteira.Text);
            prms.COD_AGENCIA        = Globais.StrToInt(edtAgencia.Text);
            prms.DIG_AGENCIA        = Globais.StrToShort(edtDVAgencia.Text);
            prms.COD_CONTA          = Globais.StrToInt(edtConta.Text);
            prms.DIG_CONTA          = Globais.StrToShort(edtDVConta.Text);
            prms.PER_MULTA          = Globais.StrToFloat(edtMulta.Text);
            prms.VLR_BONIFICACAO    = Globais.StrToFloat(edtBonificacao.Text);
            prms.VLR_ATRASO         = Globais.StrToFloat(edtAtraso.Text);
            prms.QTD_PRAZO_DESCONTO = Globais.StrToShort(edtPrazo.Text);
            prms.VLR_DESCONTO       = Globais.StrToFloat(edtDesconto.Text);
            prms.DES_MENSAGEM1      = edtMsg1.Text;
            prms.DES_MENSAGEM2      = edtMsg2.Text;
            prms.DES_MENSAGEM3      = edtMsg3.Text;
            prms.DES_MENSAGEM4      = edtMsg4.Text;
            string msg = "";

            if (!prms.Altera(ref msg))
            {
                MessageBox.Show(msg, "Erro na gravação", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            Close();
        }
예제 #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 Button1Click(object sender, EventArgs e)
        {
            float valor = Globais.StrToFloat(edtPago.Text);

            if (valor == 0)
            {
                valor = Globais.StrToFloat(edtValor.Text);
            }
            fSelecionaPedido frm = new fSelecionaPedido(valor);

            foreach (string pedido in cbxPedidos.Items)
            {
                frm.selecionados.Add(pedido);
            }
            frm.ShowDialog();
            if (frm.result)
            {
                cbxPedidos.Items.Clear();
                foreach (string selecionado in frm.selecionados)
                {
                    cbxPedidos.Items.Add(selecionado);
                }
                if (cbxPedidos.Items.Count > 0)
                {
                    cbxPedidos.Text = cbxPedidos.Items[0].ToString();
                }
                else
                {
                    cbxPedidos.Text = "";
                }
            }
            btnConfirma.Focus();
        }
예제 #5
0
 void BtnConfirmaClick(object sender, EventArgs e)
 {
     result        = true;
     pago          = chkPago.Checked;
     justificativa = edtJustificativa.Text;
     percentual    = Globais.StrToFloat(edtPercentual.Text);
     Close();
 }
예제 #6
0
        void BtnAlteraComissaoClick(object sender, EventArgs e)
        {
            if (dgvCadastro.Rows.Count == 0)
            {
                return;
            }
            int i = dgvCadastro.CurrentRow.Index;
            //float percentual_anterior = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Pago"].Value.ToString());
            fAlteraComissao frm = new fAlteraComissao();

            frm.total         = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Valor"].Value.ToString());
            frm.percentual    = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Pago"].Value.ToString());
            frm.pago          = bool.Parse(dgvCadastro.Rows[i].Cells["PG"].Value.ToString());
            frm.justificativa = dgvCadastro.Rows[i].Cells["Justificativa"].Value.ToString();
            frm.ShowDialog();
            if (!frm.result)
            {
                return;
            }
            //pago_zerado = (percentual_anterior > 0.001) && (frm.percentual < 0.001);
            pago_zerado = (frm.pago && (frm.percentual < 0.001));
            dgvCadastro.Rows[i].Cells["PG"].Value            = frm.pago;
            dgvCadastro.Rows[i].Cells["Justificativa"].Value = frm.justificativa;
            string   fornecedor = dgvCadastro.Rows[i].Cells["FornecedorOrcamento"].Value.ToString();
            DateTime data       = DateTime.Parse(dgvCadastro.Rows[i].Cells["Data"].Value.ToString());
            short    orcamento  = CodOrcamento(dgvCadastro.Rows[i].Cells["Orcamento"].Value.ToString());
            short    pedido     = Globais.StrToShort(dgvCadastro.Rows[i].Cells["CodPedido"].Value.ToString());
            cPedidos ped        = new cPedidos();
            int      isel       = Globais.StrToInt(dgvCadastro.Rows[i].Cells["isel"].Value.ToString());
            int      nsel       = dgvSelecao.Rows.Count;

            if (rbtVendedor.Checked)
            {
                ped.AlteraPerVendedor(fornecedor, data, orcamento, pedido, frm.percentual, frm.justificativa);
                dgvSelecao.Rows[isel].Cells["PerVendedor"].Value = frm.percentual;
                dgvSelecao.Rows[isel].Cells["JusVendedor"].Value = frm.justificativa;
                ped.AlteraIdtVendedor(fornecedor, data, orcamento, pedido, frm.pago);
                dgvSelecao.Rows[isel].Cells["IdtVendedor"].Value = frm.pago ? "S" : "N";
            }
            if (rbtConsultor.Checked)
            {
                ped.AlteraPerConsultor(fornecedor, data, orcamento, pedido, frm.percentual, frm.justificativa);
                dgvSelecao.Rows[isel].Cells["PerConsultor"].Value = frm.percentual;
                dgvSelecao.Rows[isel].Cells["JusConsultor"].Value = frm.justificativa;
                ped.AlteraIdtConsultor(fornecedor, data, orcamento, pedido, frm.pago);
                dgvSelecao.Rows[isel].Cells["IdtConsultor"].Value = frm.pago ? "S" : "N";
            }
            if (rbtFilial.Checked)
            {
                ped.AlteraPerFilial(fornecedor, data, orcamento, pedido, frm.percentual, frm.justificativa);
                dgvSelecao.Rows[isel].Cells["PerFilial"].Value = frm.percentual;
                dgvSelecao.Rows[isel].Cells["JusFilial"].Value = frm.justificativa;
                ped.AlteraIdtFilial(fornecedor, data, orcamento, pedido, frm.pago);
                dgvSelecao.Rows[isel].Cells["IdtFilial"].Value = frm.pago ? "S" : "N";
            }
            calcula();
            Posiciona(fornecedor, data, orcamento, pedido);
        }
예제 #7
0
        void CalculaValores()
        {
            cOrcamentos orcamentos = new cOrcamentos();
            float       valor      = orcamentos.RecalculaTotal(edtFornecedor.Text, dtpData.Value, Globais.StrToShort(edtCodigo.Text), cbxCaracteristicas.Text.Trim(), "");

            edtValor.Text = valor.ToString("#,###,##0.00");
            float total;

            total         = Globais.StrToFloat(edtValor.Text) - Globais.StrToFloat(edtDesconto.Text);    // - Globais.StrToFloat(edtVlrConsultor.Text);
            edtTotal.Text = total.ToString("#,###,##0.00");
        }
예제 #8
0
        public void AtualizaDadosLocal(int i)
        {
            string img;

            edtParceiro.Text  = dgvCadastro.Rows[i].Cells[0].Value.ToString().Trim();
            edtCodigo.Text    = dgvCadastro.Rows[i].Cells[1].Value.ToString().Trim();
            edtSubCodigo.Text = dgvCadastro.Rows[i].Cells[2].Value.ToString().Trim();
            edtDescricao.Text = dgvCadastro.Rows[i].Cells[3].Value.ToString().Trim();
            edtTexto.Text     = dgvCadastro.Rows[i].Cells[4].Value.ToString().Trim();
            edtMedida.Text    = dgvCadastro.Rows[i].Cells[5].Value.ToString().Trim();
            float valor = Globais.StrToFloat(dgvCadastro.Rows[i].Cells[6].Value.ToString().Trim());

            chkGenerico.Checked = dgvCadastro.Rows[i].Cells[7].Value.ToString().Trim().Equals("S");
            edtIPI.Text         = valor.ToString("#0.00");
            imgProduto.Image    = null;
            img   = "imagens\\" + edtCodigo.Text + edtSubCodigo.Text + ".jpg";
            image = null;
            if (File.Exists(img))
            {
                image = Image.FromFile(img);
            }
            else
            {
                img = "imagens\\" + edtCodigo.Text + edtSubCodigo.Text + ".bmp";
                if (File.Exists(img))
                {
                    image = Image.FromFile(img);
                }
                else
                {
                    img = "imagens\\" + edtCodigo.Text + ".jpg";
                    if (!File.Exists(img))
                    {
                        string img2 = "imagens\\" + edtCodigo.Text + "-.jpg";
                        if (File.Exists(img2))
                        {
                            img = "imagens\\" + edtCodigo.Text + edtSubCodigo.Text + ".jpg";
                            System.IO.File.Copy(img2, img, true);
                            image = Image.FromFile(img);
                        }
                        else
                        {
                            img2 = "imagens\\" + edtCodigo.Text + "AL.jpg";
                            if (File.Exists(img2))
                            {
                                img = "imagens\\" + edtCodigo.Text + edtSubCodigo.Text + ".jpg";
                                System.IO.File.Copy(img2, img, true);
                                image = Image.FromFile(img);
                            }
                        }
                    }
                }
            }
        }
예제 #9
0
        void EdtConsultorTextChanged(object sender, EventArgs e)
        {
            cCaracteristicas caracteristicas = new cCaracteristicas();
            float            per_comissao    = Globais.StrToFloat(edtPerConsultor.Text);

            if ((per_comissao == 0) && (acao == 'i') && (edtConsultor.Text.Trim().Length > 0))
            {
                per_comissao         = caracteristicas.ComissaoConsultor(edtFornecedor.Text, cbxCaracteristicas.Text);
                edtPerConsultor.Text = per_comissao.ToString("#0.00");
            }
            CalculaValores();
        }
예제 #10
0
 float ProcuraValorPago(int i)
 {
     foreach (DataGridViewRow row in dgvCadastro.Rows)
     {
         int isel = Globais.StrToInt(row.Cells["isel"].Value.ToString());
         if (isel == i)
         {
             float pago = Globais.StrToFloat(row.Cells["Pago"].Value.ToString());
             return(pago);
         }
     }
     return(0);
 }
예제 #11
0
        void EdtValorTextChanged(object sender, EventArgs e)
        {
            if (calculando)
            {
                return;
            }
            float valor      = Globais.StrToFloat(edtValor.Text);
            float percentual = valor * 100F / total;

            calculando         = true;
            edtPercentual.Text = percentual.ToString("#0.00");
            calculando         = false;
        }
예제 #12
0
        void ChkAdicionarCheckedChanged(object sender, EventArgs e)
        {
            float valor = Globais.StrToFloat(edtValor.Text);

            if (chkAdicionar.Checked)
            {
                novo_frete = frete_atual + valor;
            }
            else
            {
                novo_frete = valor;
            }
            edtNovo.Text = novo_frete.ToString("#,###,##0.00");
        }
예제 #13
0
        void BtnAlteraClick(object sender, EventArgs e)
        {
            float valor, desconto, total;

            if (dgvCadastro.Rows.Count == 0)
            {
                return;
            }
            int             i   = dgvCadastro.CurrentRow.Index;
            frmCadOrcamento frm = new frmCadOrcamento();

            frm.acao = 'a';
            frm.alteracaoRestrita  = alteracaoRestrita;
            frm.edtFornecedor.Text = dgvCadastro.Rows[i].Cells["Fornecedor"].Value.ToString().Trim();
            frm.dtpData.Value      = DateTime.Parse(dgvCadastro.Rows[i].Cells["Data"].Value.ToString());
            frm.edtCodigo.Text     = dgvCadastro.Rows[i].Cells["Cod"].Value.ToString().Trim();
            frm.usuario            = dgvCadastro.Rows[i].Cells["Vendedor"].Value.ToString().Trim();
            frm.edtCliente.Text    = dgvCadastro.Rows[i].Cells["Cliente"].Value.ToString().Trim();
            frm.edtContato.Text    = dgvCadastro.Rows[i].Cells["Contato"].Value.ToString().Trim();
            frm.edtConsultor.Text  = dgvCadastro.Rows[i].Cells["Consultor"].Value.ToString().Trim();
            frm.tabela             = dgvCadastro.Rows[i].Cells["Tabela"].Value.ToString().Trim();
            frm.caracteristica     = dgvCadastro.Rows[i].Cells["Característica"].Value.ToString().Trim();
            frm.pedido             = dgvCadastro.Rows[i].Cells["P"].Value.ToString().Trim();
            valor    = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Valor Itens"].Value.ToString());
            desconto = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Desconto"].Value.ToString());
            float per_consultor = 0;

            float.TryParse(dgvCadastro.Rows[i].Cells["Comissão Consultor"].Value.ToString(), out per_consultor);
            //float per_consultor = (valor != 0) ? (vlr_consultor * 100f / valor) : 0;
            float vlr_consultor = (valor != 0) ? (per_consultor * valor / 100f) : 0;

            total = valor - desconto;
            frm.edtPerConsultor.Text = per_consultor.ToString("#0.00");
            frm.edtVlrConsultor.Text = vlr_consultor.ToString("#,###,##0.00");
            frm.edtValor.Text        = valor.ToString("#,###,##0.00");
            frm.edtDesconto.Text     = desconto.ToString("#,###,##0.00");
            frm.edtTotal.Text        = total.ToString("#,###,##0.00");
            frm.edtResumo.Text       = dgvCadastro.Rows[i].Cells["Resumo"].Value.ToString().Trim();
            frm.edtObservacao.Text   = dgvCadastro.Rows[i].Cells["Observação"].Value.ToString().Trim();
            frm.situacao             = dgvCadastro.Rows[i].Cells["Situação"].Value.ToString().Trim();
            frm.ShowDialog();
            string chave = dgvCadastro.Rows[i].Cells["Chave"].Value.ToString().Trim();

            CarregaOrcamentos();
            Grid.Sort(dgvCadastro, col_sorted, ord_sorted);
            Grid.MarcaSelecionados(dgvCadastro);
            Grid.Posiciona(dgvCadastro, chave);
        }
예제 #14
0
        void BtnConfirmaClick(object sender, EventArgs e)
        {
            string msg = "";
            bool   result;
            short  limiar = Globais.StrToShort(edtCodigo.Text);
            float  valor  = Globais.StrToFloat(edtDescricao.Text);

            if (acao == 'I')
            {
                acao = 'i';
                return;
            }
            if (acao == 'A')
            {
                acao = 'a';
                return;
            }
            if (acao == 'i')
            {
                result = comissao.Inclui(fornecedor, caracteristica, limiar, valor, ref msg);
            }
            else
            {
                result = comissao.Altera(fornecedor, caracteristica, limiar, valor, ref msg);
            }
            if (!result)
            {
                if (acao == 'i')
                {
                    MessageBox.Show(limiar.ToString() + "\n" + msg, "Erro na inclusão da comissão", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show(limiar.ToString() + "\n" + msg, "Erro na alteração da comissão", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            this.Cursor = Cursors.WaitCursor;
            comissao.Carrega(fornecedor, caracteristica, dgvCadastro);
            this.Cursor = Cursors.Default;
            int selecionado = Procura(limiar.ToString(), true);

            if (selecionado >= 0)
            {
                dgvCadastro.Rows[selecionado].Cells[0].Selected = true;
                AtualizaDados(selecionado);
            }
            DesabilitaEdicao();
        }
예제 #15
0
 private void Colore()
 {
     foreach (DataGridViewRow row in dgvCadastro.Rows)
     {
         float            preco_tabela       = Globais.StrToFloat(row.Cells["Preço Tabela"].Value.ToString());
         float            preco_atual_tabela = Globais.StrToFloat(row.Cells["Preço Atual Tabela"].Value.ToString());
         DataGridViewCell cellPreco          = row.Cells["Preço"];
         DataGridViewCell cellProduto        = row.Cells["Produto"];
         cellPreco.Style.BackColor          = cellProduto.Style.BackColor;
         cellPreco.Style.SelectionBackColor = cellProduto.Style.SelectionBackColor;
         if (preco_tabela != preco_atual_tabela)
         {
             cellPreco.Style.BackColor          = Color.Orange;
             cellPreco.Style.SelectionBackColor = Color.Orange;
         }
     }
 }
예제 #16
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");
            }
        }
예제 #17
0
        void CbxTabelasSelectedIndexChanged(object sender, EventArgs e)
        {
            if (carregando)
            {
                return;
            }
            cOrcamentos orcamentos = new cOrcamentos();

            if (cbxCaracteristicas.Text.Trim().Length == 0)
            {
                return;
            }
            float valor = orcamentos.RecalculaTotal(edtFornecedor.Text, dtpData.Value, Globais.StrToShort(edtCodigo.Text), cbxCaracteristicas.Text.Trim(), cbxTabelas.Text.Trim());

            edtValor.Text = valor.ToString("#,###,##0.00");
            float total;

            total         = Globais.StrToFloat(edtValor.Text) - Globais.StrToFloat(edtDesconto.Text);    // - Globais.StrToFloat(edtVlrConsultor.Text);
            edtTotal.Text = total.ToString("#,###,##0.00");
        }
예제 #18
0
        void VerificaLimiar()
        {
            cCaracteristicas caracteristicas = new cCaracteristicas();
            float            limiar          = caracteristicas.Limiar(edtFornecedor.Text.Trim(), cbxCaracteristicas.Text.Trim());
            float            per             = Globais.StrToFloat(edtPercent.Text) + Globais.StrToFloat(edtPerConsultor.Text);

            if (per > limiar)
            {
                edtPercent.BackColor = Color.Red;
            }
            else
            if (per < limiar)
            {
                edtPercent.BackColor = Color.Green;
            }
            else
            {
                edtPercent.BackColor = Color.Yellow;
            }
        }
예제 #19
0
        void EdtCopiaClick(object sender, EventArgs e)
        {
            if (dgvCadastro.Rows.Count == 0)
            {
                return;
            }
            string       parceiro    = edtParceiro.Text.Trim();
            string       codigo      = edtCodigo.Text.Trim();
            string       ativo       = chkAtivo.Checked ? "S" : "N";
            string       imprime_ipi = chkIPI.Checked ? "S" : "N";
            fCodigoCopia frm         = new fCodigoCopia(parceiro, codigo, edtDescricao.Text, edtFormulaPedido.Text, Globais.StrToFloat(edtConsultor.Text), Globais.StrToFloat(edtVendedor.Text), Globais.StrToFloat(edtFilial.Text), Globais.StrToFloat(edtLimiar.Text), edtObservacao.Text, edtRacional.Text, edtServico.Text, ativo, Globais.StrToShort(edtDias.Text),
                                                        edtVendedorProdutos.Text,
                                                        edtVendedorServicos.Text,
                                                        edtConsultorProdutos.Text,
                                                        edtConsultorServicos.Text,
                                                        edtFilialProdutos.Text,
                                                        edtFilialServicos.Text,
                                                        Globais.StrToFloat(edtFrete.Text),
                                                        cbxIntroducoes.Text,
                                                        cbxInformacoesFornecimento.Text,
                                                        cbxTermosGarantia.Text,
                                                        cbxCondicoesMontagem.Text,
                                                        cbxTermosAprovacao.Text,
                                                        imprime_ipi
                                                        );

            frm.ShowDialog();
            this.Cursor = Cursors.WaitCursor;
            caracteristicas.Carrega(dgvCadastro, chkFiltroAtivos.Checked);
            this.Cursor = Cursors.Default;
            Sort(col_sorted, ord_sorted);
            codigo_sel = frm.novo_codigo;
            int selecionado = Posiciona(parceiro, frm.novo_codigo);

            if (selecionado >= 0)
            {
                AtualizaDados(selecionado);
                AtualizaDadosLocal(selecionado);
            }
        }
예제 #20
0
        public void AtualizaDadosLocal(int i)
        {
            float valor;

            edtParceiro.Text      = dgvCadastro.Rows[i].Cells[0].Value.ToString().Trim();
            edtCodigo.Text        = dgvCadastro.Rows[i].Cells[1].Value.ToString().Trim();
            edtDescricao.Text     = dgvCadastro.Rows[i].Cells[2].Value.ToString().Trim();
            edtFormulaPedido.Text = dgvCadastro.Rows[i].Cells[3].Value.ToString().Trim();
            valor                           = Globais.StrToFloat(dgvCadastro.Rows[i].Cells[4].Value.ToString().Trim());
            edtConsultor.Text               = valor.ToString("#0.00");
            valor                           = Globais.StrToFloat(dgvCadastro.Rows[i].Cells[5].Value.ToString().Trim());
            edtVendedor.Text                = valor.ToString("#0.00");
            valor                           = Globais.StrToFloat(dgvCadastro.Rows[i].Cells[6].Value.ToString().Trim());
            edtLimiar.Text                  = valor.ToString("#0.00");
            edtObservacao.Text              = dgvCadastro.Rows[i].Cells[7].Value.ToString().Trim();
            edtRacional.Text                = dgvCadastro.Rows[i].Cells[8].Value.ToString().Trim();
            edtServico.Text                 = dgvCadastro.Rows[i].Cells[9].Value.ToString().Trim();
            chkAtivo.Checked                = (dgvCadastro.Rows[i].Cells[10].Value.ToString().CompareTo("S") == 0);
            edtDias.Text                    = dgvCadastro.Rows[i].Cells[11].Value.ToString().Trim();
            edtVendedorProdutos.Text        = dgvCadastro.Rows[i].Cells[12].Value.ToString().Trim();
            edtVendedorServicos.Text        = dgvCadastro.Rows[i].Cells[13].Value.ToString().Trim();
            edtConsultorProdutos.Text       = dgvCadastro.Rows[i].Cells[14].Value.ToString().Trim();
            edtConsultorServicos.Text       = dgvCadastro.Rows[i].Cells[15].Value.ToString().Trim();
            edtFilialProdutos.Text          = dgvCadastro.Rows[i].Cells[16].Value.ToString().Trim();
            edtFilialServicos.Text          = dgvCadastro.Rows[i].Cells[17].Value.ToString().Trim();
            valor                           = Globais.StrToFloat(dgvCadastro.Rows[i].Cells[18].Value.ToString().Trim());
            edtFilial.Text                  = valor.ToString("#0.00");
            valor                           = Globais.StrToFloat(dgvCadastro.Rows[i].Cells[19].Value.ToString().Trim());
            edtFrete.Text                   = valor.ToString("#0.00");
            cbxIntroducoes.Text             = dgvCadastro.Rows[i].Cells["Introdução"].Value.ToString().Trim();
            cbxInformacoesFornecimento.Text = dgvCadastro.Rows[i].Cells["Informação Fornecimento"].Value.ToString().Trim();
            cbxTermosGarantia.Text          = dgvCadastro.Rows[i].Cells["Termo Garantia"].Value.ToString().Trim();
            cbxCondicoesMontagem.Text       = dgvCadastro.Rows[i].Cells["Condição Montagem"].Value.ToString().Trim();
            cbxTermosAprovacao.Text         = dgvCadastro.Rows[i].Cells["Termo Aprovação"].Value.ToString().Trim();
            chkIPI.Checked                  = (dgvCadastro.Rows[i].Cells["Imprime IPI"].Value.ToString().CompareTo("S") == 0);
        }
예제 #21
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;
        }
예제 #22
0
        void Colore()
        {
            float  total     = 0;
            float  recebido  = 0;
            float  receber   = 0;
            int    registros = 0;
            string s;

            foreach (DataGridViewRow row in  dgvCadastro.Rows)
            {
                registros++;
                if (row.Cells["Valor"].Value != null)
                {
                    s      = row.Cells["Valor"].Value.ToString().Trim();
                    total += Globais.StrToFloat(s);
                }
                if (row.Cells["Recebido"].Value != null)
                {
                    s         = row.Cells["Recebido"].Value.ToString().Trim();
                    recebido += Globais.StrToFloat(s);
                }

                DataGridViewCell cell      = row.Cells["Situação"];
                string           pagamento = row.Cells["Recebimento"].Value.ToString().Trim();
                cell.Style.ForeColor          = Color.Black;
                cell.Style.SelectionForeColor = Color.Black;
                if (pagamento.CompareTo("") == 0)
                {
                    DateTime vencimento = DateTime.Parse(row.Cells["Vencimento"].Value.ToString());
                    if (vencimento.Date < DateTime.Today.Date)
                    {
                        cell.Style.BackColor          = Color.Red;
                        cell.Style.SelectionBackColor = Color.Red;
                        cell.Value = "Atrasado";
                    }
                    else
                    if (vencimento.Date > DateTime.Today.Date)
                    {
                        cell.Style.BackColor          = Color.Green;
                        cell.Style.SelectionBackColor = Color.Green;
                        cell.Value = "Aberto";
                    }
                    else
                    {
                        cell.Style.BackColor          = Color.Yellow;
                        cell.Style.SelectionBackColor = Color.Yellow;
                        cell.Value = "Hoje";
                    }
                }
                else
                {
                    cell.Style.BackColor          = Color.White;
                    cell.Style.SelectionBackColor = Color.White;
                    cell.Value = "Pago";
                }
                row.Cells["Recebimento"].Value.ToString().Trim();
            }
            edtTotal.Text         = total.ToString("#,###,##0.00");
            edtTotalRecebido.Text = recebido.ToString("#,###,##0.00");
            receber = total - recebido;
            edtTotalReceber.Text = receber.ToString("#,###,##0.00");
            edtRegistros.Text    = registros.ToString();
        }
예제 #23
0
        void BtnLoteClick(object sender, EventArgs e)
        {
            if (!Valida())
            {
                return;
            }

            fLote frm = new fLote();

            if (frm.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }

            float           valor     = Globais.StrToFloat(edtValor.Text);
            float           recebido  = Globais.StrToFloat(edtRecebido.Text);
            string          msg       = "";
            cTitulosXeceber titulos   = new cTitulosXeceber();
            int             n         = cbxNaturezas.SelectedIndex;
            string          natureza  = (n >= 0) ? cbxCodNaturezas.Items[n].ToString() : "";
            int             f         = cbxFormas.SelectedIndex;
            string          forma     = (f >= 0) ? cbxCodFormas.Items[f].ToString() : "";
            int             p         = cbxPendencias.SelectedIndex;
            string          pendencia = (p >= 0) ? cbxCodPendencias.Items[p].ToString() : "";

            ArrayList pedidos = new ArrayList();

            foreach (string pedido in cbxPedidos.Items)
            {
                pedidos.Add(pedido);
            }

            int      repeticoes = frm.repeticoes;
            string   frequencia = frm.frequencia;
            DateTime limite     = frm.limite;
            bool     idt_limite = frm.idt_limite;
            DateTime vencimento = dtpVencimento.Value;
            string   texto      = "";
            short    codigo     = Globais.StrToShort(edtSequencia.Text);
            int      r          = 0;

            while ((repeticoes-- > 0) || idt_limite)
            {
                if (idt_limite && (vencimento > limite))
                {
                    break;
                }
                r++;
                string tipo = "F";
                if (rbtVariavel.Checked)
                {
                    tipo = "V";
                }
                result = titulos.Inclui(nf,
                                        codigo,
                                        edtUsuario.Text,
                                        dtpEntrada.Value,
                                        vencimento,
                                        edtParceiro.Text,
                                        natureza,
                                        tipo,
                                        pedidos,
                                        valor,
                                        dtpRecebimento.Checked,
                                        dtpRecebimento.Value,
                                        recebido,
                                        forma,
                                        pendencia,
                                        edtObservacao.Text,
                                        ckbCancelado.Checked ? "S" : "N",
                                        edtMotivo.Text,
                                        ref msg);
                codigo++;

                texto = texto + "\r\n" + codigo.ToString() + " - " + vencimento.ToString("d/M/yyyy");
                if (frequencia.Equals("Semanal"))
                {
                    vencimento = vencimento.AddDays(7);
                }
                else
                if (frequencia.Equals("Quinzenal"))
                {
                    vencimento = vencimento.AddDays(15);
                }
                else
                if (frequencia.Equals("Mensal"))
                {
                    vencimento = vencimento.AddMonths(1);
                }
                else
                if (frequencia.Equals("Anual"))
                {
                    vencimento = vencimento.AddYears(1);
                }
            }
            string titulo = "Foram gerados " + r.ToString() + " títulos";

            MessageBox.Show(texto, titulo);
            Close();
        }
예제 #24
0
        void BtnConfirmaClick(object sender, EventArgs e)
        {
            if (!Valida())
            {
                return;
            }
            float           valor     = Globais.StrToFloat(edtValor.Text);
            float           recebido  = Globais.StrToFloat(edtRecebido.Text);
            string          msg       = "";
            cTitulosXeceber titulos   = new cTitulosXeceber();
            int             n         = cbxNaturezas.SelectedIndex;
            string          natureza  = (n >= 0) ? cbxCodNaturezas.Items[n].ToString() : "";
            int             f         = cbxFormas.SelectedIndex;
            string          forma     = (f >= 0) ? cbxCodFormas.Items[f].ToString() : "";
            int             p         = cbxPendencias.SelectedIndex;
            string          pendencia = (p >= 0) ? cbxCodPendencias.Items[p].ToString() : "";
            //string fornecedor="";
            //DateTime data = DateTime.Now;
            //short orcamento=0;
            //short pedido=0;
            //if (cbxPedidos.Text.Trim().Length > 0)
            //{
            //string[] partes = cbxPedidos.Text.Split(' ');
            //fornecedor = partes[0];
            //data = DateTime.Parse(partes[1]);
            //orcamento = Globais.StrToShort(partes[2]);
            //pedido = Globais.StrToShort(partes[3]);
            //}
            ArrayList pedidos = new ArrayList();

            foreach (string pedido in cbxPedidos.Items)
            {
                pedidos.Add(pedido);
            }
            string tipo = "F";

            if (rbtVariavel.Checked)
            {
                tipo = "V";
            }
            if (acao == 'i')
            {
                result = titulos.Inclui(nf,
                                        Globais.StrToShort(edtSequencia.Text),
                                        edtUsuario.Text,
                                        dtpEntrada.Value,
                                        dtpVencimento.Value,
                                        edtParceiro.Text,
                                        natureza,
                                        tipo,
                                        pedidos,
                                        valor,
                                        dtpRecebimento.Checked,
                                        dtpRecebimento.Value,
                                        recebido,
                                        forma,
                                        pendencia,
                                        edtObservacao.Text,
                                        ckbCancelado.Checked ? "S" : "N",
                                        edtMotivo.Text,
                                        ref msg);
                if (!result)
                {
                    MessageBox.Show(msg, "Erro na inclusão" + "\n" + msg,
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }
            }
            else
            {
                result = titulos.Altera(nf,
                                        Globais.StrToShort(edtSequencia.Text),
                                        edtUsuario.Text,
                                        dtpEntrada.Value,
                                        dtpVencimento.Value,
                                        edtParceiro.Text,
                                        natureza,
                                        tipo,
                                        pedidos,
                                        valor,
                                        dtpRecebimento.Checked,
                                        dtpRecebimento.Value,
                                        recebido,
                                        forma,
                                        pendencia,
                                        edtObservacao.Text,
                                        ckbCancelado.Checked ? "S" : "N",
                                        edtMotivo.Text,
                                        //fornecedor,
                                        //data,
                                        //orcamento,
                                        //pedido,
                                        ref msg);
                if (!result)
                {
                    MessageBox.Show(msg, "Erro na alteração",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }
            }
            Close();
        }
예제 #25
0
        void BtnConfirmaClick(object sender, EventArgs e)
        {
            string msg = "";
            bool   result;
            string parceiro = edtParceiro.Text.Trim();
            string codigo   = edtCodigo.Text.Trim();

            if (edtParceiro.Text.Trim().CompareTo("") != 0)
            {
                cParceiros parceiros = new cParceiros();
                string     des = "", fisjur = "";
                if (!parceiros.Procura(edtParceiro.Text, ref des, ref fisjur))
                {
                    MessageBox.Show(edtParceiro.Text, "Parceiro não Cadastrado",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                    edtParceiro.Focus();
                    return;
                }
            }
            if (acao == 'I')
            {
                acao = 'i';
                return;
            }
            if (acao == 'A')
            {
                acao = 'a';
                return;
            }
            string imprime_ipi = chkIPI.Checked ? "S" : "N";
            string ativo       = chkAtivo.Checked ? "S" : "N";

            if (acao == 'i')
            {
                result = caracteristicas.Inclui(parceiro, codigo, edtDescricao.Text, edtFormulaPedido.Text, Globais.StrToFloat(edtConsultor.Text), Globais.StrToFloat(edtVendedor.Text), Globais.StrToFloat(edtFilial.Text), Globais.StrToFloat(edtLimiar.Text), edtObservacao.Text, edtRacional.Text, edtServico.Text, ativo, Globais.StrToShort(edtDias.Text),
                                                edtVendedorProdutos.Text,
                                                edtVendedorServicos.Text,
                                                edtConsultorProdutos.Text,
                                                edtConsultorServicos.Text,
                                                edtFilialProdutos.Text,
                                                edtFilialServicos.Text,
                                                Globais.StrToFloat(edtFrete.Text),
                                                cbxIntroducoes.Text,
                                                cbxInformacoesFornecimento.Text,
                                                cbxTermosGarantia.Text,
                                                cbxCondicoesMontagem.Text,
                                                cbxTermosAprovacao.Text,
                                                imprime_ipi,
                                                ref msg);
            }
            else
            {
                result = caracteristicas.Altera(parceiro, codigo, edtDescricao.Text, edtFormulaPedido.Text, Globais.StrToFloat(edtConsultor.Text), Globais.StrToFloat(edtVendedor.Text), Globais.StrToFloat(edtFilial.Text), Globais.StrToFloat(edtLimiar.Text), edtObservacao.Text, edtRacional.Text, edtServico.Text, ativo, Globais.StrToShort(edtDias.Text),
                                                edtVendedorProdutos.Text,
                                                edtVendedorServicos.Text,
                                                edtConsultorProdutos.Text,
                                                edtConsultorServicos.Text,
                                                edtFilialProdutos.Text,
                                                edtFilialServicos.Text,
                                                Globais.StrToFloat(edtFrete.Text),
                                                cbxIntroducoes.Text,
                                                cbxInformacoesFornecimento.Text,
                                                cbxTermosGarantia.Text,
                                                cbxCondicoesMontagem.Text,
                                                cbxTermosAprovacao.Text,
                                                imprime_ipi,
                                                ref msg);
            }
            if (!result)
            {
                if (acao == 'i')
                {
                    MessageBox.Show(parceiro + "-" + codigo + "\r\n" + msg, "Erro na inclusão da característica", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show(parceiro + "-" + codigo + "\r\n" + msg, "Erro na alteração da característica", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            primeira    = dgvCadastro.FirstDisplayedScrollingRowIndex;
            this.Cursor = Cursors.WaitCursor;
            caracteristicas.Carrega(dgvCadastro, chkFiltroAtivos.Checked);
            this.Cursor = Cursors.Default;
            Sort(col_sorted, ord_sorted);
            int selecionado = Posiciona(parceiro.Trim(), codigo.Trim());

            if (selecionado >= 0)
            {
                AtualizaDados(selecionado);
                AtualizaDadosLocal(selecionado);
            }
            if (primeira != -1)
            {
                dgvCadastro.FirstDisplayedScrollingRowIndex = primeira;
            }
            DesabilitaEdicao();
            SetaEdicaoLocal(false);
        }
예제 #26
0
        private void Colore()
        {
            double   total     = 0;
            int      registros = 0;
            cPedidos pedido    = new cPedidos();

            foreach (DataGridViewRow row in dgvCadastro.Rows)
            {
                short    codigo     = Globais.StrToShort(row.Cells["Cod"].Value.ToString());
                string   fornecedor = row.Cells["Fornecedor"].Value.ToString();
                DateTime data       = DateTime.Parse(row.Cells["Data"].Value.ToString());

                /*
                 * if (false)
                 * {
                 *      row.Cells["P"].Value = pedido.Existe(fornecedor, data, codigo) ? "S" : "N";
                 *      row.Cells["M"].Value = orcamento.Especial(fornecedor, data, codigo);
                 * }
                 */
/*
 *                              switch (row.Cells["Situação"].Value.ToString()[0])
 *                              {
 *                                      case 'E': row.Cells["Situação"].Value = "Em Andamento"; break;
 *                                      case 'C': row.Cells["Situação"].Value = "Cancelado"; break;
 *                                      case 'S': row.Cells["Situação"].Value = "Substituido"; break;
 *                                      case 'F': row.Cells["Situação"].Value = "Fechado"; break;
 *                              }
 */

                DataGridViewCell cell = row.Cells["Sinal"];
                cell.Style.BackColor          = Color.Yellow;
                cell.Style.SelectionBackColor = Color.Yellow;
                cell.Value = "0";

                if (row.Cells["Valor Itens"].Value != null)
                {
                    float vlr_itens    = Globais.StrToFloat(row.Cells["Valor Itens"].Value.ToString());
                    float vlr_desconto = Globais.StrToFloat(row.Cells["Desconto"].Value.ToString());
                    // colore de acordo com o limiar da caracteristica
                    if ((row.Cells["Fornecedor"].Value != null) &&
                        (row.Cells["Característica"].Value != null))
                    {
                        float  per_consultor  = Globais.StrToFloat(row.Cells["Comissão Consultor"].Value.ToString());
                        string caracteristica = row.Cells["Característica"].Value.ToString().Trim();
                        float  limiar         = Globais.StrToFloat(row.Cells["Limiar"].Value.ToString());
                        float  sinal          = orcamento.CalculaSinal(fornecedor, caracteristica, vlr_itens, vlr_desconto, per_consultor, limiar);
                        cell.Value                    = sinal.ToString("#0");
                        cell.Style.BackColor          = Color.Yellow;
                        cell.Style.SelectionBackColor = Color.Yellow;
                        if (sinal > 0)
                        {
                            cell.Style.BackColor          = Color.Green;
                            cell.Style.SelectionBackColor = Color.Green;
                        }
                        else
                        if (sinal < 0)
                        {
                            cell.Style.BackColor          = Color.Red;
                            cell.Style.SelectionBackColor = Color.Red;
                        }
                    }
                    total += (vlr_itens - vlr_desconto);
                }

                DataGridViewCell cellFornecedor = row.Cells["Fornecedor"];
                DataGridViewCell cellValor      = row.Cells["Valor"];
                cellValor.Style.BackColor          = cellFornecedor.Style.BackColor;
                cellValor.Style.SelectionBackColor = cellFornecedor.Style.SelectionBackColor;
                if (row.Cells["Preço Tabela Alterado"].Value != null)
                {
                    int alterados = Globais.StrToInt(row.Cells["Preço Tabela Alterado"].Value.ToString());
                    if (alterados > 0)
                    {
                        cellValor.Style.BackColor          = Color.Orange;
                        cellValor.Style.SelectionBackColor = Color.Orange;
                    }
                }
                if (row.Cells["Tabela Ativa"].Value != null)
                {
                    string ativa = row.Cells["Tabela Ativa"].Value.ToString();
                    if (ativa.Equals("N"))
                    {
                        cellValor.Style.BackColor          = Color.Red;
                        cellValor.Style.SelectionBackColor = Color.Red;
                    }
                }


                registros++;
            }
            edtTotal.Text     = total.ToString("#,###,##0.00");
            edtRegistros.Text = registros.ToString();
        }
예제 #27
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);
        }
예제 #28
0
        void BtnPedidoClick(object sender, EventArgs e)
        {
            if (dgvCadastro.Rows.Count == 0)
            {
                return;
            }
            int i = dgvCadastro.CurrentRow.Index;

            // pedidos com sinal negativo só podem ser gerados pelo administrador
            int sinal = int.Parse(dgvCadastro.Rows[i].Cells["Sinal"].Value.ToString());

            if ((sinal < 0) && !Globais.bAdministrador)
            {
                MessageBox.Show("Esse pedido precisa de autorização");
                return;
            }

            string   fornecedor     = dgvCadastro.Rows[i].Cells["Fornecedor"].Value.ToString().Trim();
            string   caracteristica = dgvCadastro.Rows[i].Cells["Característica"].Value.ToString().Trim();
            DateTime data           = DateTime.Parse(dgvCadastro.Rows[i].Cells["Data"].Value.ToString());
            short    codigo         = Globais.StrToShort(dgvCadastro.Rows[i].Cells["Cod"].Value.ToString());

            string especial = orcamento.Especial(fornecedor, data, codigo);

            if (especial.Equals("S") && !Globais.bAdministrador)
            {
                MessageBox.Show("Esse pedido precisa de autorização");
                return;
            }

            float  vlr_itens    = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Valor Itens"].Value.ToString());
            float  vlr_desconto = Globais.StrToFloat(dgvCadastro.Rows[i].Cells["Desconto"].Value.ToString());
            string cliente      = dgvCadastro.Rows[i].Cells["Cliente"].Value.ToString().Trim();

            cCaracteristicas caracteristicas = new cCaracteristicas();
            string           servico         = "";
            float            dif             = caracteristicas.DiferencaFormulas(fornecedor, caracteristica, data, codigo, ref servico);
            short            dias            = caracteristicas.DiasMontagem(fornecedor, caracteristica);

            cPedidos pedidos = new cPedidos();

            if (pedidos.Existe(fornecedor, data, codigo))
            {
                MessageBox.Show("Já existe pedido para esse orçamento", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            fGeraPedido frm = new fGeraPedido(dif, fornecedor, data, codigo, vlr_itens, vlr_desconto, servico, sinal, cliente, dias);

            frm.ShowDialog();
            if (frm.result)
            {
                string msg = "";
                if (!orcamento.AlteraStatus(fornecedor, data, codigo, 'F', ref msg))
                {
                    MessageBox.Show("Erro na alteração da situação\r\r" + msg);
                }
                if (!orcamento.AlteraPedido(fornecedor, data, codigo, 'S'))
                {
                    MessageBox.Show("Erro na alteração do IDT de pedido");
                }
                dgvCadastro.Rows[i].Cells["P"].Value        = 'S';
                dgvCadastro.Rows[i].Cells["Situação"].Value = "Fechado";
            }
        }
예제 #29
0
        void BtnConfirmaClick(object sender, EventArgs e)
        {
            string msg = "";
            bool   result;
            string parceiro  = edtParceiro.Text.Trim();
            string codigo    = edtCodigo.Text.Trim();
            string subcodigo = edtSubCodigo.Text.Trim();

            if (subcodigo.CompareTo("") == 0)
            {
                MessageBox.Show("SubCódigo", "Campo obrigatório",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                edtSubCodigo.Focus();
                return;
            }
            if (edtParceiro.Text.Trim().CompareTo("") != 0)
            {
                cParceiros parceiros = new cParceiros();
                string     des = "", fisjur = "";
                if (!parceiros.Procura(edtParceiro.Text, ref des, ref fisjur))
                {
                    MessageBox.Show(edtParceiro.Text, "Parceiro não Cadastrado",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                    edtParceiro.Focus();
                    return;
                }
            }
            if (acao == 'I')
            {
                acao = 'i';
                return;
            }
            if (acao == 'A')
            {
                acao = 'a';
                return;
            }
            if (acao == 'i')
            {
                result = produtos.Inclui(parceiro, codigo, subcodigo, edtDescricao.Text,
                                         edtTexto.Text, edtMedida.Text,
                                         Globais.StrToFloat(edtIPI.Text),
                                         chkGenerico.Checked ? "S" : "N",
                                         ref msg);
                xParceiro  = edtParceiro.Text;
                xCodigo    = edtCodigo.Text;
                xSubCodigo = edtSubCodigo.Text;
                xDescricao = edtDescricao.Text;
                xMedida    = edtMedida.Text;
                xTexto     = edtTexto.Text;
            }
            else
            {
                result = produtos.Altera(parceiro, codigo, subcodigo, edtDescricao.Text,
                                         edtTexto.Text, edtMedida.Text,
                                         Globais.StrToFloat(edtIPI.Text),
                                         chkGenerico.Checked ? "S" : "N",
                                         ref msg);
            }
            if (!result)
            {
                if (acao == 'i')
                {
                    MessageBox.Show(codigo + "\n" + msg, "Erro na inclusão do produto", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    MessageBox.Show(codigo + "\n" + msg, "Erro na alteração do produto", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                if (acao == 'i')
                {
                    DataRow row = table.NewRow();
                    row[0] = parceiro;
                    row[1] = codigo;
                    row[2] = subcodigo;
                    row[3] = edtDescricao.Text;
                    row[4] = edtTexto.Text;
                    row[5] = edtMedida.Text;
                    row[6] = Globais.StrToFloat(edtIPI.Text);
                    row[7] = chkGenerico.Checked ? "S" : "N";
                    table.Rows.Add(row);
                    int selecionado = Procura(codigo, false);
                    if (selecionado >= 0)
                    {
                        for (int i = selecionado; i < dgvCadastro.Rows.Count; i++)
                        {
                            if (dgvCadastro.Rows[i].Cells[2].Value.ToString().Trim().CompareTo(subcodigo) == 0)
                            {
                                selecionado = i;
                                break;
                            }
                        }
                        dgvCadastro.Rows[selecionado].Cells[0].Selected = true;
                        AtualizaDados(selecionado);
                        AtualizaDadosLocal(selecionado);
                    }
                }
                else
                {
                    int selecionado = dgvCadastro.CurrentRow.Index;
                    dgvCadastro.Rows[selecionado].Cells[0].Value = parceiro;
                    dgvCadastro.Rows[selecionado].Cells[1].Value = codigo;
                    dgvCadastro.Rows[selecionado].Cells[2].Value = subcodigo;
                    dgvCadastro.Rows[selecionado].Cells[3].Value = edtDescricao.Text;
                    dgvCadastro.Rows[selecionado].Cells[4].Value = edtTexto.Text;
                    dgvCadastro.Rows[selecionado].Cells[5].Value = edtMedida.Text;
                    dgvCadastro.Rows[selecionado].Cells[6].Value = Globais.StrToFloat(edtIPI.Text);
                    dgvCadastro.Rows[selecionado].Cells[7].Value = chkGenerico.Checked ? "S" : "N";
                    //produtos.Carrega(dgvCadastro, ref table, "");
                }
            }
            DesabilitaEdicao();
            SetaEdicaoLocal(false);
        }
예제 #30
0
        /*
         * private void calcula_itens(string fornecedor, DateTime data, short orcamento, string formula, float per_calculo, ref float per_recalculo)
         * {
         *      FbCommand cmd =  new FbCommand("select " +
         *                           "       a.seq_item, " +
         *                           "       a.qtd_item, " +
         *                           "       a.idt_especial, " +
         *                           "       a.vlr_preco, " +
         *                           "       b.per_ipi " +
         *                           "from ITENS a, PRODUTOS b " +
         *                           "where a.cod_fornecedor='" + fornecedor + "' and " +
         *                               "      a.dat_orcamento='" + data.ToString("M/d/yyyy") + "' and " +
         *                               "      a.cod_orcamento=" + orcamento + " and " +
         *                                       "      a.cod_fornecedor=b.cod_parceiro and " +
         *                                       "      a.cod_produto=b.cod_produto and " +
         *                                       "      a.sub_codigo=b.sub_codigo " +
         *                               "      order by a.seq_item",
         *                               Globais.bd);
         *      float valor_recalculo = 0;
         *      FbDataReader reader = cmd.ExecuteReader(CommandBehavior.Default);
         *      while (reader.Read())
         *      {
         *              short seq = (short)(!reader.IsDBNull(0) ? (int)reader.GetInt16(0) : 0);
         *              short qtd = (short)(!reader.IsDBNull(1) ? (int)reader.GetInt16(1) : 0);
         *              string especial = (reader.IsDBNull(2) ? reader.GetString(2) : "");
         *              float valor = (!reader.IsDBNull(3) ? (int)reader.GetFloat(3) : 0f);
         *              float ipi = (!reader.IsDBNull(4) ? (int)reader.GetFloat(4) : 0f);
         *              valor_recalculo = valor;
         *              Globais.CalculaFormula(ref valor_recalculo, formula, 0);
         *              per_recalculo = valor_recalculo * per_calculo / valor;
         *      }
         *      reader.Close();
         * }
         */

        void calcula()
        {
            cComissaoLimiar comissao_limiar = new cComissaoLimiar();
            float           tot_pedido      = 0;
            float           tot_valor       = 0;
            float           tot_calculo     = 0;
            float           tot_recalculo   = 0;
            float           tot_pago        = 0;
            float           tot_comissao    = 0;
            float           valor_pago      = 0;
            float           valor_pagar     = 0;
            int             n = 0;

            if (rbtVendedor.Checked || rbtFilial.Checked)
            {
                dgvCadastro.Columns["Vendedor"].HeaderText = "Vendedor";
            }
            else
            {
                dgvCadastro.Columns["Vendedor"].HeaderText = "Consultor";
            }
            dgvCadastro.Rows.Clear();
            cCaracteristicas carac = new cCaracteristicas();
            int isel = 0;

            foreach (DataGridViewRow sel in dgvSelecao.Rows)
            {
                if (!(bool)sel.Cells["S"].Value)
                {
                    isel++;
                    continue;
                }

                int             i   = dgvCadastro.Rows.Add();
                DataGridViewRow row = dgvCadastro.Rows[i];
                row.Cells["isel"].Value = isel;
                DateTime data      = DateTime.Parse(sel.Cells["Data"].Value.ToString());
                short    orcamento = CodOrcamento(sel.Cells["Orçamento"].Value.ToString());

                float  valor = Globais.StrToFloat(sel.Cells["Valor"].Value.ToString());
                string fornecedor = sel.Cells["Fornecedor Orçamento"].Value.ToString();
                string caracteristica = sel.Cells["Característica"].Value.ToString();
                string venpro = "", venser = "", conpro = "", conser = "", filpro = "", filser = "";
                carac.FormulasComissao(fornecedor, caracteristica, ref venpro, ref venser, ref conpro, ref conser, ref filpro, ref filser);
                float sinal      = Globais.StrToFloat(sel.Cells["Sinal"].Value.ToString());
                int   cod_pedido = Globais.StrToInt(sel.Cells["CodPedido"].Value.ToString());

                float vlr_frete      = Globais.StrToFloat(sel.Cells["Valor Frete"].Value.ToString());
                float vlr_frete_item = 0;
                float per_frete      = 0;
                if (vlr_frete > 0)
                {
                    vlr_frete_item = cPedidos.RateiaFrete(fornecedor, data, orcamento, (short)cod_pedido, ref vlr_frete);
                }
                else
                {
                    per_frete = cCaracteristicas.Frete(fornecedor, caracteristica);
                }

                float  per_pago = 0;
                bool   pago     = false;
                string formula  = "";
                if (rbtVendedor.Checked)
                {
                    pago     = sel.Cells["IdtVendedor"].Value.ToString().Equals("S");
                    per_pago = Globais.StrToFloat(sel.Cells["PerVendedor"].Value.ToString());
                    row.Cells["Justificativa"].Value = sel.Cells["JusVendedor"].Value.ToString();
                    if (cod_pedido == 1)
                    {
                        formula = venpro;
                    }
                    else
                    {
                        formula = venser;
                    }
                }
                if (rbtConsultor.Checked)
                {
                    pago     = sel.Cells["IdtConsultor"].Value.ToString().Equals("S");
                    per_pago = Globais.StrToFloat(sel.Cells["PerConsultor"].Value.ToString());
                    row.Cells["Justificativa"].Value = sel.Cells["JusConsultor"].Value.ToString();
                    if (cod_pedido == 1)
                    {
                        formula = conpro;
                    }
                    else
                    {
                        formula = conser;
                    }
                }
                if (rbtFilial.Checked)
                {
                    pago     = sel.Cells["IdtFilial"].Value.ToString().Equals("S");
                    per_pago = Globais.StrToFloat(sel.Cells["PerFilial"].Value.ToString());
                    row.Cells["Justificativa"].Value = sel.Cells["JusFilial"].Value.ToString();
                    if (cod_pedido == 1)
                    {
                        formula = venpro;
                    }
                    else
                    {
                        formula = venser;
                    }
                }
                float valor_pedido = valor;
                Globais.CalculaFormula(ref valor, formula, 0, per_frete, vlr_frete_item);
                isel++;
                float per_calculo = 0;
                if (rbtConsultor.Checked)
                {
                    per_calculo = Globais.StrToFloat(sel.Cells["Comissão Consultor"].Value.ToString());
                }
                else
                if (rbtFilial.Checked)
                {
                    if (cod_pedido == 1)
                    {
                        per_calculo = Globais.StrToFloat(sel.Cells["Comissão Filial"].Value.ToString());
                    }
                    else
                    {
                        per_calculo = 100;
                    }
                }
                else
                {
                    per_calculo = comissao_limiar.Calcula(fornecedor, caracteristica, valor, sinal);
                }
                row.Cells["PG"].Value = pago;
                float valor_recalculo = valor;
                float per_recalculo   = per_calculo;
                if (formula.Length > 0)
                {
                    //calcula_itens(fornecedor, data, orcamento, formula, per_calculo, ref per_recalculo);
                }
                //if ((per_pago == 0) && !pago_zerado)
                if ((per_pago == 0) && !pago)
                {
                    per_pago = per_calculo;
                }
                float comissao = per_pago * valor / 100f;
                bool  pg       = row.Cells["PG"].Value != null?bool.Parse(row.Cells["PG"].Value.ToString()) : false;

                tot_pedido    += valor_pedido;
                tot_valor     += valor;
                tot_calculo   += per_calculo;
                tot_recalculo += per_recalculo;
                tot_pago      += per_pago;
                tot_comissao  += comissao;
                if (!pg)
                {
                    valor_pagar += comissao;
                }
                else
                {
                    valor_pago += comissao;
                }
                n++;
                row.Cells["Fornecedor"].Value          = sel.Cells["Fornecedor"].Value.ToString();
                row.Cells["FornecedorOrcamento"].Value = sel.Cells["Fornecedor Orçamento"].Value.ToString();
                row.Cells["Data"].Value      = DateTime.Parse(sel.Cells["Data"].Value.ToString()).ToString("d/M/yyyy");
                row.Cells["Orcamento"].Value = sel.Cells["Orçamento"].Value.ToString();
                row.Cells["Pedido"].Value    = sel.Cells["Ped"].Value.ToString();
                row.Cells["CodPedido"].Value = sel.Cells["CodPedido"].Value.ToString();
                row.Cells["Cliente"].Value   = sel.Cells["Cliente"].Value.ToString();
                if (rbtVendedor.Checked || rbtFilial.Checked)
                {
                    row.Cells["Vendedor"].Value = sel.Cells["Vendedor"].Value.ToString();
                }
                else
                {
                    row.Cells["Vendedor"].Value = sel.Cells["Consultor"].Value.ToString();
                }
                row.Cells["ValorPedido"].Value = valor_pedido.ToString("#,###,##0.00");
                row.Cells["Valor"].Value       = valor.ToString("#,###,##0.00");

                row.Cells["Calculo"].Value = per_calculo.ToString("#0.00");
                //row.Cells["Recalculo"].Value = per_recalculo.ToString("#0.00");
                row.Cells["Pago"].Value     = per_pago.ToString("#0.00");
                row.Cells["Comissao"].Value = comissao.ToString("#,###,##0.00");

                if (rbtVendedor.Checked)
                {
                    edtJustificativa.Text = sel.Cells["JusVendedor"].Value.ToString();
                }
                if (rbtConsultor.Checked)
                {
                    edtJustificativa.Text = sel.Cells["JusConsultor"].Value.ToString();
                }
                if (rbtFilial.Checked)
                {
                    edtJustificativa.Text = sel.Cells["JusFilial"].Value.ToString();
                }
            }
            edtTotPedido.Text = tot_pedido.ToString("#,###,##0.00");
            edtTotValor.Text  = tot_valor.ToString("#,###,##0.00");
            if (n > 0)
            {
                edtTotCalculo.Text = (tot_calculo / n).ToString("#0.00");
                //edtTotRecalculo.Text= (tot_recalculo / n).ToString("#0.00");
                edtTotPago.Text = (tot_pago / n).ToString("#0.00");
            }
            else
            {
                edtTotCalculo.Text = 0.ToString("#0.00");
                //edtTotRecalculo.Text= (tot_recalculo / n).ToString("#0.00");
                edtTotPago.Text = 0.ToString("#0.00");
            }
            edtTotComissao.Text = tot_comissao.ToString("#,###,##0.00");
            edtValorPago.Text   = valor_pago.ToString("#,###,##0.00");
            edtValorPagar.Text  = valor_pagar.ToString("#,###,##0.00");
        }