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

Обработчик печатной формы Торг12 (внешняя): {ВнешняяОбработка.ПечатнаяФормаТорг12.МодульОбъекта(131)}: Ошибка при вызове метода контекста (Выполнить): {(16, 42)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
 неограниченной длины и поля несовместимых типов.
И ЗначенияСвойствОбъектов.Объект.Ссылка <<?>>= &ОбъектНазначения

Сам запрос и кусок функции.

```1c
    Функция Печать(ДокументОбъект, ТабДокумент) экспорт
    ссылкаНаОбъект=ДокументОбъект;
    ТабДокумент=Новый ТабличныйДокумент;

    ТабДокумент.АвтоМасштаб = Истина;
    ТабДокумент.ТолькоПросмотр=Истина;
    ТабДокумент.Защита=истина;

    Запрос = Новый Запрос("ВЫБРАТЬ
    | &ПоследнийУровень КАК УровеньИерархии,
    | НазначенияСвойствОбъектовВидыСвойств.НомерСтроки,
    | НазначенияСвойствОбъектовВидыСвойств.Свойство.Код КАК КодСвойства,
    | НазначенияСвойствОбъектовВидыСвойств.Свойство,
    | ЗначенияСвойствОбъектов.Значение КАК Значение,
    | НазначенияСвойствОбъектовВидыСвойств.Свойство.Наименование КАК Наименование
    |ИЗ
    | ПланВидовХарактеристик.НазначенияСвойствОбъектов.ВидыСвойств КАК НазначенияСвойствОбъектовВидыСвойств
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров КАК РеализацияТоваров
    | ПО ЗначенияСвойствОбъектов.Объект = РеализацияТоваров.Ссылка
    | ПО НазначенияСвойствОбъектовВидыСвойств.Свойство = ЗначенияСвойствОбъектов.Свойство
    |ГДЕ
    | НазначенияСвойствОбъектовВидыСвойств.Ссылка.Ссылка = &ПредопределенноеНазначение
    | И ЗначенияСвойствОбъектов.Объект.Ссылка = &ОбъектНазначения
    | И НазначенияСвойствОбъектовВидыСвойств.НомерСтроки = &НомерСтроки
    |
    |ОБЪЕДИНИТЬ
    |
    |ВЫБРАТЬ
    | NULL,
    | 0,
    | НазначенияСвойствОбъектовВидыСвойств.НомерСтроки,
    | NULL,
    | NULL,
    | NULL
    |ИЗ
    | ПланВидовХарактеристик.НазначенияСвойствОбъектов.ВидыСвойств КАК НазначенияСвойствОбъектовВидыСвойств
    |ГДЕ
    | НазначенияСвойствОбъектовВидыСвойств.Ссылка.Объект = &ОбъектНазначения");

    ПоследнийУровень = 1;
    КодСтроки = 3;
    Запрос.УстановитьПараметр("ПредопределенноеНазначение",ПланыВидовХарактеристик.НазначенияСвойствОбъектов.Документ_РеализацияТоваров);
    Запрос.УстановитьПараметр("ПоследнийУровень",ПоследнийУровень);
    Запрос.УстановитьПараметр("НомерСтроки", КодСтроки);
    Запрос.УстановитьПараметр("ОбъектНазначения", СсылкаНаОбъект);
    Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("02032"));
    Выборка = Запрос.Выполнить().Выбрать();

    Значение = Выборка.Значение;
```

Направьте на путь истинный.
---
Выборка - это коллекция.Из выборки надо получить следующее значение. Выборка.Следующий()
---
либо делать
```1c
    ТаблицаЗначений = Запрос.Выполнить().Выгрузить()
```
 тогда получите не выборку, а таблицу значений
---
Обойти её построчно (как в общем то и выборку)
для выборки будет что-то типа
```1c
    Пока Выборка.Следующий() Цикл ...... КонецЦикла
```
 для таблицы значений, например так -
```1c
    Для Каждого ТекущаяСтрокаТаблицы Из ТаблицаЗначений Цикл .... КонецЦикла
```

В первом случае текущая строка выборки будет доступна через переменную "Выборка". Во втором - через переменную "ТекущаяСтрокаТаблицы"
Если знаете конкретную строку таблицы, то получить её можно ТаблицаЗначений[НомерСтрокиТаблицы]
---
Если встать отладчиком на строке

```1c
    Запрос.УстановитьПараметр("ПредопределенноеНазначение",СсылкаНаОбъект);
```

И посмотреть значение СсылкаНаОбъект, то что будет в значении переменной?
---
чуть ошибся выкладывая код: Запрос.УстановитьПараметр("ПредопределенноеНазначение",ПланыВидовХарактеристик.НазначенияСвойствОбъектов.Документ_РеализацияТоваров);
---
попробуй параметр поместить в массив и использовать сравнение В (&твойпараметр)
---
ДокументОбъект - это не строка. передавайте параметр правильного типа
---
Исправил, все равно теперь ввалит ошибку на:

Обработчик печатной формы Торг12 (внешняя): {ВнешняяОбработка.ПечатнаяФормаТорг12.МодульОбъекта(131)}: Ошибка при вызове метода контекста (Выполнить): {(16, 42)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И ЗначенияСвойствОбъектов.Объект.Ссылка <<?>>= &ОбъектНазначения
---
У вас в "ОбъектНазначения" - это видимо не ссылка на документ, а именно объект, а сравниваете вы с ЗначенияСвойствОбъектов.Объект.Ссылка. Потому и ошибка
---
Напишите вместо
```1c
    ссылкаНаОбъект=ДокументОбъект
```

```1c
    ссылкаНаОбъект=ДокументОбъект.Ссылка
```
 Запрос, скорее всего, перестанет падать
---
ссылкаНаОбъект=ДокументОбъект.Ссылка
Верно! Перестал падать на ошибке :) но запрос так и не отрабатывается :(
---
Выборка - это коллекция.Из выборки надо получить следующее значение. Выборка.Следующий()
---
либо делать
```1c
    ТаблицаЗначений = Запрос.Выполнить().Выгрузить()
```
 тогда получите не выборку, а таблицу значений
---
ТаблицаЗначений = Запрос.Выполнить().Выгрузить()
А как теперь вытащить именно то что нужно из таблицы значений?
---
Обойти её построчно (как в общем то и выборку)
для выборки будет что-то типа
```1c
    Пока Выборка.Следующий() Цикл ...... КонецЦикла
```
 для таблицы значений, например так -
```1c
    Для Каждого ТекущаяСтрокаТаблицы Из ТаблицаЗначений Цикл .... КонецЦикла
```

В первом случае текущая строка выборки будет доступна через переменную "Выборка". Во втором - через переменную "ТекущаяСтрокаТаблицы"
Если знаете конкретную строку таблицы, то получить её можно ТаблицаЗначений[НомерСтрокиТаблицы]
---
Коллега, "снимаю шляпу" - Вы решили мою задачу. При много Вам благодарен, сберегли время, нервы, здоровье :)
---
Как передать параметр текущего документа который идет на печать?
---
Не понял вопрос. Один из Дополнительных свойств документа?
---
А если попробовать без Ссылка:
И ЗначенияСвойствОбъектов.Объект= &ОбъектНазначения
?
---
Данный запрос, дает возможность "выдрать" реквизиты из СвойствОбъекта.
Если кому интересно выкладываю кусок полной функции:

```1c
    Функция Печать(ДокументОбъект, ТабДокумент) экспорт
    ссылкаНаОбъект=ДокументОбъект.Ссылка;
    ТабДокумент=Новый ТабличныйДокумент;

    ТабДокумент.АвтоМасштаб = Истина;
    ТабДокумент.ТолькоПросмотр=Истина;
    ТабДокумент.Защита=истина;

    Запрос = Новый Запрос("ВЫБРАТЬ
    | &ПоследнийУровень КАК УровеньИерархии,
    | НазначенияСвойствОбъектовВидыСвойств.НомерСтроки,
    | НазначенияСвойствОбъектовВидыСвойств.Свойство.Код КАК КодСвойства,
    | НазначенияСвойствОбъектовВидыСвойств.Свойство,
    | ЗначенияСвойствОбъектов.Значение КАК Значение,
    | НазначенияСвойствОбъектовВидыСвойств.Свойство.Наименование КАК Наименование
    |ИЗ
    | ПланВидовХарактеристик.НазначенияСвойствОбъектов.ВидыСвойств КАК НазначенияСвойствОбъектовВидыСвойств
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров КАК РеализацияТоваров
    | ПО ЗначенияСвойствОбъектов.Объект = РеализацияТоваров.Ссылка
    | ПО НазначенияСвойствОбъектовВидыСвойств.Свойство = ЗначенияСвойствОбъектов.Свойство
    |ГДЕ
    | НазначенияСвойствОбъектовВидыСвойств.Ссылка.Ссылка = &ПредопределенноеНазначение
    | И ЗначенияСвойствОбъектов.Объект.Ссылка = &ОбъектНазначения
    | И НазначенияСвойствОбъектовВидыСвойств.НомерСтроки = &НомерСтроки
    |
    |ОБЪЕДИНИТЬ
    |
    |ВЫБРАТЬ
    | NULL,
    | 0,
    | НазначенияСвойствОбъектовВидыСвойств.НомерСтроки,
    | NULL,
    | NULL,
    | NULL
    |ИЗ
    | ПланВидовХарактеристик.НазначенияСвойствОбъектов.ВидыСвойств КАК НазначенияСвойствОбъектовВидыСвойств
    |ГДЕ
    | НазначенияСвойствОбъектовВидыСвойств.Ссылка.Объект = &ОбъектНазначения");

    ПоследнийУровень = 1;
    КодСтроки = 3;

    Запрос.УстановитьПараметр("ПредопределенноеНазначение",ПланыВидовХарактеристик.НазначенияСвойствОбъектов.Документ_РеализацияТоваров);
    Запрос.УстановитьПараметр("ПоследнийУровень",ПоследнийУровень);
    Запрос.УстановитьПараметр("НомерСтроки", КодСтроки);
    Запрос.УстановитьПараметр("ОбъектНазначения", СсылкаНаОбъект);
    Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("02032"));
    Выборка = Запрос.Выполнить().Выбрать();
    Выборка.Следующий();

    ТаблицаЗначений = Запрос.Выполнить().Выгрузить();
    Значение = Выборка.Значение;
```

Всем огромное "человеческое спасибо" кто принимал участие.
---
(4, 56)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
 неограниченной длины и поля несовместимых типов.
КОГДА ВидыДоходовКДБАналитическиеГруппы.Наименование <<?>>= ""
---
Да
---
Релиз обнови или патч установи. Эта ошибка исправлена.