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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.02.2007, 10:56   #1  
dinai is offline
dinai
Участник
 
28 / 10 (1) +
Регистрация: 15.08.2006
Как можно изменить системное поле createddate. Это поле входит в состав группы системных полей Administration. Заполнение этих полей в большинстве таблиц происходит при включении соответствующей опции (свойсва в таблице). Фикр\сируются автор и дата модификаций записий таблицы. Как реализовано все это. Наверняка есть некая таблица или связанные таблицы, где есть соответствие номера таблицы, RecId, и все эти системные поля.....Как называется эта таблица и как можно изменить системное поле, например, дату создания записи средствами Аксапты?
Старый 15.02.2007, 11:04   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DiNai Посмотреть сообщение
Как можно изменить системное поле createddate.
Зачем?
Это поле замечательно именно тем, что оно системное.
Если вам нужно свое поле - создайте его.

Цитата:
Сообщение от DiNai Посмотреть сообщение
Фикр\сируются автор и дата модификаций записий таблицы. Как реализовано все это. Наверняка есть некая таблица или связанные таблицы, где есть соответствие номера таблицы, RecId, и все эти системные поля.....Как называется эта таблица и как можно изменить системное поле, например, дату создания записи средствами Аксапты?
Номера таблиц и прочих объектов в AOT.
AOT - это визуальное представление псевдотаблиц UtilElements и UtilIdElements.
Для работы с AOT существует семейство классов Dict* (ищите, обсуждалось)

RecId управляется таблицей SystemSequences (ищите, обсуждалось)

Еще раз: Системное поле изменять не надо.
Если нужно поля с вашим поведением, то создайте свое поле.

Если вы все-таки хотите изменять, то http://axforum.info/forums/showthread.php?t=16743
__________________
полезное на axForum, github, vk, coub.
Старый 15.02.2007, 11:33   #3  
dinai is offline
dinai
Участник
 
28 / 10 (1) +
Регистрация: 15.08.2006
Спасибо за внимание к моему вопросу. Я совершенно ясно предствавляю с какой целью реализована система визирования данных о модификакиях записей таблиц, тем более что истоки ИС западные, а там, как известно, выполнил операцию-поставил подпись таким образом. Удобно. Можно смотреть кто и когда сделал последние изменения.
Но изменение значения поля задумано мной для некоторых записей совсем не с целью, просто записи по дате создания должны попадать в некий отчетный период.
Я не очень пока не очень хорошо освоила X++. И поэтому еще один вопрос: как можно присвоить полю createddate новое значение строкой переменной. Здесь речь идет о приведении типорв данных и конечно, нужно помнить, что перед и после добавления изменений в поле даты нужно изменить свойство этого поля, чтобы соответственно, можно было вносить обновить его. Поэтому выше я и спрашивала как реализована физически запись системных полей? Достаточно ли будет изменить поле только в таблице или нужно все таки менять в общей таблице, где хранятся все записи с номерами таблиц и заполненными системными полями?
Старый 15.02.2007, 11:44   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DiNai Посмотреть сообщение
И поэтому еще один вопрос: как можно присвоить полю createddate новое значение строкой переменной.
1. Как скажете, хозяин - барин. метод table.overwriteSystemfields() разрешит переписывать системные поля
2. в поле с типом дата нельзя присвоить значение строковой переменной. либо пользуйтесь функцией str2date, либо записайте константу как литерал типа дата. Например, 31\01\2007 (без кавычек и апострофов)
__________________
полезное на axForum, github, vk, coub.
Старый 15.02.2007, 12:06   #5  
dinai is offline
dinai
Участник
 
28 / 10 (1) +
Регистрация: 15.08.2006
Но добавление поля, которое потом и не понадобится больше-тоже не выход......должно же быть еще какое-то решение.....сбросить на время запрет на изменение значения поля....
Можно проще открыть эту таблицу в Enterprice manadger....но для этого нужен прямой доступ к БД и конечно же не в рабочем режиме, когда с таблицей работают другие пользователи.....я так делала...и почему-то некая таблица DictonaryTable в памяти осталась...хотя в 3 версии Аксапты я ее не нахожу.....
Вообщем спасибо за советы...будем пробовать дольше....пока надо найти выход как сбросить запрет на изменени значения поля....иначе эта затея бессмысленна с приведением типов....
Старый 15.02.2007, 12:19   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DiNai Посмотреть сообщение
Но добавление поля, которое потом и не понадобится больше-тоже не выход......должно же быть еще какое-то решение.....сбросить на время запрет на изменение значения поля....
Потом вы ненужное поле удалите.
А сейчас вы замените правильную информацию в системном поле своею...
Потом вы правильную не вернете.
__________________
полезное на axForum, github, vk, coub.
Старый 15.02.2007, 13:53   #7  
dinai is offline
dinai
Участник
 
28 / 10 (1) +
Регистрация: 15.08.2006
Такого результата и нужно добится для порядка 30 записей.....нет уж оно и страшно..особенно если это делает сам администратор ИС.....
да, кстати а дата и автор мождификации при изменении даты создания тоже по идее заменятся....вот это загвоздка......
 


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

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

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