Dynamics AX 4.0, abrindo formulário sem aplicar filtro no registro atual

StackOverflow https://stackoverflow.com/questions/1320414

  •  19-09-2019
  •  | 
  •  

Pergunta

Tenho formulário com grade VendTable por exemplo, que tem campo CustAccount.

Eu quero botão lugar, clique no que abrirá forma CustTable onde todos os clientes são visíveis.

Se eu apenas colocar CustTable menuitem, em seguida, clicando nele abrirá forma CustTable, mas desta forma apenas um registro é exibido - que tem o mesmo AccountNum como em vendTable.CustAccount.

Como abrir CustTable todo? Existe uma solução melhor do que o botão de criar, e em seguida, usar ClassFactory :: FormRunOnClient a forma de exibição?

PS. Preciso botão, então RMB -.> "Vá para a tabela de formulário principal" não conta

Foi útil?

Solução

O problema é que o registro VendTable é aplicado como um argumento para a forma CustTable, que então cria um dynalink. A solução é evitar o argumento.

Substitua o método clicked no item de menu de exibição CustTable assim:

void clicked()
{
    this.menufunction().run(new Args(element));
}

Isto exige a forma CustTable com o objeto chamador somente e sem o argumento registro.

Outras dicas

Eu sei que esta é uma questão bastante antigo, mas se alguém vem aqui procurando a resposta, basta chamar o método clearDynalinks() no objeto QueryBuildDataSource.

Por exemplo, você criou um formulário e ele é automaticamente filtrar a sua fonte de dados por causa das Dynalinks que Dynamics cria automaticamente, você resolvê-lo, colocando o seguinte código dentro do método init(), em seu formulário de fonte de dados:

QueryBuildDatasource qbds;
;


qbds = this.query().dataSourceTable(tablenum(MyTableName));
qbds.clearDynalinks();

// Next line is optional, it clears initial ranges
qbds.clearRanges();

// if you need to add any ranges you can do it right after you clear the initial dynalinks / ranges

Hope isso ajuda ...

Você tem 2 opções, você pode criar um botão e substituir seu método clicado (), ou usar um MenuItemButton e atribuir um MenuItem Acção a ele.

Usando MenuItems é uma prática recomendada, porque permite que você use a estrutura de segurança e configuração do AX. Você pode associar uma classe para o MenuItem e no método main () da classe você pode executar as coisas FormRunOnClient (), conforme necessário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top