Переопределение настроек отчета на СКД. 1С: БСП

24.04.20

Разработка - БСП (Библиотека стандартных подсистем)

Изменение настроек СКД отчета без доработки модулей БСП

Перестаньте править БСП!

Вы вывели отбор подразделений на форму списком, а список только для чтения и содержит все подразделения без иерархии, а вы можете проставить галочки, то вот пример как для конкретного отчета переопределить список подразделений для выбора.
Конфигурация 1С:ERP Управление предприятием 2 (2.4.9.82)

Пишем в модуле отчета:

Процедура ПриОпределенииПараметровВыбора(Форма, СвойстваНастройки) Экспорт
	Если ПолучитьФункциональнуюОпцию("ИспользоватьПодразделения") 
		И СвойстваНастройки.ОписаниеТипов.Типы().Количество() = 1
		И СвойстваНастройки.ОписаниеТипов.СодержитТип(Тип("СправочникСсылка.СтруктураПредприятия")) Тогда
		СвойстваНастройки.ЗапросЗначенийВыбора = ЗапросДляОтбораПодразделение();
		СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями = Ложь;
	КонецЕсли;	
КонецПроцедуры

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

Функция ЗапросДляОтбораПодразделение()
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
	               |	СтруктураПредприятия.Ссылка КАК Ссылка
	               |ИЗ
	               |	Справочник.СтруктураПредприятия КАК СтруктураПредприятия
	               |ГДЕ
	               |	СтруктураПредприятия.Родитель.Код = ""000000190""
	               |
	               |УПОРЯДОЧИТЬ ПО
	               |	СтруктураПредприятия.Наименование";
	
	Возврат Запрос;
КонецФункции

Процедура "ОпределитьНастройкиФормы" вызывается из любого отчета в попытке из модуля, в ней мы включаем запуск процедуры из модуля "ПриОпределенииПараметровВыбора" (есть еще глобальная в БСП, но нам хочется доработать только наш отчет, из глобального процедуры забираем код и редактируем его (в нашем случае запрос), сначала отработает глобальная процедура, затем наша, только для нашего отчета.
Отладчиком и стеком вызова можно увидеть очень много других настроек, которые можно изменить без правки БСП.

БСП СКД

См. также

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1282    dimanich70    6    

13

Заполнение поля адреса в своей обработке [БСП]

Механизмы платформы 1С БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Небольшая шпаргалка по функциям БСП касательно адреса. Так скажем, еще один способ помимо https://infostart.ru/1c/articles/1060970/

12.02.2024    687    FilippovRI    0    

15

Расширяем возможности дополнительных обработок и настраиваем их отладку

БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    2351    YA_418728146    11    

40

1С:БСП Дополнительные реквизиты и сведения

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Бесплатно (free)

В этой статье расскажем об архитектуре, использовании и особенностях реализации подсистемы «Свойства» из инструментария разработчика «1С:Библиотека стандартных подсистем» (1С: БСП).

19.01.2024    5162    PROSTO-1C    5    

45

Бесплатный митап 9 февраля «Библиотеки и фреймворки на 1С и всё, что с этим связано»

БСП (Библиотека стандартных подсистем) Мероприятия Бесплатно (free)

Митап посвящен вопросам создания, использования и поддержке переиспользуемого кода при разработке решений на платформе 1С:Предприятие 8.

15.01.2024    3798    0    Infostart    0    

20

Шаблоны новых объектов 1С для 1С:Бухгалтерии предприятия

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    4831    mrXoxot    11    

99
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 24.04.20 10:26
Сообщение было скрыто модератором.
...
2. klimsrv 18 24.04.20 10:36 Сейчас в теме
(1) это код из БСП, вы можете не читать, ни какого принуждения
3. VmvLer 24.04.20 11:44 Сейчас в теме
(2) если это
 |ГДЕ
	               |	СтруктураПредприятия.Родитель.Код = ""000000190""

код из БСП, то моя система ценностей разрушена.

прочтите свою тему раз 10 и получите удовольствие от четкости изложения и того
чему учат в с школе: завязка, кульминация, финал...
и конце сочинения читатель должен глубоко задуматься.

я не задумался, можете сказать почему?
4. klimsrv 18 24.04.20 11:52 Сейчас в теме
(3) Я понимаю, что вы бы определили параметр запроса через НайтиПоКоду или НайтиПоНаименованию, или добавили предопределенный элемент в типовой справочник, вас бы это устроило, а может даже вы бы добавили допник и по его значению бы сделали отбор, а может вы бы добавили просто реквизит в типовой справочник, но поймите, суть поста вовсе не в этом, это лишь пример.

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

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

Вы можете пройти писать сочинения, а тут просто готовый код, готовый к использованию для решения конкретной задачи без изменения типовых модулей и справочников.
Риник; motiask; +2 Ответить
5. пользователь 24.04.20 12:07
Сообщение было скрыто модератором.
...
6. klimsrv 18 24.04.20 12:13 Сейчас в теме
(5) Действительно, сделайте такое приобретение, может станете писать пунктуационно правильно . И давайте, я сам решу, что буду приобретать
7. PerlAmutor 129 27.04.20 06:21 Сейчас в теме
Использую этот подход наверное уже год, т.к. подсистема Вариантов Отчетов в БСП делает свой запрос к справочнику СтруктураПредприятия по всем подразделениям и помещает результат в СписокЗначений. А как вы знаете, если элемент формы использует список значений, то осуществлять поиск по коду уже не получится. В случае с огромным количеством подразделений это становится головной болью и отнимает время.

Процедура ПриОпределенииПараметровВыбора(Форма, СвойстваНастройки) Экспорт

    Если ТипЗнч(СвойстваНастройки.ДоступнаяНастройкаКД) = Тип("ДоступныйПараметрКомпоновкиДанных")
        И СвойстваНастройки.ДоступнаяНастройкаКД.Параметр = Новый ПараметрКомпоновкиДанных("Подразделение") Тогда

        СвойстваНастройки.БыстрыйВыбор = Истина;

        Если Не ПустаяСтрока(СвойстваНастройки.ЗапросЗначенийВыбора.Текст) Тогда

            СвойстваНастройки.ЗапросЗначенийВыбора.Текст = ""; // Если тут текст запроса стереть, то используется стандартный

        КонецЕсли;

    КонецЕсли;

КонецПроцедуры
Показать
8. gorakh 26 06.05.20 22:39 Сейчас в теме
Набор настроек зависит от версии БСП. Сталкивался с этим.
Оставьте свое сообщение