Причина ошибки в совпадении названия (псевдонима) таблицы и имени поля таблицы или реквизита, либо реквизитов соединяемых таблиц. Причем совпадение псевдонимов полей в разных источниках допускается.
Данная ошибка может возникнуть:
- в момент сохранения конструктора запрос,
- при начале редактирования через конструктор,
- при исполнении ошибочного запроса.
Текст запроса, который может вызвать ошибку
ВЫБРАТЬ
Ссылка.Ссылка КАК Ключи
ИЗ
Справочник.Ключи КАК Ссылка
Ошибка при соединении
Чаще всего ошибка возникает не в простых запросах (как выше), а при соединении похожих или одинаковых таблиц.
Например, справочников по полям ссылка, наименование, код (присутствующих у всех)
ВЫБРАТЬ
ключи.Ссылка КАК ключи
ИЗ
Справочник.Ключи КАК ключи
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Ключи КАК Ключи2
ПО Наименование = Наименование
Исправление ошибки
- При соединениях следует указывать названия таблиц: Ключи.Ссылка = Ключи2.Ссылка.
- Названия таблиц выбирать не совпадающими с полем “Имя” реквизита.
- Если объект добавлен вами и вы создали, например, реквизит Договоры в Справочник.Договоры, лучше переименовать его, т.к. подобные ошибки будут возникать регулярно.
- Если используются временные таблицы, обратите внимание на их имена на предмет аналогичного совпадения.
Пример кода с временными таблицами – “Наименование” не вызывает ошибку в отличии от ссылка (Поле не используется при соединении, но есть в полях выборки):
ВЫБРАТЬ
"ключ" КАК Ссылка
ПОМЕСТИТЬ Ключи
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Наименование,
Ссылка
ИЗ
Справочник.Ключи КАК Ключи
ЛЕВОЕ СОЕДИНЕНИЕ Ключи как Ключи2 ПО (ИСТИНА)
Безошибочный код
ВЫБРАТЬ
ключи.Ссылка КАК ключи
ИЗ
Справочник.Ключи КАК ключи
Скриншот “искусственной” ошибки в 1С
Вы обязательно истратите слишком много, если захотите сэкономить на хорошей рекламе. Это подобно покупке билета на три четверти пути в Европу: вы потратили деньги, но туда не доехали.