Неверное значение параметра запроса в плане обмен.

1. user1004898 28 18.04.21 12:32 Сейчас в теме
Нписал в КД2.0 правила обмена для УАТ-УПП.
В одном запросе прописал параметром на источник ТЧ ссылку на объект.
Правила выгружал во внешнюю обработку, тестировал - все ок. На ошибки в запросе не ругалась.
Выгружал/ загружал доки через Универсальный обмен. Аналогчно - все хорошо работает.

Настраиваю обмен документами через новый свой план обмена. В правила гружу свои проверенные правила из КД20. И сейчас при попытке выгрузить доку ругается на
еверные параметры в операции сравнения. Нельзя сравнивать поля
 неограниченной длины и поля несовместимых типов.
уатРемонтныйЛистАккумуляторы.Ссылка <<?>>= &Источник


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

Доволе странная ошибка, учитывая что в первых вариантах выгрузки/загрузки документов на такую ссылку 1с не ругается.
Почему так?

Как можно починить запрос?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 72 18.04.21 12:39 Сейчас в теме
(1)Использовать конструкцию ВЫРАЗИТЬ(Поле КАК <Тип>)
3. Leon75 18.04.21 15:07 Сейчас в теме
(2)Там что, составной тип?
Скорее уж нельзя использовать ключевое слово "Источник".
(1) Попробуйте старый метод отладки через Сообщить
Перед РезультатЗапроса = Запрос.Выполнить().Выгрузить();
напишите Сообщить(Строка(Запрос.Параметры.Источник))
4. ellavs 1027 18.04.21 15:23 Сейчас в теме
(3) если обмен через регламент/синхронизацию плана обмена делается, то Сообщить не отработает (как вариант - делать запись в журнал регистрации).
5. Leon75 18.04.21 15:33 Сейчас в теме
6. nomad_irk 72 18.04.21 15:43 Сейчас в теме
(3)
Там что, составной тип?

Откуда ж мне знать, возможно, если ошибка несовместимости типов.
7. Leon75 18.04.21 16:28 Сейчас в теме
(6)Тогда нужно ловить Строка(ТипЗнч(Запрос.Параметры.Источник)), это может быть просто ДокументОбъект, а не ДокументСсылка.
8. user1004898 28 18.04.21 16:28 Сейчас в теме
(3)Вы правы. Слово "Источник" не следовало использовать.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот