CftClub.ru
Клуб специалистов ЦФТ-Банк

Подмена вьюшки

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
Taniani
Участник


Вступление в Клуб: 08.11.2012
СообщениеСр Янв 29, 2014 17:12   Подмена вьюшки Ответить с цитатой
Полезность: Нет оценки
Добрый день!
Есть грид, одна из колонок грида ссылка на справочник, но в справочнике 5 вьюшек, по умолчанию эта ссылка ведет в тип. То есть перед пользователем 5 вьюшек и он должен выбрать.
Вопрос: как сделать так чтобы открывалась определенная вьюшка сразу по ссылке?
vchk
Участник


Вступление в Клуб: 19.10.2007
СообщениеСр Янв 29, 2014 17:42    Ответить с цитатой
Полезность: 2
Из документации по гриду:
Цитата:
Grid.ViewShortName (Col As Long) As String

Описание

Позволяет указать представление для ссылочных колонок таблиц.

В модуле "Навигатор" реализована возможность перехода по обобщённой ссылке (ссылка на "OBJECT class") в представление, заданное через клиент-скрипт без указания типа-ссылки (подробнее об указании типа-ссылки в клиент-скрипте см. пункт SetClassID.) В этом случае при переходе по ссылке формируется список доступных пользователю типов, в которых доступно заданное представление. На форме представлений можно выбирать любой тип из сформированного списка. В списке представлений будет показываться только заданное представление. Если таких типов не найдено, будет выдано соответствующее сообщение об ошибке. Если в сформированном списке оказался ровно один тип, то произойдет автоматический переход в заданное представление в единственном найденном типе.

Пример

Grid2.ViewShortName(1) = "VW_CRIT_USER4407853"
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеЧт Янв 30, 2014 06:06    Ответить с цитатой
Полезность: 1
vchk пишет:
Из документации по гриду:
Цитата:
Grid.ViewShortName (Col As Long) As String

Описание
Позволяет указать представление для ссылочных колонок таблиц.


Ну, если динамически менять представление не нужно, то можно ткнуть мышкой на букву "П" (Представление) на закладке параметров операции (или Переменных) и выбрать нужное представление. А если ткнуть по букве "Ф", то и формулу для отображения данных можно задать.
Taniani
Участник


Вступление в Клуб: 08.11.2012
СообщениеЧт Янв 30, 2014 09:45    Ответить с цитатой
Полезность: Нет оценки
Спасибо!
подошел вариант:
Grid2.ViewShortName(1) = "VW_CRIT_USER4407853"
Форму и представления не возможно выбрать если тип переменной grid.
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеПт Янв 31, 2014 14:05    Ответить с цитатой
Полезность: Нет оценки
Taniani пишет:
Форму и представления не можно выбрать если тип переменной grid.


Перечитал исходный вопрос.
Приношу извинения, был невнимателен.
npsb
Участник со стажем


Вступление в Клуб: 29.07.2015
СообщениеЧт Авг 01, 2024 17:21    Ответить с цитатой
Полезность: Нет оценки
vchk пишет:
Из документации по гриду:
Цитата:
см. пункт SetClassID.

А можно об этом поподробнее?
как это работает.
Бизнес желает, чтобы в последней колонке таблицы в ячейки
можно было ввести значение разных (по вертикали) типов.
И чтобы для разных строчек (параметров) был свой тип.
Где-то число, где-то дата, где-то текст, а где-то выбор из любого справочника.
Всю голову сломал, ума не приложу как это сделать.
И такая будет 1на колонка в таблице, последняя.
Типы остальных колонок определены перманентно.
pabrz
Участник со стажем


Вступление в Клуб: 27.09.2022
СообщениеПт Авг 02, 2024 05:10    Ответить с цитатой
Полезность: Нет оценки
Скорее всего это не совсем вам подойдет.
Можно сделать условный реквизит типа object, который может содержать ссылку на любой элемент IBSO, но по факту это всегда будет какой-то number - т.е. это ссылка (ID) какого-то элемента, не важно какого класса.
Не путать со ссылкой на метод (операцию) - это другое.

Т.е. это может быть ссылка на элемент любого ТПБ, но, дата, строка и т.п. - это уже разговор совсем другой.

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

Есть в некоторых настройках и даже в документах РЦ строки, которые хранят подобные значения, со всякими дополнительными префиксами, чтобы была возможность понять, какого рода значение в строке содержится, но с точки зрения организации СУБД - это бред полный. (нарушает даже первую нормальную, не говоря обо всем остальном).

Если вам надо что-то такое - посмотрите как организовано хранение значений (FP_TUNE_VAL).

Можете посмотреть как работает в документах РЦ реквизит BLOCK_DATA, и в частности [STR].GET_PAR SET_PAR.


Если я правильно понял ваш вопрос, то, скорее всего, это ваш вариант (лично мое мнение - отказывать надо в таких реализациях)
Эмиралька
Эксперт


Вступление в Клуб: 09.11.2015
СообщениеСб Авг 03, 2024 21:19    Ответить с цитатой
Полезность: 1
npsb пишет:
vchk пишет:
Из документации по гриду:
Цитата:
см. пункт SetClassID.

А можно об этом поподробнее?
как это работает.
Бизнес желает, чтобы в последней колонке таблицы в ячейки
можно было ввести значение разных (по вертикали) типов.
И чтобы для разных строчек (параметров) был свой тип.
Где-то число, где-то дата, где-то текст, а где-то выбор из любого справочника.
Всю голову сломал, ума не приложу как это сделать.
И такая будет 1на колонка в таблице, последняя.
Типы остальных колонок определены перманентно.


Сделайте редактор в виде отдельных подопераций. В зависимости от значения в колонке вызывайте - дата - операцию редактирования даты, ссылка - значит, выбор экземпляра. Для примера Ф-310 вам в помощь
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах