как переопределить процедуру нажатие, чтобы открыть ДРУГУЮ форму объекта
есть обработка, в которой программно создаются поля надписи (гиперссылка) на элемент справочника. также установлено действие на нажатие. при стандартной обработке открывается основная форма справочника. как переопределить процедуру нажатие, чтобы открыть ДРУГУЮ форму объекта(не основную).
&НаКлиенте
Процедура НажатиеГипСсыль(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура("Ключ", Элемент);
ОткрытьФорму(
"Справочник.РегламентыИИнструкции.Форма.ФормаПросмотраЭлемента", // имя формы
ПараметрыФормы // параметры для формы
);
КонецПроцедуры
ПоказатьПо теме из базы знаний
Найденные решения
(21) Т.е у вас просто поля ввода на форме.
тут в Элемент.Имя = "ссыль1"; Так же называется и реквизит формы, который создан программно.
Значит вот сюда
Пишем
всё
Процедура НажатиеГипСсыль(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура("Ключ", Элемент);
ОткрытьФорму(
"Справочник.РегламентыИИнструкции.Форма.ФормаПросмотраЭлемента", // имя формы
ПараметрыФормы // параметры для формы
);
КонецПроцедуры
Показатьтут в Элемент.Имя = "ссыль1"; Так же называется и реквизит формы, который создан программно.
Значит вот сюда
ПараметрыФормы = Новый Структура("Ключ", Элемент);
Пишем
ПараметрыФормы = Новый Структура("Ключ", ЭтотОбъект[Элемент.Имя]);
всё
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Если Элемент.Имя = "ИмяЭлемента_ПриНажатииКоторогоДолжнаОткрыватьсяДругаяФорма" Тогда
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура("Ключ", Элемент);
ОткрытьФорму(
"Справочник.РегламентыИИнструкции.Форма.ФормаПросмотраЭлемента", // имя формы
ПараметрыФормы // параметры для формы
);
КонецЕсли
(15) Не заставляйте нас гадать варианты вашей реализации. Сделайте скриншоты, приведите отрывок кода, который генерирует гиперссылки. На крайний случай выложите ее, если только не считаете, что в ней есть что-то, что вам жалко давать нам. (коды доступа запуска ракет, пароли или алгоритм, который мы не в силах повторить самостоятельно).
Опишите:
Хочу тыкнуть в эту программную гиперссыль, чтоб открылось это значение.
Хочу тыкать вот сюда, чтоб ничего не открывалось.
Так получите ответ намного быстрее.
Опишите:
Хочу тыкнуть в эту программную гиперссыль, чтоб открылось это значение.
Хочу тыкать вот сюда, чтоб ничего не открывалось.
Так получите ответ намного быстрее.
&НаСервере
Функция СоздатьЭлементФормы(ЭлементРодитель,ИмяЭлемента,ПутьКДанным,Вид,ТолькоПросмотр)
ЭлементФормы = Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), ЭлементРодитель);
ЭлементФормы.ПутьКДанным = ПутьКДанным;
ЭлементФормы.Вид = Вид;
ЭлементФормы.ТолькоПросмотр = ТолькоПросмотр;
ЭлементФормы.Гиперссылка = Истина;
ЭлементФормы.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
ЭлементФормы.УстановитьДействие("Нажатие","НажатиеГипСсыль");
КонецФункции
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РегламентыИИнструкции.Ссылка КАК Ссылка,
| РегламентыИИнструкции.Наименование КАК Наименование
|ИЗ
| Справочник.РегламентыИИнструкции КАК РегламентыИИнструкции
|ГДЕ
| РегламентыИИнструкции.ПометкаУдаления = ЛОЖЬ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
n = 1;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
имя = Строка("ссыль"+n);
// Добавляем реквизиты
ДобавляемыеРеквизиты = Новый Массив;
Реквизит = Новый РеквизитФормы(имя,
Новый ОписаниеТипов("СправочникСсылка.РегламентыИИнструкции")
,
,
ВыборкаДетальныеЗаписи.Наименование,
Ложь);
ДобавляемыеРеквизиты.Добавить(Реквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
// Добавляем элементы форм СоздатьЭлементФормы(ЭлементРодитель,ИмяЭлемента,ПутьКДанным,Вид,ТолькоПросмотр)
СоздатьЭлементФормы(Этаформа,
имя,
имя,
ВидПоляФормы.ПолеНадписи,
Ложь);
// Устанавливаем значение реквизиту формы
ЭтаФорма[имя] = ВыборкаДетальныеЗаписи.Ссылка;
n =n + 1 ;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура НажатиеГипСсыль(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура("Ключ", Элемент);
ОткрытьФорму(
"Справочник.РегламентыИИнструкции.Форма.ФормаПросмотраЭлемента", // имя формы
ПараметрыФормы // параметры для формы
);
КонецПроцедуры
Показать
(21) Т.е у вас просто поля ввода на форме.
тут в Элемент.Имя = "ссыль1"; Так же называется и реквизит формы, который создан программно.
Значит вот сюда
Пишем
всё
Процедура НажатиеГипСсыль(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура("Ключ", Элемент);
ОткрытьФорму(
"Справочник.РегламентыИИнструкции.Форма.ФормаПросмотраЭлемента", // имя формы
ПараметрыФормы // параметры для формы
);
КонецПроцедуры
Показатьтут в Элемент.Имя = "ссыль1"; Так же называется и реквизит формы, который создан программно.
Значит вот сюда
ПараметрыФормы = Новый Структура("Ключ", Элемент);
Пишем
ПараметрыФормы = Новый Структура("Ключ", ЭтотОбъект[Элемент.Имя]);
всё
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)