Обновить поле отбора на форме из настроек СКД
Добрый день, всем!
Имею следующую ситуацию: Реализован отчет на СКД, на форме отчета выведены несколько независимых полей отбора. При изменении значений данных полей, программно устанавливаю настройки отбора СКД.
Как сделать чтобы при изменении настроек отбора в СКД (через кнопку изменить вариант), настройки отбора обновлялись в полях отбора на форме. Тут самый главный вопрос - в какой момент можно отловить изменение отборов СКД?
Пока единственным вариантом вижу в обработчике ожидания периодически проверять не изменился ли вариант отчета, но может есть другой вариант.
P.S. пробовала вывести таблицу отборов СКД на форму и ловить изменения в обработчике "При изменении", но туда не попадаю, хотя отборы там обновляются.
1С:Предприятие 8.3 (8.3.9.1850). Управляемая форма.
Имею следующую ситуацию: Реализован отчет на СКД, на форме отчета выведены несколько независимых полей отбора. При изменении значений данных полей, программно устанавливаю настройки отбора СКД.
Как сделать чтобы при изменении настроек отбора в СКД (через кнопку изменить вариант), настройки отбора обновлялись в полях отбора на форме. Тут самый главный вопрос - в какой момент можно отловить изменение отборов СКД?
Пока единственным вариантом вижу в обработчике ожидания периодически проверять не изменился ли вариант отчета, но может есть другой вариант.
P.S. пробовала вывести таблицу отборов СКД на форму и ловить изменения в обработчике "При изменении", но туда не попадаю, хотя отборы там обновляются.
1С:Предприятие 8.3 (8.3.9.1850). Управляемая форма.
По теме из базы знаний
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Программное заполнение пользовательских параметров и отборов СКД
- Расшифровка СКД. Фильтр отчета по диапазону чисел. Переопределение обработки расшифровки. Не модальный режим
- Хитрости СКД. Часть 4
- Приемы работы с СКД: выгрузка данных справочников и документов в линейном виде в табличный документ
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Как был создан "Вариант" пользовательский и как он может быть не связан с "Отбором" выведенным на форме? Ведь панель с Параметрами, в том числе содержащие "Отборы" относится к СКД и является неотъемлемой частью отчета. Выбирая новый "Вариант", пусть даже созданный пользователем, форма "Параметров", в том числе содержащая закладку "Отбор" должна меняться в соответствии с СОХРАНЕННЫМ "вариантом".
Если думать в эту сторону То "вариант" имеет свои настройки: параметры, отборы. Тогда надо программно передавать из Настроек вариант на открытую форму отчета. А иначе нельзя? Обязательно надо выводить менять отбор на форме?
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СКД = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(СКД, УникальныйИдентификатор);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВоВременномХранилище);
КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);
КонецПроцедуры
Показать
(12)Немного не то.
Ситуация следующая: я открываю отчет, на форме у меня уже есть настроенный отбор. Например, организация = "ООО Ромашка". В настройках отбора СКД также программно установлен соответствующий отбор "организация = "ООО Ромашка". И если на форме я изменяю отбор, то в настройках СКД он изменяется в соответствии со значением поля отбора на форме. НО в обратную сторону не изменяется. Если я зайду в настройки варианта через кнопку "Изменить вариант" и на вкладке Отбор изменю значение на "организация = ООО Лютик" и нажму ОК - в ЭТОТ момент мне нужно обновить отбор на форме. НО как мне отловить нажатие кнопки ОК в форме редактирования варианта?
Ситуация следующая: я открываю отчет, на форме у меня уже есть настроенный отбор. Например, организация = "ООО Ромашка". В настройках отбора СКД также программно установлен соответствующий отбор "организация = "ООО Ромашка". И если на форме я изменяю отбор, то в настройках СКД он изменяется в соответствии со значением поля отбора на форме. НО в обратную сторону не изменяется. Если я зайду в настройки варианта через кнопку "Изменить вариант" и на вкладке Отбор изменю значение на "организация = ООО Лютик" и нажму ОК - в ЭТОТ момент мне нужно обновить отбор на форме. НО как мне отловить нажатие кнопки ОК в форме редактирования варианта?
Все это напоминает задачу о квадратуре круга. Есть специальное поле для размещения отбора компоновки. Зачем впихивать на форму невпихуемое, писать обработчики этого впихивания, а потом жарить мозг как это невпихуемое обновлять?
Советую оставить на форме стандартный отбор, а заказчику объяснить, что с сегодняшнего дня и по самое когда 1С не придумает чего-нибудь новенького, отборы в отчетах будут работать так и только так.
Я сам 3-4 раза мучился, создавая клюшкоподобный интерфейс, просто потому, что клиенту так было удобнее. Больше так не делаю.
Советую оставить на форме стандартный отбор, а заказчику объяснить, что с сегодняшнего дня и по самое когда 1С не придумает чего-нибудь новенького, отборы в отчетах будут работать так и только так.
Я сам 3-4 раза мучился, создавая клюшкоподобный интерфейс, просто потому, что клиенту так было удобнее. Больше так не делаю.
(18) Хм...
(15) Если ты в самом деле выводишь отборы на форму отдельными полями исключительно "для удобства", то это делается штатно без танцев с бубном.
Просто в настройках варианта становишься на элемент отбора и там справа есть кнопочка пользовательских настроек, которая позволяет включить в пользовательские настройки КОНКРЕТНЫЙ элемент отбора. Если скажешь включать в быстрые настройки, то этот элемент отбора будет автоматически отображаться на форме отдельным полем (в новом "Такси"). Ему даже можно указать персональное "говорящее" название, если это не совсем очевидный отбор.
(15) Если ты в самом деле выводишь отборы на форму отдельными полями исключительно "для удобства", то это делается штатно без танцев с бубном.
Просто в настройках варианта становишься на элемент отбора и там справа есть кнопочка пользовательских настроек, которая позволяет включить в пользовательские настройки КОНКРЕТНЫЙ элемент отбора. Если скажешь включать в быстрые настройки, то этот элемент отбора будет автоматически отображаться на форме отдельным полем (в новом "Такси"). Ему даже можно указать персональное "говорящее" название, если это не совсем очевидный отбор.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот