Skip to content
лого - блог 1с программиста

Блог 1С программиста

Наработки, заметки и другая информация по 1С

  • Главная
  • Типовые конфигурации
    • ЗУП 3.1
      • Разработка
        • Обработки
        • Отчеты
        • Печатные формы
        • Расширения
      • Инструкции
      • Ответы техподдержки 1С
      • Общие вопросы
    • ДО 2.1
    • УХ 3.2
    • УПП 1.3
  • Интеграции и обмены
  • Шаблоны и заготовки
    • Типовые приемы
    • Отчеты
    • Обработки
    • Печатные формы
    • Расширения
  • Платформа 1С
  • Разработки
    • Контакты
  • Toggle search form

Отбор по дополнительному реквизиту в отчете на СКД

Posted on 20 июня 23 г.9 октября 25 г. By Алексей 1 комментарий к записи Отбор по дополнительному реквизиту в отчете на СКД

Содержание:

  • Файлы материала
  • Постановка задачи
  • Как устроены доп.реквизиты
  • Реализация
Файлы материала
Шаблон отчета СКД с отбором по доп. реквизитамСкачать
Постановка задачи

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

Отбор по ПВХ на СКД
Как устроены доп.реквизиты

Не секрет, что связка объект, свойство ПВХ и значение ПВХ для доп. реквизита храниться в соответствующей табличной части объекта.

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

Табличная часть Дополнительные реквизиты справочника

где ЗначениеПВХ.Владелец = СвойствоПВХ.

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

Реализация

На просторах интернета существуют разные способы реализации данной задачи, вариант с использованием характеристик можно посмотреть тут, в данной статье будет рассмотрен вариант с использованием связи параметров выбора свойств и значений объекта.

Для этого создадим новый отчет, откроем схему компоновки и добавим набор данных «Запрос»:

1С (Запрос)
1
2
3
4
5
6
7
8
9
ВЫБРАТЬ
ПодразделенияОрганизаций.Ссылка КАК Ссылка,
ЕСТЬNULL(ПодразделенияДополнительныеРеквизиты.Значение, ЗНАЧЕНИЕ(Справочник.ЗначенияСвойствОбъектов.ПустаяСсылка)) КАК ПромышленныйПризнак
ИЗ
Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПодразделенияОрганизаций.ДополнительныеРеквизиты КАК ПодразделенияДополнительныеРеквизиты
ПО ПодразделенияОрганизаций.Ссылка = ПодразделенияДополнительныеРеквизиты.Ссылка
И (ПодразделенияДополнительныеРеквизиты.Свойство.Имя = "Подразделения_ПромышленныйПризнак")
И (ПодразделенияДополнительныеРеквизиты.Значение = &ЗначениеПВХ)

В запросе у нас появился один параметр &ЗначениеПВХ, по идеи, если дадим пользователю заполнять этот параметр, то вопрос будет решен, но на практике мы сталкиваемся со следующей проблемой:

Отбор по значению ПВХ без связи

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

Для решения этой проблемы, создадим в СКД еще один параметр &СвойствоПВХ с типом ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения. По данному параметру можно будет определить тип и отобрать по владельцу &ЗначенияПВХ.

Для этого перейдем в «параметры редактирования» и установим связь по типу (ПараметрыДанных.СвойствоПВХ) и связь параметров выбора (Отбор.Владелец = ПараметрыДанных.СвойствоПВХ).

Связи значения и свойства ПВХ через параметры редактирования

И получим нужный нам результат

Доп реквизит с отбором по владельцу

Но данная конструкция работает только в случаи, когда пользователь установил СвойствоПВХ, если же его не установить то проблема остаётся прежней.

Что бы избавить пользователя от этой задачи, будем устанавливать данный параметр программно, в ЗУП 3.1 это получилось сделать, прописав следующий код в модуле объекта:

1С (Код)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Настройки общей формы отчета подсистемы "Варианты отчетов".
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
Настройки.События.ПередЗагрузкойНастроекВКомпоновщик = Истина;
КонецПроцедуры
 
Процедура ПередЗагрузкойНастроекВКомпоновщик(Контекст, КлючСхемы, КлючВарианта, НовыеНастройкиКД, НовыеПользовательскиеНастройкиКД) Экспорт
СвойствоПВХ = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Подразделения_ПромышленныйПризнак");
ПараметрКомпоновки = Новый ПараметрКомпоновкиДанных("СвойствоПВХ");
ПараметрСКД = НовыеНастройкиКД.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрКомпоновки);
ПараметрСКД.Значение = СвойствоПВХ;
ПараметрСКД.Использование = Истина;
КонецПроцедуры

В других конфигурациях, чтобы сработал этот код, необходимо установить Форму отчета.

Настройки отчета СКД

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

Отчет на СКД с отбором по доп. характеристике

P. S.

  • Для дополнительных сведений эта же связка (Объект, Свойство, Значение) храниться в регистре сведений «ДополнительныеСведения».
  • Данную задачу можно реализовать через Характеристики.

Рекомендации

  • Отбор по дополнительному реквизиту в отчете на СКД через Характеристики
  • Как переименовать итоги в отчете СКД
  • Пример использования функции ВычислитьВыражениеСГруппировкойМассив в отчете на СКД
Отчеты, Шаблоны и заготовки Tags:ПВХ, связь параметров, связь по типу, СКД

Навигация по записям

Previous Post: Шаблон отчета СКД с получением данных из ТаблицыЗначений
Next Post: Как добавить новую колонку в форму списка

Комментарий (1) on “Отбор по дополнительному реквизиту в отчете на СКД”

  1. Сергей:
    27 июля 23 г. в 12:33

    Спасибо, полезно и без воды.

    Ответить

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

ДзенTelegram

Разработки

  • Печатная форма "Расходный кассовый ордер" для ЗУП 3.1 Печатная форма "Расходный кассовый ордер" ЗУП 3.1 650,00 ₽
  • Отчет "План-факт отпусков сотрудников в виде диаграммы Ганта Отчет "План-факт по отпускам сотрудников" ЗУП 3.1 650,00 ₽
  • Приказ об отмене трудового договора (рис 1) Печатная форма "Отмена приема на работу" ЗУП 3.1 650,00 ₽
  • Обработка “Выплата сотруднику через банк” ЗУП 3.1 Обработка “Выплата сотруднику через банк” ЗУП 3.1 0,00 ₽
  • Тестирование API Яндекс GPT Обработка "Работа с API YandexGPT" 650,00 ₽

MDM web-сервис XML БСП ЕФС-1 ИИ КД 2.0 НДФЛ СЗВ-СТАЖ СЗВ-ТД СКД СТД-Р СФР СЭДО ФСС ФСС НС больничные листы взносы вычеты длительная операция запрос интерфейс кадровая история кадровые данные кадровые переводы легкий труд мастер-данных обмен данными общий модуль отбор отпуска печать без проверки печать с диалогом пользователи представление прием на работу резервы отпусков сверхурочные синхронизация ЗУП и БП средний заработок табель таблица периодов табличный документ фотография штатное расписание

Яндекс.Метрика

© 2022-2026 myblog-1c.ru

Пользовательское соглашение

Контакты