public override void OnBeforeMatrixLinkPressed(string FormUID, ref ItemEvent pVal, out bool BubbleEvent) { base.OnBeforeMatrixLinkPressed(FormUID, ref pVal, out BubbleEvent); if (pVal.ColUID == _matrizDocumentos.Codigo.ItemUID) { var mtx = GetMatrix(FormUID, _matrizDocumentos.ItemUID); var dt = GetDatatable(FormUID, _matrizDocumentos.Datasource); int codigo = dt.GetValue("DocEntry", pVal.Row - 1);//mtx.Columns.Item(pVal.ColUID).Cells.Item(pVal.Row).Specific.Value; string objtype = mtx.Columns.Item(_matrizDocumentos.TipoDocumento.ItemUID).Cells.Item(pVal.Row).Specific.Value; var form = new HandlerTipoDeObjeto().GetByObjectType(Int32.Parse(objtype)).Form; form.Abrir(codigo.ToString()); } }
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); } }