private static void DeclararEventos() { var eventFilters = new EventFilters(); eventFilters.Add(BoEventTypes.et_MENU_CLICK); try { #region :: Forms Cadastro Básico var formGrupoDeItens = new FormGrupoDeItens(); var formUtilizacaoBloqueada = new FormUtilizacaoBloqueada(); var formConfiguracaoPeneira = new FormConfiguracaoPeneira(); var formCertificado = new FormCertificado(); var formMetodoFinanceiro = new FormMetodoFinanceiro(); var formModalidade = new FormModalidade(); var formSafra = new FormSafra(); var formTipoOperacao = new FormTipoOperacao(); var formUnidadeComercial = new FormUnidadeComercial(); var formParticipante = new FormParticipante(); var formsCadastroBasico = new List <SAPHelper.Form>() { formGrupoDeItens, formUtilizacaoBloqueada, formConfiguracaoPeneira, formCertificado, formMetodoFinanceiro, formModalidade, formSafra, formTipoOperacao, formUnidadeComercial, formParticipante }; #endregion #region :: Forms Detalhe de Contrato var formPreContrato = new FormPreContrato(); var formContratoFinal = new FormContratoFinal(); var formPreContratoAberturaPorPeneira = new FormPreContratoAberturaPorPeneira(); var formContratoFinalAberturaPorPeneira = new FormContratoFinalAberturaPorPeneira(); var formPreContratoDetalheCertificado = new FormPreContratoDetalheCertificado(); var formContratoFinalDetalheCertificado = new FormContratoFinalDetalheCertificado(); var formPreContratoComissoes = new FormPreContratoComissoes(); var formContratoFinalComissoes = new FormContratoFinalComissoes(); var formsDetalheContrato = new List <SAPHelper.Form>() { formPreContratoAberturaPorPeneira, formContratoFinalAberturaPorPeneira, formPreContratoDetalheCertificado, formContratoFinalDetalheCertificado, formPreContratoComissoes, formContratoFinalComissoes }; var formSelecaoDocMKT = new FormSelecaoDocMKT(); #endregion #region :: Form SAP var formUsuarios = new FormUsuarios(); var formPedidoCompra = new FormPedidoCompra(); var formNotaFiscalEntrada = new FormNotaFiscalEntrada(); var formAdiantamentoFornecedores = new FormAdiantamentoFornecedor(); var formRecebimentoMercadoria = new FormRecebimentoMercadoria(); var formDevolucaoMercadoria = new FormDevolucaoMercadoria(); var formDevNotaFiscalEntrada = new FormDevNotaFiscalEntrada(); var formsPadraoSAP = new List <SAPHelper.Form>() { formUsuarios, formPedidoCompra, formNotaFiscalEntrada, formAdiantamentoFornecedores, formRecebimentoMercadoria, formDevolucaoMercadoria, formDevNotaFiscalEntrada }; #endregion #region :: Grupos de Forms var formsVisible = new List <SAPHelper.Form>() { formPreContrato, formContratoFinal, formSelecaoDocMKT }; formsVisible.AddRange(formsCadastroBasico); formsVisible.AddRange(formsDetalheContrato); #endregion FormEvents.DeclararEventos(eventFilters, new List <MapEventsToForms>() { new MapEventsToForms(BoEventTypes.et_FORM_VISIBLE, formsVisible), new MapEventsToForms(BoEventTypes.et_FORM_LOAD, formsPadraoSAP), new MapEventsToForms(BoEventTypes.et_COMBO_SELECT, new List <SAPHelper.Form>() { formPreContrato, formContratoFinal, formPreContratoComissoes, formContratoFinalComissoes }), new MapEventsToForms(BoEventTypes.et_VALIDATE, new List <SAPHelper.Form>() { formPreContrato, formContratoFinal }), new MapEventsToForms(BoEventTypes.et_CHOOSE_FROM_LIST, new List <SAPHelper.Form>() { formPreContrato, formPreContratoAberturaPorPeneira, formContratoFinal, formContratoFinalAberturaPorPeneira }), new MapEventsToForms(BoEventTypes.et_FORM_DATA_ADD, new List <SAPHelper.Form>() { formPreContrato, formContratoFinal, formCertificado, formMetodoFinanceiro, formModalidade, formSafra, formTipoOperacao, formUnidadeComercial, formParticipante }), new MapEventsToForms(BoEventTypes.et_FORM_DATA_UPDATE, new List <SAPHelper.Form>() { formPreContrato, formContratoFinal, formCertificado, formMetodoFinanceiro, formModalidade, formSafra, formTipoOperacao, formUnidadeComercial, formParticipante }), new MapEventsToForms(BoEventTypes.et_FORM_DATA_LOAD, new List <SAPHelper.Form>() { formPreContrato, formContratoFinal }), new MapEventsToForms(BoEventTypes.et_FORM_CLOSE, new List <SAPHelper.Form>() { formPreContratoDetalheCertificado, formPreContratoComissoes, formContratoFinalDetalheCertificado, formContratoFinalComissoes, formContratoFinal }), new MapEventsToForms(BoEventTypes.et_ITEM_PRESSED, new List <SAPHelper.Form>() { formPreContrato, formContratoFinal, formPreContratoAberturaPorPeneira, formPreContratoDetalheCertificado, formPreContratoComissoes, formContratoFinalAberturaPorPeneira, formContratoFinalDetalheCertificado, formContratoFinalComissoes, formGrupoDeItens, formUtilizacaoBloqueada, formConfiguracaoPeneira, formPedidoCompra, formNotaFiscalEntrada, formAdiantamentoFornecedores, formRecebimentoMercadoria, formDevolucaoMercadoria, formDevNotaFiscalEntrada, formSelecaoDocMKT }), new MapEventsToForms(BoEventTypes.et_MATRIX_LINK_PRESSED, new List <SAPHelper.Form>() { formPreContrato, formContratoFinal }), new MapEventsToForms(BoEventTypes.et_DOUBLE_CLICK, new List <SAPHelper.Form>() { formPreContrato, formContratoFinal }), new MapEventsToForms(BoEventTypes.et_LOST_FOCUS, new List <SAPHelper.Form>() { formContratoFinal }), }); var formsAdicionarNovo = new List <SAPHelper.Form>() { formPreContrato, formContratoFinal }; formsAdicionarNovo.AddRange(formsCadastroBasico); FormEvents.DeclararEventosInternos(EventosInternos.AdicionarNovo, formsAdicionarNovo); FormEvents.DeclararEventosInternos(EventosInternos.Pesquisar, new List <SAPHelper.Form>() { formPreContrato, formContratoFinal }); FormEvents.DeclararEventosInternos(EventosInternos.Duplicar, formPedidoCompra); } catch (Exception e) { Dialogs.PopupError("Erro ao declarar eventos de formulário.\nErro: " + e.Message); } try { Global.SBOApplication.SetFilter(eventFilters); } catch (Exception e) { Dialogs.PopupError("Erro ao setar eventos declarados da aplicação.\nErro: " + e.Message); } Global.SBOApplication.AppEvent += AppEvent; Global.SBOApplication.ItemEvent += FormEvents.ItemEvent; Global.SBOApplication.FormDataEvent += FormEvents.FormDataEvent; Global.SBOApplication.MenuEvent += Menu.MenuEvent; }
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); } }