|
01.08.2005, 12:47 | #1 |
NavAx
|
How-to. Слетание пользовательских настроек в формах после вызова lookup, или MS - suxx.
В общем, выкладываю на общее обозрение решение проблемки.
Сразу проиллюстрирую примером. Описывать долго... Проблемка состоит в следующем: Создаем на таблице, скажем, ProdTable, lookup-метод по любому полю. Скажем, так: PHP код:
PHP код:
Внимание: дробь барабанов.... Открываем форму Производственные заказы (aka ProdTable), меняем в ней поля на gridе местами.. любые (Настройка - Выходная форма - Tab -Обзор - Grid) . Внимательно смотрим... красота... всё, так нам нужно.... Закрываем - открываем, все отлично... Так... настало время вызвать нашу вновь созданную форму с единственным полем. Вызываем, щелкаем на lookup кнопку, вываливается lookup. Достаточно. Теперь можно открыть снова "Производственные заказы". Но что это?! Где все наши в стройном порядке стоящие поля?!! ----- тут я случайно нажал Enter и мессага осталась недописанной ----- Загвоздка вот в чем. Системный класс SysTableLookup в методе formRun создает динамическую lookup-форму таким макаром: PHP код:
Т.е. название формы, созданной этим классом, совпадает с уже существующей в репозитарии. После чего в таблицу SysLastValue, в которой хранятся настройки форм, попадают левые (с точки зрения юзера) настройки. Видимо, никто в Damgaard (aka Navision aka MS ) не предполагал, что таблица может совпадать по названию с формой. Всё это лечится достаточно тривиально, редактированием вышеупомянутого метода класса SysTableLookup, к примеру, так: PHP код:
Пользуйтесь. ^^- |
|
|
За это сообщение автора поблагодарили: SHiSHok (2), Logger (5). |
29.06.2007, 12:16 | #2 |
Модератор
|
Исправлено в SP6
__________________
-ТСЯ или -ТЬСЯ ? |
|
Теги |
lookup, баг, ошибка, пользовательские данные, ax3.0 |
|
|