Добрый день. (УФ) Хочу открыть форму справочника сразу в нужной папке. Курю сп, не получается. Что пытаюсь сделать:
Подскажите, как это реализовать в управляемых формах? Заранее спасибо.
&НаКлиенте
Процедура ПолеСМСНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЗначениеСМС = Неопределено;
ЗначениеОтбора = Новый Структура("Родитель",ОтборВШаблонахСМС());
ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
ЗначениеСМС = ПолучитьФорму("Справочник.ШаблоныСМС.ФормаВыбора",ПараметрыВыбора);
//ЗначениеСМС.Элементы.Список.ТекущийРодитель = ОтборВШаблонахСМС();
//ЗначениеСМС.Список.КомпоновщикНастроек.Настройки.Родитель = ОтборВШаблонахСМС();
//ЗначениеСМС.Элементы.СправочникСписок.ТекущаяСтрока = ОтборВШаблонахСМС();
//ЗначениеСМС.Элементы.СправочникДерево.ТекущаяСтрока = ОтборВШаблонахСМС();
ЗначениеСМС.ОткрытьМодально();
КонецПроцедуры
&НаСервере
Функция ОтборВШаблонахСМС()
СсылкаНаРодителя = Справочники.ШаблоныСМС.НайтиПоКоду("000000141");
//СсылкаНаРодителя = Справочники.ШаблоныСМС.НайтиПоНаименованию("Продажи");
Возврат СсылкаНаРодителя;
КонецФункции
ПоказатьПодскажите, как это реализовать в управляемых формах? Заранее спасибо.
По теме из базы знаний
- Знакомство с 1С:Документооборот. История автоматизации и доработок. Печатная форма Лист согласования
- Обработка загрузки из Excel через буфер обмена
- Программное копирование узла/строки дерева значений на управляемой форме (УФ, ДанныеФормыДерево, ДанныеФормыЭлементДерева) в вариантах на клиенте и на сервере
- Обзор полезных методов БСП 3.1.4
- Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов
Найденные решения
(6) Если хотите чтобы возможность переходить в другие группы была -- устанавливайте ТекущийРодитель, но после строки открытия формы. Дело в том что когда Вы это делаете (в текущем варианта) форма ещё не открыта -- и устанавливать текущего родителя банально негде. Но для этого нужно избавиться от модальности.
Если хотите и модальность оставить -- тогда устанавливайте ТекущийРодитель в событии ПриСозданииНаСервере самой формы выбора, передав его в открываемую форму параметром.
ЗначениеСМС = ПолучитьФорму("Справочник.ШаблоныСМС.ФормаВыбора",ПараметрыВыбора);
ЗначениеСМС.Открыть();
ЗначениеСМС.Элементы.Список.ТекущийРодитель = ОтборВШаблонахСМС();
Если хотите и модальность оставить -- тогда устанавливайте ТекущийРодитель в событии ПриСозданииНаСервере самой формы выбора, передав его в открываемую форму параметром.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6) Если хотите чтобы возможность переходить в другие группы была -- устанавливайте ТекущийРодитель, но после строки открытия формы. Дело в том что когда Вы это делаете (в текущем варианта) форма ещё не открыта -- и устанавливать текущего родителя банально негде. Но для этого нужно избавиться от модальности.
Если хотите и модальность оставить -- тогда устанавливайте ТекущийРодитель в событии ПриСозданииНаСервере самой формы выбора, передав его в открываемую форму параметром.
ЗначениеСМС = ПолучитьФорму("Справочник.ШаблоныСМС.ФормаВыбора",ПараметрыВыбора);
ЗначениеСМС.Открыть();
ЗначениеСМС.Элементы.Список.ТекущийРодитель = ОтборВШаблонахСМС();
Если хотите и модальность оставить -- тогда устанавливайте ТекущийРодитель в событии ПриСозданииНаСервере самой формы выбора, передав его в открываемую форму параметром.
Подскажите, пожалуйста, работает благодаря (4). Но теперь выдает ошибку "Проверка мутабельных значений на заполненность не поддерживается".
Вот так работает, но соотв. задача не решена, так как не выбран родитель, но на проверку заполненности не ругается:
А вот так не работает, ошибка:
Вот так работает, но соотв. задача не решена, так как не выбран родитель, но на проверку заполненности не ругается:
&НаКлиенте
Процедура ПолеСМСНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЗначениеСМС = Неопределено;
ЗначениеСМС = ПолучитьФорму("Справочник.ШаблоныСМС.ФормаВыбора").ОткрытьМодально();
//ЗначениеСМС.Элементы.Список.РодительВерхнегоУровня = ОтборВШаблонахСМС();
//ЗначениеСМС.ОткрытьМодально();
Если ЗначениеЗаполнено(ЗначениеСМС) Тогда
Если НЕ Элементы.Анкеты.ТекущиеДанные = Неопределено Тогда
Анкета = Элементы.Анкеты.ТекущиеДанные.Анкета;
ПолеСМСнаСервере(ЗначениеСМС,Анкета);
КонецЕсли;
КонецПроцедуры
ПоказатьА вот так не работает, ошибка:
&НаКлиенте
Процедура ПолеСМСНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ЗначениеСМС = Неопределено;
ЗначениеСМС = ПолучитьФорму("Справочник.ШаблоныСМС.ФормаВыбора");
ЗначениеСМС.Элементы.Список.РодительВерхнегоУровня = ОтборВШаблонахСМС();
ЗначениеСМС.ОткрытьМодально();
Если ЗначениеЗаполнено(ЗначениеСМС) Тогда
Если НЕ Элементы.Анкеты.ТекущиеДанные = Неопределено Тогда
Анкета = Элементы.Анкеты.ТекущиеДанные.Анкета;
ПолеСМСнаСервере(ЗначениеСМС,Анкета);
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот