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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.06.2018, 17:07   #1  
SuperStar88 is offline
SuperStar88
Участник
 
81 / 10 (1) +
Регистрация: 11.08.2017
? Получить номер источника данных по имени (ax 2009)
В классе используется форма диалога с источниками данных. Сейчас источник данных берётся по номеру
X++:
formBuildDataSource     = dialog.form().dataSource(7);
Как сделать, чтобы брался по имени? Для надёжности,а то вдруг какой-то удалиться или добавится, и чтобы не высчитывать, какой он там по счёту
Старый 21.06.2018, 17:48   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Не совсем понятно что вам надо но может это пригодится.

\Classes\SysFormDataSource
Старый 22.06.2018, 12:57   #3  
SuperStar88 is offline
SuperStar88
Участник
 
81 / 10 (1) +
Регистрация: 11.08.2017
мне нужно вместо
formBuildDataSource = dialog.form().dataSource(7);

написать что-то типа такого
formBuildDataSource = dialog.form().dataSource(dataSourceName);
Старый 22.06.2018, 13:36   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Вообще-то, параметр для метода formRun.DataSource() указан как anyType. Т.е. вполне можно указать строку, как Вы хотите. Просто это должна быть текстовая константа или строковая переменная

X++:
formBuildDataSource = dialog.form().dataSource('dataSourceName');

Но я бы делал перебор всех источников данных, чтобы найти нужный источник по TableId. Поскольку как порядковый номер, так и имя источника данных в форме слишком уж легко могут быть изменены при очередной модификации формы

X++:
    int             nextI;
    FormDataSource  formDataSource;

    for (nextI = 1; nextI <= formRun.dataSourceCount(); nextI++)
    {
        formDataSource = formRun.dataSource(nextI);
        switch (formDataSource.table())
        {
        case tablenum(InventTable) :
              (...)
              break;

        case tablenum(SalesLine)  :
              (...)
              break;
        }
    }
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: SuperStar88 (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Обновление данных из Excel в AX 2009 AXcons DAX: Функционал 10 24.07.2015 12:59
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
semanticax: Dynamics AX 2009 Installation - Application Blog bot DAX Blogs 0 22.12.2010 08:11
AX UK: Microsoft Dynamics AX 2009 Exam Deadline extended to 1st July 2009 Blog bot DAX Blogs 0 03.12.2008 19:05
Arijit Basu: AX 2009 Documents Blog bot DAX Blogs 0 30.08.2008 13:05

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

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

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