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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.03.2007, 16:52   #1  
Salha is offline
Salha
Участник
 
2 / 10 (1) +
Регистрация: 21.03.2007
Программно добавить поле
Подскажите, можно ли программно добавить поле в таблицу?
Как и где посмотреть это можно?
Старый 21.03.2007, 17:22   #2  
Dudnik Anton is offline
Dudnik Anton
Участник
 
9 / 24 (1) +++
Регистрация: 23.03.2004
SystemDocumentation://Classes/AOTTableFieldList
SystemDocumentation://Classes/AOTTableFieldList

X++:
AOTTableFieldList tfl = infolog.findNode('\\DataDictionary\\Tables\\TutorialJournalName\\Fields');
if (!tfl.AOTFindChild('NewEnum'))
{
        tfl.addEnum('NewEnum');  // adds the field NewEnum
}
Старый 21.03.2007, 23:33   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Salha Посмотреть сообщение
Подскажите, можно ли программно добавить поле в таблицу?
Как и где посмотреть это можно?
Посмотреть можно в зарплате.

Пожалуйста не делайте этого.

Если вам нужна разовая процедура, то лучше создайте xpo-файл и импортируйте его.
Если вы собираетесь заниматься подобным извратом регулярно, то

Во-первых, вам придется управлять синхронизацией. При работающих пользователях проще повеситься, нежели гарантировать, что ваше поле реально создасться.
Во-вторых, программное создание создаст в текущий слой. Что резко добавит вам гемора, если вы работаете с несколькими слоями.

Если при этом вы запоминаете данные о созданных полях в базе, а в дальнейшем правки будут выполняться в другом слое, то скорее всего произойдет рассинхронизация структуры данных и ваших записей (поскольку удалить поле, объявленное в верхнем уровне, нельзя)
__________________
полезное на axForum, github, vk, coub.
Старый 22.03.2007, 10:18   #4  
Salha is offline
Salha
Участник
 
2 / 10 (1) +
Регистрация: 21.03.2007
Спасибо за советы.

Цитата:
Посмотреть можно в зарплате.
Где конкретно не подскажите.

Подобный изврат мне нужен одноразово. -)
Старый 22.03.2007, 11:12   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Salha Посмотреть сообщение
Где конкретно не подскажите.
Вот ведь...
Как скажете.

метод таблицы RPayCalendarTimeTable.validateWrite()
метод таблицы RPayCalendarTimeTable.delete()

Кстати, никогда не вставляйте изменение данных в validateWrite()

Срабатывают эти методы при работе с формой
Главное меню \ Расчеты с персоналом \ Учет рабочего времени \ Настройки \ Справочник времен
__________________
полезное на axForum, github, vk, coub.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Добавить поле в таблицу Manner DAX: Программирование 5 27.02.2008 08:13
Как программно добавить DataSource в процессе работы формы Владимир Максимов DAX: Программирование 1 29.11.2006 18:28
Программно добавить пункт меню Wamr DAX: Программирование 20 24.10.2006 09:14
Как в AddRange() добавить поле Dimension[2] Владимир Максимов DAX: Программирование 13 27.02.2004 11:27
Добавить поле в таблицу -> обновление Datasource Surok DAX: Программирование 1 21.10.2002 14:03
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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