Неоднозначное поле в запросе 1С 8.3
Ошибка Неоднозначное поле в запросе 1С 8.3 связана с наличием одинаковых имен в запросе 1С. В этом случае возникает неопределенность обработки запроса при обращении к данным и появляется соответствующее сообщение:
Ошибка, как правило, возникает у начинающих программистов. А исправляется она простым переименованием одинаковых имен в запросе.
Неоднозначное поле в запросе 1С 8.3
Ошибка 1С Неоднозначное поле может возникать как в Конфигураторе при написании запроса, так и в пользовательском режиме при выполнении некорректного программного кода.
Рассмотрим причины возникновения ошибки и порядок ее исправления на примере.
Одинаковые имена объектов в таблице запроса
При чтении цен номенклатуры по регистру сведений Цены номенклатуры из внешнего отчета, появляется ошибка Неоднозначное поле «ТипЦен.Номенклатура».
Для поиска и устранения ошибки выполните следующие действия:
В результате возникает двойственность чтения данных, и программа не может однозначно определить, что в этом случае нужно использовать. Команда ТипЦен.Номенклатура может относиться как к самой таблице, так и к реквизиту таблицы.
Исправление ошибки Неодназначное поле
Сохранение процедур с корректным кодом WORK и некорректным кодом ERROR выполняется отдельно для удобства демонстрации работы запросов в 1С.
Пример ошибки
Протестируем работу внешнего отчета с корректным и некорректным запросом на примере:
См. также:
Если Вы еще не подписаны:
После оформления подписки вам станут доступны все материалы Бухэксперт8, записи поддерживающих эфиров и вы сможете задавать любые вопросы по программе 1С.
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
Карточка публикации
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Вы можете задать еще вопросов
Доступ к форме «Задать вопрос» возможен только при оформлении полной подписки на БухЭксперт8.
Оформить заявку от имени Юр. или Физ. лица вы можете здесь >>
Нажимая кнопку «Задать вопрос», я соглашаюсь с
регламентом БухЭксперт8.ру >>
Характеристики объектов конфигурации
В качестве примера характеристики объектов конфигурации можно привести:
Список характеристик во время разработки не определен ни по составу, ни по типу хранимых данных. Также возможна ситуация, когда перечень таких характеристик достаточно большой и может быть не востребован каждым пользователем прикладного решения. Следует отметить, что набор характеристик может различаться для разных групп объектов, например, для одной группы элементов номенклатуры используются такие характеристики, как цвет и размер, а для другой ‑ только характеристика, описывающая габаритные размеры. Также следует отметить, что характеристики могут вводиться в процессе эксплуатации сами пользователи системы.
Можно предложить два способа решения задачи:
1. Для каждой характеристики заводится отдельный реквизит нужного типа в соответствующем объекте. У этого подхода есть несколько недостатков:
2. Использовать специальный объект, в котором описываются характеристики с указанием того, как называется характеристика, какого она типа и т. д. Эта схема лишена недостатков предыдущей: для добавления новой характеристики нет необходимости изменять прикладное решение, не расходуется избыточное место в базе данных. Также имеется возможность самому пользователю добавлять новые характеристики объектов. Система «1С:Предприятие» представляет такой объект. Он называется план видов характеристик.
Способ не лишен недостатков. К таковым можно отнести более сложную логику организации и использования характеристик. Однако, затраты, связанные с усложнением прикладного решения, будут понесены только один раз ‑ при разработке решения. По мере увеличения количества (и типов) характеристик, дополнительная модернизация прикладного решения будет не нужна.
План видов характеристик также можно использоваться для организации аналитического учета в бухгалтерском учете. В этом случае каждый элемент (с уникальным набором типов) будет являться видом субконто и при редактировании счета в плане счетов можно указать виды субконто, используемые для конкретного счета. При формировании проводки, для заполнения будет использоваться состав субконто (соответствующего типа), какой был задан при редактировании плана счетов. Подробнее об использовании плана видов характеристик для организации аналитического учета см. здесь
План видов характеристик является центральным элементом механизма характеристик:
Рис 1 Общая схема работы с характеристиками
План видов характеристик (см. Рис 1) хранит набор типов, которые могут быть указаны для элементов плана видов характеристик (видов характеристик) ‑ поле Тип значения характеристик. Также план видов характеристик содержит информацию о возможности создания характеристик, для описания значений которых в информационной базе отсутствуют необходимые объекты. Для этого используется поле Дополнительные значения характеристик и указание нужного типа в списке Тип значения характеристик.
При создании вида характеристики (элемента плана видов характеристик) можно указать, каким набором типов будут ограничены значения этого вида характеристик. При этом набор типов, заданный для плана видов характеристик в целом, можно ограничить для конкретного вида характеристики, но нельзя расширить.
Рис 2 Задание типа характеристики
Для тех объектов метаданных, для которых планируется вести учет характеристик, с помощью диалога Дополнительные характеристики объекта метаданных (см. рис 1), указываются правила отбора видов характеристик и правила получения значений характеристик для конкретных объектов данных. Фактически, указываются следующие правила:
В свойствах реквизитов объектов, используемых в механизме работы с характеристиками, требуется указание некоторых свойств метаданных, необходимых системе для автоматической подготовки данных при работе пользователя.
После того, как завершены все настройки и сформирован список видов характеристик (в виде предопределенных элементов плана видов характеристик в режиме Конфигуратора или в виде значений, введенных в режиме «1С:Предприятия») можно редактировать значения характеристик для конкретного объекта данных.
Рис 3. Редактирование значения характеристики
Если на форме есть поля, отвечающие за объект данных, вид характеристики и значение характеристики, то процесс редактирование выглядит следующим образом:
При использовании характеристик в отчетах (см. здесь) и динамических списках (см. здесь) используется похожая схема работы.
В некоторых случаях для реализации механизма характеристик (примеры такой реализации приведены далее) может потребоваться сокращенный набор объектов. Однако использование плана видов характеристик требуется при любом наборе используемых объектов.
Использование характеристик независимо от вида номенклатуры
Основной темой данного исследования послужил следующий вопрос:
Каковы будут последствия (при оперативном учете, при закрытии месяца и т.п.) если изменить значение реквизита «ИспользованиеХарактеристик» у нескольких карточек номенклатуры в пределах одного и того же вида номенклатуры?
Например, для вида номенклатуры указана настройка использования характеристик. При создании новой карточки номенклатуры, после выбора вида эта настройка из вида копируется в товар (или устанавливается на базе настроек вида). После создания карточки номенклатуры мы эту настройку сбрасываем в значение – «не использовать характеристику» (т.е. для вида = использовать, а для отдельной номенклатуры этого вида = НЕ использовать).
Все исследования, описанные в этом документе, производились на конфигурации «Управление торговлей, редакция 11 (версия 11.4.8.84)»
Анализ справочника Вид номенклатуры
В тестах будем использовать два вида номенклатуры указанных на скриншотах ниже. Один будет использовать характеристики – Товары с характеристикой, второй нет – Товары.
Справочник Вид номенклатуры имеет реквизиты:
Вариант использования характеристик для данного вида номенклатуры. Можно выбрать значения: Не использовать, Использовать общие для вида номенклатуры, Использовать индивидуальные для номенклатуры.
ПеречислениеСсылка.ВариантыИспользованияХарактеристикНоменклатуры имеет следующие значения:
Анализ справочника Номенклатура
Для теста создадим по три карточки товара каждого вида:
Справочник номенклатура имеет реквизиты:
В карточке номенклатуры пользователю можно изменить Вид номенклатуры руками. Реквизит Использование характеристик выведен на форму только для просмотра.
При ручном изменении вида номенклатуры в уже записанной карточки товара программа сообщает:
Возможность выбрать другой вид есть, но проверки не проходит. В нашем примере у товара с видом номенклатуры «Товары с характеристикой» устанавливаем новый вид «Товары»:
В дальнейшем даёт записать, с выводом сообщения:
Условие запроса проверок:
Анализ дерева метаданных конфигурации и использования объектов и реквизитов с анализом модулей был проведен поверхностно. Например, «ИспользованиеХарактеристик» встречается в 460 местах модулей. Основное обращение используется к справочнику Номенклатура.
Использование в документах обращается к реквизиту Номенклатуры.
Использование в регистрах – только регистры сведений обращение к реквизиту Номенклатура
Тесты на данных
Исходные карточки товара:
Измененные карточки товара не типовым способом:
Создаём по одной характеристике к каждому товару с использованием характеристик.
Подбор товаров в документах поступления работает корректно:
Создаём документ Поступление товаров:
Создались ключи аналитики:
Документ установка цен номенклатуры:
Документ реализация товаров:
Процедура закрытия месяца выполнена успешно.
Выводы
1. Анализ кода и объектов конфигурации привёл к тому, что изменить значение реквизита ИспользованиеХарактеристик у карточки товара не приводит к необратимым последствиям.
2. Контрольный пример с использованием измененных карточек товара показал успешный результат проведения документов, закрытия месяца и построения отчетов.
ВНИМАНИЕ! Данный способ подходит исключительно для НОВЫХ карточек товара, по которым НЕ БЫЛО движений. По которым еще не созданы ключи аналитики номенклатуры. Если по карточке уже были движения, то изменить значение реквизита Использование характеристик недостаточно, нужно:
Стоит так же понимать, что одно дело изменить значение у карточки с НЕ ИСПОЛЬЗУЕТСЯ в ИСПОЛЬЗУЮТСЯ (создав еще и карточки характеристик), а вот при обратном ИСПОЛЬЗУЕТСЯ в НЕ ИСПОЛЬЗУЕТСЯ нужно будет принять решение что делать с характеристиками товара и изменять их в документах и ключах аналитики.
В данном документе рассматривался тип использования ИНДИВИДУАЛЬНЫЕ для номенклатуры использование иных значений кажется логически невозможным. Т.к. в этом случае Характеристика используется из вида номенклатуры.
ВНИМАНИЕ! Описанный выше способ является исключением из общих правил. Стандартная, типовая конфигурация 1С не предусматривает возможность использования в карточке товара отличных от вида номенклатуры. Изучение данного способа вызвано бизнес-потребностью заказчика. Использование этого способа не изучено должным способом и не проверено на практике. Как говорится, используйте на свой страх и риск)