Обновить поле отбора на форме из настроек СКД

1. marina_toro 28.11.16 10:20 Сейчас в теме
Добрый день, всем!

Имею следующую ситуацию: Реализован отчет на СКД, на форме отчета выведены несколько независимых полей отбора. При изменении значений данных полей, программно устанавливаю настройки отбора СКД.

Как сделать чтобы при изменении настроек отбора в СКД (через кнопку изменить вариант), настройки отбора обновлялись в полях отбора на форме. Тут самый главный вопрос - в какой момент можно отловить изменение отборов СКД?

Пока единственным вариантом вижу в обработчике ожидания периодически проверять не изменился ли вариант отчета, но может есть другой вариант.

P.S. пробовала вывести таблицу отборов СКД на форму и ловить изменения в обработчике "При изменении", но туда не попадаю, хотя отборы там обновляются.

1С:Предприятие 8.3 (8.3.9.1850). Управляемая форма.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dusha0020 1107 28.11.16 11:28 Сейчас в теме
Добрый день.
Есть событие "ПриЗагрузкеВариантаНаСервере". Может поможет?
3. marina_toro 28.11.16 11:31 Сейчас в теме
(2) Да, это событие я тоже пробовала использовать, но не помогает. Если я изменяю текущий вариант и не перевыбираю его, то в этот обработчик не попадаю.
4. MariNew 28.11.16 11:45 Сейчас в теме
Введенные "Вариант" (ы) не связан с выведенными на форме реквизитами отбора ?
5. marina_toro 28.11.16 11:51 Сейчас в теме
(4) не связаны, поэтому и понадобилось обновлять их программно
6. MariNew 28.11.16 11:52 Сейчас в теме
Как был создан "Вариант" пользовательский и как он может быть не связан с "Отбором" выведенным на форме? Ведь панель с Параметрами, в том числе содержащие "Отборы" относится к СКД и является неотъемлемой частью отчета. Выбирая новый "Вариант", пусть даже созданный пользователем, форма "Параметров", в том числе содержащая закладку "Отбор" должна меняться в соответствии с СОХРАНЕННЫМ "вариантом".
7. MariNew 28.11.16 11:53 Сейчас в теме
8. MariNew 28.11.16 11:54 Сейчас в теме
а в принципе, конечно, по какой-то причине они могут быть "не связаны". Наверное, это отбор не является частью СКД. да?
9. MariNew 28.11.16 11:58 Сейчас в теме
Если думать в эту сторону То "вариант" имеет свои настройки: параметры, отборы. Тогда надо программно передавать из Настроек вариант на открытую форму отчета. А иначе нельзя? Обязательно надо выводить менять отбор на форме?
10. marina_toro 28.11.16 12:04 Сейчас в теме
(9)
Тут самый главный вопрос - в какой момент можно отловить изменение отборов СКД?
11. MariNew 28.11.16 12:08 Сейчас в теме
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	СКД = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
	АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(СКД, УникальныйИдентификатор);
	
	ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВоВременномХранилище);
	КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
	КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);
	
КонецПроцедуры

Показать
12. MariNew 28.11.16 12:09 Сейчас в теме
Может это поможет Вам ?!
14. marina_toro 28.11.16 12:21 Сейчас в теме
(12)Немного не то.
Ситуация следующая: я открываю отчет, на форме у меня уже есть настроенный отбор. Например, организация = "ООО Ромашка". В настройках отбора СКД также программно установлен соответствующий отбор "организация = "ООО Ромашка". И если на форме я изменяю отбор, то в настройках СКД он изменяется в соответствии со значением поля отбора на форме. НО в обратную сторону не изменяется. Если я зайду в настройки варианта через кнопку "Изменить вариант" и на вкладке Отбор изменю значение на "организация = ООО Лютик" и нажму ОК - в ЭТОТ момент мне нужно обновить отбор на форме. НО как мне отловить нажатие кнопки ОК в форме редактирования варианта?
13. herfis 500 28.11.16 12:18 Сейчас в теме
(0) Я не копенгаген, но банальный просмотр доступных событий предлагает такое заманчивое название "ПриОбновленииСоставаПользовательскихНастроекНаСервере".
Не оно?
15. marina_toro 28.11.16 12:23 Сейчас в теме
(13)Нет, тоже попробовала - не попадает туда( я испробовала практически все доступные события на форме, поэтому ищу что-то не совсем стандартное видимо. если вообще такое есть))
16. herfis 500 28.11.16 12:26 Сейчас в теме
(15) Единственный вариант который вижу - создать и назначить отчету СВОИ формы настроек и варианта, вместо автогенерируемых. В которых уже ловить что надо банальным образом.
17. MariNew 28.11.16 12:39 Сейчас в теме
Другая мысль: В модуле объекта Отчета в процедуре "ПриКомпоновкеРезультата" возвращать выбранные "отборы" на форму.
18. dusha0020 1107 28.11.16 15:05 Сейчас в теме
Все это напоминает задачу о квадратуре круга. Есть специальное поле для размещения отбора компоновки. Зачем впихивать на форму невпихуемое, писать обработчики этого впихивания, а потом жарить мозг как это невпихуемое обновлять?
Советую оставить на форме стандартный отбор, а заказчику объяснить, что с сегодняшнего дня и по самое когда 1С не придумает чего-нибудь новенького, отборы в отчетах будут работать так и только так.
Я сам 3-4 раза мучился, создавая клюшкоподобный интерфейс, просто потому, что клиенту так было удобнее. Больше так не делаю.
19. MariNew 28.11.16 15:14 Сейчас в теме
(18) очень правильное предложение!
20. herfis 500 28.11.16 15:55 Сейчас в теме
(18) Хм...
(15) Если ты в самом деле выводишь отборы на форму отдельными полями исключительно "для удобства", то это делается штатно без танцев с бубном.
Просто в настройках варианта становишься на элемент отбора и там справа есть кнопочка пользовательских настроек, которая позволяет включить в пользовательские настройки КОНКРЕТНЫЙ элемент отбора. Если скажешь включать в быстрые настройки, то этот элемент отбора будет автоматически отображаться на форме отдельным полем (в новом "Такси"). Ему даже можно указать персональное "говорящее" название, если это не совсем очевидный отбор.
Оставьте свое сообщение

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