Обновить вспомогательные данные 1с
Вспомогательные данные – это особый вид данных, которыми необходимы для удобства работы пользователей. Они никак не меняют логику работы системы 1С. Управление, в том числе, обновление вспомогательных данных производится при помощи подсистемы «Базовая функциональность».
Для того чтобы обновить вспомогательные данные, первым делом необходимо произвести настройку и проверить подсистему «Базовая функциональность». Эта подсистема вмещает в себя весь первоначальный функционал системы 1С, при этом он является обязательным для каждого из прикладных решений, в которых используется библиотека. Помимо вспомогательных данных, к базовой функциональности относятся функции и процедуры, которые имеют общее назначение, а также перечень с универсальными обработками данных и стандартные роли, такие как «БазовыеПраваБСП», «ПолныеПрава» и так далее.
Рассмотрим, как происходит настройка основных базовых типов. Когда внутри конфигурации имеется справочник «Организация», то нужно в обязательном порядке:
· прописать его ссылку внутри свойства «Тип», который является определяемым типом внутри «Организации»;
· сделать реализацию функции по экспорту внутри модуля менеджера для справочника «Организации» в области «ПрограммныйИнтерфейс», как показано на скриншоте кода ниже:
Рис. 1 Функции по экспорту в справочнике Организации
2. Работа и пуск системы
Рассмотрим алгоритм работы и пуска системы перед началом обновления вспомогательных данных. Все действия до начала работы, а также перед окончанием работы должны находится в процедурах для общего модуля «ОбщегоНазначенияКлиентПереопределяемый: ПередНачаломРаботыСистемы, ПриНачалеРаботыСистемы», а также «ПередЗавершениемРаботыСистемы». Также стоит помнить, что в работе модели сервиса информация из процедуры может вызываться не только во время фактического входа или выхода, но и во время интерактивного входа или выхода администратора из базы информации для областей данных.
Чтобы минимизировать вызовы на серверную часть, во время начала работы системы лучше всего прямо вызывать процедуры из сервера, а также функции, которые находятся в коде модуля в приложении и в модуле управляемого приложения. Чтобы осуществить передачу для клиента всех параметров, которые нужны для запуска кода клиента, нужно воспользоваться функцией «ПараметрыРаботыКлиентаПриЗапуске» в общем модуле «СтандартныеПодсистемыКлиентПовтИсп». Когда функция вызывается в первый раз, то обращение к серверу является единственным, после чего значение подлежит кешированию на клиенте для каждого из следующих вызовов вышеописанной функции.
Если есть необходимость передать больше параметров, то добавляем все новые параметры в функцию «ПараметрыРаботыКлиентаПриЗапуске» в общем модуле «ОбщегоНазначенияПереопределяемый».
3. Обновление вспомогательных данных
В некоторых случаях, когда происходит разработка и отладка конфигурации, необходимо сделать обновление по вспомогательным данным, так как они имеют влияние на работу программы, а именно: на служебные регистры сведений, на кеши по свойствам метаданных и так далее.
Чтобы обновить вспомогательные данные следует придерживаться таких пунктов:
1. чтобы обновление вспомогательных данных произошло полностью необходимо использовать внешнюю обработку «ОбновлениеВспомогательныхДанных.epf», она находится в составе дистрибутива в библиотеке;
2. сделать наиболее оптимальное обновление всех вспомогательных данных, для этого нужно прописать параметр запуска «ЗапуститьОбновлениеИнформационнойБазы» внутри самого конфигуратора, либо при помощи параметра на строке с командами «/С»;
3. во время закладки всех перемен, которые могут потребовать обновление вспомогательных данных, в хранилище нужно обновить номер версии конфигурации, тогда у всех остальных участников общей разработки автоматом будут запущены обработчики для обновления.
Все случаи для обновления вспомогательных данных всегда помечены в тексте документации на подсистемах, а также имеют приставку «Внимание».
Во всех иных случаях вспомогательные данные обновляются автоматически, во время обновления номера (версии) конфигурации, а именно: когда происходит заполнение базы с информацией.
В этой статье будет рассказано про обновление нетиповой конфигурации 1С (редакций 8.2 и 8.3), с сохранением всех изменений внесенных вами (или другими разработчиками) в типовую конфигурацию 1С 8.
Обновление нетиповой конфигурации 1С пошаговая инструкция
Рассмотрим по шагам алгоритм обновления конфигурации 1С 8. Данный алгоритм является универсальным, первые одиннадцать его шагов описывают процесс обновления любой типовой конфигурации 1С 8, а все пункты в совокупности описывают обновление нетиповой конфигурации 1С 8:
Обновление нетиповой конфигурации 1С разбор примера
Перейдем к подробному разбору правильного обновления нетиповой конфигурации 1С 8. Вся проблема обновления такой конфигурации заключается в том, что в типовые объекты метаданных (общие модули, роли, документы, справочники и т.д.) внесены сторонние изменения. Надо сделать так, что бы все ваши изменения остались на своем месте, в целости и сохранности, но при этом все изменения фирмы 1С, содержащиеся в файле обновления, тоже были применены. Именно для этого при обновлении измененной конфигурации появляется окно сравнения Основной конфигурации (с вашими изменениями) и Новой конфигурации поставщика (обновленная типовая конфигурация).
В данном окне присутствует две колонки, каждая из которых содержит дерево метаданных. В первой показаны метаданные текущей конфигурации базы данных, а во второй обновленные метаданные конфигурации поставщика (обновленная типовая конфигурация). Зелеными карандашиками отмечены измененные объекты, в первом столбце помечены измененные вами типовые объекты метаданных, а во втором измененные обновлением типовые объекты метаданных. Таким образом, чтобы произвести правильное обновление нетиповой конфигурации 1с, нужно найти все объекты метаданных, которые изменены и вами и обновлением (то есть дважды измененные).
Для это нажмите расположенную внизу окна кнопку Фильтр, в открывшемся окне установить флаг Показывать только дважды измененные свойства и нажмите ОК.
Теперь в окне сравнения будут видны только нужные нам объекты, что значительно облегчает процесс обновления. Следует заметить, что если в вашей конфигурации добавлены новые нетиповые документы, справочники, роли, модули и т. п., то их обновление конфигурации не затрет, они останутся на своем месте и ничего с ними не случиться. Проблему составляют только измененные типовые объекты.
Для правильного обновления разных объектов метаданных нужен свой подход, поэтому рассмотрим на несложных примерах различные ситуации. Замечу также, что обновление сильно переписанных конфигураций задача сложная и требует максимальной внимательности и сосредоточения.
Обновление общего модуля.
- Рассмотрим пример: В общий модуль КонтрольВерсииКонфигураци вы внесли следующие изменения:
- В процедуре ПроверитьВерсиюКонфигурации() закомментировали строку:
- Добавили в модуль свою процедуру с именем МояТестоваяПроцедура().
При обновлении этот модуль изменился, поставив в окне сравнения фильтр по дважды измененным мы увидим, что он попал в список.
Рассмотрим подробнее данное окно, и поймем какую информацию из него мы сможем почерпнуть. Во-первых, мы видим, что общий модуль изменен и в основной конфигурации и в обновленной конфигурации поставщика, об этом говорят зеленые карандашики в обоих столбцах. Во-вторых, в первом столбце мы видим установленный флажок возле имени общего модуля, он говорит о том, что будет произведено объединение модулей (того, что изменен нами и типового обновленного). В-третьих, в последнем столбце мы видим в каком режиме произойдет объединение модулей. В данном случае установлено значение: Взять из новой конфигурации поставщика, это означает, что наши изменения будут полностью затерты, а изменения внесенные обновлением будут полностью применены.- Затереть ваши изменения установив типовые. После чего вручную внести затертые изменения в обновленный модуль;
- Не обновлять модуль и внести типовые изменения вручную.
Механизмы сравнения конфигураций
Для сравнения изменений в модуле можно воспользоваться следующими встроенными механизмами окна сравнения-объединения конфигураций:
Мы разобрали все инструменты необходимые для обновления модуля. Для того, что бы показать их практическое применение рассмотрим по шагам процесс обновления модуля КонтрольВерсииКонфигураци с перечисленными выше изменениями. Обновим модуль двумя способами:
- Обновим модуль, затерев внесенные в него изменения. Внесем их вручную после обновления;
- Не будем обновлять модуль. Изменения полученные в обновлении внесем после.
- Второй способ полностью повторяет первый, за исключением того, что действует он от обратного. Поэтому опишу его кратко;
- Создаем текстовый документ с такой же структурой;
- Сформируем отчет Отчет о сравнении объектов новой конфигурации поставщика со старой конфигурацией поставщика;
- Используя сформированный отчет и окно сравнения модулей выпишем в текстовый документ изменения внесенные новой конфигурацией поставщика;
- В окне сравнения / объединения конфигураций проверяем, что возле модуля КонтрольВерсииКонфигураци СНЯТ ФЛАГ. Это означает, что данный модуль не будет обновляться;
- Обновляем конфигурацию, вносим изменения из текстового документа в модуль КонтрольВерсииКонфигураци.
Обновление плана обмена.
Рассмотрим пример: в состав плана обмена ПоОрганизации вы включили справочник ВнешниеОбработки. При обновлении нетиповой конфигурации 1с состав данного плана обмена изменился и перед нами стоит задача правильно обновить план обмена, не затерев ни типовые изменения, ни свои. Инструменты используемые для сравнения измененных объектов метаданных были подробно описаны в предыдущих пунктах, поэтому для данного случая все будет описано кратко.
Рассмотрим по шагам обновление состава плана обмена ПоОрганизации с указанными изменениями:
Обновление подписки на событие.
Рассмотрим по шагам обновление состава источников подписки на событие с указанными изменениями:
Обновление ролей в 1С
Перед тем, как начать рассказывать про обновление ролей в 1С 8, хочется заметить, что лучше не изменять типовые роли, в этом нет никакой необходимости, к тому же сильно затрудняется обновление нетиповой конфигурации 1с. Если вы дорабатываете какую либо типовую конфигурацию и добавляете в нее свои документы, справочники и т.д., то создайте свою роль (или несколько, в зависимости от ситуации), в которую включите новые объекты метаданных. Если вы так не сделаете, то со временем вам будет очень тяжело обновлять типовые роли (а под час невозможно), так как почти в каждом релизе они сильно изменяются и отчеты о сравнении конфигураций могут выглядеть не слишком понятно.
Но все же часто бывают случаи когда роль уже изменена, и не один раз, а разбираться зачем и почему времени нет. Поэтому рассмотрим пример: в типовой роли Бухгалтер для справочника НалоговыеОрганы добавлены права на чтение и просмотр, при обновлении набор прав роли также был изменен.
Рассмотрим обновление роли по шагам:
Вспомогательные данные – это особый вид данных, которыми необходимы для удобства работы пользователей. Они никак не меняют логику работы системы 1С. Управление, в том числе, обновление вспомогательных данных производится при помощи подсистемы «Базовая функциональность».
Для того чтобы обновить вспомогательные данные, первым делом необходимо произвести настройку и проверить подсистему «Базовая функциональность». Эта подсистема вмещает в себя весь первоначальный функционал системы 1С, при этом он является обязательным для каждого из прикладных решений, в которых используется библиотека. Помимо вспомогательных данных, к базовой функциональности относятся функции и процедуры, которые имеют общее назначение, а также перечень с универсальными обработками данных и стандартные роли, такие как «БазовыеПраваБСП», «ПолныеПрава» и так далее.
Рассмотрим, как происходит настройка основных базовых типов. Когда внутри конфигурации имеется справочник «Организация», то нужно в обязательном порядке:
· прописать его ссылку внутри свойства «Тип», который является определяемым типом внутри «Организации»;
· сделать реализацию функции по экспорту внутри модуля менеджера для справочника «Организации» в области «ПрограммныйИнтерфейс», как показано на скриншоте кода ниже:
Рис. 1 Функции по экспорту в справочнике Организации
2. Работа и пуск системы
Рассмотрим алгоритм работы и пуска системы перед началом обновления вспомогательных данных. Все действия до начала работы, а также перед окончанием работы должны находится в процедурах для общего модуля «ОбщегоНазначенияКлиентПереопределяемый: ПередНачаломРаботыСистемы, ПриНачалеРаботыСистемы», а также «ПередЗавершениемРаботыСистемы». Также стоит помнить, что в работе модели сервиса информация из процедуры может вызываться не только во время фактического входа или выхода, но и во время интерактивного входа или выхода администратора из базы информации для областей данных.
Чтобы минимизировать вызовы на серверную часть, во время начала работы системы лучше всего прямо вызывать процедуры из сервера, а также функции, которые находятся в коде модуля в приложении и в модуле управляемого приложения. Чтобы осуществить передачу для клиента всех параметров, которые нужны для запуска кода клиента, нужно воспользоваться функцией «ПараметрыРаботыКлиентаПриЗапуске» в общем модуле «СтандартныеПодсистемыКлиентПовтИсп». Когда функция вызывается в первый раз, то обращение к серверу является единственным, после чего значение подлежит кешированию на клиенте для каждого из следующих вызовов вышеописанной функции.
Если есть необходимость передать больше параметров, то добавляем все новые параметры в функцию «ПараметрыРаботыКлиентаПриЗапуске» в общем модуле «ОбщегоНазначенияПереопределяемый».
3. Обновление вспомогательных данных
В некоторых случаях, когда происходит разработка и отладка конфигурации, необходимо сделать обновление по вспомогательным данным, так как они имеют влияние на работу программы, а именно: на служебные регистры сведений, на кеши по свойствам метаданных и так далее.
Чтобы обновить вспомогательные данные следует придерживаться таких пунктов:
1. чтобы обновление вспомогательных данных произошло полностью необходимо использовать внешнюю обработку «ОбновлениеВспомогательныхДанных.epf», она находится в составе дистрибутива в библиотеке;
2. сделать наиболее оптимальное обновление всех вспомогательных данных, для этого нужно прописать параметр запуска «ЗапуститьОбновлениеИнформационнойБазы» внутри самого конфигуратора, либо при помощи параметра на строке с командами «/С»;
3. во время закладки всех перемен, которые могут потребовать обновление вспомогательных данных, в хранилище нужно обновить номер версии конфигурации, тогда у всех остальных участников общей разработки автоматом будут запущены обработчики для обновления.
Все случаи для обновления вспомогательных данных всегда помечены в тексте документации на подсистемах, а также имеют приставку «Внимание».
Во всех иных случаях вспомогательные данные обновляются автоматически, во время обновления номера (версии) конфигурации, а именно: когда происходит заполнение базы с информацией.
При добавлении новых объектов в типовые конфигурации возможна ошибка при обращении к этому объекту в режиме 1C:Предприятие: "Объект не найден в Справочнике "ИдентификаторыОбъектовМетаданных".
Для объекта метаданных "Отчет.РИК_РасчетыСПартнерами" не найден идентификатор в справочнике "Идентификаторы объектов метаданных".
Для разработчика: возможно требуется обновить вспомогательные данные, которые влияют на работу программы. Для выполнения обновления можно:
- воспользоваться внешней обработкой "Инструменты разработчика: Обновление вспомогательных данных",
- либо запустить программу с параметром командной строки 1С:Предприятия 8 "/С ЗапуститьОбновлениеИнформационнойБазы",
- либо увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
Варианты решения:
1. В некоторых конфигурациях режиме предприятия
Все функции - Обработки - "Инструменты разработчика: Обновление вспомогательных данных", Если обработки нет, то пункт 2
Все функции - Справочники - "Идентификаторы объектов метаданных", нажать кнопку "Обновить данные справочника", Если кнопки обновить нет, то пункт 2
2. Из Конфигуратора запустить с параметром «/С ЗапуститьОбновлениеИнформационнойБазы», т.к. обработки может не оказаться под руками, а изменение версии производится с обновлением конфигурации и базы, что может оказаться не удобным:
Сервис/Параметры - Вкладка Запуск1С:Предприятия - В свойстве «Параметр запуска» добавляем «/С ЗапуститьОбновлениеИнформационнойБазы»
При запуске Предприятия появится окно обновления конфигурации. Потом не забудьте Убрать параметр запуска, чтобы больше не запускалось обновление!
3. Обновить конфигурацию или вручную увеличить номер версии конфигурации, чтобы при очередном запуске выполнились процедуры обновления данных информационной базы.
Читайте также: