Справочник не многоуровневый 1с ошибка

При обновлении базы 1 С Бухгалтерия, установке новой платформы, внесении изменений в конфигурацию программы 1 С возможно появление ошибки:

  • Поле объекта не обнаружено.

В зависимости от причины, вызвавшей появление данной ошибки, есть разные варианты ее устранения.

Прочитав статью, вы:

  • узнаете, на что обращать внимание при возникновении этой ошибки;
  • получите нужные рекомендации для ее устранения;
  • скачаете несколько полезных ссылок и документов для поиска ошибок.

Ошибка в 1С Поле объекта не обнаружено — причины

Ошибка Поле объекта не обнаружено очень похожа на ошибку Объект не найден. Отличие в том, что в структуре конфигурации сам объект есть (реквизит справочника, документа, регистра или сам справочник, документ, регистр), а вот в форме, вызываемой программой, он отсутствует. В этом случае при обращении к полю, не вынесенному на форму объекта, фиксируется ошибка обработки Поле объекта не обнаружено.

Причины ошибки:

  • обновление конфигурации;
  • установка новой Платформы;
  • сбой в хранилищах данных конфигурации;
  • внесение доработок в конфигурацию.

Поскольку ошибка 1 С Предприятия Поле объекта не обнаружено, как правило, не связана с отсутствием объекта в структуре конфигурации базы данных, механизм Тестирования и исправлении для этого случая не работает: его используют при работе с ошибкой Объект не найден. В данной статье Тестирование и исправление не рассматривается.

Ошибка обновления

Если ошибка появилась после проведенного обновления конфигурации, есть вероятность, что проблемы связаны с обновлением. Вам необходимо сделать, как правило, такие шаги решений:

Шаг 1. Восстановите базу из копии и убедитесь, что в копии базы ошибок не возникает.

Если ошибка в копии базы данных:

  • повторяется, то с обновлением это не связано — переходите к следующему пункту поиска причины ошибки;
  • отсутствует, значит, высока вероятность, что виновато обновление.

Шаг 2. Исключите наличие ошибки разработчиков.

Да, такое тоже возможно. Объем изменений, вносимых разработчиками и программистами  в конфигурацию огромен, поэтому ошибки при обновлении могут возникать и возникают довольно часто. В сложных случаях обновление даже отзывается, а разработчик присылает соответствующее сообщение.

Чтобы определиться, допущена ли ошибка разработчиками в системе, перейдите по ссылке: файл Публикация ошибок 1С

В поле Найти введите нужный текст ошибки и выберите конфигурацию, в которой работаете, например, Бухгалтерия предприятия, редакция 3.0.

Если ошибка зафиксирована разработчиками, поиск выдаст строку:

  • номер зафиксированной ошибки;
  • релиз, в котором ошибка проявляется;
  • релиз, в котором ошибка исправлена или будет исправлена;
  • рекомендации для исправления ошибки.

Если проблема не найдена в сервисе Поиск ошибок, возможно, она еще не зарегистрирована 1С. Обратитесь к обслуживающей вас фирме, дождитесь от них сообщения, параллельно анализируя следующие причины возникновения ошибки и используя рекомендации из этой статьи.

Ошибка платформы

Если обновление конфигурации не проводилось или проверка конфигурации в предыдущем пункте показала, что ошибка не связана с обновлением базы, проверяем работу Платформы 1С.

Если проводилось обновление Платформы 1С, проверьте, возникает ли ошибка при запуске 1С со старой Платформы 1С. Для этого установите версию Платформы 1С, которая использовалась до обновления решений, в форме запуска списка баз 1С по кнопке Изменить.

Если запуск со старой Платформы 1С прошел без ошибок, значит, ошибка в новой версии Платформы 1С предприятия. Данные по ошибкам новой Платформы 1С можно посмотреть по ссылке с сайта поддержки пользователей, например: Ошибки Платформы версии 8.3.17.1386

Чистка кешей 1С

Если Платформа 1С не обновлялась или указанных ошибок по Платформе 1С на сайте поддержки пользователей не зафиксировано, имеет смысл почистить кеши 1С.

Последовательность действий:

1. Набираете в Проводнике строчку: %appdata%;

2. Переходите в папку 1С1cv8.

Все папки с длинными символьными именами являются кешами. В них хранится информация, к которой часто обращается 1С. При возникновении сбоя в программе данные могут браться не из актуальных, а старых папок. Поэтому желательно удалить всю старую информацию, чтобы исключить возможность возникновение ошибок в 1C.

Чистка пользовательских настроек

Если ошибка Поле объекта не найдено появляется при формировании отчета или обработки, возможно, возникли нарушения в Хранилище настроек конкретного пользователя.

Выполните очистку настроек пользователя, у которого возникает ошибка: раздел Администрирование — Настройки пользователей и прав — Персональные настройки пользователей — Очистка настроек.

Откройте форму Очистка настроек пользователей, укажите пользователя и настройку для удаления.

Если выставить переключатель Все настройки, пользователю будут доступны только стандартные настройки отчетов и обработок. Собственные настройки будут потеряны.

Изменение конфигурации

Самый сложный случай возникновения ошибки в программе — доработка типовой конфигурации 1С. Здесь никто за вас ошибку не исправит и действовать придется по следующему алгоритму:

Шаг 1. В окне ошибки нажмите кнопку Подробно.

Шаг 2. Изучите информацию в окне Обнаружены ошибки.

Программа сообщит наименование поля и объекта, где произошла ошибка:

  • Поле — Табачная продукция;
  • Объект — форма справочника Номенклатура.

Шаг 3. Нажмите кнопку Конфигуратор.

Программа автоматически запустит Конфигуратор и установит курсор в место, где формируется ошибка.

Шаг 4. Проанализируйте строчку кода:

Как видно из программного кода, при открытии формы элемента справочника устанавливается видимость для поля формы Табачная продукция.

Шаг 5. Откройте форму справочника Номенклатура и проверьте наличие поля Табачная продукция.

В форме справочника поле Табачная продукция отсутствует.

Шаг 6. Перетащите реквизит Табачная продукция из окна Реквизиты в окно Элементы.

Результат переноса реквизита Табачная продукция в форму справочника Номенклатура:

Шаг 7. Обновите конфигурацию по кнопке F7.

Ошибка Поле объекта не обнаружено (Табачная продукция) исправлена. Открытие формы элемента справочника Номенклатура выполняется без ошибки.

Ошибка 1С 8.3 Поле объекта не обнаружено чаще всего возникает при обновлении и доработке конфигураций программы. Мы рекомендуем все исправления вопросов проводить на копии баз, а в наиболее сложных случаях отдавать базу на исправление программистам 1С. Мы надеемся, что данная статья по этой теме помогла вам решить проблему.

Вот так копирую группу:

СпрОле = V7.CreateObject(«Справочник.Контрагенты»);

    СпрОле.ВыбратьЭлементы();

    Пока СпрОле.ПолучитьЭлемент()=1 Цикл

        Если СпрОле.ЭтоГруппа()=1 Тогда

            Если Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Наименование) = Справочники.Контрагенты.ПустаяСсылка() Тогда

                НоваяГруппа = Справочники.Контрагенты.СоздатьГруппу();

                НоваяГруппа.Наименование = СпрОле.Наименование;

                Если СпрОле.Родитель.Наименование <> «» Тогда

                НоваяГруппа.Родитель = Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Родитель.Наименование);

                КонецЕсли;

                НоваяГруппа.Записать();

                Сообщить(«Создана Группа: » + СпрОле.Наименование);

            КонецЕсли;

        КонецЕсли;

    КонецЦикла;

По Аналогии элементы:

    СпрОле = V7.CreateObject(«Справочник.Контрагенты»);

    СпрОле.ВыбратьЭлементы();

    Пока СпрОле.ПолучитьЭлемент()=1 Цикл

        Если СпрОле.ЭтоГруппа()=0 Тогда

            Если Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Наименование) = Справочники.Контрагенты.ПустаяСсылка() Тогда

                НовыйКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();

                НовыйКонтрагент.Наименование = СпрОле.Наименование;

                Если СпрОле.Родитель.Наименование <> «» Тогда

                НовыйКонтрагент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Родитель.Наименование);

            КонецЕсли;

            НовыйКонтрагент.Записать();

                Сообщить(«Создан контрагент: » + СпрОле.Наименование);    

            КонецЕсли;

КонецЕсли;

КонецЦикла;

Ошибка при переносе элементов:

{Обработка.МО.Форма.Форма.Форма(132)}: Ошибка при установке значения атрибута контекста (Родитель)

                НовыйКонтрагент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Родитель.Наименование);

по причине:

Справочник не многоуровневый

Справочник не многоуровневый

Почему так происходит и как поправить подскажите плиз.

Конфа УТ 11 откуда переношу из 7ки Рарус Магазин 2.

Вот так копирую группу:     КонецЦикла; По Аналогии элементы: Ошибка при переносе элементов: {Обработка.МО.Форма.Форма.Форма}: Ошибка при установке значения атрибута контекста (Родитель)                 НовыйКонтрагент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Родитель.Наименование); по причине: Справочник не многоуровневый Справочник не многоуровневый Почему так происходит и как поправить подскажите плиз. Конфа УТ 11 откуда переношу из 7ки Рарус Магазин 2.

Контрагенты — не многоуровневый спр. О чем и написано. Кроме того есть спр-к «партнеры». Переносить надо данные прежде всего в него, а потом в контрагенты.

Сейчас попробую, пробовал так делать, но вроде без записи ))

Получилось, тока каждый поставщик отображается как группа, можно раскрыть на плюс, хотя при попытки переноса групп ругнулось на то что этот справочник не может содержать группы. Пожалуй пойду почитаю УТ…

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

47 / 47 / 1

Регистрация: 03.05.2012

Сообщений: 266

1

Синхронизация справочников

15.03.2016, 07:28. Показов 4087. Ответов 26


Студворк — интернет-сервис помощи студентам

Добрый день, подскажите, как можно синхронизировать справочник Должности организации и Должности? Справочник по упр.учету «Должности» не велся, а сейчас необходимо начать использовать его. Вручную очень долго переносить данные. Может у кого есть? Или примерно что-то похожее есть, как наглядный пример… За ранее спасибо всем.



0



GreenkA

Эксперт 1С

3052 / 1999 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

06.04.2016, 09:24

21

Студворк — интернет-сервис помощи студентам

Briolin, имя вашей процедуры надо изменить(а не моей), вы задали недопустимое имя:

1C
1
2
&НаКлиенте
Процедура СоздатьДолжности(Команда)

В обработчике команды формы измените тоже.



0



Briolin

58 / 63 / 11

Регистрация: 13.11.2014

Сообщений: 939

06.04.2016, 09:38

22

GreenkO, исправил вот так:

1C
1
2
3
4
5
6
7
8
9
10
11
12
&НаКлиенте
Процедура СоздатьДолжности(Команда)
    ВыборкаДолжностей = Справочники.ДолжностиОрганизации.Выбрать();
 Пока ВыборкаДолжностей.Следующий() Цикл
  ТекДолжность = Справочники.Должности.НайтиПоНаименованию(ВыборкаДолжностей.Наименование);
  Если ТекДолжность.Пустая() Тогда
    НовДолжность = Справочники.Должности.СоздатьЭлемент();
    ЗаполнитьЗначенияСвойств(НовДолжность, ВыборкаДолжностей);
    НовДолжность.Записать();
  КонецЕсли;
 КонецЦикла;
КонецПроцедуры

Теперь ошибки:

1C
1
2
3
4
5
6
{Обработка.Обработка1.Форма.Форма.Форма(4,22)}: Переменная не определена (Справочники)
    ВыборкаДолжностей = <<?>>Справочники.ДолжностиОрганизации.Выбрать(); (Проверка: Тонкий клиент)
{Обработка.Обработка1.Форма.Форма.Форма(6,18)}: Переменная не определена (Справочники)
  ТекДолжность = <<?>>Справочники.Должности.НайтиПоНаименованию(ВыборкаДолжностей.Наименование); (Проверка: Тонкий клиент)
{Обработка.Обработка1.Форма.Форма.Форма(8,20)}: Переменная не определена (Справочники)
    НовДолжность = <<?>>Справочники.Должности.СоздатьЭлемент(); (Проверка: Тонкий клиент)



0



GreenkA

Эксперт 1С

3052 / 1999 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

06.04.2016, 09:41

23

Briolin, на УФ надо переносить создание элементов справочника на сервер:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
&НаКлиенте
Процедура СоздатьДолжности(Команда)
   СоздатьДолжностиНаСервере();
КонецПроцедуры
 
&НаСервере
Процедура СоздатьДолжностиНаСервере()
 ВыборкаДолжностей = Справочники.ДолжностиОрганизации.Выбрать();
 Пока ВыборкаДолжностей.Следующий() Цикл
  ТекДолжность = Справочники.Должности.НайтиПоНаименованию(ВыборкаДолжностей.Наименование);
  Если ТекДолжность.Пустая() Тогда
    НовДолжность = Справочники.Должности.СоздатьЭлемент();
    ЗаполнитьЗначенияСвойств(НовДолжность, ВыборкаДолжностей);
    НовДолжность.Записать();
  КонецЕсли;
 КонецЦикла;
КонецПроцедуры



0



Briolin

58 / 63 / 11

Регистрация: 13.11.2014

Сообщений: 939

06.04.2016, 11:01

24

GreenkO, СПАСИБО! Запарился, конкретно.
Но, теперь ошибка

1C
1
2
3
4
5
6
{Обработка.Обработка1.Форма.Форма.Форма(14)}: Ошибка при вызове метода контекста (ЗаполнитьЗначенияСвойств)
    ЗаполнитьЗначенияСвойств(НовДолжность, ВыборкаДолжностей);
по причине:
Ошибка установки значения свойства 'Родитель'
по причине:
Справочник не многоуровневый



0



GreenkA

Эксперт 1С

3052 / 1999 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

06.04.2016, 11:37

25

Briolin, писали выше

1C
1
ЗаполнитьЗначенияСвойств(НовДолжность, Объект,, "Родитель");



0



Briolin

58 / 63 / 11

Регистрация: 13.11.2014

Сообщений: 939

06.04.2016, 11:54

26

GreenkO, теперь новая ошибка…

1C
1
2
3
4
{Обработка.Обработка1.Форма.Форма.Форма(14)}: Ошибка при вызове метода контекста (ЗаполнитьЗначенияСвойств)
    ЗаполнитьЗначенияСвойств(НовДолжность, Объект,, "Родитель");
по причине:
Недопустимое значение параметра (параметр номер '4') (Поле 'Родитель' объекта 'Справочник объект: Должности' не обнаружено)



0



GreenkA

Эксперт 1С

3052 / 1999 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

06.04.2016, 12:04

27

Briolin, ох, заполняйте тогда по реквизитам:

1C
1
НовДолжность.Наименование = ВыборкаДолжностей.Наименование;

и т.д.



0



Вот так копирую группу:

СпрОле = V7.CreateObject(«Справочник.Контрагенты»);

    СпрОле.ВыбратьЭлементы();

    Пока СпрОле.ПолучитьЭлемент()=1 Цикл

        Если СпрОле.ЭтоГруппа()=1 Тогда

            Если Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Наименование) = Справочники.Контрагенты.ПустаяСсылка() Тогда

                НоваяГруппа = Справочники.Контрагенты.СоздатьГруппу();

                НоваяГруппа.Наименование = СпрОле.Наименование;

                Если СпрОле.Родитель.Наименование <> «» Тогда

                НоваяГруппа.Родитель = Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Родитель.Наименование);

                КонецЕсли;

                НоваяГруппа.Записать();

                Сообщить(«Создана Группа: » + СпрОле.Наименование);

            КонецЕсли;

        КонецЕсли;

    КонецЦикла;

По Аналогии элементы:

    СпрОле = V7.CreateObject(«Справочник.Контрагенты»);

    СпрОле.ВыбратьЭлементы();

    Пока СпрОле.ПолучитьЭлемент()=1 Цикл

        Если СпрОле.ЭтоГруппа()=0 Тогда

            Если Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Наименование) = Справочники.Контрагенты.ПустаяСсылка() Тогда

                НовыйКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();

                НовыйКонтрагент.Наименование = СпрОле.Наименование;

                Если СпрОле.Родитель.Наименование <> «» Тогда

                НовыйКонтрагент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Родитель.Наименование);

            КонецЕсли;

            НовыйКонтрагент.Записать();

                Сообщить(«Создан контрагент: » + СпрОле.Наименование);    

            КонецЕсли;

КонецЕсли;

КонецЦикла;

Ошибка при переносе элементов:

{Обработка.МО.Форма.Форма.Форма(132)}: Ошибка при установке значения атрибута контекста (Родитель)

                НовыйКонтрагент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Родитель.Наименование);

по причине:

Справочник не многоуровневый

Справочник не многоуровневый

Почему так происходит и как поправить подскажите плиз.

Конфа УТ 11 откуда переношу из 7ки Рарус Магазин 2.

Вот так копирую группу:     КонецЦикла; По Аналогии элементы: Ошибка при переносе элементов: {Обработка.МО.Форма.Форма.Форма}: Ошибка при установке значения атрибута контекста (Родитель)                 НовыйКонтрагент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию(СпрОле.Родитель.Наименование); по причине: Справочник не многоуровневый Справочник не многоуровневый Почему так происходит и как поправить подскажите плиз. Конфа УТ 11 откуда переношу из 7ки Рарус Магазин 2.

Контрагенты — не многоуровневый спр. О чем и написано. Кроме того есть спр-к «партнеры». Переносить надо данные прежде всего в него, а потом в контрагенты.

Сейчас попробую, пробовал так делать, но вроде без записи ))

Получилось, тока каждый поставщик отображается как группа, можно раскрыть на плюс, хотя при попытки переноса групп ругнулось на то что этот справочник не может содержать группы. Пожалуй пойду почитаю УТ…

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

47 / 47 / 1

Регистрация: 03.05.2012

Сообщений: 266

1

Синхронизация справочников

15.03.2016, 07:28. Показов 4047. Ответов 26


Студворк — интернет-сервис помощи студентам

Добрый день, подскажите, как можно синхронизировать справочник Должности организации и Должности? Справочник по упр.учету «Должности» не велся, а сейчас необходимо начать использовать его. Вручную очень долго переносить данные. Может у кого есть? Или примерно что-то похожее есть, как наглядный пример… За ранее спасибо всем.

0

GreenkA

Эксперт 1С

3051 / 1998 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

06.04.2016, 09:24

21

Студворк — интернет-сервис помощи студентам

Briolin, имя вашей процедуры надо изменить(а не моей), вы задали недопустимое имя:

1C
1
2
&НаКлиенте
Процедура СоздатьДолжности(Команда)

В обработчике команды формы измените тоже.

0

Briolin

58 / 63 / 11

Регистрация: 13.11.2014

Сообщений: 939

06.04.2016, 09:38

22

GreenkO, исправил вот так:

1C
1
2
3
4
5
6
7
8
9
10
11
12
&НаКлиенте
Процедура СоздатьДолжности(Команда)
    ВыборкаДолжностей = Справочники.ДолжностиОрганизации.Выбрать();
 Пока ВыборкаДолжностей.Следующий() Цикл
  ТекДолжность = Справочники.Должности.НайтиПоНаименованию(ВыборкаДолжностей.Наименование);
  Если ТекДолжность.Пустая() Тогда
    НовДолжность = Справочники.Должности.СоздатьЭлемент();
    ЗаполнитьЗначенияСвойств(НовДолжность, ВыборкаДолжностей);
    НовДолжность.Записать();
  КонецЕсли;
 КонецЦикла;
КонецПроцедуры

Теперь ошибки:

1C
1
2
3
4
5
6
{Обработка.Обработка1.Форма.Форма.Форма(4,22)}: Переменная не определена (Справочники)
    ВыборкаДолжностей = <<?>>Справочники.ДолжностиОрганизации.Выбрать(); (Проверка: Тонкий клиент)
{Обработка.Обработка1.Форма.Форма.Форма(6,18)}: Переменная не определена (Справочники)
  ТекДолжность = <<?>>Справочники.Должности.НайтиПоНаименованию(ВыборкаДолжностей.Наименование); (Проверка: Тонкий клиент)
{Обработка.Обработка1.Форма.Форма.Форма(8,20)}: Переменная не определена (Справочники)
    НовДолжность = <<?>>Справочники.Должности.СоздатьЭлемент(); (Проверка: Тонкий клиент)

0

GreenkA

Эксперт 1С

3051 / 1998 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

06.04.2016, 09:41

23

Briolin, на УФ надо переносить создание элементов справочника на сервер:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
&НаКлиенте
Процедура СоздатьДолжности(Команда)
   СоздатьДолжностиНаСервере();
КонецПроцедуры
 
&НаСервере
Процедура СоздатьДолжностиНаСервере()
 ВыборкаДолжностей = Справочники.ДолжностиОрганизации.Выбрать();
 Пока ВыборкаДолжностей.Следующий() Цикл
  ТекДолжность = Справочники.Должности.НайтиПоНаименованию(ВыборкаДолжностей.Наименование);
  Если ТекДолжность.Пустая() Тогда
    НовДолжность = Справочники.Должности.СоздатьЭлемент();
    ЗаполнитьЗначенияСвойств(НовДолжность, ВыборкаДолжностей);
    НовДолжность.Записать();
  КонецЕсли;
 КонецЦикла;
КонецПроцедуры

0

Briolin

58 / 63 / 11

Регистрация: 13.11.2014

Сообщений: 939

06.04.2016, 11:01

24

GreenkO, СПАСИБО! Запарился, конкретно.
Но, теперь ошибка

1C
1
2
3
4
5
6
{Обработка.Обработка1.Форма.Форма.Форма(14)}: Ошибка при вызове метода контекста (ЗаполнитьЗначенияСвойств)
    ЗаполнитьЗначенияСвойств(НовДолжность, ВыборкаДолжностей);
по причине:
Ошибка установки значения свойства 'Родитель'
по причине:
Справочник не многоуровневый

0

GreenkA

Эксперт 1С

3051 / 1998 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

06.04.2016, 11:37

25

Briolin, писали выше

1C
1
ЗаполнитьЗначенияСвойств(НовДолжность, Объект,, "Родитель");

0

Briolin

58 / 63 / 11

Регистрация: 13.11.2014

Сообщений: 939

06.04.2016, 11:54

26

GreenkO, теперь новая ошибка…

1C
1
2
3
4
{Обработка.Обработка1.Форма.Форма.Форма(14)}: Ошибка при вызове метода контекста (ЗаполнитьЗначенияСвойств)
    ЗаполнитьЗначенияСвойств(НовДолжность, Объект,, "Родитель");
по причине:
Недопустимое значение параметра (параметр номер '4') (Поле 'Родитель' объекта 'Справочник объект: Должности' не обнаружено)

0

GreenkA

Эксперт 1С

3051 / 1998 / 524

Регистрация: 25.06.2009

Сообщений: 6,964

06.04.2016, 12:04

27

Briolin, ох, заполняйте тогда по реквизитам:

1C
1
НовДолжность.Наименование = ВыборкаДолжностей.Наименование;

и т.д.

0

Справочники в 1С

Специализированные объекты в составе древа метаданных, в задачи которых входит хранение информации справочной направленности, получили название справочников в 1С. Примерами справочников являются: Контрагенты, Банки, Расчётные счета, Договоры, Номенклатура, Сотрудники и т.д. Справочники формируются пользователями 1С. Обычно в дальнейшем справочники в 1С редко изменяются. Они используются на всех этапах работы в программе, как часть аналитики. Справочники 1С – это основа рабочей базы данных предприятия.

Преимуществом программного решения 1С является тот факт, что пользователь может вести практически неограниченное число справочников. Внутри справочника располагаются группы однородных элементов: основные средства, материалы, сотрудники, организации и т.п. Шаблон каждого справочника в 1С закладывается в Конфигураторе.  Список элементов справочника наполняется пользователями, исходя из уже заложенных в Конфигураторе структуры, экранного и печатного представления.

02

Справочники в 1С: атрибуты и типы данных

Обязательными реквизитами справочника являются его Код и уникальное Наименование. Причём код может содержать как цифры, так и буквенные обозначения. Дополнительно код проверяется на уникальность функционалом системы. Есть возможность автоматического присвоения кода справочника. Вся остальная информация в справочнике в 1С заносится с учётом задач, которые должен выполнять каждый элемент данного справочника. Удобно, когда к справочнику есть список его реквизитов. Например, для справочника «Основные средства» кодом может быть Инвентарный номер, а Наименованием – название основного средства. Дополнительными реквизитами справочника «Основные средства» могут быть: тип основного средства, срок полезного использования, номер паспорта, страна-производитель и т.п.

Типы данных реквизитов в справочниках 1С делятся на базовые и сложные. К базовым типам данных относятся, к примеру: число, дата, строка. Сложными типами данных являются: Адреса, Должности, Вид документа и т.п. Таким образом, сформирована и настроена связь между справочниками, т.е. информация одного справочника «Должности» может быть использована для заполнения реквизитов в других элементах справочников.

Подчинённые Справочники в 1С и иерархия

Многоуровневые справочники в 1С содержат не только элементы, но и группы внутри справочника. Группы – это и есть уровни в справочниках. К примеру, элементами справочника «Контрагенты» являются Поставщики, Покупатели. Внутри каждого элемента справочники содержат информацию более низкого уровня. В элементе «Поставщики» справочника «Контрагенты» могут быть предусмотрены группы: Постоянные, Разовые. Главное, один и тот же элемент справочника «Контрагенты» не должен быть забит в программу дважды. К примеру, если ваш постоянный Покупатель разово выступает в роли Продавца, забивать его повторно в Группу «Продавцы» не нужно. Иначе вы никогда не получите развёрнутую информацию по данному контрагенту в рамках одного отчёта.

03

Справочники 1С: отличия от констант, документов и перечислений:
  • Константа хранит значение, справочник 1С хранит целый список однородных элементов;
  • Документы отражают текущие факты деятельности, справочники 1С группируют информацию нормативно-справочного характера;
  • Перечисления в 1С создают список значений, справочники 1С содержат множество значений, которые может вводить пользователь в системе.

Функционал 1С создаёт возможности искать элемент справочника по наименованию, делать отбор по коду, менять данные в справочниках и удалять его объекты.

При обновлении базы 1 С Бухгалтерия, установке новой платформы, внесении изменений в конфигурацию программы 1 С возможно появление ошибки:

  • Поле объекта не обнаружено.

В зависимости от причины, вызвавшей появление данной ошибки, есть разные варианты ее устранения.

Прочитав статью, вы:

  • узнаете, на что обращать внимание при возникновении этой ошибки;
  • получите нужные рекомендации для ее устранения;
  • скачаете несколько полезных ссылок и документов для поиска ошибок.

Ошибка Поле объекта не обнаружено очень похожа на ошибку Объект не найден. Отличие в том, что в структуре конфигурации сам объект есть (реквизит справочника, документа, регистра или сам справочник, документ, регистр), а вот в форме, вызываемой программой, он отсутствует. В этом случае при обращении к полю, не вынесенному на форму объекта, фиксируется ошибка обработки Поле объекта не обнаружено.

Причины ошибки:

  • обновление конфигурации;
  • установка новой Платформы;
  • сбой в хранилищах данных конфигурации;
  • внесение доработок в конфигурацию.

Поскольку ошибка 1 С Предприятия Поле объекта не обнаружено, как правило, не связана с отсутствием объекта в структуре конфигурации базы данных, механизм Тестирования и исправлении для этого случая не работает: его используют при работе с ошибкой Объект не найден. В данной статье Тестирование и исправление не рассматривается.

Ошибка обновления

Если ошибка появилась после проведенного обновления конфигурации, есть вероятность, что проблемы связаны с обновлением. Вам необходимо сделать, как правило, такие шаги решений:

Шаг 1. Восстановите базу из копии и убедитесь, что в копии базы ошибок не возникает.

Если ошибка в копии базы данных:

  • повторяется, то с обновлением это не связано — переходите к следующему пункту поиска причины ошибки;
  • отсутствует, значит, высока вероятность, что виновато обновление.

Шаг 2. Исключите наличие ошибки разработчиков.

Да, такое тоже возможно. Объем изменений, вносимых разработчиками и программистами  в конфигурацию огромен, поэтому ошибки при обновлении могут возникать и возникают довольно часто. В сложных случаях обновление даже отзывается, а разработчик присылает соответствующее сообщение.

Чтобы определиться, допущена ли ошибка разработчиками в системе, перейдите по ссылке: файл Публикация ошибок 1С

В поле Найти введите нужный текст ошибки и выберите конфигурацию, в которой работаете, например, Бухгалтерия предприятия, редакция 3.0.

Если ошибка зафиксирована разработчиками, поиск выдаст строку:

  • номер зафиксированной ошибки;
  • релиз, в котором ошибка проявляется;
  • релиз, в котором ошибка исправлена или будет исправлена;
  • рекомендации для исправления ошибки.

Если проблема не найдена в сервисе Поиск ошибок, возможно, она еще не зарегистрирована 1С. Обратитесь к обслуживающей вас фирме, дождитесь от них сообщения, параллельно анализируя следующие причины возникновения ошибки и используя рекомендации из этой статьи.

Ошибка платформы

Если обновление конфигурации не проводилось или проверка конфигурации в предыдущем пункте показала, что ошибка не связана с обновлением базы, проверяем работу Платформы 1С.

Если проводилось обновление Платформы 1С, проверьте, возникает ли ошибка при запуске 1С со старой Платформы 1С. Для этого установите версию Платформы 1С, которая использовалась до обновления решений, в форме запуска списка баз 1С по кнопке Изменить.

Если запуск со старой Платформы 1С прошел без ошибок, значит, ошибка в новой версии Платформы 1С предприятия. Данные по ошибкам новой Платформы 1С можно посмотреть по ссылке с сайта поддержки пользователей, например: Ошибки Платформы версии 8.3.17.1386

Чистка кешей 1С

Если Платформа 1С не обновлялась или указанных ошибок по Платформе 1С на сайте поддержки пользователей не зафиксировано, имеет смысл почистить кеши 1С.

Последовательность действий:

1. Набираете в Проводнике строчку: %appdata%;

2. Переходите в папку 1С1cv8.

Все папки с длинными символьными именами являются кешами. В них хранится информация, к которой часто обращается 1С. При возникновении сбоя в программе данные могут браться не из актуальных, а старых папок. Поэтому желательно удалить всю старую информацию, чтобы исключить возможность возникновение ошибок в 1C.

Чистка пользовательских настроек

Если ошибка Поле объекта не найдено появляется при формировании отчета или обработки, возможно, возникли нарушения в Хранилище настроек конкретного пользователя.

Выполните очистку настроек пользователя, у которого возникает ошибка: раздел Администрирование — Настройки пользователей и прав — Персональные настройки пользователей — Очистка настроек.

Откройте форму Очистка настроек пользователей, укажите пользователя и настройку для удаления.

Если выставить переключатель Все настройки, пользователю будут доступны только стандартные настройки отчетов и обработок. Собственные настройки будут потеряны.

Изменение конфигурации

Самый сложный случай возникновения ошибки в программе — доработка типовой конфигурации 1С. Здесь никто за вас ошибку не исправит и действовать придется по следующему алгоритму:

Шаг 1. В окне ошибки нажмите кнопку Подробно.

Шаг 2. Изучите информацию в окне Обнаружены ошибки.

Программа сообщит наименование поля и объекта, где произошла ошибка:

  • Поле — Табачная продукция;
  • Объект — форма справочника Номенклатура.

Шаг 3. Нажмите кнопку Конфигуратор.

Программа автоматически запустит Конфигуратор и установит курсор в место, где формируется ошибка.

Шаг 4. Проанализируйте строчку кода:

Как видно из программного кода, при открытии формы элемента справочника устанавливается видимость для поля формы Табачная продукция.

Шаг 5. Откройте форму справочника Номенклатура и проверьте наличие поля Табачная продукция.

В форме справочника поле Табачная продукция отсутствует.

Шаг 6. Перетащите реквизит Табачная продукция из окна Реквизиты в окно Элементы.

Результат переноса реквизита Табачная продукция в форму справочника Номенклатура:

Шаг 7. Обновите конфигурацию по кнопке F7.

Ошибка Поле объекта не обнаружено (Табачная продукция) исправлена. Открытие формы элемента справочника Номенклатура выполняется без ошибки.

Ошибка 1С 8.3 Поле объекта не обнаружено чаще всего возникает при обновлении и доработке конфигураций программы. Мы рекомендуем все исправления вопросов проводить на копии баз, а в наиболее сложных случаях отдавать базу на исправление программистам 1С. Мы надеемся, что данная статья по этой теме помогла вам решить проблему.

Понравилась статья? Поделить с друзьями:
  • Спросить вопрос вид ошибки
  • Справочник не инициализирован код ошибки 1
  • Спро1 ошибка 407
  • Справочник кодов ошибок ваз
  • Спринтер ошибка p1354