Ошибка при подготовке описаний подсистем для конфигурации

Ошибка при подготовке описаний подсистем для конфигурации

Короткая инструкция для быстрого начала разработки собственной конфигурации на базе «Библиотеки стандартных подсистем» описана на диске ИТС здесь. В ней описаны только обязательные действия, которые необходимы для первого запуска разрабатываемого решения.

Этап № 1 Определиться со списком внедряемых подсистем. Для этого нужно запустить обработку ПервоеВнедрениеБСП из комплекта поставки, которая позволяет выбрать подсистемы для внедрения с учетом их зависимостей друг от друга.

Этап № 2. После определения состава подсистем нажать Сохранить настройки для конфигуратора и задать имя файла для сохранения настроек.

Этап № 4 . Создать новую пустую базу и выполнить следующие действия:

  • Вызвать меню Конфигурация – Сравнить, объединить с конфигурацией из файла.
  • Выбрать файл 1Cv8.cf из поставки БСП.
  • На предложение выполнить полную загрузку конфигурации ответить Нет.
  • На предложение постановки на поддержку ответить Да.
  • Выбрать Действия – Загрузить настройки из файла. Указать файл, сохраненный на этапе №2
  • Затем нажать Выполнить. В случае внедрения не всех подсистем БСП при завершении процедуры сравнения и объединения конфигураций может появиться окно с информацией о наличии неразрешенных ссылок (см. пример в Внедрение подсистемы “Обмен данными” без подсистемы “Работа с почтовыми сообщениями”). Сообщения в этом окне необходимо пропустить, выбрав кнопку Продолжить.

Этап № 5 Действия после сравнения, объединения

  • Установить в свойствах конфигурации имя конфигурации, например, «МояКонфигурация».
  • Установить в свойствах конфигурации номер версии разрабатываемой конфигурации. Например, при начале разработки конфигурации можно установить номер 1.0.1.1.
  • Скопировать общий модуль ОбновлениеИнформационнойБазы.
  • Заменить в названии скопированного модуля на имя или сокращение имени конфигурации (например, ОбновлениеИнформационнойБазыМК).
  • Заменить текст модуля на:

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

Этап 6 . В процедуре ПриДобавленииПодсистем общего модуля ПодсистемыКонфигурацииПереопределяемый обязательно нужно добавить строчку

На рис 2 показан пример, где я создал конфигурацию “с нуля” с именем Преводчик

Рис 2

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

<ОбщийМодуль.СтандартныеПодсистемыПовтИсп.Модуль(77)>: Ошибка при подготовке описаний подсистем: в общих модулях, указанных в процедуреПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистемы не найдено описание подсистемы, совпадающей с именем конфигурации

Загрузите последную версию обработок 1С

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

Внешние обработки 1С загружаются на странице Загрузить

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

При открытии внешней обработки в 1С возникает ошибка "Нарушение прав доступа"

Использование внешних обработок требует наличия у пользователя 1С установленного права Использование в качестве OLE Automation сервера . При отсутствии прав может возникать ошибка "Нарушение прав доступа" или иная аналогичная ошибка.

Режим 1С: Предприятие

  • В списке пользователей откройте учетную запись необходимого пользователя.
  • В учетной записи пользователя нажмите на кнопку Права доступа . Установите флажок на значении Открытие внешних отчетов и обработок .
  • Сохраните внесенные изменения. Выйдите из программы и заново откройте программу в режиме "1С: Предприятие". Затем откройте необходимую обработку.

Режим Конфигуратор

  • Зайдите в программу в режиме Конфигуратор .

В пункте "Администрирование" откройте список пользователей и откройте учетную запись необходимого пользователя.

При отсутствии пользователей 1С необходимо создать пользователя (например, "Администратор")

  • В учетной записи пользователя перейдите на закладку "Прочие". В списке "Доступные роли" установите флажок на значении Интерактивное открытие внешних отчетов и обработок .
  • Сохраните внесенные изменения. Откройте программу в режиме "1С: Предприятие" и откройте необходимую обработку.
  • Ошибка загрузки файла внешней обработки в результате настроек защиты 1С от опасных действий

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

      В программе 1С: Предприятие откройте необходимую конфигурацию в режиме Конфигуратор .

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

    При отсутствии пользователей 1С необходимо создать пользователя (например, "Администратор")

  • В открывшейся форме выберите пользователя 1С от имени которого производится подключение к базе 1С из программы IT Audit. Двойным кликом левой кнопки мыши откройте форму Пользователь с настройками выбранного пользователя.
  • В открывшейся форме снимите флажок в поле Защита от опасных действий . Затем нажмите на кнопку ОК для сохранения внесенных изменений.
  • Подключение к 1С в режиме интеграции занимает длительное время

    Если подключение к 1С: Предприятие занимает длительное время (более 2-3 минут), то по всей видимости, программа 1С: Предприятие в отдельном окне выводит информационное сообщение, содержащее причину невозможности подключения.

    Чтобы ознакомиться с сообщением программы 1С: Предприятие, нажмите на клавиатуре клавиши Alt+Tab . По мере нажатия клавиши "Tab"" будет открыто сообщение программы 1С: Предприятие. Ознакомьтесь с данным сообщение и выполните его. Например, достаточно часто выводится сообщение о необходимости пересчета остатков на определенную дату.

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

    Если в системе установлено несколько версий одной и той же платформы 1С, то для подключения к базе 1С будет использоваться последняя корректно установленная версия (версия платформы 1С, которая зарегистрирована в качестве OLE-сервера).

    Если необходимо указать другую платформу, то в командной строке Windows от имени администратора выполните команду для регистрации 1С: Предприятия в качестве OLE-сервера: например,

    "C:Program Files1cv83in1cv8.exe" /regserver

    regsvr32 "C:Program Files1cv83incomcntr.dll"

    Аналогичные действия необходимо провести, если платформа 1С вообще не зарегистрирована в качестве OLE-сервера (например, в результате некорректной установки платформы или запуска программы 1С из скопированного каталога с программой), то есть возникает ошибка "Недопустимая строка с указанием класса. ".

    Отсутствует лицензия на использование 1С

    При невозможности подключения к базе данных программы 1С: Предприятие 8.3 (8.2) по причине отсутствия права на работу с программой (отсутствует USB-ключ защиты программы 1С: Предприятие) будет выведено информационное сообщение: "Не обнаружен ключ защиты программы (не найдена лицензия)".

    Инструкция по внедрению библиотеки стандартных подсистем

    Библиотека включает в себя набор универсальных функциональных подсистем,
    предназначенных для использования в прикладных решениях на платформе “1С: Предприятие 8.3”

    Файлы поставки содержит

    1. 1Cv8.cf – файл поставки библиотеки. Не предназначен для создания
    информационных баз по шаблону.
    2. 1Cv8_demo.dt – демонстрационная база.
    3. 1Cv8_demo.cf – файл поставки демонстрационной базы.

    Первое внедрение подсистем библиотеки в конфигурацию и обновление версии уже внедренной библиотеки заметно отличаются. После загрузки файла 1Cv8.cf в пустую конфигурацию, нужно выполнить настройку объектов библиотеки как описано в разделе 2.2, иначе при запуске в режиме предприятия будет выдано сообщение

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

    Читайте также:  Как переустановить антивирус касперского не потеряв лицензию

    В целом процесс внедрения состоит из следующих этапов:
    Этап 1 . Перенос объектов метаданных из файла поставки библиотеки в конфигурацию.
    Этап 2 . Настройка перенесенных объектов библиотеки.
    Этап 3 . Использование объектов библиотеки при разработке конфигурации.

    Все функциональные подсистемы, входящие состав библиотеки, относятся к родительской подсистеме «Стандартные подсистемы» в дереве объектов метаданных конфигуратора. Подсистемы, предназначенные для конфигураций, рассчитанных на работу в модели сервиса, подчинены подсистеме «Работа в модели сервиса».
    Для задачи первоначального внедрения и последующих обновлений версий библиотеки в прикладных решениях в дистрибутив входит специальный инструмент – помощник внедрения (внешняя обработка ПервоеВнедрениеБСП.epf).

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

    Этап 1 Перенос объектов метаданных из файла
    поставки библиотеки в конфигурацию.

    Первое внедрение

    Шаг 1. Для выполнения переноса объектов библиотеки в свою конфигурацию при первом внедрении нужно выбрать в режиме Конфигуратор команду меню Конфигурация – Сравнить, объединить с конфигурацией из файла. В диалоговом окне указать файл поставки библиотеки и подтвердить запрос о постановке к ней на поддержку.


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


    Из группы подсистем Стандартные подсистемы выбрать:

    • обязательные подсистемы : Базовая функциональность, Обновление версии ИБ, Пользователи, Контактная информация. Отметим, что при внедрении подсистемы «Пользователи» для использования в модели сервиса
      подсистема «Контактная информация»
    • подсистемы, которые требуется внедрить в вашу конфигурацию, например, сервисные подсистемы, нормативно-справочная информация и
      классификаторы
    • если предполагается работа конфигурации в модели сервиса, то нужно включить дополнительные подсистемы, обязательные к переносу в конфигурацию для работы в модели сервиса

    Шаг 3. Дополнительно нужно установить или снять флажки для отдельных объектов библиотеки и их свойств и выбрать режим объединения Взять из файла (Действия – Установить режим для всех…) и нажать кнопку Выполнить. В окне со списком зависимых объектов нажать кнопку Продолжить.
    Шаг 4 . После завершения сравнения и объединения перейти ко второму этапу – настройка объектов библиотеки. В зависимости от числа внедряемых подсистем этот шаг может занять от одного до нескольких часов.

    Обновление версии библиотеки

    В этом разделе описана общая схема обновления на новую версию библиотеки. Отдельные особенности обновления каждой конкретной версии библиотеки приведены в сопроводительном документе updateSSL.htm , входящем в поставку библиотеки. Как правило, при переходе между редакциями, подредакциями и релизами библиотеки (первая,
    вторая и третья цифры в номере версии) требуется выполнить дополнительные действия по обновлению, а при переходе между исправительными релизами библиотеки (четвертая цифра
    в номере версии), как правило, никаких дополнительных действий не требуется. В редких случаях, когда дополнительные действия все же необходимы при обновлении на исправительный релиз библиотеки, соответствующие инструкции содержатся не только в updateSSL.htm, но и в файле readme.txt в разделе Важно. Для обновления версии библиотеки нужно выбрать команду меню Конфигурация – Поддержка – Обновить конфигурацию. В диалоговом окне указать вариант Выбор файла обновления, задать путь к файлу поставки библиотеки и подтвердить запрос об
    обновлении версии конфигурации поставщика.
    Шаг 1. Предварительно необходимо подготовить к удалению из конфигурации устаревшие объекты метаданных библиотеки. Для этого в открывшемся окне сравнения и объединения конфигураций снять все флажки напротив объектов метаданных, затем установить фильтр сравнения и объединения в значение Показывать присутствующие только в старой конфигурации поставщика в группе Новая конфигурация поставщика Окно проверки и режимы

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

    Реиндексация таблиц

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

    Логическая целостность

    Эта функция проверяет логическую и структурную целостности базы, находит ошибки организации данных.

    Ссылочная целостность

    В этом случае информация проверяется на присутствие «битых» ссылок. Они являются следствием некорректной обработки данных — чаще всего при их удалении или обмене.

    При их обнаружении есть выбор трёх вариантов операций:

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

    Пересчёт итогов

    Итоги — это таблица подсчётов-результатов бухгалтерских данных. Их пересчёт увеличивает производительность.

    Сжатие таблиц

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

    Реструктуризация таблиц

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

    Если тестирование/исправление не принесло положительного результата — воспользуйтесь приложением chdbfl.exe.

    Создание резервной копии(вручную и автоматически)

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

    Наличие бэкапа помогает сохранить присутствие духа, времени, денег и много чего ещё в неожиданных и непредсказуемых ситуациях. Если кто-то вырвал шнур из системного блока, авария в электросети, потопом кофе залило компьютер, да мало ли что…

    Создание бэкапа занимает до десяти минут.

    Если такая ситуация произошла и вас нет бэкапа- то вы точно теперь будете его создавать!

    Админы бывают двух типов: одни делают бэкап, другие — будут делать бэкап.

    Выгрузка файла

    Если в начальном окне программы выбрать своё предприятие и нажать указанную на рисунке кнопку, то мы войдём в 1С в режиме «Конфигуратор».

    Этот режим, вообще, предназначен для разработки и администрирования. Дальше нужно в меню выбрать «Администрирование/Выгрузить информационную базу…» :

    Затем нужно будет ответить системе на предложение выбора пути — куда именно должен быть выгружен файл и его название.

    Об успешном проведении операции вы узнаете первым.

    Восстановление резервного файла

    Восстановление базы также производится из знакомого нам режима конфигуратора, но теперь уже выбираем опцию «Администрирование/ »:

    Выбираем Загрузить информационную базу

    Необходимо выбрать ранее сохранённый файл (с расширение мdt). Потом согласиться с предупреждением системы о потере не сохранённой информации (будет потеряна).

    При успешном выполнении 1С предложит перезапуск конфигуратора.

    Автоматическая архивация

    Во избежание собственной забывчивости можно воспользоваться одной из программ для автоархивации, например, Effector saver 3.

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

    Этому приложению доступна обработкалюбых версий 1С: 7.7, 8.1, 8.2, 8.3. Ей безразлично что обрабатывать- файловые данные или находящиеся на сервере MS SQL илиPostgreSQL. Плюс она бесплатна (есть коммерческая версия, расширенная).

    Сначала скачиваем и устанавливаем дистрибутив Effector Saver.

    После указания каталога крайний шаг — настроить расписание. Для этого на одноимённой вкладке указывается режим отработки задания и время для его выполнения:

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

    Читайте также:  Как на планшете набрать ussd команду

    Мы ознакомили вас с причинами и исправлением проблемы «нарушена целостность структуры конфигурации 1С». После прочтения этого материала вы легко справитесь с этой проблемой.

    Область применения: управляемое приложение, обычное приложение.

    Действует для конфигураций на базе Библиотеки стандартных подсистем .
    Содержит уточнения к требованиям других стандартов.
    См. документацию к подсистеме "Обновление версии ИБ" на ИТС.

    1. Основные сведения о библиотеке (основной конфигурации)
    2. Расположение обработчиков обновления
    3. Реализация обработчиков обновления
    4. Переход на новые версии библиотек

    1. Основные сведения о библиотеке (основной конфигурации)

    1.1. При разработке конфигураций на базе библиотек, каждая библиотека должна сообщить о себе ряд сведений, необходимых для корректного обновления информационной базы на новую версию конфигурации:

    • Имя
    • Версию
    • Список обработчиков обновления
    • Зависимости от других библиотек.

    Эти сведения размещаются в специальном общем модуле библиотеки, имя которого должно начинаться с ОбновлениеИнформационнойБазы…
    Пример:
    В конфигурации УТ 11 модуль обработчиков обновления называется ОбновлениеИнформационнойБазыУТ

    Имена модулей всех используемых в конфигурации библиотек следует явно перечислить в общем модуле ПодсистемыКонфигурацииПереопределяемый в виде:

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

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

    При создании общего модуля ОбновлениеИнформационнойБазы… следует использовать шаблон:

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

    Описание.Имя = " ";
    Описание.Версия = "XX.XX.XX.XX";
    Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");
    Описание.РежимВыполненияОтложенныхОбработчиков = "Последовательно";

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

    // Обработчики, выполняемые при каждом обновлении ИБ

    // Обработчики, выполняемые при переходе на определенную версию

    // Обработчики, выполняемые при заполнении пустой ИБ

    // Вызывается перед процедурами-обработчиками обновления данных ИБ.
    //
    Процедура ПередОбновлениемИнформационнойБазы() Экспорт

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

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

    // Позволяет переопределить режим обновления данных информационной базы.
    // Для использования в редких (нештатных) случаях перехода, не предусмотренных в
    // стандартной процедуре определения режима обновления.
    //
    // Параметры:
    // РежимОбновленияДанных — Строка — в обработчике можно присвоить одно из значений:
    // "НачальноеЗаполнение" — если это первый запуск пустой базы (области данных);
    // "ОбновлениеВерсии" — если выполняется первый запуск после обновление конфигурации базы данных;
    // "ПереходСДругойПрограммы" — если выполняется первый запуск после обновление конфигурации базы данных,
    // в которой изменилось имя основной конфигурации.
    //
    // СтандартнаяОбработка — Булево — если присвоить Ложь, то стандартная процедура
    // определения режима обновления не выполняется,
    // а используется значение РежимОбновленияДанных.
    //
    Процедура ПриОпределенииРежимаОбновленияДанных(РежимОбновленияДанных, СтандартнаяОбработка) Экспорт

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

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

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

    • инициализация новых констант, новых реквизитов, реквизитов новых предопределенных элементов;
    • перенос данных из устаревших структур метаданных в новые;
    • генерация новых данных
    • и т.п.

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

    1.3. Обработчик обновления данных информационной базы состоит из двух частей:

    Добавление описаний новых обработчиков выполняется в процедуре ПриДобавленииОбработчиковОбновления с помощью вставки фрагмента кода по шаблону:

    Обработчик = Обработчики.Добавить();
    Обработчик.Версия = " ";
    Обработчик.Процедура = " ";
    Обработчик.НачальноеЗаполнение = <Истина|Ложь>;
    Обработчик.РежимВыполнения = <"Монопольно"|"Оперативно"|"Отложенно">;

    Данный код добавляет новую строку в таблицу значений Обработчики , строка которой имеет следующие поля:

    Версия ( Строка ) – номер версии конфигурации, при обновлении на которую должна быть вызвана процедура обновления, указанная в параметре Процедура .

    Читайте также:  Игры в стим для 32 битной системы

    Процедура ( Строка ) – идентификатор процедуры, содержащий полный путь к процедуре-обработчику обновления.
    Например, "Справочник.Валюты.ЗаполнитьКодДляПоиска" .

    НачальноеЗаполнение ( Булево ) – если Истина , то обработчик будет вызван при первом запуске пустой информационной базы (версия «0.0.0.0»), созданной из файла поставки конфигурации и не содержащей данных.
    Это обработчики первоначального заполнения базы.

    РежимВыполнения ( Строка ) – принимает одно из значений: "Монопольно", "Оперативно" и "Отложенно". Если свойство не задано, то по умолчанию обработчик – монопольный.

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

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

    Если хотя бы один обработчик обновления конфигурации – монопольный, то все оперативные обработчики (см. далее) выполняются в монопольном режиме.

    В случае если обработчик обновления – обязательный (свойство Версия = «*»), то значение Монопольно следует устанавливать только в тех случаях, когда обработчик обновления должен программно определить, требуется ли монопольный режим для его выполнения:

    • Такой обработчик вызывается дважды, в него передается параметр Параметры типа Структура , в котором имеется свойство МонопольныйРежим (Булево)
    • При первом вызове в режиме проверки, свойство МонопольныйРежим содержит значение Ложь .
    • Код обработчика не должен модифицировать данные ИБ
    • Если в ходе выполнения обработчика возникает необходимость внесения изменений в ИБ, обработчик должен установить значение свойства в Истина и прекратить свое выполнение
  • При втором вызове в режиме выполнения свойство МонопольныйРежим содержит значение Истина
    • Код обработчик может модифицировать данные ИБ
    • Изменение значения свойства в этом случае игнорируется
    • Оперативно – если обработчик обновления необходимо выполнять не монопольно: при активных сеансах работы пользователей, регламентных заданий, внешних соединений и подключений через веб-сервисы.
    • Оперативные обработчики следует применять в редких случаях, когда важно сократить время ожидания пользователей при переходе на исправительные релизы, которые не содержат изменений в структуре данных, и обновление на которые должно выполняться динамически.

      Подробнее см. Оперативное обновление данных.

      Отложенно – если обработчик обновления необходимо выполнять в фоне после того, как завершено выполнение монопольных (оперативных) обработчиков, и пользователям уже разрешен вход в программу.

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

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

      Если в конфигурации (библиотеке) используется параллельный режим отложенного обновления (в процедуре ПриДобавленииПодсистемы свойство РежимВыполненияОтложенныхОбработчиков = "Параллельно"), то для написания отложенных обработчиков следует руководствоваться стандартом Параллельный режим отложенного обновления .

      Пример описания обработчика, для выполнения которого требуется монопольный режим:

      Обработчик = Обработчики.Добавить();
      Обработчик.РежимВыполнения = "Монопольно";
      Обработчик.Версия = "11.1.0.0";
      Обработчик.Процедура = "Справочник.МойСправочник.ЗаполнитьКодДляПоиска";

      Пример реализации обработчика в модуле менеджера Справочник.МойСправочник :

      // Обработчик обновления УТ 11.1.0.0
      //
      // Перебираются все элементы справочника, в которых не заполнен код для поиска,
      // и заполняется кодом справочника без лидирующих нулей и префиксов
      //
      Процедура ЗаполнитьКодДляПоиска() Экспорт
      .

      2. Расположение обработчиков обновления

      2.1. Процедура-обработчик должна оформляться в виде экспортной процедуры.
      Располагать процедуру следует в модуле менеджера того объекта метаданных, обновление которого она выполняет.

      Пример:
      Если в справочник «Подразделения» добавили новый реквизит, который необходимо заполнить значением по умолчанию, то процедура-обработчик должна располагаться в модуле менеджера этого справочника.

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

      3. Реализация обработчиков обновления

      3.1. К процедуре-обработчику предъявляются следующие требования:

      3.2. Обработчик обновления не должен содержать лишних, избыточных действий с данными – должен выполняться максимально быстро.

      3.2.1. Для этого необходимо отключать бизнес-логику при обработке данных. В большинстве случаев, с помощью установки признака ОбменДанными.Загрузка :

      В отдельных случаях, для частичного отключения бизнес-логики допустимо предусмотреть дополнительный признак, например:

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

      • В распределенной информационной базе (РИБ) обработка данных должна выполняться независимо в каждом из узлов;
      • При обмене между произвольными конфигурациями (программами) обработка данных не должна приводить к их выгрузке в базы-получатели.

      Исключение составляют случаи создания ссылочных объектов, которые должны быть перенесены механизмами обмена данными в другие узлы РИБ с тем же значением реквизита Ссылка.

      3.2.3. Таким образом, в коде обработчика обновления вместо

      ДокументОбъект.ОбменДанными.Загрузка = Истина; // отключить всю бизнес-логику при записи
      ДокументОбъект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов");
      ДокументОбъект.ОбменДанными.Получатели.АвтоЗаполнение = Ложь;
      ДокументОбъект.Записать();

      При использовании в конфигурации Библиотеки стандартных подсистем (БСП) версии 2.1.4 и выше следует использовать процедуру ЗаписатьДанные общего модуля ОбновлениеИнформационнойБазы :

      3.3. Перед процедурой-обработчиком должен быть комментарий. При этом первая строка комментария должна содержать информацию о версии конфигурации, для которой предназначен этот обработчик. Последующие строки комментария должны содержать ответ на следующие вопросы:

      // Обработчик обновления УТ 11.1.0.0
      //
      // Перебираются все элементы справочника, в которых не заполнен код для поиска,
      // и заполняется кодом справочника без лидирующих нулей и префиксов
      //
      Процедура ЗаполнитьКодДляПоиска() Экспорт

      4. Переход на новые версии библиотек

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

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

      Для объекта метаданных "Отчет.РИК_РасчетыСПартнерами" не найден идентификатор в справочнике "Идентификаторы объектов метаданных".

      Для разработчика: возможно требуется обновить вспомогательные данные, которые влияют на работу программы. Для выполнения обновления можно:

      — воспользоваться внешней обработкой "Инструменты разработчика: Обновление вспомогательных данных",

      — либо запустить программу с параметром командной строки 1С:Предприятия 8 "/С ЗапуститьОбновлениеИнформационнойБазы",

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

      Варианты решения:

      1. В некоторых конфигурациях режиме предприятия

      Все функции — Обработки — "Инструменты разработчика: Обновление вспомогательных данных", Если обработки нет, то пункт 2

      Все функции — Справочники — "Идентификаторы объектов метаданных", нажать кнопку "Обновить данные справочника", Если кнопки обновить нет, то пункт 2

      2. Из Конфигуратора запустить с параметром «/С ЗапуститьОбновлениеИнформационнойБазы», т.к. обработки может не оказаться под руками, а изменение версии производится с обновлением конфигурации и базы, что может оказаться не удобным:

      Сервис/Параметры — Вкладка Запуск1С:Предприятия — В свойстве «Параметр запуска» добавляем «/С ЗапуститьОбновлениеИнформационнойБазы»

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

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

      Ссылка на основную публикацию
      Опера не скачивает файлы
      Опера не загружает файлы? Решение проблемы! Загрузка файлов в Опере ⏬ Опера не загружает файлы? ✅ Решение проблемы! Загрузка файлов...
      Нелегальная копия модуля mapacces dll как исправить
      Файл panorama.dll из CyberLink Corp является частью CyberLink Panorama Library. panorama.dll, расположенный в c:program filescyberlinkyoucam6subsyspypanoramapanoramapanorama.dll с размером файла 5910792 байт,...
      Опера не скачивает файлы
      Опера не загружает файлы? Решение проблемы! Загрузка файлов в Опере ⏬ Опера не загружает файлы? ✅ Решение проблемы! Загрузка файлов...
      Ошибка при подготовке описаний подсистем для конфигурации
      Короткая инструкция для быстрого начала разработки собственной конфигурации на базе «Библиотеки стандартных подсистем» описана на диске ИТС здесь. В ней...
      Adblock detector