AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.02.2011, 12:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,617 / 848 (80) +++++++
Регистрация: 28.10.2006
axforum blogs: Формат адресов. AddressMap_RU
Источник: http://axforum.info/forums/blog.php?b=225
==============

В локализованной Dynamics Ax 2009 можно видеть разность отображения полей в зависимости от страны.
Для стран настраивается формат адреса(Основное -> Настройка -> Формат адреса) и тип адреса (Основное -> Настройка -> Страна/регион).

К примеру на форме Банк:


Если есть потребность при создании новой формы вывести вкладку с Адресами, то приведу список объектов для модификации:
  1. В Вашей таблице создаем поля для адреса. Список полей и их форматов можно скопировать с
    • \Data Dictionary\Maps\AddressMap\Fields
    • \Data Dictionary\Maps\AddressMap_RU\Fields
    Сопоставим свою таблицу с полями в Map(ах) в Mappings.
  2. В методе \Classes\FormRunListener_Address_RU\addressInfo
    добавим код:
    X++:
    case formstr(NewMyForm) : return [[#AddressGroup, tablenum(AddressMap)]];
    #AddressGroup стандартный макрос (\Macros\Address_RU), типичных названий групп для списка полей адресов.

    NewMyForm - ваша форма. Где есть группа \Forms\NewMyForm\Designs\Design\[Tab:Tab]\[TabPage:Address]\[Group:AddressGroup] с выставленными свойствами DataGroup = Address, AutoDataGroup = Yes.

    В вашей таблице есть группы полей:
    • \Data Dictionary\Tables\NewMyTable\Field Groups\Address (список полей на примере Maps\AddressMap)
    • \Data Dictionary\Tables\NewMyTable\Field Groups\Address_RU (список полей на примере Maps\AddressMap_RU )
  3. В таблице NewMyTable создаем методы
    • \Data Dictionary\Tables\NewMyTable\Methods\modifiedField
      X++:
      public void modifiedField(fieldId _fieldId){ ; super(_fieldId); this.AddressMap::modifiedField(_fieldId); }
    • \Data Dictionary\Tables\NewMyTable\Methods\validateField
      X++:
      public boolean validateField(fieldId fieldId){ boolean ret; ; if(!this.AddressMap::validatePostalCode(fieldId)) { return false; } ret = super(fieldId); /* if (ret) { switch (fieldId) { case (fieldnum(NewMyTable, INN)): ret = CompanyInfo::checkInn_RU(this.INN); break; } } */ return ret;}
При запуске формы ваши поля адреса сопоставятся с полями МАР(ов), что в результате позволит использовать стандартные методы lookup*, modified*, make* и т.д.

На ваше форме смена значения в поле Страна/регион динамически изменит поля адреса.


Источник: http://axforum.info/forums/blog.php?b=225
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
Теги
address

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Microsoft Dynamics CRM Team Blog: Welcome to the World of Dialogs - Part 1 Blog bot Dynamics CRM: Blogs 0 02.02.2011 21:11
DynamicsAxSCM: Personalization of Role Centers in Dynamics AX 2009 Blog bot DAX Blogs 0 21.06.2010 16:05
Российский формат адресов в DAX 2009 Lex304 DAX: Функционал 1 02.10.2009 19:43
Мелкомягкий CRM: Панель управления для MS CRM с помощью Reporting Services Blog bot Dynamics CRM: Blogs 1 24.08.2009 14:41
ALEG: Блог переехал на новую площадку tools4cio.ru Blog bot DAX Blogs 0 23.02.2009 18:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:43.