Программное изменение функциональной опции реквизита формы

1. walp 05.08.16 12:19 Сейчас в теме
Здравствуйте.

Есть управляемая форма. На ней есть реквизит формы (набор записей регистра накопления). Реквизит формы завязан на функциональную опцию (не метаданные регистра завязаны, а конкретно реквизит формы). Можно ли программно этот реквизит отвязать от функциональной опции? Или привязать его к другой опции. Или создать программно новый реквизит, а его уже привязать к нужной функциональной опции.

Вообще можно ли хоть что-нибудь сделать программно с функциональными опциями реквизитов формы?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. Sashares 34 13.08.18 18:11 Сейчас в теме
(1)
УправляемаяФорма (ManagedForm)
УстановитьПараметрыФункциональныхОпцийФормы (SetFormFunctionalOptionParameters)
Синтаксис:

УстановитьПараметрыФункциональныхОпцийФормы(<УстанавливаемыеПараметры>, <СбрасываемыеПараметры>)
Параметры:

<УстанавливаемыеПараметры> (обязательный)

Тип: Структура.
Значения параметров. Ключ элемента структуры задает имя параметра, которое должно соответствовать имени одному из объектов метаданных типа ПараметрФункциональныхОпций. Значение элемента структуры должно содержать значение параметра.
<СбрасываемыеПараметры> (необязательный)

Тип: Массив; Строка.
Сбрасываемые параметры функциональных опций.
Могут задаваться строкой (имена опций указываются через запятую) или массивом строк имен параметров функциональных опции, значения которых необходимо сбросить.
Описание:

Устанавливает параметры функциональных опций, действие которых будет распространяться на экземпляр формы. Выполнение метода автоматически вызывает обновление формы.
Параметры функциональных опций позволяют определить то, как отобрать значения функциональной опции, привязанной к реквизиту справочника или ресурсу регистра сведений, то есть в случае, когда в одном объекте может храниться набор значений опций.
При привязке функциональной опции к ресурсу периодического регистра сведений, если период в параметрах не указывается, то значение выбирается как срез последних на текущую дату. А если есть параметр Период (Period), то он используется как дата, на которую будет взят срез.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
Вызов метода выполняет обращение к серверу.

Примечание:

Несмотря на то, что можно изменить параметры выборочно, рекомендуется групповая установка одним вызовом, так как эта операция выполняется эффективнее.
Показать
2. Ovrfox 14 05.08.16 15:22 Сейчас в теме
1. Раньше были реквизиты формы.
2. Потом появилось програмное управление реквизитами
3. Потом появились функциональные опции, которые позволяют почти не писать код для програмного управления реквизитами
4. Теперь появился желающий одновремнно использовать програмное управление реквизитами и функциональные опции и чтобы программа само поняла, когда ему лень программировтаь, а когда не лень.

Ответ на втой вопрос прост. Установи програмно функциональную опцию в "показать", но скрывай реквизит програмно.
3. walp 08.08.16 05:05 Сейчас в теме
(2) Ovrfox, у меня задача обратная: реквизит привязан к функ. опции, которая его скрывает, а мне надо показать. Для того, чтобы не менять константу, отвечающую за значение опции (на нее слишком много ненужного в конфе завязано), я ручками при каждом обновлении привязываю реквизит к другой опции (ну или можно отвязывать от опций в принципе, не суть). Надоело. Хочу поставить это на программную обработку и, я так понимаю, мое хотение не сбудется.
4. Ovrfox 14 08.08.16 11:49 Сейчас в теме
(3) walp, Да почему же, просто отвяжите реквизит от функциональной опции в конфигураторе. И все.
5. walp 09.08.16 06:22 Сейчас в теме
(4) Ovrfox, я раньше так и делал, но сейчас хочу попробовать перенести эту доработку в расширение. Отвязывание от функциональной опции реквизита формы в расширении, судя по всему, влияния никакого не оказывает, так что есть мысль сделать это программно и я сейчас эту мысль думаю.
6. Ovrfox 14 09.08.16 10:08 Сейчас в теме
(5) walp, Если приведешь значительное кол-во примеров, когда это необходимо и подключишь тех, кто тоже без этого страдает, то 1С доделает упомянутый функционал.
Но все же это как с монеткой - либо орел , либо решка. Учитывать всерьез вариант ребра никто не хочет.
У тебя есть логика управления реквизитом. Либо ты ее реализуешь програмно, либо функциональными опциями. Зачем нужен третий вариант? Чтобы не снимать с поддержки?
Для переделки логики (поддердиваемой) 1С решила использовать расширения. Т.е. взяв за основу теже метаданные (структуру таблиц) ты можешь нарисовать свое поведение. При этом не просто свое с 0, а такое, которое будет задействовать исходный функционал там, где он устраивает и новый только там, где необходимо. Это более глобальный и более удобный выход из твоей проблемы. Так что ты правильно мыслишь - используй расширения.
7. yokko 56 13.08.18 17:21 Сейчас в теме
Получилось разобраться с функциональной опцией? Можно ее обойти в расширении и выводить реквизит, который скрыт функциональной опцией?
12. buy_sale 220 03.06.21 21:25 Сейчас в теме
(7) Добавить новую ФО в расширении
Добавить новую константу булево в расширении
Добавить объект и его поля необходимые для принудительного показа в расширение
Изменить состав новой ФО, добавить поля из пред. пункта
Запустить 1с, установить константу
Поблагодарить меня монеткой 1$m иначе работать не будет )
maal; avmironov; aegoncharov; +3 Ответить
13. user1718110 11.05.23 12:12 Сейчас в теме
(12) 1$m нету, но работает, огромное спасибо)
9. ipoloskov 162 24.10.18 18:19 Сейчас в теме
Может кто-нибудь привести пример? Не получается.
В форме физ.лиц реквизит ГражданствоФизическихЛиц привязан к функциональным опциям ИспользоватьНачислениеЗарплаты, ИспользоватьКадровыйУчет
У меня они обе выключены. Необходимо, чтобы реквизит был виден. Делаю в расширении так:

&НаСервере
Процедура мт_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	УстанавливаемыеПараметры = Новый Структура;
	УстанавливаемыеПараметры.Вставить("ИспользоватьКадровыйУчет", Истина);
	
	УстановитьПараметрыФункциональныхОпцийФормы(УстанавливаемыеПараметры);
	
КонецПроцедуры
Показать

Ничего не выходит.
10. StarsLine 15.05.19 16:20 Сейчас в теме
(9) такая же история установка функциональных опций в расширениях видимо не работает
Выход с использованием расширений нашелся в добавление собственного реквизита формы, который заполняется при открытии формы и записывается при сохранении.
Прикрепленные файлы:
11. itmind 310 24.02.21 06:01 Сейчас в теме
Еще можно в расширении перед созданием формы на сервере устанавливать константу от которой зависит функциональная опция, а при закрытии формы возвращать константе ее значение до изменения
14. user1826630 11.05.23 12:53 Сейчас в теме
(11) В раздел "Вредные советы"...
Pavel_PIK; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот