Работа новой роли "Основное" в СКД у платформы 8.5

05.06.26

Разработка - СКД

В версию платформы 8.5 в механизм СКД добавили новую роль поля "Основное". Эта роль используется для изменения стандартного поведения расшифровки детальных записей.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Работа новой роли "Основное" в СКД у платформы 8.5
.erf 6,66Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

В СКД появилась новая роль "Основное":

 

 

Поле с ролью "Основное" работает для детальных записей, такое поле автоматически открывается при нажатии на детальные записи.

Поле с ролью "Основное" имеет особенности при использовании и неочевидное поведение. Которое мы рассмотрим в этой статье.

Поле с ролью "Основное" в структуре xml отражается так:

<role>

      <dcscom:isMain>true</dcscom:isMain>

</role>

Для тестировани напишем отчет с таким запросом:

ВЫБРАТЬ
	ТоварыНаСкладахОстаткиИОбороты.Регистратор КАК Регистратор,
	ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда КАК ПериодСекунда,
	ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
	ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК ВНаличииПриход,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход КАК ВНаличииРасход,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток
ИЗ
	РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты

Настройками полей:

 

 

И структурой:

 

 

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

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки());
	
КонецПроцедуры

Сформируем отчет и увидим, что при клике на расшифровку все работает стандартно:

 

 

Установим роль "Основное" у номенклатуры и сформируем отчет:

 

 

Визуально ничего не изменилось, но теперь при нажатии на поле детальных записей у нас автоматически открывается Номенклатура:

 

 

Отметим "Основное" у склада и не будем снимать у номенклатуры. 

 

 

Сформируем отчет. Визуально ничего не изменилось,  при нажатии на поле детальных записей у нас открывается номенклатура:

 

 

Если мы снимем "Основное" у номенклатуры, начнет работать склад в расшифровке детальных записей:

 

 

Оставим роль "Основное" только у номенклатуры и уберем поле из детальных записей:

 

 

 

Проанализируем итоговый запрос:

 

 

ВЫБРАТЬ
	ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК ВНаличииПриход,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход КАК ВНаличииРасход,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток,
	ПРЕДСТАВЛЕНИЕССЫЛКИ(ТоварыНаСкладахОстаткиИОбороты.Склад) КАК СкладПредставление,
	ТоварыНаСкладахОстаткиИОбороты.Склад.Наименование КАК СкладНаименование
ИЗ
	РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты

В нем нет номенклатуры и расшифровка по детальным записям номенклатуру не открывает:

 

 

Уберем роль "Основное" у номенклатуры  и добавим роль "Основное" у регистратора:

 

 

Возвращаемся к изначальной структуре отчета:

 

 

Сформируем отчет и увидим, что визуально он изменился.

 

 

Проанализируем запрос и увидим, что в случае с регистратором он добавил поле в итоговый запрос:

ВЫБРАТЬ
	ТоварыНаСкладахОстаткиИОбороты.Регистратор КАК Регистратор,
	ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда КАК ПериодСекунда,
	ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
	ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК ВНаличииНачальныйОстаток,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК ВНаличииПриход,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход КАК ВНаличииРасход,
	ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК ВНаличииКонечныйОстаток,
	ПРЕДСТАВЛЕНИЕССЫЛКИ(ТоварыНаСкладахОстаткиИОбороты.Номенклатура) КАК НоменклатураПредставление,
	ПРЕДСТАВЛЕНИЕССЫЛКИ(ТоварыНаСкладахОстаткиИОбороты.Склад) КАК СкладПредставление,
	ВЫБОР
		КОГДА ТоварыНаСкладахОстаткиИОбороты.Склад.Ссылка ЕСТЬ NULL
			ТОГДА 0
		ИНАЧЕ 1
	КОНЕЦ КАК СкладПолеУпорядочивания1,
	ТоварыНаСкладахОстаткиИОбороты.Склад.Наименование КАК СкладПолеУпорядочивания2
ИЗ
	РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты

УПОРЯДОЧИТЬ ПО
	СкладПолеУпорядочивания1,
	СкладПолеУпорядочивания2,
	Склад

Из типовых конфигураций, переведенных на платформу 8.5, знаю только 1С:УНФ. В версии 3.0.13.342 УНФ нет использования роли "Основное" в отчетах.

 

Итого:

1) Поле с ролью "Основное" меняет поведение расшифровки для детальных записей. Открывая это поле при клике на детальные записи.

2) Второе "Основное" поле не работает.

3) Поле с ролью "Основное" может быть добавлено в запрос даже если не используется. Оптимизатор СКД может удалить такое поле из итогового запроса, а может и не удалить.

4) Присутствие поля с ролью "Основное" в структуре отчета может исказить результат.

 

Выводы:

Сценарии использования и работа роли Основное не очевидны, то, что оно делает, можно было сделать парой строчек кода в СКД. Ждем примеров использования этой роли от вендора.

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.12.218

Вступайте в нашу телеграмм-группу Инфостарт

СКД 8.5 Роли полей

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    261360    1458    421    

1170

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    7132    372    shapa_pro    27    

69

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    20616    ovetgana    112    

115

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    11817    krasnoshchekovpavel    7    

68

СКД Программист Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    11417    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    17032    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

СКД – инструмент, на базе которого в современных конфигурациях реализованы практически все отчеты. СКД используется в динамических списках, печатных формах и универсальных механизмах. Если построить простейший отчет может каждый разработчик, то с нюансами знакомы далеко не все. Расскажем о неочевидных на первый взгляд приемах, способных значительно повысить качество отчетов.

24.12.2024    14791    Akcium    17    

47

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    11871    AlexeyPROSTO_1C    1    

32
Для отправки сообщения требуется регистрация/авторизация