Форма отчёта СКД не учитывает Ориентацию страницы сформированного табличного документа
Приветствую в моей теме.
Подскажите, кто знает, пожалуйста. Вот есть внешний отчёт СКД, в нём в модуле "ПриКомпоновкеРезультата", среди прочего, задана ориентация страницы табличного документа. Но стандартная , формируемая в 1с Бух 3, форма отчета позже игнорирует ориентацию табл док. и формируют свою (портретную) ориентацию.
Можно ли, не добавляя всё же в отчёт свою форму, а указав некие "магические параметры" в процедуре "ПриКомпоновкеРезультата", объяснить стандартным механизмам БСП, что надо брать ориентацию страницы из уже сформированного отчётом табличного документа? (всё на упр формах)
Подскажите, кто знает, пожалуйста. Вот есть внешний отчёт СКД, в нём в модуле "ПриКомпоновкеРезультата", среди прочего, задана ориентация страницы табличного документа. Но стандартная , формируемая в 1с Бух 3, форма отчета позже игнорирует ориентацию табл док. и формируют свою (портретную) ориентацию.
Можно ли, не добавляя всё же в отчёт свою форму, а указав некие "магические параметры" в процедуре "ПриКомпоновкеРезультата", объяснить стандартным механизмам БСП, что надо брать ориентацию страницы из уже сформированного отчётом табличного документа? (всё на упр формах)
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Сам себе и отвечу: в общем, добавил в расширение функцию ПолучитьНастройкиОтчетаПоУмолчанию() (из модуля "ОтчетыКлиентСервер) , убрав оттуда настройку ориентации по умолчанию. "Перебития" ориентации из табл. док-та прекратились
(2) По задумке БСП, настройки из НастройкиОтчетаПоУмолчанию предполагается переопределять так:
// ОбщийМодуль.ВариантыОтчетовПереопределяемый
Процедура НастроитьВариантыОтчетов(Настройки) Экспорт
МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов");
<...>
+ МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.<ИмяОтчета>);
КонецПроцедуры
// Отчеты.<ИмяОтчета>.МодульМенеджера
// !! Результат кэшируется в кэше БСП в РегистрСведений.ПараметрыРаботыПрограммы:"СтандартныеПодсистемы.ВариантыОтчетов" . Для обновления нужно изменить версию конфигурации/расширения, где этот отчет фигурирует
// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов.
//
Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета)
НастройкиОтчета.ОпределитьНастройкиФормы = Истина;
КонецПроцедуры
// Отчеты.<ИмяОтчета>.МодульОбъекта
// Задать настройки формы отчета.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения, Неопределено -
// КлючВарианта - Строка, Неопределено -
// Настройки - см. значение ОтчетыКлиентСервер.НастройкиОтчетаПоУмолчанию
//
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
<изменить Настройки>
КонецПроцедуры
Показать
(3) Спасибо за ответ! (сначала не понял даже, что это бот инфостарт мне сообщил, о чём речь вообще, времени прошло немало..)) Если я правильно понял, то три процедуры выше - это три различных варианта решить вопрос стандартно для БСП? В любом случае, как мне кажется, подход странный и громоздкий (как и многое в 1с). БСП получает от отчета табличный документ, где задана некая ориентация страницы.
Ну и передавай дальше заданную отчетом ориентацию - и всё. Но нет - БСП должно (злостно) проигнорировать заданное и задать своё, если программист не извратился еще где-то что-то "дважды-трижды" сказать. Логики- 0.
В любом случае, спасибо за помощь!
Ну и передавай дальше заданную отчетом ориентацию - и всё. Но нет - БСП должно (злостно) проигнорировать заданное и задать своё, если программист не извратился еще где-то что-то "дважды-трижды" сказать. Логики- 0.
В любом случае, спасибо за помощь!
(4)
Нужны все три. Каждая предыдущая способствует вызову следующей логикой БСП ВариантыОтчетов.
В БСП ВариантыОтчетов предполагается иметь возможность обходиться без переопределения ПриКомпоновкеРезультата; настройки печати входят в настройки отчета/варианта, сохраняемые БСП (в СКД таких не предусмотрено как класс, т.е. их необходимо задавать где-то отдельно), пользователь может менять настройки, заданные в конфигурации, и в них нет флага "использовать". Т.е. в логике БСП ВариантыОтчетов не предусмотрено возможности понять, являются ли настройки печати, которые вернуло ПриКомпоновкеРезультата, окончательными, и они предполагают, что нет.
Если я правильно понял, то три процедуры выше - это три различных варианта решить вопрос стандартно для БСП?
Нужны все три. Каждая предыдущая способствует вызову следующей логикой БСП ВариантыОтчетов.
Но нет - БСП должно (злостно) проигнорировать заданное и задать своё, если программист не извратился еще где-то что-то "дважды-трижды" сказать.
В БСП ВариантыОтчетов предполагается иметь возможность обходиться без переопределения ПриКомпоновкеРезультата; настройки печати входят в настройки отчета/варианта, сохраняемые БСП (в СКД таких не предусмотрено как класс, т.е. их необходимо задавать где-то отдельно), пользователь может менять настройки, заданные в конфигурации, и в них нет флага "использовать". Т.е. в логике БСП ВариантыОтчетов не предусмотрено возможности понять, являются ли настройки печати, которые вернуло ПриКомпоновкеРезультата, окончательными, и они предполагают, что нет.
(5) Спасибо. Но, честно, я мало что по-настоящему понял. Но как я считаю, не столько виновата моя (посредственная) сообразительность, сколько то, что логика разработчиков БСП (и 1с вообще) очень часто "витиеватая и своеобразная".
Ок, они не могут сказать, окончательны ли настройки табличного документа, которые пришли из "ПриКомпоновкеРезультата". Но зачем вообще они лезут переопределять , задавать свои, настройки печати, в частности, ориентацию табличного документа?? Окончательны или нет, но настройка ориентации программистом некая задана (если задана) в "ПриКомпоновкеРезультата". И зачем же вероломно лезть и их переопределять, когда никто их об этом не просит??. Бред, как на мой взгляд.
Ок, они не могут сказать, окончательны ли настройки табличного документа, которые пришли из "ПриКомпоновкеРезультата". Но зачем вообще они лезут переопределять , задавать свои, настройки печати, в частности, ориентацию табличного документа?? Окончательны или нет, но настройка ориентации программистом некая задана (если задана) в "ПриКомпоновкеРезультата". И зачем же вероломно лезть и их переопределять, когда никто их об этом не просит??. Бред, как на мой взгляд.
(6)
См. выше -- чтобы пользователь мог их переопределять.
По-видимому, они решили, что если добавить к каждой настройке еще и флаг -- использовать ее или не использовать, -- и разделить настройки на настройки программиста и настройки пользователя -- то все ногу сломят (памятуя СКД, где так и сделано).
Но зачем вообще они лезут переопределять , задавать свои, настройки печати, в частности, ориентацию табличного документа??
См. выше -- чтобы пользователь мог их переопределять.
По-видимому, они решили, что если добавить к каждой настройке еще и флаг -- использовать ее или не использовать, -- и разделить настройки на настройки программиста и настройки пользователя -- то все ногу сломят (памятуя СКД, где так и сделано).
(7) Ок, чтобы пользователь мог их переопределять. Но пользователь в моём случае и не пытался ничего переопределять! Тогда должны действовать настройки, заданные программистом в "ПриКомпоновкеРезультата". Зачем они сами вообще лезут и вмешиваются?? В общем, как ни крути, а те ребята с очень "своеобразным" мышлением.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот