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

24.04.20

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

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

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

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

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

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

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

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

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

БСП СКД

См. также

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

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    3655    16    15    

18

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

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

27.12.2024    3452    PROSTO-1C    15    

43

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

Синтакс-помощник БСП - справочник по Библиотеке Стандартных Подсистем, профессиональный инструмент разработчика с интуитивно понятным интерфейсом. Читайте в статье как использовать все возможности справочника и сделать работу с БСП более комфортной и эффективной.

11.12.2024    3907    gorenski    0    

8

БСП (Библиотека стандартных подсистем) Менеджеры внешних отчетов Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

За последние лет 5 несколько раз сталкиваюсь с проблемой на разных проектах (в конфигурациях 1С:ERP, 1С:ERP УХ и многих других, основанных на БСП), когда много пользователей (около 30 тысяч) в информационной базе, время добавления доступа для пользователей занимает значительное время. Открытие списка занимает от 10 до 15 секунд, и каждое изменение списка еще примерно столько же.

1 стартмани

10.12.2024    997    Iaskeliainen    2    

7

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

Некоторые нюансы, если вы захотите создавать свои расширения. Доработка отчета "Связанные документы" для отражения документов расширения. Печатные формы с шаблоном Word.

20.11.2024    3346    milkers    3    

12

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

В статье описан алгоритм для включения документа или справочника в систему БСП. Будет полезно программистам 1С, начинающим работать с БСП.

24.10.2024    1688    PROSTO-1C    0    

18

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

В материале описан универсальный механизм работы с добавленными элементами на общую форму «ФормаОтчета». Думаю, облегчит работу многим разработчикам.

08.10.2024    1375    PROSTO-1C    4    

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

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

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

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

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

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

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

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

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

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

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

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

        КонецЕсли;

    КонецЕсли;

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