Добрый день, не могу понять почему пишет ошибку Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Не задано значение параметра "ВыбраннаяНоменклатура"
по причине:
{(2, 25)}: Не задано значение параметра "ВыбраннаяНоменклатура"
Номенклатура.Ссылка В (<<?>>&ВыбраннаяНоменклатура) КАК Пометка

когда я в коде это параметр указал

```1c
    &НаКлиенте
    Перем ВыбраннаяНоменклатура; //Массив, хранящий отмеченную галочками номенклатуру для отображения в списке

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    Сообщить("Работает");

    //Инициализация массива
    ВыбраннаяНоменклатура = Новый Массив;

    //Задал параметр
    Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);

    КонецПроцедуры

    &НаКлиенте
    Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

    //Нас интересует только событие нажатия на чекбокс
    Если Поле = Элементы.СписокПометка Тогда

    СтандартнаяОбработка = Ложь;

    ТекущиеДанные = Элемент.ТекущиеДанные;
    Если ТекущиеДанные <> Неопределено Тогда
    Если ТекущиеДанные.Пометка Тогда
    СнятьПометку(ТекущиеДанные.Ссылка);
    Иначе
    ПоставитьПометку(ТекущиеДанные.Ссылка);
    КонецЕсли;
    КонецЕсли;

    КонецЕсли;

    //Параметр в динамическом списке нужно обновить
    Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);

    Элементы.Список.Обновить();

    КонецПроцедуры

    &НаКлиенте
    Процедура СнятьПометку(Номенклатура)
    Индекс = ВыбраннаяНоменклатура.Найти(Номенклатура);
    Если Индекс >= 0 Тогда
    ВыбраннаяНоменклатура.Удалить(Индекс);
    КонецЕсли;
    КонецПроцедуры

    &НаКлиенте
    Процедура ПоставитьПометку(Номенклатура)
    Индекс = ВыбраннаяНоменклатура.Найти(Номенклатура);
    Если Индекс = Неопределено Тогда
    ВыбраннаяНоменклатура.Добавить(Номенклатура);
    КонецЕсли;
    КонецПроцедуры
```
---
вот работающая обработка. Сравнивайте со своей.
---
если по аналогии с номенклатурой, но для документа, тогда добавить в выбираемые поля:
ДокументАктСписанияМЗ.Ссылка В (&ВыбранныеДокументы) КАК Пометка

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

```1c
    ВЫБРАТЬ
    Номенклатура.Ссылка,
    Номенклатура.Ссылка В (&ВыбраннаяНоменклатура) КАК Пометка
    ИЗ
    Справочник.Номенклатура КАК Номенклатура
```

Вот форма
---
вот работающая обработка. Сравнивайте со своей.
---
Всё понятно не правильно прописал.
```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    //Инициализация массива
    ВыбраннаяНоменклатура = Новый Массив;
    //Без параметра, даже пустого, список выдаст ошибку и будет прав
    Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)

    КонецПроцедуры
```
---
А вы не подскажите как лучше прикрутить этот запрос

```1c
    ВЫБРАТЬ
    Номенклатура.Ссылка,
    Номенклатура.Ссылка В (&ВыбраннаяНоменклатура) КАК Пометка
    ИЗ
    Справочник.Номенклатура КАК Номенклатура
```

вот к этому запросу

```1c
    ВЫБРАТЬ
    ДокументАктСписанияМЗ.Ссылка,
    ДокументАктСписанияМЗ.ВерсияДанных,
    ДокументАктСписанияМЗ.ПометкаУдаления,
    ДокументАктСписанияМЗ.Номер,
    ДокументАктСписанияМЗ.Дата,
    ДокументАктСписанияМЗ.Проведен,
    ДокументАктСписанияМЗ.Организация,
    ДокументАктСписанияМЗ.ИФО,
    ДокументАктСписанияМЗ.ПодразделениеОтправитель,
    ДокументАктСписанияМЗ.ЦМООтправитель,
    ДокументАктСписанияМЗ.Комментарий,
    ДокументАктСписанияМЗ.ДолжностьПредседательКомиссии,
    ДокументАктСписанияМЗ.ФамилияПредседательКомиссии,
    ДокументАктСписанияМЗ.ИмяПредседательКомиссии,
    ДокументАктСписанияМЗ.ОтчествоПредседательКомиссии,
    ДокументАктСписанияМЗ.НомерПриказа,
    ДокументАктСписанияМЗ.ДатаПриказа,
    ДокументАктСписанияМЗ.Руководитель,
    ДокументАктСписанияМЗ.ЗаключениеКомиссии,
    ДокументАктСписанияМЗ.КФО,
    ДокументАктСписанияМЗ.СчетУчета,
    ОперацииДокументов.СуммаОперации,
    ОперацииДокументов.Операция,
    ВЫБОР
    КОГДА ОперацииДокументов.ЕстьПроводки ЕСТЬ NULL
    ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ОперацияНеВыбрана)
    КОГДА НЕ ОперацииДокументов.ЕстьПроводки
    ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиОтсутствуют)
    КОГДА ЕСТЬNULL(ОперацииДокументов.ДокументСторнирован, ЛОЖЬ) = ИСТИНА
    ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ДокументСторнирован)
    КОГДА ЕСТЬNULL(ОперацииДокументов.РучнаяКорректировка, ЛОЖЬ) = ИСТИНА
    ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиИзмененыВручную)
    КОГДА ЕСТЬNULL(ОперацииДокументов.ИсправлениеОшибки, ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ПустаяСсылка)) В (ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаПрошлогоГода), ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаРанееПрошлогоГода))
    ТОГДА ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ИсправлениеОшибки)
    ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.СостоянияОперацииДокумента.ПроводкиСформированы)
    КОНЕЦ КАК СостояниеОперации,
    ВЫБОР
    КОГДА ОперацииДокументов.ЕстьПроводки ЕСТЬ NULL
    ТОГДА 0
    КОГДА НЕ ОперацииДокументов.ЕстьПроводки
    ТОГДА 1
    КОГДА ЕСТЬNULL(ОперацииДокументов.ДокументСторнирован, ЛОЖЬ) = ИСТИНА
    ТОГДА 4
    КОГДА ЕСТЬNULL(ОперацииДокументов.РучнаяКорректировка, ЛОЖЬ) = ИСТИНА
    ТОГДА 3
    КОГДА ЕСТЬNULL(ОперацииДокументов.ИсправлениеОшибки, ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ПустаяСсылка)) В (ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаПрошлогоГода), ЗНАЧЕНИЕ(Перечисление.ПорядокИсправленияОшибокПрошлыхЛет.ОшибкаРанееПрошлогоГода))
    ТОГДА 5
    ИНАЧЕ 2
    КОНЕЦ КАК СостояниеОперацииКод,
    ДокументАктСписанияМЗ.Ответственный,
    ВЫБОР
    КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
    ТОГДА 0
    КОГДА НаличиеФайлов.ЕстьФайлы
    ТОГДА 1
    ИНАЧЕ 0
    КОНЕЦ КАК ЕстьФайлы,
    СостоянияЭД.ПредставлениеСостояния КАК СостояниеЭДО,
    NULL КАК СостояниеОригиналаПервичногоДокумента,
    ИСТИНА КАК ОбщееСостояние,
    0 КАК СостояниеОригиналПолучен
    ИЗ
    Документ.АктСписанияМЗ КАК ДокументАктСписанияМЗ
    {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД
    ПО (СостоянияЭД.СсылкаНаОбъект = ДокументАктСписанияМЗ.Ссылка)}
    {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОперацииДокументов КАК ОперацииДокументов
    ПО ДокументАктСписанияМЗ.Ссылка = ОперацииДокументов.Документ}
    {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
    ПО ДокументАктСписанияМЗ.Ссылка = НаличиеФайлов.ОбъектСФайлами}
```

 воспользоваться виртуальной таблитцой и соединить с помощью левого соединения ?
---
для меня это звучит как: "Как прикрутить Луну к Солнцу?".
Не вижу логики.
---
Ну мне теперь надо использовать его на боевом списке вот предполагаю, что нужно его записать программно ? Если это не верно то как его можно использовать ?
---
если по аналогии с номенклатурой, но для документа, тогда добавить в выбираемые поля:
ДокументАктСписанияМЗ.Ссылка В (&ВыбранныеДокументы) КАК Пометка

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

```1c
    Если Поле = Элементы.Пометка Тогда

    СтандартнаяОбработка = Ложь;

    ТекущиеДанные = Элемент.ТекущиеДанные;
    Если ТекущиеДанные <> Неопределено Тогда
    Если ТекущиеДанные.Пометка Тогда
    СнятьПометку(ТекущиеДанные.Ссылка);
    Иначе
    ПоставитьПометку(ТекущиеДанные.Ссылка);
    КонецЕсли;
    КонецЕсли;

    КонецЕсли;

    //Параметр в динамическом списке нужно обновить
    Список.Параметры.УстановитьЗначениеПараметра("ВыбраннаяНоменклатура", ВыбраннаяНоменклатура);

    Элементы.Список.Обновить();
```

Понимаю что сейчас мы передаём для работы данные выбранной строки, а как тогда сделать сравнение не могу понять ?
---
это совсем не так делается. В запросе динамического списка присоединяется РС левым соединением и добавляется поле Пометка.
На примере кода запроса в (10) для РС СостоянияЭД:

```1c
    СостоянияЭД.СсылкаНаОбъект Есть Null КАК Пометка
```

Все.