Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 00:02

Вывод элемента справочника в неосновной форме

Автор Orion, 12 янв 2018, 22:03

0 Пользователей и 1 гость просматривают эту тему.

Orion

Как известно, вывод данных, например, элемента справочника, возможен в нескольких различных формах. При этом только одна форма является основной, и именно в этой форме осуществляется вывод по умолчанию, например, по двойному клику мышью в строке списка элементов в справочнике. А как вывести данные элемента в НЕосновной форме? 

Андрей Федотов

Можно поконкретнее вопрос с примером)
Вы хотите чтобы в неосновной форме были в списке элементы справочника? Далее по клику открывалась форма с данными этой записи справочника, правильно понимаю задачу?

LexaK

в форме Списка, если такой нет - создайте, а табличной части: Список, при событии Выбор

&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
лкФорма = ПолучитьФорму(...);
лкФорма.Открыть();
КонецПроцедуры
если помогло нажмите: Спасибо!

Orion

Цитата: Андрей Федотов от 13 янв 2018, 11:12
Можно поконкретнее вопрос с примером)
Вы хотите чтобы в неосновной форме были в списке элементы справочника? Далее по клику открывалась форма с данными этой записи справочника, правильно понимаю задачу?
Наверное, я действительно не совсем понятно описал задачу...
Есть справочник. Для него существует форма списка элементов по умолчанию. Создается еще одна форма (для того же списка элементов). Теперь для списка элементов существуют две формы. Если никаких действий не предпринимать, список будет выведен в форме по умолчанию. А как вывести этот список элементов в новой созданной форме?

IL2016

Цитата: Orion от 15 янв 2018, 07:00Есть справочник. Для него существует форма списка элементов по умолчанию. Создается еще одна форма (для того же списка элементов). Теперь для списка элементов существуют две формы. Если никаких действий не предпринимать, список будет выведен в форме по умолчанию. А как вывести этот список элементов в новой созданной форме?
не так.
если вами не создана форма списка, то система сама генерирует форму списка.
Но если Вы сами в окне формы редактирования справочника выбираете создать форму списка и указываете какие колонки надо указывать в этом списке, то после сохранения конфигурации, система будет выводить только вручную созданную вами форму списка и никак иначе, т.е. будет только одна форма списка.

если конечно вы не обозвали её как-то иначе,и у вас в графе формы показаны в перечне форм несколько форм, в том числе форма списка (сгенерированная системой) и допустим форма списка22222 и т.п.


Orion

Цитата: IL2016 от 15 янв 2018, 20:21
не так.
если вами не создана форма списка, то система сама генерирует форму списка.
Но если Вы сами в окне формы редактирования справочника выбираете создать форму списка и указываете какие колонки надо указывать в этом списке, то после сохранения конфигурации, система будет выводить только вручную созданную вами форму списка и никак иначе, т.е. будет только одна форма списка.

Видимо, упоминание "формы по умолчанию", которая автоматически создается  платформой, сбивает с толку.
Хорошо, давайте по-другому...
Для Элемента справочника созданы ДВЕ формы. Из них одна будет определена как основная, и при двойном клике по элементу в справочнике (выборе элемента в списке) будет отображаться именно она. А как вывести этот элемент во второй форме? Ведь для этого нужно как-то указать платформе, что я хочу вывести тот же элемент в НЕосновной форме...

Norfolk

Цитата: Orion от 16 янв 2018, 06:22
Цитата: IL2016 от 15 янв 2018, 20:21
не так.
если вами не создана форма списка, то система сама генерирует форму списка.
Но если Вы сами в окне формы редактирования справочника выбираете создать форму списка и указываете какие колонки надо указывать в этом списке, то после сохранения конфигурации, система будет выводить только вручную созданную вами форму списка и никак иначе, т.е. будет только одна форма списка.

Видимо, упоминание "формы по умолчанию", которая автоматически создается  платформой, сбивает с толку.
Хорошо, давайте по-другому...
Для Элемента справочника созданы ДВЕ формы. Из них одна будет определена как основная, и при двойном клике по элементу в справочнике (выборе элемента в списке) будет отображаться именно она. А как вывести этот элемент во второй форме? Ведь для этого нужно как-то указать платформе, что я хочу вывести тот же элемент в НЕосновной форме...
Делаете обработчик события и передаете ему нужную форму для открытия.
п.с. что это за потребность такая...ну сделайте вторую форму основной.

Orion

Цитировать
п.с. что это за потребность такая...ну сделайте вторую форму основной.
Ну, что за потребность? Например, при создании нового элемента нужна одна форма, а при вызове уже существующего - другая. Поэтому задействованы обе формы, и переназначение основной формы проблемы не решит...
Конечно есть решение этой задачи и с одной формой, на которую выводятся сразу все поля - из обеих форм. А потом, в зависимости от ситуации, управление полями осуществляется с помощью свойства Видимость. Но мне кажется это - не очень правильное решение.

Tsaiger


//Модулю менеджера
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры,
                                    ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)

// определяем, что это форма элемента, а не списка или выбора
Если ВидФормы = "ФормаОбъекта" Тогда

// если в параметрах нет свойства ключ, значит это создание
Если НЕ Параметры.Свойство("Ключ") Тогда
// ищем нужную форму
НужнаяФорма = Метаданные.Справочники.Контрагенты.Формы.Найти("Тестовая");

// если нашли, переопределяем
Если НужнаяФорма <> Неопределено Тогда

СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = НужнаяФорма;

КонецЕсли;

КонецЕсли;

КонецЕсли;

КонецПроцедуры

Похожие темы (5)

Рейтинг@Mail.ru

Поиск