1с скд не работает отбор

Обновлено: 04.07.2024

Делаю отчет на СКД. Источник данных - запрос:
ВЫБРАТЬ
ибсВыданныеТалоныОстаткиИОбороты.Контрагент КАК Контрагент,
ибсВыданныеТалоныОстаткиИОбороты.ДоговорКонтрагента КАК Договор,
ибсВыданныеТалоныОстаткиИОбороты.Талон КАК Талон,
ибсРеквизитыДоговоровСрезПоследних.ибсРайон КАК Район,
ибсРеквизитыДоговоровСрезПоследних.ибсТипДоговора КАК ТипДоговора,
ибсВыданныеТалоныОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
ибсВыданныеТалоныОстаткиИОбороты.КоличествоПриход КАК Выдано,
ибсВыданныеТалоныОстаткиИОбороты.КоличествоРасход КАК Использовано,
ибсВыданныеТалоныОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток
ИЗ
РегистрНакопления.ибсВыданныеТалоны.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , ) КАК ибсВыданныеТалоныОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ибсРеквизитыДоговоров.СрезПоследних(&КонецПериода, ) КАК ибсРеквизитыДоговоровСрезПоследних
ПО ибсВыданныеТалоныОстаткиИОбороты.ДоговорКонтрагента = ибсРеквизитыДоговоровСрезПоследних.ДоговорКонтрагента
УПОРЯДОЧИТЬ ПО
Контрагент, Договор

В компоновке указываю ресурсы НачальныйОстаток, Выдано, Использовано, КонечныйОстаток. Создаю единственную группировку Контрагент, Договор, Талон, Договор, ТипДоговора и на закладке выбранные поля добавляю все 4 ресурса. Отчет формируется правильно, но при включении отбора по полям Район или ТипДоговора получаю пустой отчет. Что я делаю не так? Почему поля взяты из таблицы прикрепленной Левым соединением нельзя использовать в отборе?

Кто сказал, что нельзя? Все можно. "Отбор не работает" - это когда при его включении вообще ничего не меняется. А у тебя ситуация прямо противоположна, т.е. все хорошо.

Как быть? Можно ли подругому сформулировать запрос, чтобы работал отбор по району и типу договора?

Хочешь пользоваться отбором сделай вложенный запрос-там сначала объедини обе таблицы, а уже по полям вложенного запроса можешь делать отборы.
Или заведи несколько параметров отчета и используй их как параметры левой таблицы.

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

Для начала выключи "Автозаполнение" и сам укажи нужные поля для выбора и отбора.

Отображение заголовков, параметров данных и отборов в системе компоновки данных

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


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


Для управления отображением заголовков используются следующие параметры :

  • Выводить заголовок - управление отображением заголовка. Существуют следующие варианты отображения заголовка :
    • Авто - отображение заголовка определяется автоматически. Если в заголовке указан текст, то текст заголовок отображается, иначе нет ;
    • Не выводить - заголовок не отображается ;
    • Выводить - заголовок отображается всегда.

    Параметры данных отображаются только в начале отчета.


    Для управления отображением значений параметров данных используется параметр Выводить параметры данных .

    • Авто - отображение параметров данных определяется автоматически. Если параметры данных указаны, то отображается текст вида " Параметры данных : < параметр1 > = < значение1 >" , иначе параметры данных не отображаются ;
    • Не выводить - параметры данных не отображаются ;
    • Выводить - параметры данных отображаются всегда. Если параметры данных не указаны, то отображается только текст вида " Параметры данных : " .

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


    Для управления отображением отбора используется параметр Выводить отбор .

    Amfiaray --> Amfiaray



    Просмотр профиля

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

    TipsyKID --> TipsyKID



    Просмотр профиля В вычисляемых полях есть галочка в группе "Ограничение доступности" : "Условие". Оно у Вас ,случайно, не стоит ? Специалист : Технологическая платформа 8.х, Бухгалтерия для Украины, Управление торговлей для Украины, Зарплата и Управление Персоналом для Украины Amfiaray --> Amfiaray



    Просмотр профиля

    Вот выражение с закладки Ресурсы, так считаю проценты

    А на закладке Вычисляемые поля просто пишу наименование поля, без выражения

    TipsyKID --> TipsyKID



    Просмотр профиля

    1. &КоличествоДнейМесяца * &ТекущийДеньМесяца ? Серьезно ? Просите для каждой строки при расчете ресурса рассчитывать константу которую можно передать заранее ?
    2. Сложно сказать, что - то внятное без кода. Давайте обработку, я гляну.

    Специалист : Технологическая платформа 8.х, Бухгалтерия для Украины, Управление торговлей для Украины, Зарплата и Управление Персоналом для Украины Amfiaray --> Amfiaray



    Просмотр профиля

    1. &КоличествоДнейМесяца * &ТекущийДеньМесяца это параметры, расчитываются заранее и передаются в отчет
    2. Конфа полностью самописная, не сможите открыть, могу показать запрос и скрины с расчетом



    TipsyKID --> TipsyKID



    Просмотр профиля

    Давайте скриншоты.
    Я имел ввиду , что необходимо передавать Параметр = &КоличествоДнейМесяца * &ТекущееКоличествоДней
    Вы же в запросе плодите лишнии вычисления.

    Ясно. Он ругается на отбор т.к. у вас ресурс рассчитывается не для всех группировок. Естественно , что поле не найдется ( поле по которому отбирают) если его не расчитывать.

    Специалист : Технологическая платформа 8.х, Бухгалтерия для Украины, Управление торговлей для Украины, Зарплата и Управление Персоналом для Украины Amfiaray --> Amfiaray



    Просмотр профиля Попробовал убрать все галочки и поставить вообще по всем полям в Расчитывать по. ошибка сохраняется TipsyKID --> TipsyKID



    Просмотр профиля Поставте для теста на вкладке вычисляемые поля значение 1 и тип Число.
    Проверьте заработает ли отчет.
    Специалист : Технологическая платформа 8.х, Бухгалтерия для Украины, Управление торговлей для Украины, Зарплата и Управление Персоналом для Украины Amfiaray --> Amfiaray



    Просмотр профиля

    По числу 1 работает отбор

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

    Спасибо огромное, разобрался с этими процентами, все заработало

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

    Поток вопросов по СКД в Мастер-группе не прекращается. Сегодняшняя подборка тому подтверждение. Вопросы связаны и с платформенными изменениями самой системы компоновки данных, и с развитием БСП, и с расширением практик применения СКД в современных типовых решениях.


    Вопрос №1: “Почему могут быть не доступны варианты отчетов на СКД в пользовательском режиме?”

    Несколько раз сталкивался с тем, что варианты отчета, настроенные в конфигураторе, в пользовательском режиме не видны или виден только Основной вариант. Из этого я даже сделал вывод, что больше одного предопределенного варианта делать не имеет смысла. Судя по всему, вывод мой неправильный, в тестовой базе не воспроизводится. Почему могут быть не видны варианты и как это “лечить”?

    Ответ

    Если такая база базируется на БСП, то тут еще могут влиять механизмы БСП. Например, пользователю по ограничениям доступа недоступен конкретный вариант отчета, поэтому он его и не видит. Также для подсистемы БСП “Варианты отчетов” в общем модуле ВариантыОтчетовПереопределяемый в процедуре НастроитьВариантыОтчетов нужно явно описывать используемые варианты отчетов и запустить приложение с ключом ЗапуститьОбновлениеИнформационнойБазы.

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


    Вопрос №2: “Можно ли делать отбор на уровне детальных записей по вычисляемым полям в СКД?”

    Ошибка

    (нажмите, чтобы увеличить картинку)

    Ответ

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

    Исправление ошибки

    (нажмите, чтобы увеличить картинку)

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


    Вопрос №3: “В каком случае можно установить значения параметров в процедуре ПередКомпоновкойМакета модуля менеджера отчета?”

    В видео-уроке есть пример, где параметры отчета определяются и устанавливаются в модуле менеджера этого отчета в процедуре ПередКомпоновкойМакета(). Мне непонятно вот что:

    Модуль менеджера

    Ответ

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

    А в общем модуле БухгалтерскиеОтчетыВызовСервера есть функция ПодготовитьОтчет, в которой содержится следующий код:

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

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

    1. Это зависит от того, для какой конфигурации разрабатывается отчет. Если конфигурация создается с нуля, то такой метод из модуля менеджера просто некому будет вызвать. Если конфигурация базируется на БСП, то можно “подсмотреть” в типовых отчетах, как они разработаны. Также в документации по БСП, размещенной на сайте ИТС, можно изучить подробное устройство подсистемы Варианты отчетов.
    2. Да, во внешних отчетах и обработках в принципе не существует модуля менеджера.


    Вопрос №4: “Как вывести изображение в колонтитулах отчета на СКД?”

    Подскажите, есть ли возможность в колонтитулах отчета выводить изображение (например, логотип фирмы)?

    Ответ

    Да, начиная с платформы 8.3.15 появилась возможность добавить картинку в колонтитул.

    В конфигураторе это можно сделать в меню Таблица – Настройки печати – Колонтитулы:

    Картинка в колонтитул

    (нажмите, чтобы увеличить картинку)


    Вопрос №5: “Каким образом можно программно получать настройки отчета на СКД?”

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

    Но во многих видео настройки получаются такой строкой:

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

    Ответ

    Чтобы решить, какие именно настройки следует использовать, нужно задавать себе вопрос “Отчет с какими настройками мне нужно сформировать для решения поставленной задачи?”

    1. Чаще всего на практике нужно учитывать пользовательские настройки, значит, используем метод:

    В таком случае из компоновщика получаем настройки, которые уже включают в себя и пользовательские, и фиксированные настройки. С этими “результирующими” настройками компонуем отчет. В методе ПриКомпоновкеРезультата в модуле отчетов чаще всего встречается именно этот вариант

    1. Если нужно взять настройки не из компоновщика, а из схемы компоновки, то воспользуемся настройками по умолчанию:

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

    1. СКД часто используется в обработках – для заполнения ТЧ, списка справочников или документов для обработки. Настройки компоновщика размещаются на форме, пользователь может их редактировать – настраивать отборы по своему усмотрению. А пользовательские настройки в таком случае не используются, поскольку мы не отчет разрабатываем, а всего лишь обработку. Значит, можно взять настройки из компоновщика:
    Это примеры разобранных вопросов из Мастер-группы курса
    Профессиональная разработка отчетов в 1С 8.3 на СКД .

    Комментарии / обсуждение (2):

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

    Добрый день!
    Без данных и конкретного отчета, конечно, трудно определить причину.

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

    Таблица

    Пример.

    Предполагаю, что разные числа перемножаются, поэтому и результаты разные.

    Читайте также: