Форма отчёта СКД не учитывает Ориентацию страницы сформированного табличного документа

1. Auser777 08.04.20 11:39 Сейчас в теме
Приветствую в моей теме.

Подскажите, кто знает, пожалуйста. Вот есть внешний отчёт СКД, в нём в модуле "ПриКомпоновкеРезультата", среди прочего, задана ориентация страницы табличного документа. Но стандартная , формируемая в 1с Бух 3, форма отчета позже игнорирует ориентацию табл док. и формируют свою (портретную) ориентацию.
Можно ли, не добавляя всё же в отчёт свою форму, а указав некие "магические параметры" в процедуре "ПриКомпоновкеРезультата", объяснить стандартным механизмам БСП, что надо брать ориентацию страницы из уже сформированного отчётом табличного документа? (всё на упр формах)
Найденные решения
2. Auser777 08.04.20 14:12 Сейчас в теме
Сам себе и отвечу: в общем, добавил в расширение функцию ПолучитьНастройкиОтчетаПоУмолчанию() (из модуля "ОтчетыКлиентСервер) , убрав оттуда настройку ориентации по умолчанию. "Перебития" ориентации из табл. док-та прекратились
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Auser777 08.04.20 14:12 Сейчас в теме
Сам себе и отвечу: в общем, добавил в расширение функцию ПолучитьНастройкиОтчетаПоУмолчанию() (из модуля "ОтчетыКлиентСервер) , убрав оттуда настройку ориентации по умолчанию. "Перебития" ориентации из табл. док-та прекратились
3. native-api 16.07.24 13:45 Сейчас в теме
(2) По задумке БСП, настройки из НастройкиОтчетаПоУмолчанию предполагается переопределять так:

// ОбщийМодуль.ВариантыОтчетовПереопределяемый
Процедура НастроитьВариантыОтчетов(Настройки) Экспорт

	МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов");
	
	<...>
+	МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.<ИмяОтчета>);
	
КонецПроцедуры

// Отчеты.<ИмяОтчета>.МодульМенеджера
// !! Результат кэшируется в кэше БСП в РегистрСведений.ПараметрыРаботыПрограммы:"СтандартныеПодсистемы.ВариантыОтчетов" . Для обновления нужно изменить версию конфигурации/расширения, где этот отчет фигурирует

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

// Отчеты.<ИмяОтчета>.МодульОбъекта

// Задать настройки формы отчета.
//
// Параметры:
//   Форма - ФормаКлиентскогоПриложения, Неопределено - 
//   КлючВарианта - Строка, Неопределено - 
//   Настройки - см. значение ОтчетыКлиентСервер.НастройкиОтчетаПоУмолчанию
//
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
	<изменить Настройки>
КонецПроцедуры
Показать
4. Auser777 16.07.24 19:46 Сейчас в теме
(3) Спасибо за ответ! (сначала не понял даже, что это бот инфостарт мне сообщил, о чём речь вообще, времени прошло немало..)) Если я правильно понял, то три процедуры выше - это три различных варианта решить вопрос стандартно для БСП? В любом случае, как мне кажется, подход странный и громоздкий (как и многое в 1с). БСП получает от отчета табличный документ, где задана некая ориентация страницы.
Ну и передавай дальше заданную отчетом ориентацию - и всё. Но нет - БСП должно (злостно) проигнорировать заданное и задать своё, если программист не извратился еще где-то что-то "дважды-трижды" сказать. Логики- 0.
В любом случае, спасибо за помощь!
5. native-api 17.07.24 11:35 Сейчас в теме
(4)
Если я правильно понял, то три процедуры выше - это три различных варианта решить вопрос стандартно для БСП?


Нужны все три. Каждая предыдущая способствует вызову следующей логикой БСП ВариантыОтчетов.

Но нет - БСП должно (злостно) проигнорировать заданное и задать своё, если программист не извратился еще где-то что-то "дважды-трижды" сказать.


В БСП ВариантыОтчетов предполагается иметь возможность обходиться без переопределения ПриКомпоновкеРезультата; настройки печати входят в настройки отчета/варианта, сохраняемые БСП (в СКД таких не предусмотрено как класс, т.е. их необходимо задавать где-то отдельно), пользователь может менять настройки, заданные в конфигурации, и в них нет флага "использовать". Т.е. в логике БСП ВариантыОтчетов не предусмотрено возможности понять, являются ли настройки печати, которые вернуло ПриКомпоновкеРезультата, окончательными, и они предполагают, что нет.
6. Auser777 17.07.24 11:47 Сейчас в теме
(5) Спасибо. Но, честно, я мало что по-настоящему понял. Но как я считаю, не столько виновата моя (посредственная) сообразительность, сколько то, что логика разработчиков БСП (и 1с вообще) очень часто "витиеватая и своеобразная".
Ок, они не могут сказать, окончательны ли настройки табличного документа, которые пришли из "ПриКомпоновкеРезультата". Но зачем вообще они лезут переопределять , задавать свои, настройки печати, в частности, ориентацию табличного документа?? Окончательны или нет, но настройка ориентации программистом некая задана (если задана) в "ПриКомпоновкеРезультата". И зачем же вероломно лезть и их переопределять, когда никто их об этом не просит??. Бред, как на мой взгляд.
7. native-api 17.07.24 11:52 Сейчас в теме
(6)
Но зачем вообще они лезут переопределять , задавать свои, настройки печати, в частности, ориентацию табличного документа??


См. выше -- чтобы пользователь мог их переопределять.

По-видимому, они решили, что если добавить к каждой настройке еще и флаг -- использовать ее или не использовать, -- и разделить настройки на настройки программиста и настройки пользователя -- то все ногу сломят (памятуя СКД, где так и сделано).
8. Auser777 17.07.24 11:57 Сейчас в теме
(7) Ок, чтобы пользователь мог их переопределять. Но пользователь в моём случае и не пытался ничего переопределять! Тогда должны действовать настройки, заданные программистом в "ПриКомпоновкеРезультата". Зачем они сами вообще лезут и вмешиваются?? В общем, как ни крути, а те ребята с очень "своеобразным" мышлением.
Оставьте свое сообщение

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