예제 #1
0
        private void SBO_Application_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
        {
            SAPbouiCOM.BoEventTypes EventEnum = 0;
            EventEnum = pVal.EventType;
            BubbleEvent = true;

            if (pVal.FormType == 320)
            {
                if ((pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) & (!pVal.Before_Action))
                {
                    //Laudo_Ini
                    if (pVal.ItemUID == "Laudo_Ini")
                    {
                        abrirRelatorio("Laudo inicial", oForm.Items.Item("74").Specific.Value);
                    }

                    //Ent_Imp
                    if (pVal.ItemUID == "Ent_Imp")
                    {
                        abrirRelatorio("Descricao dos ambientes", oForm.Items.Item("74").Specific.Value);
                    }

                    //Laudo_Int
                    if (pVal.ItemUID == "Laudo_Int")
                    {
                        abrirRelatorio("Laudo intermediario", oForm.Items.Item("74").Specific.Value);
                    }
                    //NvAnalise
                    if (pVal.ItemUID == "NvAnalise")
                    {
                        abrirRelatorio("Analise critica", oForm.Items.Item("74").Specific.Value);
                    }
                    //Laudo_ent
                    if (pVal.ItemUID == "Laudo_Ent")
                    {
                        abrirRelatorio("Laudo de entrega", oForm.Items.Item("74").Specific.Value);
                    }
                    //Pesquisa de satisfacao
                    if (pVal.ItemUID == "Etg_Pq")
                    {
                        abrirRelatorio("Pesquisa de satisfacao", oForm.Items.Item("74").Specific.Value);
                    }
                    //NvLev
                    if (pVal.ItemUID == "NvLev")
                    {
                        abrirRelatorio("Levantamento", "");
                    }
                    //Etg_Decl
                    if (pVal.ItemUID == "Etg_Decl")
                    {
                        abrirRelatorio("Declaracao de conformidade", oForm.Items.Item("74").Specific.Value);
                    }

                }

                // Ao mudar o ambiente
                if (pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) && pVal.ItemUID == "Ent_Amb" && pVal.ItemChanged)
                {
                    // Verifica a descricao de Ent_Det se mudou e captura
                    oEditItem = ((SAPbouiCOM.EditText)oForm.Items.Item("Ent_Det").Specific);
                    string sEnt_Det = oEditItem.String;
                    try
                    {
                        if (sEnt_Det != sDescricaoOriginalAmbiente)
                        {
                            int idOOPR = int.Parse(((SAPbouiCOM.EditText)oForm.Items.Item("74").Specific).Value);
                            string selectedValue = ((SAPbouiCOM.ComboBox)oForm.Items.Item("Ent_Amb").Specific).Value;
                            int iSelectedValue;
                            if (selectedValue != "")
                            {
                                iSelectedValue = int.Parse(selectedValue);
                                // Atualiza a Descrição na Oportunidade de Vendas
                                AddOportunidadeVendas(idOOPR, "0", "0", "0", iSelectedValue, sEnt_Det);
                            }
                        }
                    }
                    catch
                    {
                    }
                }

                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) && pVal.ItemUID == "Ent_Amb" && pVal.ItemChanged)
                {
                    oEditItem = ((SAPbouiCOM.EditText)oForm.Items.Item("Ent_Det").Specific);

                    string idOOPR = ((SAPbouiCOM.EditText)oForm.Items.Item("74").Specific).Value;
                    string selectedValue = ((SAPbouiCOM.ComboBox)oForm.Items.Item("Ent_Amb").Specific).Value;

                    ambiente = new Ambiente(idOOPR);
                    oEditItem.Value = ambiente.getDescricaoEntrevista(selectedValue);
                }

                //Evento da Drop.

                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "Ela_Amb"))
                {
                    string coluna2 = pVal.ColUID;
                    if (coluna2 == "Ela_Amb_C2")
                    {
                        string linha = pVal.Row.ToString();
                    }
                }

                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "Ent_Proj"))
                {
                    upProjEnt = true;
                    //SBO_Application.MessageBox("Mudou Proj Entrevista.");
                }
                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "Med_Proj"))
                {
                    upProjMed = true;
                    //SBO_Application.MessageBox("Mudou Proj Medição.");
                }
                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "Apr_Proj"))
                {
                    upProjAps = true;
                    //SBO_Application.MessageBox("Mudou Proj Apresentação.");
                }
                if (!pVal.Before_Action && (EventEnum == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "Ent_Amb"))
                {
                    upEtvAmb = true;
                    //SBO_Application.MessageBox("Mudou Combo de Ambiente");
                }

                //Abre tela de Atividades.
                if (((pVal.ItemUID == "Ent_Age") & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) & (pVal.Before_Action == false)))
                {
                    bBotaoAgendarFoiClicado = true;
                    SBO_Application.ActivateMenuItem("2563");
                }

                //Abre tela de Atividades.
                if (((pVal.ItemUID == "Med_Age") & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) & (pVal.Before_Action == false)))
                {
                    bBotaoAgendarFoiClicado = true;
                    SBO_Application.ActivateMenuItem("2563");
                }

                //Clique do Botão Atualizar
                if (((pVal.ItemUID == "1") & (pVal.FormMode == 1) & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) & (pVal.Before_Action == false)))
                {
                    if (ambiente.possuiAmbientesCadastrados())
                    {
                       Atualizar();
                    }
                }

                //Criar os campos do formulario.
                if (pVal.Before_Action && pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_LOAD)
                {
                    oForm = SBO_Application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount);

                    AddItemsToForm();

                    oForm.Resize(300, 130);// (132, 100);

                    resumo = new Resumo(oForm);
                    fases = new Fases(oForm);
                }

                //Evento do Clique da aba Resumo.
                if (pVal.ItemUID == "Projeto1" & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED || pVal.EventType == SAPbouiCOM.BoEventTypes.et_CLICK) & pVal.Before_Action)
                {
                    resumo.disableCampos();
                    oForm.PaneLevel = 8;
                }

                //Evento do Clique da aba Fases.
                if (pVal.ItemUID == "Projeto2" & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED || pVal.EventType == SAPbouiCOM.BoEventTypes.et_CLICK) & pVal.Before_Action)
                {
                    oForm.PaneLevel = 9;
                }

                int panel = 9;
                if (pVal.ItemUID.StartsWith("Folder") & (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED || pVal.EventType == SAPbouiCOM.BoEventTypes.et_CLICK) & pVal.Before_Action)
                {
                    switch (pVal.ItemUID)
                    {
                        case "Folder1": panel = 9;
                            break;
                        case "Folder2": panel = 10;
                            break;
                        case "Folder3": panel = 11;
                            break;
                        case "Folder4": panel = 12;
                            break;
                        case "Folder5": panel = 13;
                            break;
                        case "Folder6": panel = 14;
                            break;
                        case "Folder7": panel = 15;
                            break;
                        case "Folder8": panel = 16;
                            break;
                        case "Folder9": panel = 17;
                            break;
                    }

                    oForm.PaneLevel = panel;
                }

                if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST)
                {
                    SAPbouiCOM.IChooseFromListEvent oCFLEvento = ((SAPbouiCOM.IChooseFromListEvent)(pVal));
                    string sCFL_ID = oCFLEvento.ChooseFromListUID;
                    SAPbouiCOM.Form oForm = SBO_Application.Forms.Item(FormUID);
                    SAPbouiCOM.ChooseFromList oCFL = oForm.ChooseFromLists.Item(sCFL_ID);

                    if (oCFLEvento.BeforeAction == false && sCFL_ID == "CFL1")
                    {
                        SAPbouiCOM.DataTable oDataTable = oCFLEvento.SelectedObjects;
                        string valItemName = null;
                        string valItemCode = null;
                        try
                        {
                            valItemCode = System.Convert.ToString(oDataTable.GetValue(0, 0));
                            valItemName = System.Convert.ToString(oDataTable.GetValue(1, 0));

                            string qtdEstoque = GetQtdEmEstoque(valItemCode);
                            ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C4").Cells.Item(pVal.Row).Specific).Value = qtdEstoque;

                            ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C0").Cells.Item(pVal.Row).Specific).Value = valItemCode;
                            ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C1").Cells.Item(pVal.Row).Specific).Value = valItemName;
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                    else if (oCFLEvento.BeforeAction == false && sCFL_ID == "CFL2")
                    {
                        SAPbouiCOM.DataTable oDataTable = oCFLEvento.SelectedObjects;
                        string valCarName = null;
                        string idFornecedor = null;
                        try
                        {
                            idFornecedor = System.Convert.ToString(oDataTable.GetValue(0, 0));
                            valCarName = System.Convert.ToString(oDataTable.GetValue(1, 0));

                            ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C6").Cells.Item(pVal.Row).Specific).Value = idFornecedor;
                            ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C3").Cells.Item(pVal.Row).Specific).Value = valCarName;
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }

                string coluna = pVal.ColUID;

                if (EventEnum == SAPbouiCOM.BoEventTypes.et_DOUBLE_CLICK && !pVal.BeforeAction)
                {
                    //Anexo de arquivo
                    if (coluna == "Ela_Amb_C7" || coluna == "Ela_Amb_C8" || coluna == "Ela_Amb_C9" || coluna == "Med_Amb_C1"
                                               || coluna == "Apv_Amb_C3" || coluna == "Ped_Amb_C7" || coluna == "Det_Amb_C7"
                                               || coluna == "Etg_Amb_C3" || coluna == "Mon_Amb_C3" || coluna == "Mon_Amb_C4"
                                               || coluna == "Mon_Amb_C5" || coluna == "Apv_Amb_C4" || coluna == "Ans_Amb_C0")
                    {
                        oNewItem = oForm.Items.Item(pVal.ItemUID);
                        oMatrix = ((SAPbouiCOM.Matrix)(oNewItem.Specific));
                        oEditItem = (SAPbouiCOM.EditText)oMatrix.Columns.Item(coluna).Cells.Item(pVal.Row).Specific;

                        GridComAnexo(oEditItem);
                    }

                    //Url
                    if (coluna == "Ped_Amb_C8" && ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Ped_Amb_C8").Cells.Item(pVal.Row).Specific).Value != "")
                    {
                        newProcess = new Process();
                        string valor = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Ped_Amb_C8").Cells.Item(pVal.Row).Specific).Value;
                        info = new ProcessStartInfo(valor);
                        newProcess.StartInfo = info;
                        newProcess.Start();

                    }
                }

                if (EventEnum == SAPbouiCOM.BoEventTypes.et_LOST_FOCUS && !pVal.BeforeAction)
                {
                    if (coluna == "Cmp_Amb_C2")
                    {
                        oNewItem = oForm.Items.Item("Det_Cmp");
                        oMatrix = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                        string qtd = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C2").Cells.Item(pVal.Row).Specific).String;
                        decimal teste = Convert.ToDecimal(qtd);
                        string estoque = ((SAPbouiCOM.EditText)oMatrix.Columns.Item("Cmp_Amb_C4").Cells.Item(pVal.Row).Specific).String;
                        decimal teste2 = Convert.ToDecimal(estoque);
                        if (qtd != "" && teste > teste2)
                        {
                            SBO_Application.MessageBox("Sem ítens sufucintes no estoque");
                        }
                    }
                }

                //Evento da grid de ambiente/análise crítica.
                if (!pVal.BeforeAction && pVal.ItemUID == "Apr_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_CLICK && pVal.ColUID == "#" && pVal.Row > 0)
                {

                    if (modificouAnsCritica)
                    {
                        SBO_Application.MessageBox("Vai atualizar");
                        Atualizar();
                        oForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE;
                        modificouAnsCritica = false;
                    }

                    //Instancia a matriz de ambiente da aba apresentação.
                    oNewItem = oForm.Items.Item("Apr_Amb");
                    SAPbouiCOM.Matrix matrixApresentacao;
                    matrixApresentacao = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Instancia a matriz de análise crítica da aba apresentação.
                    oNewItem = oForm.Items.Item("Ans_Amb");
                    SAPbouiCOM.Matrix matrixAnaliseCritica;
                    matrixAnaliseCritica = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Pega a coluna onde vai setar os valores pra o ambiente na matriz de análise crítica.
                    oColumnsAnaliseCritica = matrixAnaliseCritica.Columns;
                    oColumnAnaliseCritica = oColumnsAnaliseCritica.Item("Ans_Amb_C0");

                    //Pega o id do ambiente e a descrição do ambiente.
                    oEditItem = (SAPbouiCOM.EditText)matrixApresentacao.Columns.Item("Apr_Amb_C2").Cells.Item(pVal.Row).Specific;
                    SAPbouiCOM.EditText oItemGrid = (SAPbouiCOM.EditText)matrixApresentacao.Columns.Item("Apr_Amb_C0").Cells.Item(pVal.Row).Specific;
                    idAmbiente = int.Parse(oEditItem.String);
                    string nomeGrid = oItemGrid.String;

                    //Mostra na matriz de análise crítica qual ambiente selecionado.
                    oColumnAnaliseCritica.TitleObject.Caption = "Analise Crítica (" + nomeGrid + ")";
                    LoadGridAnaliseCritica();
                    countMatrixAnaliseCriticaAntes = matrixAnaliseCritica.RowCount;

                    if (matrixAnaliseCritica.RowCount == 0)
                    {
                        matrixAnaliseCritica.AddRow(1, 1);
                    }
                }
                //Evento da grid de ambiente/análise crítica.
                if (!pVal.BeforeAction && pVal.ItemUID == "Ans_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_KEY_DOWN && pVal.ColUID == "Ans_Amb_C0" && pVal.CharPressed == 9)
                {
                    oNewItem = oForm.Items.Item("Ans_Amb");
                    SAPbouiCOM.Matrix matrixAnaliseCritica;
                    matrixAnaliseCritica = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    oEditItem = (SAPbouiCOM.EditText)matrixAnaliseCritica.Columns.Item("Ans_Amb_C0").Cells.Item(matrixAnaliseCritica.RowCount).Specific;
                    string nome = oEditItem.String;

                    if (matrixAnaliseCritica.RowCount > 0 && nome != "")
                    {
                        matrixAnaliseCritica.AddRow(1, matrixAnaliseCritica.RowCount + 1);
                        ((SAPbouiCOM.EditText)matrixAnaliseCritica.Columns.Item("Ans_Amb_C0").Cells.Item(matrixAnaliseCritica.RowCount).Specific).Value = "";
                        ((SAPbouiCOM.EditText)matrixAnaliseCritica.Columns.Item("Ans_Amb_C1").Cells.Item(matrixAnaliseCritica.RowCount).Specific).Value = "";
                    }
                }

                if (pVal.ItemUID == "Ans_Amb" && pVal.ColUID == "Ans_Amb_C0" && pVal.ItemChanged && !pVal.BeforeAction)
                {
                    SBO_Application.MessageBox("Teste");
                    modificouAnsCritica = true;
                }

                if (!pVal.BeforeAction && pVal.ItemUID == "Fab_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_CLICK && pVal.ColUID == "Fab_#" && pVal.Row > 0)
                {
                    if (bGravouAvarias)
                    {
                        SBO_Application.MessageBox("Vai atualizar Avarias");
                        Atualizar();
                        oForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE;
                        bGravouAvarias = false;
                    }

                    oNewItem = oForm.Items.Item("Fab_Amb");
                    SAPbouiCOM.Matrix matrixFabrica;
                    matrixFabrica = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    oNewItem = oForm.Items.Item("Ava_Amb");
                    SAPbouiCOM.Matrix matrixAvarias;
                    matrixAvarias = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    SAPbouiCOM.Columns oColumnsAvarias = null;
                    SAPbouiCOM.Column oColumnAvarias = null;
                    oColumnsAvarias = matrixAvarias.Columns;
                    oColumnAvarias = oColumnsAvarias.Item("Ava_Amb_C0");

                    //Pega o id do ambiente e a descrição do ambiente.
                    oEditItem = (SAPbouiCOM.EditText)matrixFabrica.Columns.Item("Fab_Amb_C4").Cells.Item(pVal.Row).Specific;
                    SAPbouiCOM.EditText oItemGrid = (SAPbouiCOM.EditText)matrixFabrica.Columns.Item("Fab_Amb_C0").Cells.Item(pVal.Row).Specific;
                    iRowAmbiente = int.Parse(oEditItem.String);
                    string nomeGrid = oItemGrid.String;

                    oColumnAvarias.TitleObject.Caption = "Descrição (" + nomeGrid + ")";
                    LoadGridAvarias();
                    countMatrixAvariasAntes = matrixAvarias.RowCount;

                    if (matrixAvarias.RowCount == 0)
                    {
                        matrixAvarias.AddRow(1, 1);
                    }
                }

                if (!pVal.BeforeAction && pVal.ItemUID == "Ava_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_KEY_DOWN && pVal.ColUID == "Ava_Amb_C0" && pVal.CharPressed == 9)
                {
                    oNewItem = oForm.Items.Item("Ava_Amb");
                    SAPbouiCOM.Matrix matrixAvarias;
                    matrixAvarias = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    oEditItem = (SAPbouiCOM.EditText)matrixAvarias.Columns.Item("Ava_Amb_C0").Cells.Item(matrixAvarias.RowCount).Specific;
                    string nome = oEditItem.String;

                    if (matrixAvarias.RowCount > 0 && nome != "")
                    {
                        matrixAvarias.AddRow(1, matrixAvarias.RowCount + 1);
                        ((SAPbouiCOM.EditText)matrixAvarias.Columns.Item("Ava_Amb_C0").Cells.Item(matrixAvarias.RowCount).Specific).Value = "";
                        ((SAPbouiCOM.EditText)matrixAvarias.Columns.Item("Ava_Amb_C1").Cells.Item(matrixAvarias.RowCount).Specific).Value = "";
                    }
                }

                if (pVal.ItemUID == "Ava_Amb" && pVal.ColUID == "Ava_Amb_C0" && pVal.ItemChanged && !pVal.BeforeAction)
                {
                    SBO_Application.MessageBox("Teste Avarias");
                    bGravouAvarias = true;
                }

                //Evento da grid de ambiente/conferência medições.
                if (!pVal.BeforeAction && pVal.ItemUID == "Med_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_CLICK && pVal.ColUID == "#" && pVal.Row > 0)
                {
                    //Instancia a matriz de ambiente da aba medições.
                    oNewItem = oForm.Items.Item("Med_Amb");
                    SAPbouiCOM.Matrix matrixMedicoes;
                    matrixMedicoes = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Instancia a matriz de conferência medições da aba medições.
                    oNewItem = oForm.Items.Item("Med_Cnf");
                    SAPbouiCOM.Matrix matrixConferenciaMedicoes;
                    matrixConferenciaMedicoes = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Pega a coluna onde vai setar os valores para o ambiente na matriz de conferência medições.
                    oColumnsConferenciaMedicoes = matrixConferenciaMedicoes.Columns;
                    oColumnConferenciaMedicoes = oColumnsConferenciaMedicoes.Item("med_Cnf_C1");

                    //Pega o id do ambiente e a descrição do ambiente.
                    oEditItem = (SAPbouiCOM.EditText)matrixMedicoes.Columns.Item("Med_Amb_C2").Cells.Item(pVal.Row).Specific;
                    SAPbouiCOM.EditText oItemGrid = (SAPbouiCOM.EditText)matrixMedicoes.Columns.Item("Med_Amb_C0").Cells.Item(pVal.Row).Specific;
                    iIdAmbienteMedicao = int.Parse(oEditItem.String);
                    string nomeGrid = oItemGrid.String;

                    //Mostra na matriz de conferência medições qual ambiente selecionado.
                    oColumnConferenciaMedicoes.TitleObject.Caption = "Conferente (" + nomeGrid + ")";
                    LoadGridConferenciaMedicao();
                    countMatrixConfMedAntes = matrixConferenciaMedicoes.RowCount;

                    if (matrixConferenciaMedicoes.RowCount == 0)
                    {
                        matrixConferenciaMedicoes.AddRow(1, 1);
                        //Projetistas - Grid Conferencia de Medicao
                        loadComboEmGrid("Med_Cnf", "med_Cnf_C1", projetistas);
                    }
                }
                //Evento da grid de ambiente/conferência medições.
                if (pVal.CharPressed == 9 && !pVal.BeforeAction && pVal.ItemUID == "Med_Cnf" && EventEnum == SAPbouiCOM.BoEventTypes.et_KEY_DOWN && pVal.ColUID == "med_Cnf_C1")
                {
                    oNewItem = oForm.Items.Item("Med_Cnf");
                    SAPbouiCOM.Matrix matrixConferenciaMedicao;
                    matrixConferenciaMedicao = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    oEditItem = (SAPbouiCOM.EditText)matrixConferenciaMedicao.Columns.Item("Med_Cnf_C0").Cells.Item(matrixConferenciaMedicao.RowCount).Specific;
                    string data = oEditItem.String;
                    SAPbouiCOM.ComboBox combo = (SAPbouiCOM.ComboBox)matrixConferenciaMedicao.Columns.Item("med_Cnf_C1").Cells.Item(matrixConferenciaMedicao.RowCount).Specific;
                    string nome = combo.Value;

                    if (matrixConferenciaMedicao.RowCount > 0 && data != "" && nome != "")
                    {
                        matrixConferenciaMedicao.AddRow(1, matrixConferenciaMedicao.RowCount + 1);
                        ((SAPbouiCOM.EditText)matrixConferenciaMedicao.Columns.Item("Med_Cnf_C0").Cells.Item(matrixConferenciaMedicao.RowCount).Specific).Value = "";
                        //Projetistas - Grid Conferencia de Medicao
                        RemoveValoresDeCombo(ref combo);
                        loadComboEmGrid("Med_Cnf", "med_Cnf_C1", projetistas);
                        ((SAPbouiCOM.ComboBox)matrixConferenciaMedicao.Columns.Item("med_Cnf_C1").Cells.Item(matrixConferenciaMedicao.RowCount).Specific).Select("", SAPbouiCOM.BoSearchKey.psk_ByValue);
                        ((SAPbouiCOM.EditText)matrixConferenciaMedicao.Columns.Item("Med_Cnf_C2").Cells.Item(matrixConferenciaMedicao.RowCount).Specific).Value = "";

                    }
                }

                //Evento da grid de Entrega
                if (!pVal.BeforeAction && pVal.ItemUID == "Etg_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_CLICK && pVal.ColUID == "Etg_#" && pVal.Row > 0)
                {

                    if (modificouPendecia)
                    {
                        SBO_Application.MessageBox("Vai atualizar Pendencia");
                        Atualizar();
                        oForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE;
                        modificouPendecia = false;
                    }

                    //Instancia a matriz de ambiente da aba apresentação.
                    oNewItem = oForm.Items.Item("Etg_Amb");
                    SAPbouiCOM.Matrix matrixEntrega;
                    matrixEntrega = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Instancia a matriz de análise crítica da aba apresentação.
                    oNewItem = oForm.Items.Item("Pen_Amb");
                    SAPbouiCOM.Matrix matrixPendencia;
                    matrixPendencia = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    //Pega a coluna onde vai setar os valores pra o ambiente na matriz de Pendencia.
                    oColumnsPendencia = matrixPendencia.Columns;
                    oColumnPendencia = oColumnsPendencia.Item("Pen_Amb_C0");

                    //Pega o id do ambiente e a descrição do ambiente.
                    oEditItem = (SAPbouiCOM.EditText)matrixEntrega.Columns.Item("Etg_Amb_C6").Cells.Item(pVal.Row).Specific;
                    SAPbouiCOM.EditText oItemGrid = (SAPbouiCOM.EditText)matrixEntrega.Columns.Item("Etg_Amb_C0").Cells.Item(pVal.Row).Specific;
                    idAmbientePendencia = int.Parse(oEditItem.String);
                    string nomeAmbiente = oItemGrid.String;

                    //Mostra na matriz de Pendencia qual ambiente selecionado.
                    oColumnPendencia.TitleObject.Caption = "Ambiente (" + nomeAmbiente + ")";
                    LoadGridPendencias();
                    countMatrixPendenciaAntes = matrixPendencia.RowCount;

                    if (matrixPendencia.RowCount == 0)
                    {
                        matrixPendencia.AddRow(1, 1);
                    }
                }
                //Evento da grid de ambiente/análise crítica.
                if (!pVal.BeforeAction && pVal.ItemUID == "Pen_Amb" && EventEnum == SAPbouiCOM.BoEventTypes.et_KEY_DOWN && pVal.ColUID == "Pen_Amb_C0" && pVal.CharPressed == 9)
                {
                    oNewItem = oForm.Items.Item("Pen_Amb");
                    SAPbouiCOM.Matrix matrixPendencia;
                    matrixPendencia = ((SAPbouiCOM.Matrix)(oNewItem.Specific));

                    oEditItem = (SAPbouiCOM.EditText)matrixPendencia.Columns.Item("Pen_Amb_C0").Cells.Item(matrixPendencia.RowCount).Specific;
                    string nome = oEditItem.String;

                    if (matrixPendencia.RowCount > 0 && nome != "")
                    {
                        matrixPendencia.AddRow(1, matrixPendencia.RowCount + 1);
                        ((SAPbouiCOM.EditText)matrixPendencia.Columns.Item("Pen_Amb_C0").Cells.Item(matrixPendencia.RowCount).Specific).Value = "";
                        ((SAPbouiCOM.EditText)matrixPendencia.Columns.Item("Pen_Amb_C1").Cells.Item(matrixPendencia.RowCount).Specific).Value = "";
                    }
                }

                if (pVal.ItemUID == "Pen_Amb" && pVal.ColUID == "Pen_Amb_C0" && pVal.ItemChanged && !pVal.BeforeAction)
                {
                    SBO_Application.MessageBox("Teste Pendencia");
                    modificouPendecia = true;
                }
            }

            if (pVal.FormType == 651)
            {
                if (pVal.EventType != SAPbouiCOM.BoEventTypes.et_FORM_UNLOAD)
                {
                    oFormAtual = SBO_Application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount);

                    if (pVal.ItemUID == "Ata_Ativ" & pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED & !pVal.Before_Action)
                    {
                        abrirRelatorio("Ata de reuniao", oFormAtual.Items.Item("5").Specific.Value);
                    }

                    if (!pVal.Before_Action && (pVal.EventType == SAPbouiCOM.BoEventTypes.et_COMBO_SELECT) & pVal.ItemChanged & (pVal.ItemUID == "67"))
                    {
                        if (oFormAtual.Items.Item("67").Specific.Value == "M")
                        {
                            atividade.habilitaBotaoAta();
                        }
                        else
                        {
                            atividade.desabilitaBotaoAta();
                        }
                    }

                    if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_LOAD)
                    {

                        if (pVal.Before_Action)
                        {
                            atividade = new Atividade(oFormAtual);
                        }

                        if (bBotaoAgendarFoiClicado)
                        {
                            oFormPai = SBO_Application.Forms.GetFormByTypeAndCount(320, iUltimoFormTypeCount_SalesOpportunities);

                            sSalesOpportunities_Id = ((SAPbouiCOM.EditText)oFormPai.Items.Item("74").Specific).Value;
                            sBPCode = ((SAPbouiCOM.EditText)oFormPai.Items.Item("9").Specific).Value;

                            oFormAtual = SBO_Application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount);

                            ((SAPbouiCOM.EditText)oFormAtual.Items.Item("9").Specific).Value = sBPCode;

                            bBotaoAgendarFoiClicado = false;
                        }
                    }
                }
            }
        }
예제 #2
0
        private void SBO_Application_DataEvent(ref SAPbouiCOM.BusinessObjectInfo pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;

            if ((pVal.FormTypeEx == "320" & pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_DATA_LOAD) & (pVal.BeforeAction == false))
            {
                string idOOPR = ((SAPbouiCOM.EditText)oForm.Items.Item("74").Specific).Value;
                ambiente = new Ambiente(idOOPR);
                projetista = new Projetista(idOOPR);
                projetistas = projetista.getProjetistas();

                if (ambiente.possuiAmbientesCadastrados())
                {
                    //Seta todas a Matrizes para carregar os ambientes cadastrados.
                    LoadAmbientesInMatrix();
                    oMatrix.LoadFromDataSource();
                }

                //Grids com Tabela de Usuário - Inclui o select em um datatable e seta este datatable para a matriz específica.
                idAmbiente = 1000;
                iRowAmbiente = 1000;
                iIdAmbienteMedicao = 1000;
                idAmbientePendencia = 1000;
                LoadGridConferenciaMedicao();
                LoadGridAvarias();
                LoadGridPendencias();
                LoadGridItensComplementares();

                //Limpa a variável que pega o id do ambiente selecionado e carrega a grid de analise critica com parâmetro idAmbiente = 0
                LoadGridAnaliseCritica();

                /**** INÍCIO - CARREGAMENTO DE COMBOS *******/

                loadCombo("Ent_Amb", ambiente.getAmbientes());

                oEditItem = ((SAPbouiCOM.EditText)oForm.Items.Item("Ent_Det").Specific);
                string selectedValue = ((SAPbouiCOM.ComboBox)oForm.Items.Item("Ent_Amb").Specific).Value;
                oEditItem.Value = ambiente.getDescricaoEntrevista(selectedValue);

                //Apresentação - Pega o valor cadastrado na drop de projetistas, lista o nome e todos os projetistas.
                loadCombo("Apr_Proj", projetistas);
                //Entrevista - Pega o valor cadastrado na drop de projetistas, lista o nome e todos os projetistas.
                loadCombo("Ent_Proj", projetistas);
                //Medição - Pega o valor cadastrado na drop de projetistas, lista o nome e todos os projetistas.
                loadCombo("Med_Proj", projetistas);

                if (ambiente.possuiAmbientesCadastrados())
                {
                    //Projetistas - Grid Elaboração
                    loadComboEmGrid("Ela_Amb", "Ela_Amb_C2", projetistas);
                    //Projetistas - Grid Detalhamento
                    loadComboEmGrid("Det_Amb", "Det_Amb_C2", projetistas);
                    //Projetistas - Grid Verificação
                    loadComboEmGrid("Ver_Amb", "Ver_Amb_C2", projetistas);
                    //Projetistas - Grid Aprovação
                    loadComboEmGrid("Apv_Amb", "Apv_Amb_C1", projetistas);
                    //Projetistas - Grid Pedido
                    loadComboEmGrid("Ped_Amb", "Ped_Amb_C5", projetistas);
                    //Projetistas - Grid Fabrica
                    loadComboEmGrid("Fab_Amb", "Fab_Amb_C3", projetistas);
                    //Projetistas - Grid Montagem
                    loadComboEmGrid("Mon_Amb", "Mon_Amb_C1", projetistas);
                    //Projetistas - Grid Entrega
                    loadComboEmGrid("Etg_Amb", "Etg_Amb_C2", projetistas);
                }
                /**** FIM - CARREGAMENTO DE COMBOS *******/

                oNewItem = oForm.Items.Item("Apr_Proj");
                oComboItenPrjApr = ((SAPbouiCOM.ComboBox)(oNewItem.Specific));

                //Entrevista - Pega o valor cadastrado na drop de projetistas, lista o nome e todos os projetistas.
                oNewItem = oForm.Items.Item("Ent_Proj");
                oComboItenPrjEntrevista = ((SAPbouiCOM.ComboBox)(oNewItem.Specific));

                //Medição - Pega o valor cadastrado na drop de projetistas, lista o nome e todos os projetistas.
                oNewItem = oForm.Items.Item("Med_Proj");
                oComboItenPrjMed = ((SAPbouiCOM.ComboBox)(oNewItem.Specific));

                //LoadComboProjetistaCadastradoElaboracao(idOOPR);
                LoadComboProjetistaCadastradoOOPR(oComboItenPrjEntrevista, oComboItenPrjMed, oComboItenPrjApr, idOOPR);

                ContarLinhasIniciaisMatrix();
                resumo.disableCampos();
                PreencherCamposResumo(idOOPR);
            }

            if (pVal.FormTypeEx == "651" & pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_DATA_LOAD & !pVal.BeforeAction)
            {
                if (oFormAtual.Items.Item("67").Specific.Value == "M")
                {
                    atividade.habilitaBotaoAta();
                }
                else
                {
                    atividade.desabilitaBotaoAta();
                }
            }
        }