1с скд операция не разрешена в предложении упорядочить представление
Разрабатываю отчет с использованием СКД. На вкладке "Параметры" содержится параметр "Период", который имеет тип СтандартныйПериод. Необходимо в заголовке отчета вывести ПредставлениеПериода(Период.ДатаНачала, Период.ДатаОкончания). Как это можно реализовать?
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Период из запроса разбить на начало периода и конец периода
есть запрос "выбрать оборотыпродажи. период как период из продажиобороты " на выходе имеем.
Разница между СКД и консолью СКД
Доброго дня! Есть запрос в СКД следующего вида: ВЫБРАТЬ ПродажиОбороты.Контрагент.
1 С Управление Автотранспортом. Вывод на печать периода в заголовке в виде слова
Добрый день! Есть отчет. В заголовке к нему выводится период в виде: "за 01.11.2016 -.
Отчёт СКД. Как сделать так, чтобы в него попадали только данные за оба периода
Приветствую. Не подскажите, как сделать в отчёте так, чтобы в него попадали только данные за оба.
Решение
Можно конечно сделать без использования СКД, но тогда возникают проблемы с отборами и т.п.
Также можно создать параметр "ПредставлениеПериода" и впихнуть его в компоновщик, но это как-то некрасиво выглядит.
Добавлено через 36 минут
Все получилось! Оказывается я просто запутался с русскими словами.
В параметрах есть два параметра (извините за тавтологию): "НачалоПериода" и "КонецПериода". В выражениях к ним я указал "&Период.ДатаНачала" и "&Период.ДатаОкончания" соответственно. Где период - параметр, который создал я для удобства пользователя.
Далее на закладке "Вычисляемые поля" я создал поле "ПредставлениеПериода". Добавил данное поле в ресурсы и указал выражение:
и задал расчитывать по общий итог.
В итоге все заработало как надо.
Упорядочивание в системе компоновки данных
Так как в отчет может выводиться множество группировок и таблиц, упорядочивание в системе компоновки данных осуществляется средствами самой системы компоновки данных, а не средствами языка запросов.
Упорядочивание группировок
Каждая группировка, выводимая в отчет, имеет собственное упорядочивание. Это относится как к простым группировкам, так и к группировкам таблиц и диаграмм.
По умолчанию, группировка содержит только поле автоупорядочивания, которое при исполнении отчета разворачивается следующим образом: из глобального упорядочивания, ресурсы будут добавлены безусловно, а из полей не ресурсов, - в порядок будут добавлены поля, являющиеся реквизитами полей группировок и сами поля группировки (для детальных записей будут занесены все поля). Поля группировки, которые не были указаны в глобальном упорядочивании, попадут в конец порядка. Если поле уже включено в порядок, повторно оно не добавляется.
Таким образом, если не изменять порядок, то каждая группировка будет упорядочена по полям группировки.
Пример
В отчете есть группировка по полю - Номенклатура и не указан порядок.
В таком случае упорядочивание группировки будет осуществляться по полю Номенклатура . Особенности упорядочивания полей описаны ниже.
Пример
В отчете есть группировка по полю - Номенклатура и в глобальном упорядочивании указано поле Номенклатура.Код
В таком случае упорядочивание группировки будет осуществляться по полю Номенклатура.Код , после чего по полю Номенклатура .
Упорядочивание полей
Для упорядочивания ссылочных полей система компоновки получает поля, по которым следует упорядочивать таблицу, на которую осуществляется ссылка, и использует вместо упорядочивания по самому полю упорядочивание по полученным полям.
Пример:
Нужно упорядочить по полю Номенклатура , которое является ссылкой на справочник Номенклатура, который, в свою очередь, является иерархическим справочником, с основным представлением в виде наименования.
В таком случае система компоновки будет получать поля ЭтоГруппа , Наименование , Ссылка для значения ссылки и упорядочивать по этим полям. При этом поле Ссылка уже будет сравниваться в соответствии с правилами сравнения ссылок.
Если в схеме компоновки для поля указаны выражения упорядочивания, то для упорядочивания по этому полю будут использоваться результаты указанных выражений. В каждом выражении упорядочивания есть следующие свойства:
Выражение - текст выражения на языке выражений системы компоновки данных Тип упорядочивания - по возрастанию или по убыванию нужно сортировать Необходимость автоупорядочивания - флаг, указывающий, что нужно делать со ссылочными значениями. Если данный флаг установлен в значение истина, то для упорядочивания ссылочных полей, полученных в результате вычисления выражения, будут использоваться поля, по которым следует упорядочивать таблицу, на которую осуществляется ссылка. В противном случае ссылки будут упорядочиваться в соответствии с правилами сравнения ссылочных значений компоновки данных, описанных в документации.Пример
В отчете следует номенклатуру упорядочивать по полю Артикул .
Для решения такой задачи следует в выражение упорядочивания поля Номенклатура добавить выражение " Номенклатура.Артикул ".
Пример
Требуется, чтобы поле Регистратор упорядочивалось в соответствии с правилами сравнения ссылок, а не по полям упорядочивания документов.
Для решения такой задачи следует в выражение упорядочивания поля Регистратор добавить выражение Регистратор , при этом, не устанавливая флаг Необходимость автоупорядочивания . В таком случае, система компоновки данных не будет получать поля упорядочивания из документов, а будет просто сравнивать ссылочные значения.
Функция Представление()
Функция представление предназначена для получения текстового представления любого значения, которое может быть получено при помощи языка запросов. Функция Представление() работает как для ссылочных, так и для примитивных типов. Для ссылочных типов результат функции полностью аналогичен получению поля "Представление" от ссылки, переданной в качестве параметра функции. Для примитивных типов, результатом работы функции является строка, в которую было преобразовано значение, переданное в качестве параметра. Особенностью данной функции является то, что ее результат не может быть использован в выражении. Такая особенность связана с тем фактом, что преобразование значений в строку осуществляется уже при получении данных из результата запроса, т.к. преобразование произвольного значения в строку при исполнении запроса на сервере, не осуществляется, в силу того, что при преобразовании значений в строку необходимо учитывать локальные настройки.
Использование функции Представление() имеет ряд преимуществ по сравнению с использованием поля "Представление". Например, в случае если поле, от которого получается представление, может содержать как ссылочные, так и примитивные типы, получение поля "Представление" через точку от такого поля приведет к тому, что представления для значений примитивного типа не будут получены. Если же, для такого поля применить функцию Представление(), то строковое представление будет получено вне зависимости от типа значения, содержащегося в поле. Кроме того, в случае если функция Представление() применяется к полю, которое является ссылкой более чем на три таблицы, язык запросов получает из базы данных только ссылочные значения, а значения представлений получает одним или несколькими дополнительными запросами. Такое поведение позволяет более эффективно получать представления для полей, которые ссылаются на большое количество таблиц (например, на любой справочник), за счет того, что в исполняемый запрос не будет помещаться большое количество соединений, которые необходимы для получения полей из которых состоит представление.
Применение функции Представление() также может быть полезным при получении представления поля - перечисления, в случае исполнения запроса через COM-соединение
Поле Представление
Каждая объектная таблица в информационной базе имеет виртуальное поле - "Представление". Это поле содержит текстовое представление объекта. В запросе возможно получать данное поле точно также как и другие поля таблиц, однако никакие операции с данным полем выполнять нельзя. Данная особенность связана с тем, что это поле является виртуальным, и, на самом деле, при получении данного поля из базы данных, запрос получает несколько полей, а при получении значения поля из результата запроса преобразовывает полученные значения в строку. Таким образом, единственное, что можно сделать с полем "Представление", это получить его в результат запроса.
Как следствие, результат запроса не рекомендуется упорядочивать по полю "Представление", т.к. это не приведет к желаемому результату - результат запроса будет упорядочен в порядке возрастания ссылок объектов. Подробнее об этом можно прочитать в разделе "Особенности упорядочивания по ссылочным полям".
Batchir --> BatchirТак как в отчет может выводиться множество группировок и таблиц, упорядочивание в системе компоновки данных осуществляется средствами самой системы компоновки данных, а не средствами языка запросов.
Упорядочивание группировок
Каждая группировка, выводимая в отчет, имеет собственное упорядочивание. Это относится как к простым группировкам, так и к группировкам таблиц и диаграмм.
По умолчанию, группировка содержит только поле автоупорядочивания, которое при исполнении отчета разворачивается следующим образом: из глобального упорядочивания, ресурсы будут добавлены безусловно, а из полей не ресурсов, - в порядок будут добавлены поля, являющиеся реквизитами полей группировок и сами поля группировки (для детальных записей будут занесены все поля). Поля группировки, которые не были указаны в глобальном упорядочивании, попадут в конец порядка. Если поле уже включено в порядок, повторно оно не добавляется.
Таким образом, если не изменять порядок, то каждая группировка будет упорядочена по полям группировки.
В отчете есть группировка по полю - Номенклатура и не указан порядок.
В таком случае упорядочивание группировки будет осуществляться по полю Номенклатура. Особенности упорядочивания полей описаны ниже.
Пример
В отчете есть группировка по полю - Номенклатура и в глобальном упорядочивании указано поле Номенклатура.Код
В таком случае упорядочивание группировки будет осуществляться по полю Номенклатура.Код, после чего по полю Номенклатура.
Упорядочивание полей
Для упорядочивания ссылочных полей система компоновки получает поля, по которым следует упорядочивать таблицу, на которую осуществляется ссылка, и использует вместо упорядочивания по самому полю упорядочивание по полученным полям.
Пример:
Нужно упорядочить по полю Номенклатура, которое является ссылкой на справочник Номенклатура, который, в свою очередь, является иерархическим справочником, с основным представлением в виде наименования.
В таком случае система компоновки будет получать поля ЭтоГруппа, Наименование, Ссылка для значения ссылки и упорядочивать по этим полям. При этом поле Ссылка уже будет сравниваться в соответствии с правилами сравнения ссылок.
Если в схеме компоновки для поля указаны выражения упорядочивания, то для упорядочивания по этому полю будут использоваться результаты указанных выражений. В каждом выражении упорядочивания есть следующие свойства:
- Выражение - текст выражения на языке выражений системы компоновки данных
- Тип упорядочивания - по возрастанию или по убыванию нужно сортировать
- Необходимость автоупорядочивания - флаг, указывающий, что нужно делать со ссылочными значениями. Если данный флаг установлен в значение истина, то для упорядочивания ссылочных полей, полученных в результате вычисления выражения, будут использоваться поля, по которым следует упорядочивать таблицу, на которую осуществляется ссылка. В противном случае ссылки будут упорядочиваться в соответствии с правилами сравнения ссылочных значений компоновки данных, описанных в документации.
В отчете следует номенклатуру упорядочивать по полю Артикул.
Для решения такой задачи следует в выражение упорядочивания поля Номенклатура добавить выражение "Номенклатура.Артикул".
Пример
Требуется, чтобы поле Регистратор упорядочивалось в соответствии с правилами сравнения ссылок, а не по полям упорядочивания документов.
Для решения такой задачи следует в выражение упорядочивания поля Регистратор добавить выражение Регистратор, при этом, не устанавливая флаг Необходимость автоупорядочивания. В таком случае, система компоновки данных не будет получать поля упорядочивания из документов, а будет просто сравнивать ссылочные значения.
Читайте также: