В конфигурациях на базе управляемых форм, таких как 1С:Управление торговлей, 1С:Комплексная автоматизация или 1С:ERP, пользователи часто настраивают интерфейс под свои задачи. Типичный сценарий: через меню Еще — Изменить форму в динамический список документов выводятся дополнительные поля путем разыменования ссылок, например Ссылка.Комментарий или цепочка Ссылка.ДокументОснование.Комментарий.
При отображении списка данные показываются корректно, однако при попытке воспользоваться общей строкой поиска возникает исключение: «Внутренняя ошибка динамического списка: поле Ссылка.Комментарий не найдено в источнике доступных настроек». Разберем причины возникновения этой ошибки и подробно рассмотрим способы её устранения.
Причины возникновения ошибки
Проанализируем механику работы динамических списков и компоновщика настроек платформы 1С:
Ошибки платформы при разыменовании ссылок в поиске: В ряде релизов платформы 1С:Предприятие 8.3 (в частности, в ветках 8.3.10 ранних билдов) содержалась зарегистрированная ошибка: при глобальном поиске по списку компоновщик настроек платформы пытается наложить отбор по всем отображаемым полям. Если поле добавлено пользователем через путь к данным объекта (через точку от ссылки), механизм СКД динамического списка не всегда мог корректно сопоставить это поле со схемой доступных настроек.
Особенности произвольного запроса: В типовых журналах документов динамический список чаще всего формируется с признаком Произвольный запрос. При автоматическом формировании текста запроса с наложением отбора СКД может оптимизировать поля и исключать неявные соединения, что приводит к отсутствию требуемого поля в доступных полях отбора.
Кэширование поврежденных настроек формы: В хранилище системных настроек пользователя сохраняются пути к данным, которые после обновления конфигурации или изменения структуры запроса могут конфликтовать со структурой динамического списка.
Способ 1. Обновление версии платформы 1С:Предприятие
Если ошибка вызвана внутренним сбоем механизма динамических списков платформы, наиболее простым и эффективным решением является обновление технологической платформы. Фирма «1С» устранила данную проблему в более поздних релизах веток 8.3.10, 8.3.11 и во всех актуальных версиях (8.3.14+ и старше).
Выполним обновление платформы 1С:Предприятие на сервере и клиентских рабочих местах до актуального стабильного релиза.
Перезапустим кластер серверов 1С и клиентские сеансы.
Проверим повторное выполнение поиска в динамическом списке.
Способ 2. Доработка запроса динамического списка
Если обновить платформу в текущий момент невозможно или динамический список построен на сложном произвольном запросе, решим проблему на уровне конфигурации или расширения. Для этого явно добавим необходимые поля в текст запроса списка, чтобы платформе не приходилось строить неявные соединения на лету.
Разберем по шагам, как модифицировать форму списка документов:
Откроем форму списка нужного документа в конфигураторе или в расширении.
Перейдем в свойства реквизита формы Список (тип ДинамическийСписок).
Откроем свойство Настройка списка и отредактируем текст запроса, добавив явное поле с псевдонимом:
ВЫБРАТЬ
ДокументЗаказКлиента.Ссылка КАК Ссылка,
ДокументЗаказКлиента.Номер КАК Номер,
ДокументЗаказКлиента.Дата КАК Дата,
ДокументЗаказКлиента.Комментарий КАК Комментарий,
ДокументЗаказКлиента.ДокументОснование.Комментарий КАК КомментарийОснования
ИЗ
Документ.ЗаказКлиента КАК ДокументЗаказКлиента
В настройках динамического списка на вкладке Поля найдем добавленные поля и при необходимости установим для них свойство Использовать всегда. Это предотвратит удаление поля оптимизатором СКД при выполнении запросов без явного вывода на форму.
Вынесем полученное поле Список.Комментарий или Список.КомментарийОснования в элементы формы напрямую, минуя цепочки разыменования Ссылка.....
Способ 3. Очистка пользовательских настроек формы
Если ошибка возникает только у определенных пользователей из-за некорректно сохраненных вариантов отображения, выполним сброс настроек:
В пользовательском режиме в форме списка нажмем Еще — Установить стандартные настройки.
Если сброс не помог, перейдем в раздел Администрирование — Настройки пользователей и прав — Очистка настроек.
Выберем проблемного пользователя, найдем соответствующую форму списка и удалим сохраненные настройки.
Способ 4. Корректные методы поиска и использование допреквизитов
Рассмотрим дополнительные рекомендации, которые помогут избежать подобных ошибок при повседневной работе:
Точечный поиск по колонке: Вместо использования общей строки поиска по всем колонкам списка рекомендуется установить курсор в нужную колонку и нажать комбинацию клавиш Ctrl + F. Поиск по конкретной колонке генерирует прямой отбор по точно заданному полю, снижая вероятность ошибок сопоставления доступных настроек.
Использование дополнительных реквизитов: Если в поле Комментарий пользователи вносят типовые метки (например, название проекта или направление), целесообразно включить типовой механизм Дополнительные реквизиты и сведения. Дополнительный реквизит является полноценным свойством объекта и штатно поддерживается механизмами отборов и поиска в динамических списках без сбоев.