1с выберите элемент а не группу почему
Перейти к содержимому

1с выберите элемент а не группу почему

  • автор:

УНФ 1.6. Выбрать группы, а не элементы

Синхронизация УНФ с мобильным приложением УНФ
Здравствуйте! Пробуем сделать синхронизацию , база весит 24гб (файловая). В начале писал, что.

Необходимо, чтобы в ComboBox можно было выбрать номер группы, после чего в DataGridView должны появится фамилии и имена студентов выбранной группы
Есть база данных (Access) с множеством таблиц. Для работы с ComboBox и DataGridView я использую.

Выбрать несовпадающие группы данных
здравствуйте! подскажите вариант решения проблемы, не знаю как сравнить данные. Есть таблица с.

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

"Выберите элемент, а не группу!" — не выбирается группа в форме выбора

Есть в форме документа реквизит, в который должны выбираться группы или элементы справочника "Подразделения" (с неким отбором).

<code>
&НаКлиенте
Процедура ПодразделениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;
СписокПодразделений = ГСМОбщегоНазначения.ПолучитьСписокПодразделений();
Форма=ОткрытьФорму("Справочник.Подразделения.Форма.ФормаВыбора",,Элемент);

Если ЗначениеЗаполнено(СписокПодразделений) Тогда
ЭлементОтбора = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = СписокПодразделений;
КонецЕсли;

Все нормально открывается, но позволяет выбирать только элементы справочника, а при попытке выбрать группу пишет:
"Выберите элемент, а не группу!
Для раскрытия групп используйте "Crtl". бла-бла-бла. "

Для реквизита "Подразделение" в свойствах установлен выбор групп и позразделений.

Как заставить его выбирать и группы тоже?

>> Для реквизита "Подразделение" в свойствах установлен выбор групп и позразделений.

[ Вопрос дня ] Почему в консоли запросов в параметрах не удается выбрать группу из справочника?

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

Именно с таким поведением типовой консоли запросов столкнулись некоторые наши слушатели в рамках курса Разработка и оптимизация запросов в 1С:Предприятие 8.3. Тренер помог исправить выявленную ошибку и продолжить обучение слушателей.

Вопрос

Скачаны с ИТС свежие консоли запросов и демонстрационная база 8.3 “Управляемое приложение”. Просматриваю видеоуроки и пытаюсь повторять всё, что в них показывается. Возникла проблема. Не могу в качестве значения параметра запроса выбрать группу справочника.

Любая консоль на демонстрационной базе не дает выбрать группу. Эти же консоли на других базах группу выбирать дают. Делаю вывод, что это в базе какая-то настройка включена. Помогите, пожалуйста, разобраться.

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

Ответ тренера

Да, действительно, некоторые версии консоли запросов не дают выбрать из справочника группу, только элемент. Однако это легко исправить. Для этого открываем консоль в конфигураторе. Нас интересует форма обработки “Форма” (Рисунок 1):

Форма обработки “Форма”

Рисунок 1 – Форма обработки “Форма”
(нажмите, чтобы увеличить картинку)

Для поля “ЗначениеВФорме” устанавливаем свойство “ВыборГруппИЭлементов” в значение “Групп и элементов”. Здесь дело вполне может быть в версии платформы. Пробую на платформе версии 8.3.12 – всё работает без внесения изменений в консоль. Пробую на платформе версии 8.3.15 – возникает указанная вами проблема.

Это пример разобранного вопроса из Мастер-группы курса Разработка и оптимизация запросов в 1С:Предприятие 8.3 .

Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля

В этой статье речь пойдет о достаточно редкой ошибке, которая может встретиться при работе с отчетами на СКД или динамическими списками. Дословно текст ошибки такой: “Ошибка в элементе отбора глобальные элементы отбора обязательно должны использовать поля“. Что это значит, как воспроизвести и как исправить?

Содержание

Немного об устройстве отбора в СКД

Начну издалека. В настройках системы компоновки данных есть объект Отбор, с типом ОтборКомпоновкиДанных. И его элементы представляют собой либо группы, либо отдельные элементы отбора.

У каждого элемента отбора СКД есть несколько основных свойств: Левое значение, Правое значение, Вид сравнения и Использование. Как в левом, так и в правом значениях можно указать либо поле компоновки данных, либо конкретное значение.

динамический список глобальные элементы отбора

Внимание! На момент написания публикации, указанная на скриншоте выше настройка динамического списка приводит к падению платформы.
На скриншоте видно, что первая строка отбора содержит ПолеКомпоновкиДанных(“Номер”) в левом значении, а у второй строки и левое и правое значение – это конкретные даты.
Для объекта с типом ДинамическийСписок указание в левом значении любого значения, кроме какого-либо поля компоновки данных, приводит к вылету платформы. Но только при включенном флажке “Использование”!

Причина возникновения ошибки

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

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

В системе компоновки данных отбор можно задавать отдельно на каждом уровне структуры отчета например, у нас может быть отчет по продажам с группировками Контрагент >> Номенклатура >> Детальные записи. И на каждую группировку мы можем наложить свой отбор.
В динамическом списке отбор накладывается всегда на корневой элемент структуры – т.е. элементы отбора динамического списка всегда будут глобальные.

Воспроизводим ошибку в коде для динамического списка

В приведенном ниже фрагменте кода мы намеренно присваиваем левому значению число 10, а правому значению – булево значение Ложь. Важно понимать, что должны быть соблюдены условия, что именно оба поля не являются полями с типом ПолеКомпоновкиДанных.

Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля — как исправить?

Возможны два варианта – нужно чтобы как минимум либо ЛевоеЗначение, либо ПравоеЗначение имело тип ПолеКомпоновкиДанных.
Например:

Но и наоборот также будет работать!

Воспроизводим ошибку в настройках СКД

  1. Возьмем любой отчет, использующий систему компоновки данных, и откроем настройки.
  2. Перейдем на закладку Отбор, и добавим новую строку. Далее у нас есть два варианта, приводящих к ошибке.
  3. В качестве левого значения укажем поле из имеющихся параметров данных, например ПараметрыДанных.НачалоПериода. В качестве правого значения укажем конкретную дату.
    Второй вариант – в качестве левого и правого значения укажем что-нибудь, не являющееся полем компоновки данных: Дату, Строку, Булево или Число. Т.е. конкретные значения.
  4. В пользовательском режиме укажем какое-нибудь значение параметра и попробуем сформировать отчет.
  5. Получим ошибку: “глобальные элементы отбора обязательно должны использовать поля

СКД глобальные элементы отбора обязательно должны использовать поля

Ошибка глобальные элементы отбора обязательно должны использовать поля

Однако, если мы перенесем эти же элементы отбора не на уровень отчета, а на уровень любой группировки, то отчет будет работать корректно!

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

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