1с почему элемент полное наименование отсутствует в доступных полях
Типичные вопросы при работе с предопределенными данными
При работе с предопределенными данными могут встречаться следующие ошибки:
- Попытка обратиться к предопределенному элементу приводит к ошибке "Предопределенный элемент отсутствует в данных". Возможные причины появления такой ошибки:
- Это периферийный узел и предопределенные данные из центрального узла еще не загружены.
- Область информационной базы инициализирована, когда обновление предопределенных данных отключено на уровне информационной базы или на уровне проблемного объекта метаданных.
- Предопределенные данные удалены.
- У предопределенных данных очистили значение реквизита "ИмяПредопределенныхДанных".
- Предопределенные элементы созданы в режиме "ОбменДанными.Загрузка = Истина". Например, при обмене данными в РИБ.
Анализ причин ошибок при работе с предопределенными данными и способы их устранения.
Во всех случаях должна быть включена запись событий в журнал регистрации с уровнем "Информация".
Отсутствие предопределенных элементов в данных
Необходимо в журнале регистрации выполнить отбор по проблемному объекту метаданных и следующим событиям:
- Данные:
- Изменение предопределенных данных,
- Удаление предопределенных данных,
- Установка инициализации предопределенных данных,
- Обновление предопределенных данных,
- Установка обновления предопределенных данных.
По событиям в списке можно понять, почему предопределенный элемент не обнаружен.
Если в журнале имеется события " Данные. Изменение предопределенных данных ", у которых новое имя предопределенных данных – пустая строка. Это значит, что пользователь или код на встроенном языке очистил имя предопределенных данных, сделав элемент не предопределенным. Для восстановления элемента достаточно вернуть свойству ИмяПредопределенныхДанных старое значение. Желательно доработать конфигурацию таким образом, чтобы не допустить повторение такой ситуации: изменить права, модифицировать код на встроенном языке.
Если в конфигурации есть событие " Данные. Удаление предопределенных данных ", то это означает, что предопределенные данные удалены пользователем или из встроенного языка. Для исправления необходимо создать недостающий предопределенный элемент. Изменить конфигурацию таким образом, чтобы не допускать удаления используемых предопределенных данных.
Если в журнале имеется событие " Данные. Установка инициализации предопределенных данных ", в которых установлен признак инициализации предопределенных данных, то это означает, что из встроенного языка был установлен признак инициализации предопределенных данных, а предопределенные элементы не созданы (все или частично). Для исправления необходимо модифицировать конфигурацию, чтобы создавались все предопределенные данные, либо не было обращений к отсутствующим данным.
Если в журнале имеется событие " ИнформационнаяБаза. Обновление предопределенных данных ", в котором есть комментарий "Обновление предопределенных данных отключено". Это означает, что в базе данных на уровне ИБ, узла или объекта метаданных отключено автоматическое обновление предопределенных данных. В таком случае платформа не выполняет реструктуризацию предопределенных данных. Для выяснения источника проблемы необходимо:Дублирование предопределенных данных.
Дубли могут возникать только в режиме загрузки данных (ОбменДанными.Загрузка = Истина). В этом случае контроль уникальности предопределенных будет отключен.
Если в журнале регистрации есть записи " Данные. Добавление предопределенных данных ", значение ИмяПредопределенныхДанных у которых приводит к дублю. Это означает, что дубли предопределенных данных созданы из встроенного языка, например, были загружены при обмене данными.
Если в журнале регистрации есть записи " Данные. Изменение предопределенных данных ", значение НовоеИмяПредопределенныхДанных у которых приводит к дублю. Это означает, что дубли предопределенных данных созданы пользователем или из встроенного языка, например, были загружены при обмене данными или в форме элемента некорректно установлен режим загрузки и пользователь указал дублирующее имя.
В этих случаях для исправления ошибки необходимо определить, какой элемент является корректным (например, определив ссылки на него) и ненужный элемент сделать обычным (не предопределенным, очистив поле ИмяПредопределенныхДанных ). Обязательно перед удалением элемента проверьте необходимость заменить ссылки с удаляемого предопределенного элемента на корректную ссылку.Рекомендации по работе с предопределенными данными
Если вы не планируете самостоятельно управлять предопределенными данными и ожидаете, что они всегда есть в базе данных, то вам следует:
- Ограничить права доступа на предопределенные данные таким образом, чтобы было невозможно их удалять или очищать свойство ИмяПредопределенныхДанных .
- Избегать модификации предопределенных данных в привилегированном режиме.
- Избегать модификации в режиме загрузки данных, когда свойство " ОбменДанными.Загрузка " установлено в " Истина ".
- Не отключать автоматическое обновление предопределенных данных.
Необходимо помнить, что в периферийном узле все предопределенные данные не создаются платформой, а приходят из центрального узла. Поэтому при разработке конфигураций, работающих в РИБ, следует обязательно анализировать как будет выполняться обновление данных при первом запуске, чтобы не обращаться к новым предопределенным данным до их загрузки из центрального узла.
В общем есть задача, выводить в обычном приложении настройки системы компоновки данных для редактирования (структура отчета, отборы, сортировки) также как это делается когда просто создается форма отчета.
В общем когда получаю настройки в этом коде есть выбранные поля, отборы, и т.д. но нигде не заполнены доступные поля. (ДоступныеПоляОтбора, ДоступныеПоляВыбора)
Что сделать чтобы были?
Может вам с другого конца зайти? Использовать типовой отчет, например? Система компоновки запускается из второй формы обработки для отчета о сделанном расчете. Таблица передается как внешний набор данных.Так разобрался, код должен быть таким:
может кому пригодиться.
Aphanas; Bazil; alexgoro; user681581_ni.ks; imaster; Bukaska; Rabot; tda; + 8 – Ответить Ага, только у меня на управляемых формах в таком случае доступные поля отбора по плюсику не открываются. И как решить проблему пока не знаю (5) morfeus, может кому пригодится - необходимо явно типизировать поля на 1ой вкладке СКД в колонке ТипЗначения(5) реанимирую (столкнулся с данной проблемой, гугл вывел на этот пост), вдруг кому поможет.
Боролся, чтобы на упр. форме, в таблице отбора, поля отбора не были помечены крестиком (доступные поля отбора пусты) при установке настроек по-умолчанию. Оказалось, надо было пробросить СКД через адрес во временном хранилище.(7) У меня не помогло, нет доступных полей
(8) вот не помню уже где посмотреть, но возможно что у меня тКомпоновщик - это отдельный реквизит формы, у вас - в рамках объекта "Отчет".
Но я не очень разбираюсь, может быть в этом дело или нет :))(9)
В общем разобрался, в наборе данных простой запрос к регистру сведений, у пользователя нет доступа на просмотр этого регистра, только Чтение.Пробовал в наборе данных для всех полей указать типы, но всё равно не помогло.
Как только даёшь право на просмотр этого регистра (в запросе только этот регистр сведений без разыменования полей). то сразу появляются доступные поля в СКДОшибка Поле объекта не обнаружено очень похожа на ошибку Объект не найден . Отличие в том, что в структуре конфигурации сам объект есть (реквизит справочника, документа, регистра или сам справочник, документ, регистр), а вот в форме, вызываемой программой, он отсутствует. В этом случае при обращении к полю, не вынесенному на форму объекта, фиксируется ошибка Поле объекта не обнаружено .
Поскольку ошибка 1С Поле объекта не обнаружено , как правило, не связана с отсутствием объекта в структуре конфигурации базы данных, механизм Тестирования и исправлении для этого случая не работает: его используют при работе с ошибкой Объект не найден . В данной статье Тестирование и исправление не рассматривается.
Ошибка обновления
Если ошибка появилась после проведенного обновления конфигурации, есть вероятность, что она связана с обновлением. Ваши действия:
Шаг 1. Восстановите базу из копии и убедитесь, что в копии базы ошибок не возникает.
БухЭксперт8 рекомендует всегда делать копии перед обновлением. Копия — ваш спасательный круг на всякие непредвиденные обстоятельства. Есть копия — есть возможность восстановления базы при неудачном обновлении.
Обратите внимание: выгруженные копии желательно проверять, поскольку бывают случаи, когда в них тоже есть ошибки. Или они не восстанавливаются.
Если ошибка в копии базы данных:
- повторяется, то с обновлением это не связано — переходите к следующему пункту поиска причины ошибки;
- отсутствует, значит, высока вероятность, что виновато обновление.
Шаг 2. Исключите наличие ошибки разработчиков.
Да, такое тоже возможно. Объем изменений, вносимых разработчиками в конфигурацию огромен, поэтому ошибки при обновлении могут возникать и возникают довольно часто. В сложных случаях обновление даже отзывается.
Чтобы определиться, допущена ли ошибка разработчиками, перейдите по ссылке: Публикация ошибок 1С
В поле Найти введите текст ошибки и выберите конфигурацию, в которой работаете, например, Бухгалтерия предприятия, редакция 3.0.
Если ошибка зафиксирована разработчиками, поиск выдаст:
- номер зафиксированной ошибки;
- релиз, в котором ошибка проявляется;
- релиз, в котором ошибка исправлена или будет исправлена;
- рекомендации для исправления ошибки.
БухЭксперт8 рекомендует не обновляться сразу после выхода нового релиза конфигурации, а подождать несколько дней. Если будут выявлены какие-то ошибки, разработчики внепланово в течение 3-5 дней выпустят новое обновление с исправлением допущенных ошибок.
Ошибка Платформы
Если обновление конфигурации не проводилось или проверка конфигурации в предыдущем пункте показала, что ошибка не связана с обновлением базы, проверяем работу Платформы 1С .
Если проводилось обновление Платформы 1С , проверьте, возникает ли ошибка при запуске 1С со старой Платформы 1С . Для этого установите версию Платформы 1С , которая использовалась до обновления, в форме запуска списка баз 1С по кнопке Изменить .
Если запуск со старой Платформы 1С прошел без ошибок, значит, ошибка в новой версии Платформы 1С . Данные по ошибкам новой Платформы 1С можно посмотреть по ссылке с сайта поддержки пользователей, например: Ошибки Платформы 8.3.17.1386
БухЭксперт8 рекомендует не обновляться сразу после выхода новой Платформы 1С , а следовать рекомендациям файла ReadMe к обновлению конфигурации, в котором указывается желательная версия Платформы 1С для работы обновления.
Чистка кешей 1С
Если Платформа 1С не обновлялась или указанных ошибок по Платформе 1С на сайте поддержки пользователей не зафиксировано, имеет смысл почистить кеши 1С.
Все папки с длинными символьными именами являются кешами. В них хранится информация, к которой часто обращается 1С. При возникновении сбоя в программе данные могут браться не из актуальных, а старых папок. Поэтому желательно удалить всю старую информацию, чтобы исключить возможность возникновение ошибок в 1C.
БухЭксперт8 рекомендует выполнять чистку кешей при закрытой программе 1С. Иначе не получится удалить последний кеш, используемый программой. После удаления всех кешей при запуске программы 1С создаст новый кеш с актуальными данными.
Чистка пользовательских настроек
Если ошибка Поле объекта не найдено появляется при формировании отчета или обработки, возможно, возникли нарушения в Хранилище настроек конкретного пользователя.
Выполните очистку настроек пользователя, у которого возникает ошибка: раздел Администрирование — Настройки пользователей и прав — Персональные настройки пользователей — Очистка настроек .
Откройте форму Очистка настроек пользователей , укажите пользователя и настройку для удаления.
Если выставить переключатель Все настройки , пользователю будут доступны только стандартные настройки отчетов и обработок. Собственные настройки будут потеряны.
Изменение конфигурации
Самый сложный случай возникновения ошибки — доработка типовой конфигурации 1С. Здесь никто за вас ошибку не исправит и действовать придется по следующему алгоритму:
Шаг 1. В окне ошибки нажмите кнопку Подробно .
Шаг 2. Изучите информацию в окне Обнаружены ошибки .
Программа сообщит наименование поля и объекта, где произошла ошибка:
Программа автоматически запустит Конфигуратор и установит курсор в место, где формируется ошибка.
Шаг 4. Проанализируйте строчку кода:
Как видно из программного кода, при открытии формы элемента справочника устанавливается видимость для поля формы Табачная продукция .
Шаг 5. Откройте форму справочника Номенклатура и проверьте наличие поля Табачная продукция .
В форме справочника поле Табачная продукция отсутствует.
Шаг 6. Перетащите реквизит Табачная продукция из окна Реквизиты в окно Элементы .
Результат переноса реквизита Табачная продукция в форму справочника Номенклатура :
Шаг 7. Обновите конфигурацию по кнопке F7.
Ошибка Поле объекта не обнаружено (Табачная продукция) исправлена. Открытие формы элемента справочника Номенклатура выполняется без ошибки.
Ошибка 1С 8.3 Поле объекта не обнаружено чаще всего возникает при обновлении и доработке конфигураций. БухЭксперт8 рекомендует все исправления проводить на копии баз, а в наиболее сложных случаях отдавать базу на исправление программистам 1С.
См. также:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
Карточка публикации
(4 оценок, среднее: 5,00 из 5)
Данную публикацию можно обсудить в комментариях ниже.
Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>Все комментарии (1)
Спасибо за полезную информацию
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявкуНажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>Радует, что много стали уделять внимания УСН. Марию Демашеву слушать очень приятно, понятно все рассказывает. Семинар долгий, но от ее объяснений не устаешь, пролетает как один миг. Спасибо огромное.
Содержание
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявкуНажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>С ошибкой Поле объекта недоступно для записи в 1С сталкиваются как начинающие программисты при доработке программного кода, так и обычные пользователи при обновлении программы. Полный список причин возникновения ошибки содержит:
- ошибку обновления программы;
- обращение к данным изменяемого объекта по Ссылке вместо Объект ;
- попытку изменения системных полей в программном коде.
Во всех перечисленных случаях при попытке записи данных фиксируется ошибка Поле объекта недоступно для записи .
Ошибка обновления
Каждое обновление содержит многочисленные изменения в программном коде программы. Разработчики тестируют все доработки, но тоже могут ошибаться. Обнаруженные ошибки регистрируются 1С и исправляются в следующем релизе.
Если ошибка появилась после проведенного обновления программы, есть вероятность, что она связана с обновлением.
Пока ошибку не исправили, восстановите базу и архивной копии или ждите выхода нового релиза обновления.
БухЭксперт8 рекомендует всегда делать копии перед обновлением. Это гарантирует возможность восстановления базы при неудачном обновлении.
Изменение объекта по ссылке
Самая распространенная ошибка начинающих программистов — запись изменений Объекта по Ссылке .
Объект — это внутренняя таблица 1С, в которой содержатся полные данные на элемент справочника, документ, регистр или обработку. Ссылка — указание места этой таблицы в 1С.
Чтобы вносить изменения в данные справочника, документа или регистра, нужно обращаться к данным Объекта , а не Ссылки .
При доработке программного кода или написании внешних обработок использование для изменения данных объекта Ссылки приводит к появлению ошибки Поле объекта недоступно для записи .
При написании обработки заполнения контактного лица в справочнике Контрагенты программист допустил ошибку в программном коде:
Выполнение записи происходит с ошибкой в поле Основное контактное лицо .
Ошибка записи выбранного контактного лица регистрируется при нажатии на кнопку Неправильно .
В данном программном коде Объект.Контрагент — это Ссылка на поле формы Контрагент обработки Заполнение контактного лица контрагента :
Для обращения к Объекту элемента справочника Контрагент нужно выполнить команду ПолучитьОбъект() . Исправленный программный код выглядит следующим образом:
В обработке Заполнение контактного лица контрагента исправление реализовано по кнопке Правильно . В этом случае программный код отработает без ошибки.
Но для получения идеального результата сохранения данных контактного лица в справочнике Контрагенты недостаточно, необходимо записать выбранного контрагента в справочнике Контактные лица .
По кнопке Идеально выбранное контактное лицо отобразится по ссылке Контактные лица контрагента.
БухЭксперт8 рекомендует выполнять все изменения программного кода на копии рабочей базы. Если ошибка появилась после доработки конфигурации или обработки программистом, лучше передать ему информацию по ошибке для исправления, а не пытаться исправлять ее самостоятельно.
Изменение системных полей
Третьей причиной, вызывающей ошибку Поле объекта недоступно для записи , является попытка изменения системных полей и команд в программном коде:
Эти поля недоступны для записи, попытка их изменения приводит к ошибке.
При написании обработки заполнения членов комиссии в документе Требование-накладная программист допустил ошибку в программном коде.
Выполнение записи членов комиссии в документ Требование-накладная происходит с ошибкой по полю Номер строки .
Ошибка записи выбранных в обработке членов комиссии регистрируется при нажатии кнопки Неправильно .
Ошибка вызвана присвоением номера системному полю НомерСтроки . Правильный программный код выглядит следующим образом:
По кнопке Правильно запись членов комиссии в документ Требование-накладная происходит без ошибки.
Все выбранные в обработке Заполнение членов комиссии в Требовании-накладной члены комиссии отображаются в документе по ссылке Комиссия .
БухЭксперт8 рекомендует выполнять все изменения программного кода на копии рабочей базы. Если ошибка появилась после доработки программистом конфигурации или обработки, лучше передать ему информацию по ошибке, а не пытаться исправлять ее самостоятельно.
См. также:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
При обновлении базы 1С, установке новой Платформы, внесении изменений в.У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую.Ошибка Неоднозначное поле в запросе 1С 8.3 связана с наличием.После обновления информационной базы 1С, установки новой версии Платформы, доработки.
Карточка публикации
(1 оценок, среднее: 5,00 из 5)
Данную публикацию можно обсудить в комментариях ниже.
Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявкуНажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>Как не попасть в ловушку, работая с контрагентами из ЕАЭС
[17.11.2021 запись] Практический переход на ФСБУ 6 и ФСБУ 26 в 1С
Переход на ФСБУ 6/2020 «Основные средства» в 1С по альтернативному алгоритму
Изменения в 2021 году, о которых нужно знать бухгалтеру
[11.10.2021 запись] Учет ОС по-новому: ФСБУ 6/2020, ФСБУ 26/2020, ФСБУ 25/2018
[29.10.2021 запись] Пообъектный учет ОС и подходы к определению и пересмотру СПИ
Радует, что много стали уделять внимания УСН. Марию Демашеву слушать очень приятно, понятно все рассказывает. Семинар долгий, но от ее объяснений не устаешь, пролетает как один миг. Спасибо огромное.
Читайте также: