Не совпадает с версией конфигурации в метаданных

Не совпадает с версией конфигурации в метаданных

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

В качестве примера будет взята конфигурация 1С: Управление отелем, редакция 2.1 созданная на основе 1С: Библиотека стандартных подсистем, редакция 2.2.

Для начала необходимо создать общий модуль «ОбновлениеИнформационнойБазыУО», в котором будет указываться текущая версия нашей подсистемы и процедуры-обработчики обновления данных ИБ. Данный модуль будет выполняться на сервере в клиент-серверном варианте и использоваться во внешнем соединении.

Объявим в общем модуле процедуру «ПриДобавленииПодсистемы», который будет заполнять основные сведения о библиотеке. И вставим текст кода, как указанно ниже.

// Заполняет основные сведения о библиотеке или основной конфигурации.
// Библиотека, имя которой имя совпадает с именем конфигурации в метаданных, определяется как основная конфигурация.
// Параметры:
// Описание — Структура — сведения о библиотеке:
// Имя — Строка — имя библиотеки, например, "СтандартныеПодсистемы".
// Версия — Строка — версия в формате из 4-х цифр, например, "2.1.3.6".
// ТребуемыеПодсистемы — Массив — имена других библиотек (Строка), от которых зависит данная библиотека.
// Обработчики обновления таких библиотек должны быть вызваны ранее
// обработчиков обновления данной библиотеки.
// При циклических зависимостях или, напротив, отсутствии каких-либо зависимостей,
// порядок вызова обработчиков обновления определяется порядком добавления модулей
// в процедуре ПриДобавленииПодсистем общего модуля ПодсистемыКонфигурацииПереопределяемый.
//
Процедура ПриДобавленииПодсистемы(Описание) Экспорт

Если Не СтандартныеПодсистемыСервер.ЭтоБазоваяВерсияКонфигурации() Тогда
Описание.Имя = "УправлениеОтелем";
Иначе
Описание.Имя = "УправлениеОтелемБазовая";
КонецЕсли;

Далее добавим в список процедуры-обработчики обновления данных ИБ. Для этого создадим процедуру «ПриДобавленииОбработчиковОбновления» и вставим в него текст кода указанный ниже.

// Добавляет в список процедуры-обработчики обновления данных ИБ
// для всех поддерживаемых версий библиотеки или конфигурации.
// Вызывается перед началом обновления данных ИБ для построения плана обновления.
// Параметры:
// Обработчики — ТаблицаЗначений — описание полей
// см. в процедуре ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления
// Пример добавления процедуры-обработчика в список:
// Обработчик = Обработчики.Добавить();
// Обработчик.Версия = "1.0.0.0";
// Обработчик.Процедура = "ОбновлениеИБ.ПерейтиНаВерсию_1_0_0_0";
// Обработчик.МонопольныйРежим = Ложь;
// Обработчик.Опциональный = Истина;
//
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт

Читайте также:  Как поменять почерк на телефоне

// Обновление профилей и групп доступа.
Обработчик = Обработчики.Добавить();
Обработчик.НачальноеЗаполнение = Истина;
Обработчик.Версия = "*";
Обработчик.Процедура = "ОбновлениеИнформационнойБазыУО.ЗаполнитьПрофилиГруппДоступа";

Обработчик = Обработчики.Добавить();
Обработчик.НачальноеЗаполнение = Истина;
Обработчик.Версия = "*";
Обработчик.Процедура = "ОбновлениеИнформационнойБазыУО.ПервыйЗапуск";

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

И создадим процедуру «ПервыйЗапуск» и "ПервыйЗапуск_ГлавныйУзел", который будет выполнять обработчики заполнения и укажем в нем обработчики, которые будут выполнять начальное заполнение.

// Процедура выполняет обработчики при первом запуске
Процедура ПервыйЗапуск_ГлавныйУзел() Экспорт

// Процедура выполняет обработчики при первом запуске
Процедура ПервыйЗапуск() Экспорт

Если ПланыОбмена.ГлавныйУзел() = Неопределено Тогда

Для того, чтобы срабатывал наш общий модуль при первом запуске или при обновлении необходимо его объявить в общем модуле «ПодсистемыКонфигурацииПереопределяемый»

Процедура ПриДобавленииПодсистем(МодулиПодсистем) Экспорт

МодулиПодсистем.Добавить("ОбновлениеИнформационнойБазыУО");
МодулиПодсистем.Добавить("ОбновлениеИнформационнойБазыБПО");
МодулиПодсистем.Добавить("ОбновлениеИнформационнойБазыЗарплатаКадры");
МодулиПодсистем.Добавить("ОбновлениеИнформационнойБазыЭД");

После обновление информационнной базы справочники будут заполнены и в регистре сведений "Версии подсистем" будет запись о нашей подсистеме

  • Контроль вносимых изменений;
  • Исключение избыточной нагрузки;
  • Обеспечение работоспособности системы

Рассмотрим два пути, если при открытии программы 1С появляется сообщение:

Можно согласиться и продолжить действие (тогда программа запустится, и в ней можно будет работать дальше) или отказаться и решить проблему. Если мы решили пойти вторым путем, нам нужно понять, в чем же состоит причина данного сообщения.

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

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

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

Для решения проблемы заходим в базу через Конфигуратор.

Когда действительно имело место обновление, не завершившее процесс, или разработчиками все-таки вносились нужные, но не завершившиеся изменения, нам надо дать команду программе – завершить процессы. Обратите внимание на заголовок окна конфигурации. Там стоит восклицательный знак . Это говорит о том, что наша конфигурация изменена и отличается от конфигурации БД. Завершаем нашу операцию через одноименный пункт меню.

Или для выполнения этого же действия можно использовать кнопку на панели инструментов в виде синего цилиндра со стрелочкой.

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

Программа выполнит обновление, принимаем все изменения и можем заходить в программу. Сообщение больше появляться не будет.

Восстановление исходного состояния информационной базы

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

Программа предупредит, о потере изменений, сделанных в программе, но мы соглашаемся на продолжение выполнения действия.

После окончания процесса метаданные нашей конфигурации будут соответствовать основной.

Простыми словами о сложном

18 мая 2015 г.

Не найден идентификатор в справочнике "Идентификаторы объектов метаданных"

“<ОбщийМодуль.ОбщегоНазначения.Модуль(2986)>: Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных().
Для объекта метаданных "Отчет.ОстаткиПоСкладам"
не найден идентификатор
в справочнике "Идентификаторы объектов метаданных".
Для разработчика: возможно требуется обновить вспомогательные данные,
которые влияют на работу программы. Для выполнения обновления можно:
— воспользоваться внешней обработкой
"Инструменты разработчика: Обновление вспомогательных данных",
— либо запустить программу с параметром командной строки 1С:Предприятия 8
"/С ЗапуститьОбновлениеИнформационнойБазы",
— либо увеличить номер версии конфигурации, чтобы при очередном запуске
выполнились процедуры обновления данных информационной базы.
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(“

Сервис — Параметры, далее как на картинке — указать параметр запуска “ЗапуститьОбновлениеИнформационнойБазы

Ссылка на основную публикацию
Не открываются параметры блютуз
Беспроводное соединение по протоколу Bluetooth по-прежнему широко используется для подключения к компьютеру множества разновидностей беспроводных устройств – от гарнитур до...
Настройка роутера мегафон mr150 2
4G (LTE)/Wi-Fi компактный мобильный роутер МегаФон MR150-2 - это комплект, включающий в себя роутер MR150-2, USIM-карту, специальный тарифный план "МегаФон-Онлайн...
Научиться пользоваться смартфоном с нуля видео
Большинство из нас чувствует себя неуверенно, когда приходится знакомиться с новой операционной системой. И несмотря на то, что Андроид сегодня...
Не работает звук в варфейс
Мы собираем всевозможные проблемы с игрой и способы их устранения. Данный материал будет пополняться. Проблема: »You were kicked suspected of...
Adblock detector