示例#1
0
        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());
            }
        }
示例#2
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);
            }
        }