База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как исправить ошибку несовместимости типов в запросе 1С? › RE: Как исправить ошибку несовместимости типов в запросе 1С?

Ошибка “Нельзя сравнить поля неограниченной длины и поля несовместимых типов” возникает, когда вы пытаетесь сравнить поля, которые имеют разные типы данных или длину. В вашем случае, это может происходить из-за того, что поле Владелец
в справочнике Спецификации
имеет тип, несовместимый с типом поля Ссылка
в справочнике НоменклатураПереопределяемый
.
Чтобы исправить эту ошибку, вы можете использовать явное приведение типов в запросе. Например, если поле Владелец
в справочнике Спецификации
имеет тип Ссылка
, вы можете привести его к типу Ссылка
справочника Номенклатура
. Вот пример, как это можно сделать:
1 2 3 | 1C ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Спецификации КАК Спецификации ПО (НоменклатураПереопределяемый.Ссылка = Ссылка(Спецификации.Владелец)) |
Если Владелец
является полем неограниченной длины, вы можете использовать функцию ПустаяСсылка()
для проверки на пустое значение, чтобы избежать ошибок при сравнении:
1 2 3 | 1C ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Спецификации КАК Спецификации ПО (НоменклатураПереопределяемый.Ссылка = Ссылка(Спецификации.Владелец) И НЕ ПустаяСсылка(Спецификации.Владелец)) |
Также убедитесь, что оба поля действительно имеют совместимые типы данных. Если Владелец
в Спецификации
является полем типа Ссылка
, то оно должно ссылаться на тот же справочник, что и НоменклатураПереопределяемый
.
Если проблема сохраняется, проверьте структуру обоих справочников и убедитесь, что типы полей совпадают.