База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку несовместимости типов в запросе 1С? › RE: Как исправить ошибку несовместимости типов в запросе 1С?
Ошибка «Нельзя сравнить поля неограниченной длины и поля несовместимых типов» возникает, когда вы пытаетесь сравнить поля, которые имеют разные типы данных или длину. В вашем случае, это может происходить из-за того, что поле `Владелец` в справочнике `Спецификации` имеет тип, несовместимый с типом поля `Ссылка` в справочнике `НоменклатураПереопределяемый`.
Чтобы исправить эту ошибку, вы можете использовать явное приведение типов в запросе. Например, если поле `Владелец` в справочнике `Спецификации` имеет тип `Ссылка`, вы можете привести его к типу `Ссылка` справочника `Номенклатура`. Вот пример, как это можно сделать:
1C ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Спецификации КАК Спецификации ПО (НоменклатураПереопределяемый.Ссылка = Ссылка(Спецификации.Владелец))
Если `Владелец` является полем неограниченной длины, вы можете использовать функцию `ПустаяСсылка()` для проверки на пустое значение, чтобы избежать ошибок при сравнении:
1C ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Спецификации КАК Спецификации ПО (НоменклатураПереопределяемый.Ссылка = Ссылка(Спецификации.Владелец) И НЕ ПустаяСсылка(Спецификации.Владелец))
Также убедитесь, что оба поля действительно имеют совместимые типы данных. Если `Владелец` в `Спецификации` является полем типа `Ссылка`, то оно должно ссылаться на тот же справочник, что и `НоменклатураПереопределяемый`.
Если проблема сохраняется, проверьте структуру обоих справочников и убедитесь, что типы полей совпадают.