[ Вопрос дня ] Как можно измененной схемой компоновки данных переинициализировать компоновщик настроек в форме?

Доброго дня, коллеги!

Тренер, предположив направление пути решения проблемы слушателя, угадал на все 100%. Вывод делаем следующий: в любой непонятной ситуации либо долго и упорно пытаемся что-то придумать сами, либо “подсматриваем” в типовых решениях и используем то, что уже давно придумано до нас! Тем самым экономим время, деньги, ну и свои нервы :)

Вопрос

Добрый день. Не могу найти ответ на следующую проблему. Конфигурация УТ 11.4. Внешний отчет. СКД с набором данных объект. В поле “Данные” указан тип значения Строка, Число, Булево, Любая ссылка. Перед формированием отчета создается и заполняется таблица значений. В таблице значения тип поля “Данные” меняется. Требуется перед формированием отчета наложить отбор на реквизит из поля “Данные.*” по типу, который присутствует в таблице значений. Программная подмена типа значения в схеме в поле “Данные” и инициализация и загрузка настроек в компоновщик настроек ничего не меняет. При развороте поля “Данные” присутствуют реквизиты всех ссылочных объектов, а требуется только для типов присутствующих в таблице значений.

Ответ

Добрый день! Предполагаю, что проблема возникает из-за того, что компоновщик настроек в форме не переинициализируется измененной схемой компоновки. Готового решения с ходу не предложу, пока есть только направление, в котором можно подумать. Ранее в курсе обсуждали, как можно переключать схему компоновки из формы отчета. Приложил такой пример – ПереключениеСКД.zip. В нем в форме отчета мы можем выбрать, какую схему компоновки использовать, то есть переключить схему компоновки. Пользователь открывает отчет, нажимает кнопку Схема1 или Схема2. При этом компоновщик настроек инициализируется по выбранной схеме, в него загружаются настройки по умолчанию из нужной схемы. Подумайте, пожалуйста, в таком направлении, может, на мысль наведет Вас.

И еще одно предложение. В 1С:УТ ред. 11 есть типовой отчет – УниверсальныйОтчет. В модуле этого объекта есть такой комментарий:

// Вызывается перед загрузкой новых настроек. Используется для изменения схемы компоновки.
// Например, если схема отчета зависит от ключа варианта или параметров отчета.
// Чтобы изменения схемы вступили в силу следует вызывать метод ОтчетыСервер.ПодключитьСхему().

Попробуйте этим методом еще воспользоваться применительно к своей задаче.

Ответ слушателя

Метод ОтчетыСервер.ПодключитьСхему() отрабатывает отлично. Если проанализировать код, то видно, что делаются дополнительные изменения реквизитов формы, что приводит к положительному результату. Огромное спасибо за оперативный ответ и оказанную помощь.
Это пример разобранного вопроса из Мастер-группы курса
Профессиональная разработка отчетов в 1С 8.3 на СКД.

Описание курса и примеры видео

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.