Разместить настоящие реквизиты ссылочного измерения: Отдельно

Учебные задачи

У измерения Издание есть собственные реальные Код и Наименование, а не две выдуманные подписи строкового поля.

Где и как запускать

Тело кнопки своей обычной формы, толстый клиент; текст запроса перед основным блоком.

Подготовка

  1. В своей учебной конфигурации создайте иерархический справочник УчебныеИзданияСКД: иерархия групп и элементов, код Строка 10, наименование 100, реквизит КоличествоУчебное Число 10.0.

  2. Вручную создайте только свои записи: группа GROUP с именем Учебные издания, в ней элемент BOOK-1 Учебная книга с количеством 3 и элемент BOOK-2 Учебная тетрадь с количеством 5. Обновите учебную базу; рабочую номенклатуру не используйте.

  3. Группировка должна иметь настоящий ссылочный тип с иерархией. Два строковых названия книг не заменяют такой источник.

  4. BSL, записи справочника и формирование запросов при сборке HTML не выполнялись.

  5. Своя обычная форма обработки, толстый клиент. Дополнительный текст запроса выполните первым в теле кнопки, затем основной блок. Источник — только собственный справочник УчебныеИзданияСКД.

  6. Ссылочное поле Издание имеет вложенные доступные поля Издание.Наименование и Издание.Код. Они выбираются как реквизиты этого измерения; Количество остаётся отдельным числовым показателем с итогом из запроса.

  7. Для сравнения трёх режимов формируйте самостоятельные варианты одного источника, меняя только РазмещениеРеквизитовИзмеренийВСтроках. Не заменяйте Издание простой строкой: у неё нет этих метаданных.

Построитель = Новый ПостроительОтчета;
Построитель.Текст = ТекстЗапроса;
Построитель.ЗаполнитьНастройки();
Построитель.ИзмеренияСтроки.Очистить();
Построитель.ИзмеренияСтроки.Добавить("Издание", "Издание");
Построитель.ИзмеренияКолонки.Очистить();
Построитель.ВыбранныеПоля.Очистить();
Построитель.ВыбранныеПоля.Добавить("Издание");
Построитель.ВыбранныеПоля.Добавить("Издание.Наименование", "Название");
Построитель.ВыбранныеПоля.Добавить("Издание.Код", "Код издания");
Построитель.ВыбранныеПоля.Добавить("Количество");
Построитель.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
Построитель.Выполнить();
Лист = Новый ТабличныйДокумент;
Построитель.Вывести(Лист);
Лист.Показать("Свои реквизиты измерения: Отдельно");
Сообщить("Размещение в строках: " + Строка(Построитель.РазмещениеРеквизитовИзмеренийВСтроках));
Сначала в той же кнопке: запрос собственных ссылок и количеств
ТекстЗапроса = "ВЫБРАТЬ Издания.Ссылка КАК Издание,
|Издания.КоличествоУчебное КАК Количество
|ИЗ Справочник.УчебныеИзданияСКД КАК Издания
|ГДЕ НЕ Издания.ЭтоГруппа И Издания.Код В (""BOOK-1"", ""BOOK-2"")
|ИТОГИ СУММА(Количество) ПО Издание";

Разбор по шагам

  1. Подготовьте своё ссылочное измерение и два элемента.

  2. Выберите два его реальных вложенных реквизита.

  3. Примените режим к строкам и сформируйте собственный отчёт.

Как проверить результат

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

  2. Код / наименование не становятся дополнительными количественными ресурсами. Исходные количества 3 / 5; иерархические итоги не складываются повторно с деталями. BSL при сборке HTML не исполнялся.

Ожидаемый результат

Режим применяется старым построителем к действительному ссылочному измерению и его реквизитам.

На что обратить внимание

  1. Не используйте произвольный строковый столбец с похожим названием вместо реального поля ссылки.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.