public void setGridFiltro() {
    super.setGridFiltro();
    for (Entry<String, GridFilter> entry : filtros.entrySet()) {
      if (entry.getKey().equals("comVenda.empEmpresa.empEmpresaId")) {
        ((GridLongFilter) entry.getValue()).setValueEquals(Ponte.getLogin().getEmpresaId());
      } else if (entry.getKey().equals("comVenda.empEmpresa.empEntidade.empEntidadeNome1")) {
        // empresa
        FiltroNumero fn = null;
        if (UtilClient.getAcaoPermitida(funcao, ComandoPermiteEmpresa.class) == null) {
          fn = new FiltroNumero("empEmpresaId", ECompara.IGUAL, Ponte.getLogin().getEmpresaId());
        }

        FieldDef[] fdEmpresa =
            new FieldDef[] {
              new IntegerFieldDef("empEmpresaId"),
              new IntegerFieldDef("empEntidade.empEntidadeId"),
              new StringFieldDef("empEntidade.empEntidadeNome1")
            };
        CoreProxy<EmpEmpresa> proxy = new CoreProxy<EmpEmpresa>(new EmpEmpresa(), fn);
        Store storeEmpresa = new Store(proxy, new ArrayReader(new RecordDef(fdEmpresa)), true);

        GridListFilter fEmpresa =
            new GridListFilter("comVenda.empEmpresa.empEntidade.empEntidadeNome1", storeEmpresa);
        fEmpresa.setLabelField("empEntidade.empEntidadeNome1");
        fEmpresa.setLabelValue("empEntidade.empEntidadeNome1");
        fEmpresa.setLoadingText(OpenSigCore.i18n.txtAguarde());
        entry.setValue(fEmpresa);
      } else if (entry.getKey().equals("prodEmbalagem.prodEmbalagemNome")) {
        // tipo
        FieldDef[] fdEmbalagem =
            new FieldDef[] {
              new IntegerFieldDef("prodEmbalagemId"), new StringFieldDef("prodEmbalagemNome")
            };
        CoreProxy<ProdEmbalagem> proxy = new CoreProxy<ProdEmbalagem>(new ProdEmbalagem());
        Store storeEmbalagem = new Store(proxy, new ArrayReader(new RecordDef(fdEmbalagem)), true);

        GridListFilter fEmbalagem =
            new GridListFilter("prodEmbalagem.prodEmbalagemNome", storeEmbalagem);
        fEmbalagem.setLabelField("prodEmbalagemNome");
        fEmbalagem.setLabelValue("prodEmbalagemNome");
        fEmbalagem.setLoadingText(OpenSigCore.i18n.txtAguarde());
        entry.setValue(fEmbalagem);
      }
    }
  }
  private ComboBox getConta() {
    FieldDef[] fdConta =
        new FieldDef[] {
          new IntegerFieldDef("finContaId"),
          new IntegerFieldDef("empEmpresa.empEmpresaId"),
          new StringFieldDef("empEmpresa.empEntidade.empEntidadeNome1"),
          new IntegerFieldDef("finBanco.finBancoId"),
          new StringFieldDef("finBanco.finBancoDescricao"),
          new StringFieldDef("finContaNome")
        };
    FiltroObjeto fo =
        new FiltroObjeto(
            "empEmpresa", ECompara.IGUAL, new EmpEmpresa(Ponte.getLogin().getEmpresaId()));
    CoreProxy<FinConta> proxy = new CoreProxy<FinConta>(new FinConta(), fo);
    final Store storeConta = new Store(proxy, new ArrayReader(new RecordDef(fdConta)), true);
    storeConta.addStoreListener(
        new StoreListenerAdapter() {
          public void onLoad(Store store, Record[] records) {
            mostrar();
            getTopToolbar().addSeparator();
            getTopToolbar().addButton(btnArquivo);
          }

          public void onLoadException(Throwable error) {
            MessageBox.confirm(
                OpenSigCore.i18n.txtEmbalagem(),
                OpenSigCore.i18n.msgRecarregar(),
                new ConfirmCallback() {
                  public void execute(String btnID) {
                    if (btnID.equalsIgnoreCase("yes")) {
                      storeConta.load();
                    }
                  }
                });
          }
        });

    cmbConta = new ComboBox(OpenSigCore.i18n.txtConta(), "finConta.finContaId", 200);
    cmbConta.setAllowBlank(false);
    cmbConta.setStore(storeConta);
    cmbConta.setListWidth(200);
    cmbConta.setTriggerAction(ComboBox.ALL);
    cmbConta.setMode(ComboBox.LOCAL);
    cmbConta.setDisplayField("finContaNome");
    cmbConta.setValueField("finContaId");
    cmbConta.setForceSelection(true);
    cmbConta.setEditable(false);

    return cmbConta;
  }
  public boolean setDados() {
    financeiros = new ArrayList<FinRecebimento>();
    boolean retorno = boletos.validar(financeiros);

    if (retorno) {
      classe.setFinRetornoQuantidade(financeiros.size());
      classe.setEmpEmpresa(new EmpEmpresa(Ponte.getLogin().getEmpresaId()));
      classe.setFinConta(new FinConta(Integer.valueOf(cmbConta.getValue())));
      classe.setFinRetornoCadastro(new Date());
      classe.setFinRetornoArquivo(arquivo);
    } else {
      new ToastWindow(OpenSigCore.i18n.txtListagem(), OpenSigCore.i18n.errLista()).show();
    }

    return retorno;
  }
  public void inicializar() {
    // campos
    FieldDef[] fd =
        new FieldDef[] {
          new IntegerFieldDef("comTrocaProdutoId"),
          new IntegerFieldDef("comTroca.comTrocaId"),
          new IntegerFieldDef("comTroca.empEmpresa.empEmpresaId"),
          new StringFieldDef("comTroca.empEmpresa.empEntidade.empEntidadeNome1"),
          new StringFieldDef("prodProduto.empFornecedor.empEntidade.empEntidadeNome1"),
          new IntegerFieldDef("prodProduto.prodProdutoId"),
          new StringFieldDef("comTrocaProdutoBarra"),
          new StringFieldDef("prodProduto.prodProdutoDescricao"),
          new StringFieldDef("prodProduto.prodProdutoReferencia"),
          new DateFieldDef("comTroca.comTrocaData"),
          new FloatFieldDef("comTrocaProdutoQuantidade"),
          new IntegerFieldDef("prodEmbalagem.prodEmbalagemId"),
          new StringFieldDef("prodEmbalagem.prodEmbalagemNome"),
          new FloatFieldDef("comTrocaProdutoValor"),
          new FloatFieldDef("comTrocaProdutoTotal"),
          new IntegerFieldDef("comTrocaProdutoOrdem")
        };
    campos = new RecordDef(fd);

    // colunas
    ColumnConfig ccId = new ColumnConfig(OpenSigCore.i18n.txtCod(), "comTrocaProdutoId", 75, true);
    ColumnConfig ccTrocaId =
        new ColumnConfig(
            OpenSigCore.i18n.txtCod() + " - " + OpenSigCore.i18n.txtTroca(),
            "comTroca.comTrocaId",
            100,
            true);
    ccTrocaId.setHidden(true);
    ColumnConfig ccEmpresaId =
        new ColumnConfig(
            OpenSigCore.i18n.txtCod() + " - " + OpenSigCore.i18n.txtEmpresa(),
            "comTroca.empEmpresa.empEmpresaId",
            100,
            true);
    ccEmpresaId.setHidden(true);
    ColumnConfig ccEmpresa =
        new ColumnConfig(
            OpenSigCore.i18n.txtEmpresa(),
            "comTroca.empEmpresa.empEntidade.empEntidadeNome1",
            100,
            true);
    ccEmpresa.setHidden(true);
    ColumnConfig ccFornecedor =
        new ColumnConfig(
            OpenSigCore.i18n.txtFornecedor(),
            "prodProduto.empFornecedor.empEntidade.empEntidadeNome1",
            200,
            true);
    ColumnConfig ccProdId =
        new ColumnConfig(
            OpenSigCore.i18n.txtCod() + " - " + OpenSigCore.i18n.txtProduto(),
            "prodProduto.prodProdutoId",
            100,
            true);
    ccProdId.setHidden(true);
    ColumnConfig ccBarra =
        new ColumnConfig(OpenSigCore.i18n.txtBarra(), "comTrocaProdutoBarra", 100, true);
    ColumnConfig ccProduto =
        new ColumnConfig(
            OpenSigCore.i18n.txtProduto(), "prodProduto.prodProdutoDescricao", 250, true);
    ColumnConfig ccReferencia =
        new ColumnConfig(OpenSigCore.i18n.txtRef(), "prodProduto.prodProdutoReferencia", 100, true);
    ColumnConfig ccData =
        new ColumnConfig(OpenSigCore.i18n.txtData(), "comTroca.comTrocaData", 75, true, DATA);
    ColumnConfig ccEmbalagemId =
        new ColumnConfig(
            OpenSigCore.i18n.txtCod() + " - " + OpenSigCore.i18n.txtEmbalagem(),
            "prodEmbalagem.prodEmbalagemId",
            100,
            true);
    ccEmbalagemId.setHidden(true);
    ccEmbalagemId.setFixed(true);
    ColumnConfig ccEmbalagem =
        new ColumnConfig(
            OpenSigCore.i18n.txtEmbalagem(), "prodEmbalagem.prodEmbalagemNome", 75, true);
    ColumnConfig ccOrdem =
        new ColumnConfig(OpenSigCore.i18n.txtOrdem(), "comTrocaProdutoOrdem", 100, true);
    ccOrdem.setHidden(true);

    // somarotios
    SummaryColumnConfig ccQuantidade =
        new SummaryColumnConfig(
            SummaryColumnConfig.SUM,
            new ColumnConfig(
                OpenSigCore.i18n.txtQtd(), "comTrocaProdutoQuantidade", 50, true, NUMERO),
            NUMERO);
    SummaryColumnConfig ccValor =
        new SummaryColumnConfig(
            SummaryColumnConfig.SUM,
            new ColumnConfig(
                OpenSigCore.i18n.txtValor(), "comTrocaProdutoValor", 75, true, DINHEIRO),
            DINHEIRO);
    SummaryColumnConfig ccTotal =
        new SummaryColumnConfig(
            SummaryColumnConfig.SUM,
            new ColumnConfig(
                OpenSigCore.i18n.txtTotal(), "comTrocaProdutoTotal", 75, true, DINHEIRO),
            DINHEIRO);

    BaseColumnConfig[] bcc =
        new BaseColumnConfig[] {
          ccId,
          ccTrocaId,
          ccEmpresaId,
          ccEmpresa,
          ccFornecedor,
          ccProdId,
          ccBarra,
          ccProduto,
          ccReferencia,
          ccData,
          ccQuantidade,
          ccEmbalagemId,
          ccEmbalagem,
          ccValor,
          ccTotal,
          ccOrdem
        };
    modelos = new ColumnModel(bcc);

    if (UtilClient.getAcaoPermitida(funcao, ComandoPermiteEmpresa.class) == null) {
      filtroPadrao =
          new FiltroObjeto(
              "comTroca.empEmpresa",
              ECompara.IGUAL,
              new EmpEmpresa(Ponte.getLogin().getEmpresaId()));
    }
    super.inicializar();
  }