1с ошибка в элементе отбора глобальные элементы отбора обязательно должны использовать поля
Всем привет! Подскажите, куда копать? СКД только начал осваивать, текст ошибки следующий: "Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля "ПараметрыДанных.НачалоПериода Равно 01.01.2013 0:00:00" Делаю отчет в СКД "РасчетыСПокупателями". По регистру накопления. Есть поля Магазин, Покупатель, ДокументДвижения. Добавляю в пользовательские настройки отбор по НачалоПериода, КонецПериода. При формировании отчета выходит вышеприведенная ошибка. Помогите, пожалуйста!
В СКД создаю в конструкторе запроса запрос. Таблицы: РасчетыСПокупателямиОстаткиИОбороты, группировка: РасчетыСПокупателямиОстаткиИОбороты.Магазин РасчетыСПокупателямиОстаткиИОбороты.Покупатель РасчетыСПокупателямиОстаткиИОбороты.ДокументРасчета, суммируемые поля: РасчетыСПокупателямиОстаткиИОбороты.СуммаНачальныйОстаток РасчетыСПокупателямиОстаткиИОбороты.СуммаПриход РасчетыСПокупателямиОстаткиИОбороты.СуммаРасход РасчетыСПокупателямиОстаткиИОбороты.СуммаКонечныйОстаток Как теперь в СКД визуально указать датуНачала и датуОкончания.
ну да, параметры появились в пользовательских настройках. Но вот незадача - указываю датуНачала=01.04.13, а в отчет все равно выходят доки за все даты. в поле "ДокументРасчета". С группировками напутал? Не нужна группировка "ДокументРасчета"? Может я в регистре накопления зря создал измерение "ДокументРасчета"? Он же по идее всегда равен регистратору. Как тогда сделать? Надо так: если указываешь датуНачала 01.04.13, то тогда не выводить строки с доками расчета, дата которых меньше.
а ты случаем не определял в запросе параметры &ДатаНачала и &ДатаОкончания? Просто сама скд эти параметрыф под таблицу ОстаткиИОбороты юзает
если 5 верно, то тебе скорее всего вообще нет смысла указывать принудительно параметры, за тебя это сделает скд
просто как задать условие на дату регистратора. В виртуальной таблице ОстаткиОбороты нет такого поля.
черд, розницы под рукой нет. Так вроде нормально, только группировку и сортировку в тексте запроса мог бы не делать. 1) а зачем тебе дата регистратора, когда параметрами отберешь по периоду в регистре? 2) ты можешь добавить в виртуальную таблицу регистратор, тебе нужно в параметре вирт. таблице периодичность "авто" поставить
дата регистратора мне затем, чтобы руками задать в тексте запроса условие. регистратор.дата между &ДатаНачала И &ДатаОкончания. Т.к. я не могу сообразить, как визуальными средствами СКД это условие задать
если прям на дату регистратора, то в параметры вирт. таблицы задавай периодичность авто. Вытаскивай регистратор. Убирай свою группировку (зачем она вообще?) А потом ставь отбор. Но это изврат :)
Устройство системы компоновки данных в 1С. Основные элементы и составные части СКД
Большая обзорная статья для знакомства с СКД "под капотом". Мы рассмотрим, из чего состоит система компоновки данных, как происходит формирование итогового результата, и затронем многие механизмы и нюансы, связанные с СКД. Содержание Основные понятия и термины СКД Система компоновки данных .
Подробнее
Как в 1С сформировать отчет на СКД программно
В данном материале приведены примеры и кейсы программного формирования отчетов с использованием системы компоновки данных. Статья в большей степени практическая, с конкретными рецептами кода для той или иной задачи. Пример программного формирования отчета на СКД &НаСервере Процедура СформироватьНаСервере(ТабДок) ОбъектОтчетНаСервере = .
Подробнее
Какие задачи решает разработчик 1С. К чему готовиться начинающему программисту на первой работе?
Очень часто слушатели курса и студенты не верят в свои силы и сомневаются, смогут ли они найти работу. А тех, кто из-за сомнений даже не начинает обучение - гораздо больше. В этой статье я постараюсь часть сомнений развеять, рассказать о .
Подробнее
Работа с JSON в 1С 8.3.
Платформа 1С имеет широкий спектр средств интеграции с другими системами, среди которых есть инструменты для работы с форматом JSON. В данной статье рассмотрены три основных варианта взаимодействия с данными в формате JSON - объектный, потоковый, а также сериализация прикладных объектов .
Подробнее
Регламентные и фоновые задания в 1С 8.3. Пример настройки
Механизм регламентных и фоновых заданий позволяет выполнять определенные задачи по расписанию. В данной статье я на примере записи лога в регистр сведений покажу, как можно настроить регламентные и фоновые задания. Ну и без теории, конечно же, не обойдется! 🙂 Содержание .
Подробнее
Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля
В этой статье речь пойдет о достаточно редкой ошибке, которая может встретиться при работе с отчетами на СКД или динамическими списками. Дословно текст ошибки такой: "Ошибка в элементе отбора глобальные элементы отбора обязательно должны использовать поля". Что это значит, как .
Подробнее
ТИП, ТИПЗНАЧЕНИЯ и ССЫЛКА в запросах 1С 8 – примеры использования
В запросах довольно распространенная задача - определить, к какому типу относится то или иное значение. Например, нужно в запросе определить тип документа, и если это приходная накладная - взять сумму документа с плюсом, а если расходная - с минусом. В .
Подробнее
Форматирование даты, числа, Булево в 1С. Функция Формат.
Функция Формат в языке 1С предоставляет широкие возможности для форматирования значений примитивных типов в нужном виде. Например, можно отформатировать дату, оставив только год и месяц, или получить форматированное число, с двумя знаками после запятой. В этой статье мы рассмотрим функцию .
Подробнее
Как в 1С преобразовать строку в дату
Содержание Различия в форматах записи даты Этот вопрос на первый взгляд достаточно простой. Но стоит только посмотреть на все возможные строковые представления дат (форматы дат), то задача получения даты из строки уже не кажется такой легкой. Ниже несколько примеров, как .
Подробнее
Стандартный период в 1С СКД
Среди механизмов платформы 1С 8 есть множество инструментов, призванных упростить жизнь пользователю. Одним из таких объектов является "Стандартный период". Можно использовать стандартный период в СКД, а также на управляемых формах. Оба варианта работают схожим образом. Что же такое Стандартный период .
Подробнее
Устройство системы компоновки данных в 1С. Основные элементы и составные части СКД
Большая обзорная статья для знакомства с СКД “под капотом”. Мы рассмотрим, из чего состоит система компоновки данных, как происходит формирование итогового результата, и затронем многие механизмы и нюансы, связанные с СКД. Содержание Основные понятия и термины СКД Система компоновки данных – это механизм платформы 1С Предприятие 8, который используется при построении отчетов, в динамических списках, …
Как в 1С сформировать отчет на СКД программно
В данном материале приведены примеры и кейсы программного формирования отчетов с использованием системы компоновки данных. Статья в большей степени практическая, с конкретными рецептами кода для той или иной задачи. Пример программного формирования отчета на СКД &НаСервере Процедура СформироватьНаСервере(ТабДок) ОбъектОтчетНаСервере = РеквизитФормыВЗначение(“Отчет”); // Здесь стоит обратить внимание, что мы можем работать с любым макетом, // не …
Какие задачи решает разработчик 1С. К чему готовиться начинающему программисту на первой работе?
Очень часто слушатели курса и студенты не верят в свои силы и сомневаются, смогут ли они найти работу. А тех, кто из-за сомнений даже не начинает обучение – гораздо больше. В этой статье я постараюсь часть сомнений развеять, рассказать о том, какие задачи чаще всего решает разработчик 1С, и какие из этих задач сможет выполнять …
Работа с JSON в 1С 8.3.
Платформа 1С имеет широкий спектр средств интеграции с другими системами, среди которых есть инструменты для работы с форматом JSON. В данной статье рассмотрены три основных варианта взаимодействия с данными в формате JSON – объектный, потоковый, а также сериализация прикладных объектов. Содержание Немного о формате JSON JSON – это текстовый формат обмена данными, ведущий свою историю …
Регламентные и фоновые задания в 1С 8.3. Пример настройки
Механизм регламентных и фоновых заданий позволяет выполнять определенные задачи по расписанию. В данной статье я на примере записи лога в регистр сведений покажу, как можно настроить регламентные и фоновые задания. Ну и без теории, конечно же, не обойдется! 🙂 Содержание Чем отличаются регламентные задания от фоновых? Регламентные задания – это отдельный механизм платформы, позволяющий автоматически …
Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля
ТИП, ТИПЗНАЧЕНИЯ и ССЫЛКА в запросах 1С 8 – примеры использования
В запросах довольно распространенная задача – определить, к какому типу относится то или иное значение. Например, нужно в запросе определить тип документа, и если это приходная накладная – взять сумму документа с плюсом, а если расходная – с минусом. В этой статье рассмотрены конструкции языка запросов, позволяющие решить данную задачу. Содержание Стоит начать с того, …
Форматирование даты, числа, Булево в 1С. Функция Формат.
Функция Формат в языке 1С предоставляет широкие возможности для форматирования значений примитивных типов в нужном виде. Например, можно отформатировать дату, оставив только год и месяц, или получить форматированное число, с двумя знаками после запятой. В этой статье мы рассмотрим функцию языка 1С Формат, а также конструктор форматной строки. Содержание Функция Формат Синтаксис метода Формат весьма …
Как в 1С преобразовать строку в дату
Содержание Различия в форматах записи даты Этот вопрос на первый взгляд достаточно простой. Но стоит только посмотреть на все возможные строковые представления дат (форматы дат), то задача получения даты из строки уже не кажется такой легкой. Ниже несколько примеров, как записывается дата в разных странах: Россия: DD.MM.YYYY Пример: 24.12.2021 США: MM-DD-YYYY Пример: 12.24.2021 Венгрия: YYYY-MM-DD …
Стандартный период в 1С СКД
Среди механизмов платформы 1С 8 есть множество инструментов, призванных упростить жизнь пользователю. Одним из таких объектов является “Стандартный период“. Можно использовать стандартный период в СКД, а также на управляемых формах. Оба варианта работают схожим образом. Что же такое Стандартный период в 1С СКД? Во многих отчетах предусмотрена аналитика за определенный период – день, неделю, месяц. …
Содержание
Немного об устройстве отбора в СКД
Начну издалека. В настройках системы компоновки данных есть объект Отбор, с типом ОтборКомпоновкиДанных. И его элементы представляют собой либо группы, либо отдельные элементы отбора.
У каждого элемента отбора СКД есть несколько основных свойств: Левое значение, Правое значение, Вид сравнения и Использование. Как в левом, так и в правом значениях можно указать либо поле компоновки данных, либо конкретное значение.
Внимание! На момент написания публикации, указанная на скриншоте выше настройка динамического списка приводит к падению платформы.
На скриншоте видно, что первая строка отбора содержит ПолеКомпоновкиДанных(“Номер”) в левом значении, а у второй строки и левое и правое значение – это конкретные даты.
Для объекта с типом ДинамическийСписок указание в левом значении любого значения, кроме какого-либо поля компоновки данных, приводит к вылету платформы. Но только при включенном флажке “Использование”!
Причина возникновения ошибки
Суть ошибки сводится к тому, что в корневом элементе отбора присутствуют строки, у которых и ЛевоеЗначение и ПравоеЗначение не имеют тип ПолеКомпоновкиДанных. И в подавляющем большинстве случаев это возникает из-за неверной программной установки отбора. Но тем не менее, и через настройки в конфигураторе эту ошибку также можно воспроизвести.
Отличие отбора в динамическом списке и СКД
В системе компоновки данных отбор можно задавать отдельно на каждом уровне структуры отчета например, у нас может быть отчет по продажам с группировками Контрагент >> Номенклатура >> Детальные записи. И на каждую группировку мы можем наложить свой отбор.
В динамическом списке отбор накладывается всегда на корневой элемент структуры – т.е. элементы отбора динамического списка всегда будут глобальные.
Воспроизводим ошибку в коде для динамического списка
В приведенном ниже фрагменте кода мы намеренно присваиваем левому значению число 10, а правому значению – булево значение Ложь. Важно понимать, что должны быть соблюдены условия, что именно оба поля не являются полями с типом ПолеКомпоновкиДанных.
Возможны два варианта – нужно чтобы как минимум либо ЛевоеЗначение, либо ПравоеЗначение имело тип ПолеКомпоновкиДанных.
Например:
Но и наоборот также будет работать!
Воспроизводим ошибку в настройках СКД
- Возьмем любой отчет, использующий систему компоновки данных, и откроем настройки.
- Перейдем на закладку Отбор, и добавим новую строку. Далее у нас есть два варианта, приводящих к ошибке.
- В качестве левого значения укажем поле из имеющихся параметров данных, например ПараметрыДанных.НачалоПериода. В качестве правого значения укажем конкретную дату.
Второй вариант – в качестве левого и правого значения укажем что-нибудь, не являющееся полем компоновки данных: Дату, Строку, Булево или Число. Т.е. конкретные значения. - В пользовательском режиме укажем какое-нибудь значение параметра и попробуем сформировать отчет.
- Получим ошибку: “глобальные элементы отбора обязательно должны использовать поля“
Однако, если мы перенесем эти же элементы отбора не на уровень отчета, а на уровень любой группировки, то отчет будет работать корректно!
Александр, а как нужно сохранить чтобы настройки ( конкретно- один отбор) были видны всем пользователям?
Юлия, через "Изменить вариант" добавьте отбор к варианту отчета. Затем ЕЩЕ - Установить стандартные настройки. Сформируйте, проверьте. И если все ок: Еще - Сохранить вариант для всех пользователей.
Александр, спасибо большое, обязательно попробую. уже уехала с работы(. Спасибо за отзывчивость
Александр, не получилось(. Через "изменить вариант" добавила отбор к варианту отчёта, сделала "Еще-установить стандартные настройки". При нажатии на " сформировать " выпала ошибка "Ошибка в элементе отбора:глобальные элементы отбора обязательно должны использовать поля " Равно". а у меня отбор что один реквизит заполнен (
Юлия, тут уже, к сожалению, вряд ли чем "вслепую" смогу помочь. У меня формирует даже с отбором по Наименование Содержит.
Александр, спасибо большое, в итоге таким образом получилось. Очень благодарна
Юлия, отлично! Рад помочь
Александр, здравствуйте). А можете ещё, пожалуйста, подсказать по отчетам?. Как создать и разместить отчёт в конкретной категории отчётов? Например в отчётах по задачам? Я пробовала существующие там менять и сохранять с новым именем, но опять же настройки не переносятся. Можно ли откуда-то создавать отчёт и прописывать, где он должен отображаться?
Читайте также: