После обновления конфигурации 1С:Бухгалтерия предприятия 3.0 пользователи могут столкнуться с неожиданной технической ошибкой. При проведении документов реализации и попытке открыть окно «Подбор номенклатуры» система завершает операцию аварийным сообщением:
{Обработка.ПодборНоменклатуры.Форма.Форма.Форма(377)}: Поле объекта не обнаружено (Валюта)
Проанализируем ситуацию: данная ошибка возникает в момент работы программы, когда программный код пытается обратиться к полю Валюта в текущей строке динамического списка. Выясним причину этого сбоя и подробно рассмотрим эффективные варианты исправления ситуации.
Главная причина кроется в конфликте между обновлённым программным кодом конфигурации и сохранёнными пользовательскими настройками формы. В платформе «1С:Предприятие 8» настройки отображения колонок, группировок и отборов сохраняются персонально для каждого пользователя в специальном системном хранилище.
Когда вы обновляете релиз программы, структура динамического списка в обработке ПодборНоменклатуры меняется. Однако сохранённая ранее индивидуальная настройка пользователя переопределяет новую структуру формы и блокирует появление реквизита Валюта в составе данных. В результате при исполнении строки СтрокаДинамическогоСписка.Данные.Валюта = Выборка.Валюта; программа не находит нужное поле и выдаёт сбой.
Чтобы не сбрасывать все персональные настройки пользователя (порядок журналов, настройки отчётов и списков), рекомендуем очистить параметры только для проблемной обработки «Подбор номенклатуры».
Обработка.ПодборНоменклатуры), нажмите по нему правой кнопкой мыши и выберите команду Удалить (или кнопку «Очистить настройки»).После выполнения этой процедуры сохранённая структура формы сбросится до стандартного состояния, заложенного разработчиками в новом релизе.
Если у пользователя есть доступ к редактированию настроек формы подбора, сбросить их можно прямо из рабочего окна без перехода в администрирование.
В некоторых случаях старая структура динамического списка может застрять в локальном кэше клиентского приложения на конкретном компьютере. Разберем, как очистить кэш:
/ClearCache/ClearCache можно удалить из настроек запуска.Если ваша база находится на обслуживании у программистов и содержит доработки в обработке подбора, причина может быть в самом запросе динамического списка или в отсутствии проверки наличия свойства. Проанализируем программный код.
Во-первых, в конфигураторе необходимо проверить текст запроса динамического списка формы подбора: реквизит Валюта должен входить в секцию ВЫБРАТЬ (например, ТипЦен.Валюта КАК Валюта).
Во-вторых, разработчикам рекомендуется использовать безопасную проверку обращения к свойствам структуры данных с помощью метода Свойство():
Если СтрокаДинамическогоСписка.Данные.Свойство("Валюта") Тогда
СтрокаДинамическогоСписка.Данные.Валюта = Выборка.Валюта;
КонецЕсли;
Применение метода Свойство() предотвратит возникновение критической ошибки, даже если у пользователя сохранилась некорректная структура колонок динамического списка.