Куперс

Бухучет и анализ

1С поле объекта не обнаружено

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

Что значит «поле объекта не обнаружено»

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

Возникнуть эта ситуация может в любое время:

  • При запуске программы;
  • При заполнении информационных полей формы;
  • При выводе информации на печать.

Причины появления ошибки

Сообщение 1С поле объекта не обнаружено, чаще всего появляется после внесения изменения в конфигурацию (самостоятельное её дописывание или обновление до актуальной версии). Основная причина возникновения – невнимательность программистов:

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

Способы устранения

Следует отметить, что для 1С «Поле объекта не обнаружено» не является критической ошибкой. Работа системы продолжается, прерывается только исполнение того модуля, в теле которого ошибка возникла.

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

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

Пример ошибки и методика ее устранения

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

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

В качестве основных путей решения выступали:

  1. Обновление платформы до версии, актуальной на данный момент;
  2. Отказ от обновления конфигурации;
  3. Изменение правил обмена;
  4. Можно просто проигнорировать проверку;

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

Итак, перед нами начальная страница программы. Слева мы видим разделы меню, находим раздел «Справочники». Нажатием левой кнопкой мыши открывается окно с подразделами данного справочника

Здесь, в разделе «Товары и услуги» находим надпись «Номенклатура»

Нажимаем, открывается пустая страница, в которой мы будем делать заполнения

Многие организации занимаются не только куплей/продажей товаров, но предоставляют услуги по доставке. Для удобства, рекомендуем разделить эти виды деятельности на соответствующие группы. Назовем их «Товары» и «Услуги». Нажимаем «Создать группу»

Перед нами открывается небольшое окно «Номенклатура (создание группы)»

Вводим название данной группы «Товары» в поле «Наименование». Поле «Вид номенклатуры» можно оставить незаполненным. Далее жмём «Записать и закрыть».

Таким же путем создаём группу «Услуги». В графе «Наименование» появились две созданные группы, условно их можно называть папки

Далее входим в группу «Товары» и нажимаем вверху надпись «Создать». Перед нами открывается окошко для заполнения информацией

Допустим, что продавать мы будем хозяйственные товары. Вводим в поле «Наименование» название товара, которое будет видеть пользователь. Предположим Ведро.

Следующее поле «Полное наименование» подразумевает уточнение по товару. Например, Ведро для мусора 10л. То, что мы здесь напишем, будет отображаться в печатной форме документов.

Ниже есть поле «Артикул». Здесь будет отображаться уникальный артикул номенклатуры, по которому данный товар можно будет искать или различать.

Строка «Входит в группу» заполняется автоматически по названию папки, в которую входит.

Поле «Вид номенклатуры». Обязательно нужно заполнить путем выбора вида из выпадающего окна. На основании выбора задается счет учета номенклатуры. Выбираем «Товары», потому что мы планируем покупать их и продавать.

Следующее поле «Единица». Нам необходимо указать «ШТ.», так как товар у нас штучный.

В следующем поле «% НДС» проставляем процентную ставку – 18%, которая соответствует данной категории товаров согласно стандартам

В следующем поле «Комментарий» мы можем указать любую дополнительную информацию, относящуюся к данному товару.

Заполнение других параметров пока рассматривать не будем. Вернемся к ним при необходимости. Нажимаем кнопку «Записать»

Создадим еще 2 товара. Например, Ведро для мусора 15л и Ведро для мусора 30л.

Видим, что в папке располагаются три товара, которые мы с вами ввели.

Перейдём теперь к заполнению услуг. Входим в папку «Услуги» и нажимаем «Создать». Аналогичным образом, как и при создании группы «Товары» заполняем поля

«Наименование» и «Полное наименование» будут содержать одни и те же данные – Услуги по доставке.

«Входит в группу» так же будет заполнено автоматически.

В поле «Вид номенклатуры» нужно отметить, что это Услуги. Больше здесь ничего не нужно заполнять.

Одно из самых важных понятий номенклатуры, это «Счета учета номенклатуры». В справочнике эту гиперссылку можно найти в верхней части

Здесь указаны основные параметры установки счетов в документы. Например, для нашего вида номенклатуры «Товары» указан номер счета 41.01. Для «Услуги» номер счета не указан. Нажав на саму надпись можно зайти в настройки и прописать его. Сделаем это. Укажем счет учёта 20.01

Далее «Записать и закрыть»

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

Если зайти в настройки, то здесь помимо номенклатуры можно указать конкретную позицию или целую папку, для которой будет использоваться это правило.

Итак, мы создали номенклатуру, создали счета для учета номенклатуры и разобрались, как с ними работать.

В Управляющей Компании холдинга (даллее УК) возникла задача создания копий баз всех предприятий холдинга и ежедневной поддержки их в актуальном состоянии. Многие предприятия холдинга находятся на большом расстоянии от УК (порой в других регионах), имеют различное качество связи и пользуются разными конфигурациями 1С 8.1 и 8.2. Для решения этой задачи ежедневная пересылка полных копий баз не подходит, ибо предприятий много, у одних интернет плохой, у других администраторы не в состоянии наладить автоматическую высылку копии и т.д. и т.п. Для решения данной задачи подходит РИБ, но как обеспечить односторонность передачи данных и при этом не влезать в код? (Для некоторых предприятий снятие с поддержки критично). Для решения этой задачи необходим обмен с использовниаем правил обмена. Итак:

1. Создание правил обмена.

Если у вас одна из типовых конфигураций, указанных в анонсе, то возьмите правила из прикрепленных файлов, пропускайте 1й пункт и переходите ко 2му.

1.1 Для создания правил обмена используем конфигурацию конвертация данных ред.2. (Ее можно найти на любом диске ИТС либо скачать с сайта 1С). В конфигурации, которую мы распределяем, откроем файл MD81exp.epf либо MD82exp.epf, которые входят в комплект поставки конвертации данных. (Для 8.2 лежат, например, в C:Documents and Settings*user*Application Data1C1Cv82 mplts1cConversion2_1_5_1).

1.2 Выбираем файл, куда сохраним описание структуры метаданных, и жмем «Выгрузить».

1.3 После завершения выгрузки запускаем конфигурацию Конвертация данных и открываем «Стартовый помощник»:

1.4 В появившемся окне жмем далее и выбираем пункт «Создать правила обмена с нуля» и «Далее»:

1.5 В следующем окне нам предлагают выбрать конфигурации для обмена- нажимаем «Новая», и в появившемся окне выбираем наш файл из пункта 1.2 , жмем «Выполнить загрузку» :

1.6 Через некоторое время (5-10 мин.) загрузка закончится, и после нажатия «ОК» наша конфигурация появится в поле «конфигурация-источник». Выбираем ее же в поле «конфигурация-приемник» и жмем «Далее»:

1.7 В появившемся окне выбираем 1й пункт и жмем «Выполнить»:

1.8 Через некоторое время правила создадутся, и мы увидим следующую картину:

1.9 В списке объектов есть один, который нам передавать точно не нужно. Я говорю о регистре сведений «ГраницыЗапретаИзмененияДанных» (Его передача приведет к коллизиям, в случае изменения даты запрета редактирования, что бывает не так и редко). Снимаем с него галочку и жмем «Создать правила выгрузки»:

1.10 Затем жмем кнопку «Сохранить правила», выбираем имя файла и жмем «Сохранить»:

В результате мы получили файл с правилами обмена данными нашей конфигурации с идентичной конфигурацией. Этот файл мы и используем в настройке РИБ.

2. Настройка РИБ. (Я не буду расписывать создание РИБ, варианты настройки автообмена и т.д. Статьи на эту тему легко найти, опишу лишь нюансы, связанные с первоначальной задачей). Итак:

2.1 Настройка на основном узле: Переключаемся на полный интерфейс, заходим в меню «Сервис» —> «Распределенная информационная база (РИБ)» —> «Настроить узлы РИБ». Нажимаем «Добавить» и попадаем в окно:

2.2 Выбираем наименование для настроек обмена данными, ставим галочку «Обмен по правилам обмена», жмем кнопку «Загрузить правила», выбираем наш файл из пункта 1.10 и на всякий случай жмем «Проверить правила». (Не забудьте выбрать тип обмена и др. настройки).

Жмем сохранить и переходим к настройке 2го узла (Копия).

2.3 Настройка на 2м узле (на последующих узлах она идентична, если таких копий нужно несколько). Повторяем действия пунктов 2.1 и 2.2 в копии и переходим на закладку «Обмен по правилам», жмем «Загрузить настройки»:

2.4 После загрузки объектов выбираем все (ctrl+A) и жмем «Изменить настройку». Меняем на «не выгружать», жмем «ОК» .

2.5 Далее записываем настройку , и так как мы ничего назад в основной узел выгружать не будем, не забываем изменить дату запрета редактирования на какую нибудь пораньше в разумных пределах (на пару лет назад, например, там точно ничего править не будут). Это необходимо для того , чтобы избежать проблем, связанных с изменением даты запрета редактирования, перепроведением документов и возврата даты обратно в между обменами. (Такое, как показывает практика, бывает сплошь и рядом).

2.6 Тестируем обмен.

Добавить комментарий

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

Наверх