Virtualização das dimensões financeiras
Estou trabalhando em um projeto, onde surgiu a necessidade de virtualizarmos as dimensões financeiras. Depois de alguns problemas, chegamos ao conjunto de tabelas exatas para que seja realizada a virtualização desta funcionalidade no ax, veja abaixo:
Tabelas
- Dimensions
- DimensionActiveHierarchyBackup
- DimensionHierarchyCombination
- DimensionCollection
- DimensionPriorityTable
- DimensionSetCombination
- DimensionSetCombinationDuplicate
- DimensionSetCombinationTemp
- DimensionSetCombinationValidated
- DimensionSetHierarchyTable
- DimensionSetRuleTable
- DimensionSetRuleCollection
- DimensionSetTable
- LedgerRowDef
- LedgerRowDefErrorLog
- LedgerRowDefLine
- LedgerRowDefLineCalc
- LedgerTable
Importante
Criar uma “TableCollection” somente para esse conjunto de tabelas.
Espero ter ajudado.
Abraços.
Utilitário de Preenchimento
Boa tarde pessoal…
Hoje vou postar aqui sobre uma ferramente muito legal que o Dynamics AX 2009 possui e meu amigo Paulo Sergio me mostrou, que se chama “Utilitário de Preenchimento.” Agora todo munde deve estar se perguntando oque é isso ou pra que serve isso ?
O que é?
É uma ferramenta que o AX 2009 possui para fazer carga na base de dados em massa.
Pra que server?
É bem simples, sabe aqueles “jobs” que todos nós fazemos para preencher um determinado campo com o mesmo valor? Utilizando o utilitário de preenchimento podemos fazer isso com apenas alguns cliques.
Como utilizar?
Para ativar o utilitário é bem simples vá em Administração> Configurações> Sistema> Configuração. Depois disso procure o módulo Administração e Habilite o checkbox “Utilitário de Preenchmento”.
Feito isso basta clicar com o botão direito em qualquer campo do AX 2009, selecionar a opção “Utilitário de Preenchimento” e seguir o passo a passo.
PS: Não vou colocar hoje aqui como funciona pois achei bem simples de utilizar, caso alguém tenha dificuldades em utilizar só postar ou mandar email que coloco um tutorial.
Abraços,
Peterson Ferreira
Pegar datasource filtrado em um formulário
Fala pessoal…
Vou postar hoje uma dica bem legal que fiquei me debatendo como fazer ontem, e pode ser a dúvida de outros. É bem simples, mas como falei pode ser a dúvida de outros:
//Inicio <dynamicsaxbr>
DataSource_ds.queryRun().query();
//Fim
Com issso você pode instânciar um objeto QueryRun e fazer o loop nos resultados, assim:
//Start
QueryRun queryRun;
;
queryRun = new QueryRun(new Query(InventTable_ds.queryRun().query()));
while(queryRun.next())
{
//Faça
}
//End
Abraços,
Peterson Ferreira
Pacote de atualização com a NF-e e Integração Fiscal
Fala galera…
É com muita alegria que venho falar para vocês que a Microsoft disponibilizou hoje o pacote de atualização do Ax2009 contendo a integração do Ax diretamente com a SEFAZ para emissão da NF-e.
Mais informações www.daxdev.com.br
Fiquem ligados no blog que passei acima que em breve terão mais informações!!!
Abraços,
Peterson Ferreira
Acessando permissões de usuários utilizando X++
Fala galera, hoje vou falar de um assunto bem interessante, e não encontrei ainda na net. Dei uma pesquisada fiz uns testes e espero que gostem.
Vamos lá…
Como todos sabem o Microsoft Dynamics AX possue as Security Keys que controlam o acesso de usuários. Com a security key bem configurada é possível dar acesso diferenciado em alguns campos ou até mesmo fazer validações diferentes de acordo com cada usuário.
Vou colocar logo abaixo algumas validações que podem ser feitas no “X++”, levando em consideração as security keys.
//Start
if (hasSecurityKeyAccess(securitykeyNum(BasicLedger), AccessType::View))
{
//Executa o código se o usuário tiver acesso.
}
//End
Para verificar se o usuário tem acesso a uma determinada tabela existe também uma função pré determinada assim como os campos de uma tabela também veja:
//Start
if (hasTableAccess (TableNum (custTable) AccessType::Edit))
{
//Executa o código se o usuário tiver acesso.
}
//End
//Start
if (hasFieldAccess (TableNum (custTable fieldnum) (custTable, AccountNum) AccessType::Delete))
{
//Executa o código se o usuário tiver acesso.
}
//End
O Base Enum “AccessType”, determina o tipo de acesso que o usuário terá.
Todos os métodos estão na classe Global, sendo assim estes métodos podem ser chamados em qualquer momento no X++.
PS: Galera, desculpa o tempo sem postar, é que mudei de trampo e ta uma correira danada! Mas enfim, espero que gostem.
Abraços,
Peterson Ferreira


