вывод формы справочника из табличного поля
Приветствую. Создаю программно отчет. Через построительотчета (для создания функции отбора) создаю запрос (данные беру из регистра накоплений), выборку которого выгружаю в табличное поле строго по созданному макету. Таблица выглядит как на скрине. Прошу помощи вот в чем. Необходимо по двойному клику, на номенклатуре (или строке относящейся к номенклатуре) открывать форму справочника (списка, элемента), где в форме списка - открыт именно тот элемент из табличного поля.
Прикрепленные файлы:
![](/upload/forum/upload/f40/f40331dfd49833a14d2a2df94e84d9a9.png)
По теме из базы знаний
- Импорт файлов типов XLS, DBF, и TXT в табличное поле (Простой читальщик xls файлов)
- Товарный ярлык для УПП 1.3 (ТОРГ-11) - разработка внешней печатной формы
- Программное создание колонок в табличном поле с полем ввода Флажок (чекбокс) (1С 8.2)
- Приемы работы с СКД: выгрузка данных справочников и документов в линейном виде в табличный документ
- Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3
Найденные решения
Ну смотрите, если у вас заполняется макет, в котором есть поле Номенклатура и вы хотите чтобы при нажатии по номенклатуре открывалась номенклатура (элемент справочника) то вам достаточно все напросто в макете отчета для параметра номенклатура заполнить свойство ПараметрРасшифровки. Если вы его заполните именем поля из запроса (например у вас в запросе есть поле Номенклатура - и это ссылочный тип) Номенклатура, то есть у вас свойство Параметр будет Номенклатура и свойство ПараметрРасшифровки будет указано Номенклатура - то вот как раз у вас и получится.
Если же у вас табличное поле - это таблица значений. Тогда вам нужно событие данной таблицы "Выбор".
Например
Если же у вас табличное поле - это таблица значений. Тогда вам нужно событие данной таблицы "Выбор".
Например
Процедура ТаблицаЗначениеВыбор(Элемент, СтандартнаяОбработка)
Если Элемент.ТекущаяКолонка.Имя = "Номенклатура" Тогда
СтандартнаяОбработка = Ложь;
ОткрытьЗначение(Элемент.ТекущиеДанные.Номенклатура)
КонецЕсли
КонецПроцедуры
Процедура ТабДокВыбор(Элемент, Область, СтандартнаяОбработка)
Стандартнаяобработка = ложь;
Элемент = ЭлементыФормы.ТабДок.ТекущаяОбласть.Текст;
Форма = Справочники.Номенклатура.НайтиПоНаименованию(Элемент);
Фирма = Форма.ПолучитьФорму();
Фирма.Открыть();
КонецПроцедуры
Вот таким способом у меня открывает форму элемента справочника, а из нее я уже могу перейти на общую форму справочника. А как все-таки попасть в общую форму справочника?
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Ну смотрите, если у вас заполняется макет, в котором есть поле Номенклатура и вы хотите чтобы при нажатии по номенклатуре открывалась номенклатура (элемент справочника) то вам достаточно все напросто в макете отчета для параметра номенклатура заполнить свойство ПараметрРасшифровки. Если вы его заполните именем поля из запроса (например у вас в запросе есть поле Номенклатура - и это ссылочный тип) Номенклатура, то есть у вас свойство Параметр будет Номенклатура и свойство ПараметрРасшифровки будет указано Номенклатура - то вот как раз у вас и получится.
Если же у вас табличное поле - это таблица значений. Тогда вам нужно событие данной таблицы "Выбор".
Например
Если же у вас табличное поле - это таблица значений. Тогда вам нужно событие данной таблицы "Выбор".
Например
Процедура ТаблицаЗначениеВыбор(Элемент, СтандартнаяОбработка)
Если Элемент.ТекущаяКолонка.Имя = "Номенклатура" Тогда
СтандартнаяОбработка = Ложь;
ОткрытьЗначение(Элемент.ТекущиеДанные.Номенклатура)
КонецЕсли
КонецПроцедуры
Процедура ТабДокВыбор(Элемент, Область, СтандартнаяОбработка)
Стандартнаяобработка = ложь;
Элемент = ЭлементыФормы.ТабДок.ТекущаяОбласть.Текст;
Форма = Справочники.Номенклатура.НайтиПоНаименованию(Элемент);
Фирма = Форма.ПолучитьФорму();
Фирма.Открыть();
КонецПроцедуры
Вот таким способом у меня открывает форму элемента справочника, а из нее я уже могу перейти на общую форму справочника. А как все-таки попасть в общую форму справочника?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот