Exemplo n.º 1
0
        public override void OnBeforeItemPressed(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            if (pVal.ItemUID == "1")
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form            = formCOM.Form;
                    var mtxCorretor     = ((Matrix)form.Items.Item(_corretores.ItemUID).Specific);
                    var mtxResponsaveis = ((Matrix)form.Items.Item(_responsaveis.ItemUID).Specific);

                    mtxCorretor.FlushToDataSource();
                    mtxResponsaveis.FlushToDataSource();

                    using (var dbdtsCorretorCOM = new DBDatasourceCOM(form, corretorDbDataSource))
                        using (var dbdtsResponsavelCOM = new DBDatasourceCOM(form, responsavelDbDataSource))
                        {
                            var dbdtsCorretor    = dbdtsCorretorCOM.Dbdts;
                            var dbdtsResponsavel = dbdtsResponsavelCOM.Dbdts;

                            if (!MatrizEstaValida(form, dbdtsCorretor, _corretores) || !MatrizEstaValida(form, dbdtsResponsavel, _responsaveis))
                            {
                                BubbleEvent = false;
                            }
                        }
                }
            }
        }
Exemplo n.º 2
0
        private void OnSalvar(string formUID)
        {
            using (var formCOM = new FormCOM(formUID))
            {
                var form = formCOM.Form;
                try
                {
                    form.Freeze(true);
                    using (var dbdtsCOM = new DBDatasourceCOM(form, mainDbDataSource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        var mtx   = GetMatrix(form, _matriz.ItemUID);

                        Salvar(form, dbdts, mtx);

                        Program.CarregarPeneirasVindoDaConfiguracao();
                    }
                }
                catch (Exception e)
                {
                    Dialogs.PopupError("Erro interno. Erro ao salvar dados.\nErro: " + e.Message);
                    Global.Company.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_RollBack);
                }
                finally
                {
                    form.Freeze(false);
                }
            }
        }
Exemplo n.º 3
0
        public override void OnBeforeComboSelect(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            if (pVal.ItemUID == _botaoComboCopiar.ItemUID)
            {
                BubbleEvent = false;

                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    if (form.Mode == BoFormMode.fm_OK_MODE)
                    {
                        using (var dbdtsCOM = new DBDatasourceCOM(form, MainDbDataSource))
                        {
                            var dbdts            = dbdtsCOM.Dbdts;
                            var fornecedor       = _codigoPN.GetValorDBDatasource <string>(dbdts);
                            var numContratoFinal = _numeroDoContrato.GetValorDBDatasource <string>(dbdts);
                            var transportadora   = _transportadora.GetValorDBDatasource <string>(dbdts);

                            var codigoItem    = _codigoItem.GetValorDBDatasource <string>(dbdts);
                            var deposito      = _deposito.GetValorDBDatasource <string>(dbdts);
                            var utilizacao    = _utilizacao.GetValorDBDatasource <string>(dbdts);
                            var safra         = _safra.GetValorDBDatasource <string>(dbdts);
                            var embalagem     = _embalagem.GetValorDBDatasource <string>(dbdts);
                            var quantidade    = _saldoDePeso.GetValorDBDatasource <double>(dbdts);
                            var filial        = GetFilial(_deposito.GetValorDBDatasource <string>(dbdts));
                            var precoUnitario = _valorFaturado.GetValorDBDatasource <double>(dbdts);

                            var objPedidoCompra  = new FormPedidoCompra();
                            var formPedidoCompra = objPedidoCompra.Abrir();
                            objPedidoCompra.PreencherPedido(formPedidoCompra, new PedidoCompraParams()
                            {
                                NumContratoFinal = numContratoFinal,
                                Fornecedor       = fornecedor,
                                Item             = codigoItem,
                                Utilizacao       = utilizacao,
                                Transportadora   = transportadora,
                                Embalagem        = embalagem,
                                Deposito         = deposito,
                                Quantidade       = quantidade,
                                PrecoUnitario    = precoUnitario,
                                Filial           = filial
                            });
                        }
                    }
                    else
                    {
                        Dialogs.PopupError("Salve o Contrato antes de criar um novo Documento.");
                    }
                }
            }
            else
            {
                base.OnAfterComboSelect(FormUID, ref pVal, out BubbleEvent);
            }
        }
Exemplo n.º 4
0
        private void OnRemoverResponsavelClick(ItemEvent pVal)
        {
            using (var formCOM = new FormCOM(pVal.FormUID))
            {
                var form = formCOM.Form;
                using (var dbdtsCOM = new DBDatasourceCOM(form, responsavelDbDataSource))
                {
                    var dbdts = dbdtsCOM.Dbdts;

                    _responsaveis.RemoverLinhaSelecionada(form, dbdts);
                }
            }
        }
        private void OnBotaoRemoverClick(ItemEvent pVal)
        {
            using (var formCOM = new FormCOM(pVal.FormUID))
            {
                var form = formCOM.Form;
                using (var dbdtsCOM = new DBDatasourceCOM(form, mainDbDataSource))
                {
                    var dbdts = dbdtsCOM.Dbdts;

                    _matriz.RemoverLinhaSelecionada(form, dbdts);
                }
            }
        }
Exemplo n.º 6
0
        private void OnRemoverCorretorClick(ItemEvent pVal)
        {
            using (var formCOM = new FormCOM(pVal.FormUID))
            {
                var form = formCOM.Form;
                using (var dbdtsCOM = new DBDatasourceCOM(form, corretorDbDataSource))
                {
                    var dbdts = dbdtsCOM.Dbdts;

                    _corretores.RemoverLinhaSelecionada(form, dbdts);
                }
            }
        }
Exemplo n.º 7
0
        public override void OnBeforeFormDataUpdate(ref BusinessObjectInfo BusinessObjectInfo, out bool BubbleEvent)
        {
            BubbleEvent = true;

            using (var formCOM = new FormCOM(BusinessObjectInfo.FormUID))
            {
                var form = formCOM.Form;
                using (var dbdtsCOM = new DBDatasourceCOM(form, mainDbDataSource))
                {
                    var dbdts = dbdtsCOM.Dbdts;

                    BubbleEvent = CamposFormEstaoPreenchidos(form, dbdts);
                }
            }
        }
Exemplo n.º 8
0
        public override void OnAfterFormVisible(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            using (var formCOM = new FormCOM(FormUID))
            {
                var form = formCOM.Form;
                var mtx  = GetMatrix(form, _matriz.ItemUID);
                using (var dbdtsCOM = new DBDatasourceCOM(form, mainDbDataSource))
                {
                    var dbdts = dbdtsCOM.Dbdts;

                    PreencherDadosMatriz(form, mtx, dbdts);
                }
            }
        }
Exemplo n.º 9
0
        public override void OnBeforeFormDataAdd(ref BusinessObjectInfo BusinessObjectInfo, out bool BubbleEvent)
        {
            BubbleEvent = true;

            using (var formCOM = new FormCOM(BusinessObjectInfo.FormUID))
            {
                var form = formCOM.Form;
                using (var dbdtsCOM = new DBDatasourceCOM(form, mainDbDataSource))
                {
                    var dbdts = dbdtsCOM.Dbdts;

                    string nextCode = GetNextCode(mainDbDataSource);
                    dbdts.SetValue(_codigo.ItemUID, 0, nextCode);

                    BubbleEvent = CamposFormEstaoPreenchidos(form, dbdts);
                }
            }
        }
Exemplo n.º 10
0
        public override void OnAfterFormDataAdd(ref BusinessObjectInfo BusinessObjectInfo, out bool BubbleEvent)
        {
            base.OnAfterFormDataAdd(ref BusinessObjectInfo, out BubbleEvent);

            using (var formCOM = new FormCOM(BusinessObjectInfo.FormUID))
            {
                var form = formCOM.Form;
                using (var dbdtsCOM = new DBDatasourceCOM(form, MainDbDataSource))
                {
                    var dbdts = dbdtsCOM.Dbdts;
                    if (BusinessObjectInfo.ActionSuccess)
                    {
                        _adicionou = true;
                        AtualizarSaldoPreContrato(dbdts);
                    }
                }
            }
        }
Exemplo n.º 11
0
        public override void OnAfterFormDataUpdate(ref BusinessObjectInfo BusinessObjectInfo, out bool BubbleEvent)
        {
            base.OnAfterFormDataUpdate(ref BusinessObjectInfo, out BubbleEvent);

            using (var dbdtsCOM = new DBDatasourceCOM(BusinessObjectInfo.FormUID, MainDbDataSource))
            {
                var dbdts = dbdtsCOM.Dbdts;

                var status = _status.GetValorDBDatasource <string>(dbdts);
                if (status == StatusContratoFinal.Cancelado)
                {
                    CancelarSaldoContratoFinal(dbdts);
                }
                else
                {
                    AtualizarSaldoPreContrato(dbdts);
                }
            }
        }
        public override void OnAfterFormLoad(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            base.OnAfterFormLoad(FormUID, ref pVal, out BubbleEvent);

            using (var formCOM = new FormCOM(FormUID))
            {
                var form = formCOM.Form;
                using (var dbdtsCOM = new DBDatasourceCOM(form, mainDbDataSource))
                {
                    var dbdts    = dbdtsCOM.Dbdts;
                    var cardcode = dbdts.GetValue("CardCode", 0).Trim();
                    if (!string.IsNullOrEmpty(cardcode) && form.Mode == BoFormMode.fm_ADD_MODE)
                    {
                        AtualizarCampoFalandoQueVeioDeContrato(form);
                        Dialogs.Success("Ok.");
                    }
                }
            }
        }
Exemplo n.º 13
0
        public override void OnBeforeItemPressed(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            base.OnAfterItemPressed(FormUID, ref pVal, out BubbleEvent);

            if (pVal.ItemUID == "B_DocNumCF")
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    using (var dbdtsCOM = new DBDatasourceCOM(form, mainDbDataSource))
                    {
                        BubbleEvent = false;
                        var dbdts  = dbdtsCOM.Dbdts;
                        var codigo = dbdts.GetValue("U_DocNumCF", 0).Trim();
                        FormContratoFinal.AbrirNoRegistro(codigo);
                    }
                }
            }
        }
Exemplo n.º 14
0
        public override void OnAfterFormVisible(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            using (var formCOM = new FormCOM(FormUID))
            {
                var form = formCOM.Form;
                try
                {
                    form.Freeze(true);

                    _matriz.CriarColunaSumAuto(form, _matriz._percentual.ItemUID);
                    _matriz.CriarColunaSumAuto(form, _matriz._diferencial.ItemUID);

                    CarregarDadosMatriz(form, _fatherFormUID, _matriz.ItemUID, mainDbDataSource);

                    var mtx = ((Matrix)form.Items.Item(_matriz.ItemUID).Specific);
                    ClicarParaCalcularOsTotalizadores(mtx);

                    form.Items.Item("1").Enabled = UsuarioPermitido();

                    using (var fatherFormCOM = new FormCOM(_fatherFormUID))
                    {
                        var fatherForm = fatherFormCOM.Form;
                        using (var dbdtsCOM = new DBDatasourceCOM(fatherForm, fatherFormMainDbDataSource))
                        {
                            var fatherDbdts  = dbdtsCOM.Dbdts;
                            var itemcodeBase = fatherDbdts.GetValue("U_ItemCode", 0).Trim();
                            ConditionsParaItens(form, itemcodeBase);
                        }
                    }
                }
                catch (Exception e)
                {
                    Dialogs.PopupError("Erro interno. Erro ao desenhar o form.\nErro: " + e.Message);
                }
                finally
                {
                    form.Freeze(false);
                }
            }
        }
        public override void OnAfterFormVisible(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            using (var formCOM = new FormCOM(FormUID))
            {
                var form = formCOM.Form;
                var mtx  = GetMatrix(form, _matriz.ItemUID);
                _matriz._utilizacao.Popular(mtx);

                using (var dbdtsCOM = new DBDatasourceCOM(form, mainDbDataSource))
                {
                    var dbdts = dbdtsCOM.Dbdts;
                    dbdts.Clear();

                    using (var recordset = new RecordSet())
                    {
                        var rs = recordset.DoQuery($"SELECT U_Usage FROM [{mainDbDataSource}] ORDER BY CONVERT(INT,Code)");
                        if (rs.RecordCount > 0)
                        {
                            while (!rs.EoF)
                            {
                                var utilizacao = rs.Fields.Item(_matriz._utilizacao.Datasource).Value;
                                dbdts.InsertRecord(dbdts.Size);
                                dbdts.SetValue(_matriz._utilizacao.Datasource, dbdts.Size - 1, utilizacao);
                                rs.MoveNext();
                            }

                            mtx.LoadFromDataSourceEx();
                        }
                        else
                        {
                            _matriz.AdicionarLinha(form);
                        }
                    }
                }
            }
        }
Exemplo n.º 16
0
        public override void OnAfterComboSelect(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;
            using (var formCOM = new FormCOM(FormUID))
            {
                var form   = formCOM.Form;
                var matrix = GetMatrix(form, pVal.ItemUID);
                matrix.FlushToDataSource();

                var    dbdtsName = string.Empty;
                Matriz matriz    = null;

                if (pVal.ItemUID == _corretores.ItemUID)
                {
                    dbdtsName = corretorDbDataSource;
                    matriz    = _corretores;
                }
                else if (pVal.ItemUID == _responsaveis.ItemUID)
                {
                    dbdtsName = responsavelDbDataSource;
                    matriz    = _responsaveis;
                }

                var row = pVal.Row - 1;
                using (var dbdtsCOM = new DBDatasourceCOM(form, dbdtsName))
                {
                    var dbdts        = dbdtsCOM.Dbdts;
                    var participante = matriz._participante.GetValorDBDatasource <string>(dbdts, row);
                    if (!String.IsNullOrEmpty(participante))
                    {
                        matriz._comissao.GetValorDBDatasource <int>(dbdts);
                        var comissao = GetComissaoPadrao(participante);
                        matriz._comissao.SetValorDBDatasource(dbdts, comissao, row);
                        matrix.LoadFromDataSourceEx();
                    }
                }
            }
        }
        public override void OnBeforeItemPressed(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            if (pVal.ItemUID == "1")
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    var mtx  = ((Matrix)form.Items.Item(_matriz.ItemUID).Specific);
                    mtx.FlushToDataSource();

                    using (var dbdtsCOM = new DBDatasourceCOM(form, mainDbDataSource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        if (!CamposMatrizEstaoValidos(form, dbdts, _matriz))
                        {
                            BubbleEvent = false;
                        }
                    }
                }
            }
        }
Exemplo n.º 18
0
        public override void OnAfterItemPressed(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            if (pVal.ItemUID == "1")
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    if (form.Mode == BoFormMode.fm_ADD_MODE && _adicionou)
                    {
                        _adicionou = false;
                        form.Close();
                    }
                }
            }
            else if (pVal.ItemUID == _matrizRetirada._adicionar.ItemUID)
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    using (var dbdtsCOM = new DBDatasourceCOM(form, _matrizRetirada.Datasource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        _matrizRetirada.AdicionarLinha(form, dbdts);
                    }
                }
            }
            else if (pVal.ItemUID == _matrizRetirada._remover.ItemUID)
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    using (var dbdtsCOM = new DBDatasourceCOM(form, _matrizRetirada.Datasource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        _matrizRetirada.RemoverLinhaSelecionada(form, dbdts);
                    }
                }
            }
            else if (pVal.ItemUID == _matrizPrevisaoEntrega._adicionar.ItemUID)
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    using (var dbdtsCOM = new DBDatasourceCOM(form, _matrizPrevisaoEntrega.Datasource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        _matrizPrevisaoEntrega.AdicionarLinha(form, dbdts);
                    }
                }
            }
            else if (pVal.ItemUID == _matrizPrevisaoEntrega._remover.ItemUID)
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    using (var dbdtsCOM = new DBDatasourceCOM(form, _matrizPrevisaoEntrega.Datasource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        _matrizPrevisaoEntrega.RemoverLinhaSelecionada(form, dbdts);
                    }
                }
            }
            else if (pVal.ItemUID == _matrizPrevisaoPagamento._adicionar.ItemUID)
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    using (var dbdtsCOM = new DBDatasourceCOM(form, _matrizPrevisaoPagamento.Datasource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        _matrizPrevisaoPagamento.AdicionarLinha(form, dbdts);
                    }
                }
            }
            else if (pVal.ItemUID == _matrizPrevisaoPagamento._remover.ItemUID)
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    using (var dbdtsCOM = new DBDatasourceCOM(form, _matrizPrevisaoPagamento.Datasource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        _matrizPrevisaoPagamento.RemoverLinhaSelecionada(form, dbdts);
                    }
                }
            }
            else
            {
                base.OnAfterItemPressed(FormUID, ref pVal, out BubbleEvent);
            }
        }
Exemplo n.º 19
0
        public override void OnAfterFormVisible(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            base.OnAfterFormVisible(FormUID, ref pVal, out BubbleEvent);

            using (var formCOM = new FormCOM(FormUID))
            {
                var form = formCOM.Form;
                DesabilitarMenuAdicionarNovo(form);

                form.Items.Item(_botaoComboCopiar.ItemUID).AffectsFormMode = false;
                var botaoComboCopiar = (ButtonCombo)form.Items.Item(_botaoComboCopiar.ItemUID).Specific;
                _botaoComboCopiar.Popular(botaoComboCopiar.ValidValues);

                var mtx = GetMatrix(form, _matrizDocumentos.ItemUID);
                _matrizDocumentos.Bind(mtx);

                if (form.Mode == BoFormMode.fm_ADD_MODE)
                {
                    Dialogs.Success("Carregando informações do Contrato de Compra Geral... Aguarde...", BoMessageTime.bmt_Long);

                    using (var fatherFormCOM = new FormCOM(_fatherFormUID))

                        using (var dbdtsCFCOM = new DBDatasourceCOM(form, MainDbDataSource))
                            using (var dbdtsPCCOM = new DBDatasourceCOM(_fatherFormUID, new TabelaPreContrato().NomeComArroba))

                                using (var dbdtsCFCertificadoCOM = new DBDatasourceCOM(form, new TabelaCertificadosDoContratoFinal().NomeComArroba))
                                    using (var dbdtsPCCertificadoCOM = new DBDatasourceCOM(_fatherFormUID, new TabelaCertificadosDoPreContrato().NomeComArroba))

                                        using (var dbdtsCFResponsavelCOM = new DBDatasourceCOM(form, new TabelaResponsaveisDoContratoFinal().NomeComArroba))
                                            using (var dbdtsPCResponsavelCOM = new DBDatasourceCOM(_fatherFormUID, new TabelaResponsaveisDoPreContrato().NomeComArroba))

                                                using (var dbdtsCFCorretorCOM = new DBDatasourceCOM(form, new TabelaCorretoresDoContratoFinal().NomeComArroba))
                                                    using (var dbdtsPCCorretorCOM = new DBDatasourceCOM(_fatherFormUID, new TabelaCorretoresDoPreContrato().NomeComArroba))
                                                    {
                                                        var fatherForm = fatherFormCOM.Form;

                                                        var dbdtsCF = dbdtsCFCOM.Dbdts;
                                                        var dbdtsPC = dbdtsPCCOM.Dbdts;

                                                        var dbdtsCFCertificado = dbdtsCFCertificadoCOM.Dbdts;
                                                        var dbdtsPCCertificado = dbdtsPCCertificadoCOM.Dbdts;

                                                        var dbdtsCFResponsavel = dbdtsCFResponsavelCOM.Dbdts;
                                                        var dbdtsPCResponsavel = dbdtsPCResponsavelCOM.Dbdts;

                                                        var dbdtsCFCorretor = dbdtsCFCorretorCOM.Dbdts;
                                                        var dbdtsPCCorretor = dbdtsPCCorretorCOM.Dbdts;

                                                        try
                                                        {
                                                            form.Freeze(true);

                                                            var labelsIn = string.Empty;
                                                            for (int i = 0; i < _peneiras.Count; i++)
                                                            {
                                                                labelsIn += ",'" + _peneiras[i].Datasource.Replace("P", "L") + "'";
                                                            }

                                                            CopyIfFieldsMatch(dbdtsPC, ref dbdtsCF, labelsIn);
                                                            CopyIfFieldsMatch(dbdtsPCCertificado, ref dbdtsCFCertificado);
                                                            CopyIfFieldsMatch(dbdtsPCResponsavel, ref dbdtsCFResponsavel);
                                                            CopyIfFieldsMatch(dbdtsPCCorretor, ref dbdtsCFCorretor);

                                                            var saldoSacas = Helpers.ToDouble(dbdtsPC.GetValue(_saldoDeSacas.Datasource, 0));
                                                            var saldoPeso  = Helpers.ToDouble(dbdtsPC.GetValue(_saldoDePeso.Datasource, 0));

                                                            saldoSacas = saldoSacas < 0 ? 0 : saldoSacas;
                                                            saldoPeso  = saldoPeso < 0 ? 0 : saldoPeso;

                                                            _quantidadeDeSacas.SetValorDBDatasource(dbdtsCF, saldoSacas);
                                                            _quantidadeDePeso.SetValorDBDatasource(dbdtsCF, saldoPeso);

                                                            CalcularTotais(form, dbdtsCF);

                                                            _OnAdicionarNovo(form);

                                                            PopularPessoasDeContato(form, dbdtsPC.GetValue(_codigoPN.Datasource, 0), dbdtsPC.GetValue(_pessoasDeContato.Datasource, 0));
                                                            HabilitarCamposDePeneira(form, dbdtsCF, dbdtsCF.GetValue(_codigoItem.Datasource, 0));
                                                        }
                                                        finally
                                                        {
                                                            form.Freeze(false);
                                                        }

                                                        Dialogs.Success("Ok.");
                                                    }
                }
            }
        }
        private void OnSalvar(string formUID)
        {
            using (var formCOM = new FormCOM(formUID))
            {
                var form = formCOM.Form;
                try
                {
                    form.Freeze(true);
                    Global.Company.StartTransaction();
                    bool ok = true;

                    using (var dbdtsCOM = new DBDatasourceCOM(form, mainDbDataSource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;

                        using (var recordset = new RecordSet())
                        {
                            var rs        = recordset.DoQuery($"DELETE FROM [{dbdts.TableName}];");
                            var userTable = Global.Company.UserTables.Item(dbdts.TableName.Remove(0, 1));

                            var mtx = GetMatrix(form, _matriz.ItemUID);
                            mtx.FlushToDataSource();
                            var utilizacaoDataSource = _matriz._utilizacao.Datasource;

                            for (int i = 0; i < dbdts.Size; i++)
                            {
                                var utilizacao = dbdts.GetValue(utilizacaoDataSource, i);
                                if (!string.IsNullOrEmpty(utilizacao))
                                {
                                    var codigo = (i + 1).ToString();
                                    userTable.Code = codigo;
                                    userTable.Name = codigo;
                                    userTable.UserFields.Fields.Item(utilizacaoDataSource).Value = utilizacao;

                                    if (userTable.Add() != 0)
                                    {
                                        ok = false;
                                        break;
                                    }
                                }
                            }
                        }
                    }

                    if (!ok)
                    {
                        Dialogs.PopupError("Erro ao salvar dados.\nErro: " + Global.Company.GetLastErrorDescription());
                    }
                    else
                    {
                        Global.Company.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_Commit);

                        Dialogs.PopupSuccess("Dados salvos com sucesso.");
                    }
                }
                catch (Exception e)
                {
                    Dialogs.PopupError("Erro interno. Erro ao salvar dados.\nErro: " + e.Message);
                    Global.Company.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_RollBack);
                }
                finally
                {
                    form.Freeze(false);
                }
            }
        }
Exemplo n.º 21
0
        public override void OnAfterLostFocus(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            base.OnAfterLostFocus(FormUID, ref pVal, out BubbleEvent);

            if (EventoEmAlgumaColunaMatrizRetirada(pVal))
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    var mtx  = GetMatrix(form, _matrizRetirada.ItemUID);
                    mtx.FlushToDataSource();
                    using (var dbdtsCOM = new DBDatasourceCOM(form, _matrizRetirada.Datasource))
                    {
                        var dbdts               = dbdtsCOM.Dbdts;
                        var row                 = pVal.Row - 1;
                        var pesoRetirada        = _matrizRetirada._pesoRetirada.GetValorDBDatasource <double>(dbdts, row);
                        var quantidadeEmbalagem = _matrizRetirada._quantidadeEmbalagem.GetValorDBDatasource <double>(dbdts, row);
                        var pesoEmbalagem       = _matrizRetirada._pesoEmbalagem.GetValorDBDatasource <double>(dbdts, row);

                        var pesoLiquido = (pesoRetirada - (quantidadeEmbalagem * pesoEmbalagem));
                        _matrizRetirada._pesoLiquido.SetValorDBDatasource(dbdts, pesoLiquido, row);
                        mtx.LoadFromDataSourceEx();
                    }
                }
            }
            else if (EventoEmAlgumaColunaMatrizPrevisaoEntregaUm(pVal))
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    var mtx  = GetMatrix(form, _matrizPrevisaoEntrega.ItemUID);
                    mtx.FlushToDataSource();
                    using (var dbdtsCOM = new DBDatasourceCOM(form, _matrizPrevisaoEntrega.Datasource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        var row   = pVal.Row - 1;

                        var valorTotal = _matrizPrevisaoEntrega._valorTotal.GetValorDBDatasource <double>(dbdts, row);
                        var peso       = _matrizPrevisaoEntrega._peso.GetValorDBDatasource <double>(dbdts, row);

                        var valorUnitario = peso == 0 ? 0 : (valorTotal / peso);
                        _matrizPrevisaoEntrega._valorUnitario.SetValorDBDatasource(dbdts, valorUnitario, row);
                        mtx.LoadFromDataSourceEx();
                    }
                }
            }
            else if (EventoEmAlgumaColunaMatrizPrevisaoEntregaDois(pVal))
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    var mtx  = GetMatrix(form, _matrizPrevisaoEntrega.ItemUID);
                    mtx.FlushToDataSource();
                    using (var dbdtsCOM = new DBDatasourceCOM(form, _matrizPrevisaoEntrega.Datasource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        var row   = pVal.Row - 1;

                        var valorUnitario = _matrizPrevisaoEntrega._valorUnitario.GetValorDBDatasource <double>(dbdts, row);

                        var sacas60 = valorUnitario == 0 ? 0 : (valorUnitario / 60);
                        _matrizPrevisaoEntrega._sacas60.SetValorDBDatasource(dbdts, sacas60, row);
                        mtx.LoadFromDataSourceEx();
                    }
                }
            }
            else if (EventoEmAlgumaColunaMatrizPrevisaoPagamento(pVal))
            {
                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    var mtx  = GetMatrix(form, _matrizPrevisaoPagamento.ItemUID);
                    mtx.FlushToDataSource();
                    using (var dbdtsCOM = new DBDatasourceCOM(form, _matrizPrevisaoPagamento.Datasource))
                    {
                        var dbdts = dbdtsCOM.Dbdts;
                        var row   = pVal.Row - 1;

                        var precoLivre = _matrizPrevisaoPagamento._precoLivre.GetValorDBDatasource <double>(dbdts, row);
                        var quantidade = _matrizPrevisaoPagamento._quantidade.GetValorDBDatasource <double>(dbdts, row);

                        var total = ((quantidade * precoLivre));
                        _matrizPrevisaoPagamento._total.SetValorDBDatasource(dbdts, total, row);
                        mtx.LoadFromDataSourceEx();
                    }
                }
            }
        }
Exemplo n.º 22
0
        public override void OnBeforeComboSelect(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
        {
            if (pVal.ItemUID == _botaoComboCopiar.ItemUID)
            {
                BubbleEvent = false;

                using (var formCOM = new FormCOM(FormUID))
                {
                    var form = formCOM.Form;
                    if (form.Mode == BoFormMode.fm_OK_MODE)
                    {
                        using (var dbdtsCOM = new DBDatasourceCOM(form, MainDbDataSource))
                        {
                            var tipoObjeto = new HandlerTipoDeObjeto().GetByIndex(pVal.PopUpIndicator);
                            if (tipoObjeto.ObjetoBase == null)
                            {
                                var dbdts            = dbdtsCOM.Dbdts;
                                var fornecedor       = _codigoPN.GetValorDBDatasource <string>(dbdts);
                                var numContratoFinal = _numeroDoContrato.GetValorDBDatasource <string>(dbdts);
                                var transportadora   = _transportadora.GetValorDBDatasource <string>(dbdts);
                                var qtdSacas         = _quantidadeDeSacas.GetValorDBDatasource <double>(dbdts);

                                var codigoItem = _codigoItem.GetValorDBDatasource <string>(dbdts);
                                var nomeItem   = _nomeItem.GetValorDBDatasource <string>(dbdts);

                                var novoCodigoItem = tipoObjeto.IndexParaCombo == new TipoNotaFiscalEntrada().IndexParaCombo ? GetItemFiscal(codigoItem) : codigoItem;
                                if (string.IsNullOrEmpty(novoCodigoItem))
                                {
                                    Dialogs.PopupError($"Nenhum item fiscal foi configurado para o item '{nomeItem}' do contrato");
                                    novoCodigoItem = codigoItem;
                                }

                                var totalFaturado = _totalFaturado.GetValorDBDatasource <double>(dbdts);
                                var qtdPeso       = _quantidadeDePeso.GetValorDBDatasource <double>(dbdts);

                                var deposito      = _deposito.GetValorDBDatasource <string>(dbdts);
                                var utilizacao    = _utilizacao.GetValorDBDatasource <string>(dbdts);
                                var safra         = _safra.GetValorDBDatasource <string>(dbdts);
                                var embalagem     = _embalagem.GetValorDBDatasource <string>(dbdts);
                                var quantidade    = _saldoDePeso.GetValorDBDatasource <double>(dbdts);
                                var filial        = GetFilial(_deposito.GetValorDBDatasource <string>(dbdts));
                                var precoUnitario = totalFaturado / qtdPeso;

                                var formBase = tipoObjeto.Form.Abrir();
                                tipoObjeto.Form.PreencherDocumento(formBase, new DocMKTParams()
                                {
                                    NumContratoFinal = numContratoFinal,
                                    Fornecedor       = fornecedor,
                                    Item             = novoCodigoItem,
                                    Utilizacao       = utilizacao,
                                    Transportadora   = transportadora,
                                    Embalagem        = embalagem,
                                    Deposito         = deposito,
                                    Quantidade       = quantidade,
                                    PrecoUnitario    = precoUnitario,
                                    Filial           = filial,
                                    QuantidadeSacas  = qtdSacas
                                });
                            }
                            else
                            {
                                FormSelecaoDocMKT.AbrirForm(FormUID, tipoObjeto.ObjetoBase);
                            }
                        }
                    }
                    else
                    {
                        Dialogs.PopupError("Salve o Contrato antes de criar um novo Documento.");
                    }
                }
            }
            else
            {
                base.OnAfterComboSelect(FormUID, ref pVal, out BubbleEvent);
            }
        }