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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.09.2022, 08:08   #1  
oleggy is offline
oleggy
Участник
 
270 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
DAX09 как перенести польз. фильтры в форме в другую БД
Привет.
Когда пользователь сохраняет фильтр в какой-то либо форме (например SalesTable), обычно эти настройки (я считал) сохраняются только в таблице - Использование данных (SysLastValue).
Т.е. если удалить в данной таблице найденную 1 запись по условию:

SysLastValue.UserId = <код пользователя>
SysLastValue.RecordType = 'Form'
SysLastValue.designName = ''
SysLastValue.ElementName = 'SalesTable'
SysLastValue.company = <компания пользователя>

Данная форма сбросится соответственно и все сохраненные запросы в ней пропадут.
Но вот если попробовать перенести данные из одной БД в другую БД то в другой AX данный фильтр у пользователя не появляется.

Я думал что все запросы хранятся в поле
SysLastValue.Value раз оно бинарное.
Но вот экспериментируя - так и не смог перенести данные запросы.
Обновляю:
SysLastValuep_To.value = SysLastValue_From.value
Но эффекта не дает.
Я даже удалял все данные пользователя и вставлял из другой базы - эффекта тоже не дало.

Подскажите, перенос возможен из одной базы в другую? Пользовательских фильтров?
Если да то что нужно еще учесть? Данные в какой таблице еще?
Изображения
 
Старый 26.09.2022, 08:41   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,305 / 3538 (124) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Один из ключевых моментов, которые нужно учесть - это ID-шники.
В простейшем случае фильтра по датасорсу SalesTable у Вас будет запрос (объект Query) такого плана: SELECT * FROM SALESTABLE
В этом Query есть датасорс (QueryBuildDataSource) SalesTable, который в свою очередь ссылается на таблицу SalesTable.
Поскольку Вы накладываете какой-то фильтр, то скорее всего у Вас добавляется какой-то Range (который имеет свой ID) по какому-то полю (которое имеет свой ID в таблице).

Сохранение Query (метод Query.pack()) сохраняет структуру запроса, ориентируясь на ID-шники датасорсов, Range-й, а также на ID-шники таблиц и полей.
Таким образом поле Value содержит в себе в бинарном виде сохраненное представление Query, где основополагающим являются ID-шники.

Если у Вас на другой базе поля, которые участвуют в Range имеют иные IDшники (понятно, что SalesTable - стандартная таблица и у неё одинаковые IDшники во всех инсталляциях AX) - то это повод системе не смочь распаковать запакованный Query в другой БД.
С ID-шниками самого Query может быть и всё нормально, но нет гарантии, что они смогут корректно распаковаться на другой базе (равно как и нет явных препятствий - почему это не сможет сработать).

Плюс к этому можно попробовать поанализировать само бинарное поле - потому что если там будет содержаться информация, специфичная для инсталляции - то понятное дело - Вы не перенесете запрос.

Т.е. по большому счету нужно сделать одинаковый фильтр на двух базах, сохранить его в SysLastValue и сравнить эти бинарные поля - чем же они отличаются

Вот еще есть такая тема: Как получить из элемента enum-а код типа (enum-а)?. Не знаю, правда - поможет ли Вам она
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 26.09.2022 в 08:46.
За это сообщение автора поблагодарили: oleggy (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Итератор с поддержкой методов обратного вызова для обработки контролов на форме gl00mie DAX: Программирование 18 06.08.2013 22:16
Как правильно связать таблицы в форме? Как показать параметры партии? mazzy DAX: Программирование 10 27.10.2010 15:56
Несинхронность размерности полей в форме поиска... glibs DAX: Функционал 0 05.04.2010 21:54
Подключение АОС к новой БД AxaptaUser DAX: Администрирование 4 07.04.2008 16:09
Ошибки в отчете о статусе БД, Не совсем понятный отчет. Помогите разобраться. Poleax DAX: Администрирование 7 21.08.2007 12:23

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:46.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.