1C-Code → Ошибки 1С → Преобразование значения к типу Ссылка невозможно
Сообщение платформы: Преобразование значения к типу Ссылка невозможно
В реквизит или параметр положили значение другого типа. Платформа называет ожидаемый тип, но не говорит, что пришло вместо него, — и это главная трудность.
Док.Контрагент = Справочники.Организации.НайтиПоНаименованию("Ромашка");
// а реквизит принимает только СправочникСсылка.Контрагенты
Составные типы реквизитов настраиваются в конфигураторе, и «похожий» справочник туда не подойдёт. Смотреть надо не на смысл, а на список разрешённых типов.
Док.Контрагент = Справочники.Номенклатура.ПустаяСсылка();
Пустая ссылка тоже типизирована. Для очистки берите пустую ссылку ТОГО ЖЕ справочника или Неопределено, если тип составной.
Запрос.УстановитьПараметр("Контрагент", "Ромашка"); // ждали ссылку
В запросе это даст либо ошибку типа, либо, что хуже, пустой результат без всякой ошибки: строка просто ни с чем не совпадёт.
Посмотрите, что реально лежит в переменной: Сообщить(ТипЗнч(Значение)). В девяти случаях из десяти окажется не то, что вы предполагали. Дальше — список допустимых типов реквизита в конфигураторе.
Проверить себя на практике. В тренажёре те же ошибки возникают на настоящем интерпретаторе языка 1С: сообщения дословно те же, что у платформы, но исправить их можно сразу в браузере, без установки и без риска для рабочей базы.