Я разрабатываю расширения к типовым конфигурациям. Стараюсь делать их универсальными и независимыми от изменений в конфигурациях 1С. Но есть одно непреодолимое (пока) препятствие: изменение режима совместимости конфигурации и платформы. Как только это происходит, начинаются обращения пользователей и (даже) специалистов сопровождения программ 1С. Общий смысл обращений сводится к фразе «у нас перестало работать ваше расширение».
Поэтому я решила написать подробную пошаговую инструкцию, как починить сломавшееся расширение своими силами. Конечно, лучше обратиться к специалистам, но если хочется сделать все самостоятельно и условно-бесплатно, то вот эта инструкция.
Также я собрала наиболее частые вопросы пользователей, которые они задают по ходу решения проблемы. Если есть еще вопросы на эту тему, то задавайте их в комментариях. Буду дополнять статью.
Описание проблемы
Время от времени (иногда раз в год, иногда чаще) разработчики типовой конфигурации 1С поднимают планку минимальной версии платформы, совместимой с этой конфигурацией.
Например, 17 мая 2022 года был выпущен релиз 3.0.112.34 типовой конфигурации «1С:Бухгалтерия 8». Этот релиз, в отличие от предыдущих, работает с адаптацией к платформе 8.3.17 без совместимости с предыдущими версиями.
Честно говоря, я не смогла найти эту информацию в описании к релизу. Она была анонсирована заранее, но кто же читает анонсы, кроме заинтересованных программистов?
Пользователи, использующие расширения от сторонних разработчиков, могли столкнуться с тем, что расширения перестали запускаться после обновления конфигурации.
Как это выглядит?
В процессе обновления типовой конфигурации появляется сообщение об ошибке:
Значение контролируемого свойства РежимСовместимости у объекта не совпадает со значением в расширяемой конфигурации
Подобная ошибка может выскочить, даже если обновление перескакивает «революционный» 112-й релиз и сразу обновляет информационную базу на 113-й или 114-й релиз. В любом случае, переход на новый режим совместимости с платформой будет необходим.
Решение проблемы
Необходимо переключить расширение в такой же режим совместимости, как у типовой конфигурации.
Как это сделать?
! Обязательно сделайте резервную копию базы перед началом действий.
1. Убедитесь, что у вас достаточно прав на действия с информационной базой (у пользователя установлены полные или административные права).
2. Запустите Конфигуратор.
3. Откройте окно конфигурации («Конфигурация – Открыть конфигурацию»). Если пункт меню недоступен, значит, окно конфигурации уже открыто и можно сразу перейти к следующему шагу.
4. Установите курсор на строке с наименованием конфигурации и кликните правой кнопкой мыши. Откроется окно «Свойства».
5. В свойствах найдите пункт «Режим совместимости» и запомните, что там установлено.
6. Выберите из верхнего меню пункт «Конфигурация – Расширения конфигурации». Будет открыто окно со списком расширений. Установите курсор на строке с наименованием проблемного расширения. Дважды кликните левой кнопкой мыши по этой строке.
7. В левой части экрана откроется окно расширения. Кликните правой кнопкой мыши на заголовке расширения в этом окне. Выберите пункт «Свойства». Откроется окно свойств расширения, в нижней части которого также есть раздел «Совместимость».
8. Измените значение совместимости на такое же, как у типовой конфигурации.
9. Запустите отладку («Отладка – Начать Отладку») и согласитесь с принятием внесенных изменений.
В режиме "1С:Предприятие" зайдите в раздел «Администрирование – Печатные формы, отчеты и обработки – Расширения» и убедитесь, что расширение работает в штатном режиме (зеленая галочка в кружочке слева от наименования).
На этом все. Проблема решена. Далее можете запускать типовую конфигурацию как обычно – до тех пор, пока разработчики опять не изменят режим совместимости.
Ответы на частые вопросы
Как мне поступить, если в свойствах типовой конфигурации установлено значение «Не использовать»?
Такое бывает, если режим совместимости типовой конфигурации и релиз платформы совпадают. Например, требуется минимальная платформа 8.3.17, и именно этот релиз платформы установлен. Значит, и для расширения нужно выбрать значение «Не использовать».
Что такое «типовая конфигурация»?
Это прикладное решение от 1С, которым вы пользуетесь. Наиболее распространенные типовые конфигурации – «1С:Бухгалтерия», «1С:Зарплата и управление персоналом», «1С:Управление торговлей» и т.д.
Система «1С:Предприятие» имеет 2 уровня: платформа и конфигурация. Платформа – это программа, а конфигурация – ее настройка. Конфигурации создаются в Конфигураторе, который является частью платформы.
Типовые конфигурации создаются разработчиком платформы «1С:Предприятие», фирмой «1С». Типовые конфигурации имеют открытый код, и любой пользователь может их изменить. В таком случае, типовая конфигурация превратится в «нетиповую» (или «доработанную типовую»).
У меня стоит 1С:Предприятие 8.3. Это какая конфигурация?
«1С:Предприятие 8.3» – это название платформы, которая едина для всех конфигураций. Чтобы узнать, какая у вас конфигурация, откройте пункт «О программе» из главного меню. В первой строке идет версия платформы, далее – название и версия конфигурации.
Что такое «расширение»?
Расширения – относительно новый механизм платформы «1С:Предприятие». Он нужен для того, чтобы дополнить возможности типовых конфигураций без внесения в них изменений.
Раньше с задачей расширения функционала типовых конфигураций справлялись внешние отчеты и обработки.
– Отчеты обращаются к данным, хранящимся в информационной базе, обрабатывают их и выводят в нужном формате.
– Обработки делают все то же, что и отчеты, а еще изменяют данные информационной базы по заданным алгоритмам.
Как видим, отчеты и обработки имеют дело с данными. Расширения же, кроме изменения данных, меняют еще и программный код конфигураций 1С.
Насколько безопасны расширения?
Любые внешние программные средства, которые могут изменить ваши данные, потенциально опасны. Используйте расширения только из проверенных источников. Это правило относится также к внешним отчетам и обработкам.
Если вы доверяете разработчику, протестировали расширение на копии базы, то можете спокойно загружать его в рабочую базу.
Классические расширения, не использующие «расширение данных», безопасны. Даже если после обновления типовой конфигурации расширение «отвалится», ничего страшного не случится – ваши данные останутся на своем месте, просто не будет работать дополнительный функционал.
«Расширение данных» – это еще более новый механизм платформы 1С. Он позволяет создавать объекты хранения данных – справочники, документы, регистры – в самом расширении. Когда расширение перестает работать, эти данные становятся недоступными. Нужно будет «починить» расширение, чтобы снова получить доступ к добавленным данным.
Что такое запуск в режиме «1С:Предприятия»?
Это обычный запуск программы. Всего в системе 1С:Предприятие 2 варианта запуска программы из начального меню. Кроме варианта «1С:Предприятие», есть еще «Конфигуратор».
В общем случае, вариант запуска «1С:Предприятие» – для пользователей, «Конфигуратор» – для администраторов и разработчиков.
Надо ли обновлять платформу при смене режима совместимости?
Хороший вопрос. За актуальностью релизов платформы, безусловно, нужно следить и соблюдать требования к минимальным релизам, предъявляемые фирмой 1С.
Но, поскольку сейчас допускаются сразу несколько групп релизов платформы (8.3.17, 8.3.18, 8.3.19 и т.д.), то может так получиться, что ваш текущий релиз платформы подходит под изменившийся режим совместимости. В этом случае можно не обновлять платформу.
Зачем нужно устанавливать режим совместимости?
В каждой новой версии платформы есть возможности, которых не было раньше. Какие-то новые интерфейсные штучки или увеличение производительности, или упрощение работы пользователя. В то же время в новых версиях разработчики отключают устаревшие функции.
Поэтому в конфигурации устанавливается номер релиза платформы, с которым эта конфигурация умеет работать. Если отключить контроль совместимости, то может получиться, что в конфигурации вызывается функция, которой нет в платформе – и в итоге будет ошибка или аварийное завершение.
При переходе на совместимость с более поздними релизами платформы разработчики конфигурации запускают специальные тесты, выявляющие такие устаревшие вызовы, и отключают их.
Я не могу изменить режим совместимости, нет доступа и вообще там «замочек» стоит (!).
Вы, видимо, не в расширении пытаетесь изменить свойства, а в основной конфигурации. Вернитесь к инструкции и, начиная с пункта 6, следуйте ее указаниям.
Гарантирует ли изменение режима совместимости, что расширение заработает?
Нет, конечно. В общем случае, при каждом обновлении основной конфигурации расширение может «сломаться». «Нежность» расширения зависит от того, какие объекты конфигурации заимствованы, не изменялись ли они.
Но если разработчик расширения рекомендует только изменить режим совместимости, то, значит, этого действия должно быть достаточно.
У меня нет Конфигуратора в окне запуска 1С, что делать?
Такое возможно. Это может быть из-за размещения информационной базы в «облаке» или из-за ограничений, установленных системным администратором вашей сети.
Обратитесь к своим специалистам по 1С или в свою обслуживающую организацию, которая устанавливает обновления 1С.
Я все сделал правильно, но расширение так и не заработало. Что делать?
Значит, одного действия по приведению в соответствие режима совместимости с платформой было недостаточно, нужно обновлять само расширение.
Свяжитесь с разработчиком или продавцом расширения, узнайте, нет ли актуального обновления, и на каких условиях вы его можете получить.
Как вариант, до установки обновления, можно отключить неработающее расширение (сделать его неактивным). Удалять расширение не рекомендуется, так как в нем могут быть данные (если это расширение с «расширением данных»). И, конечно, не забывайте о резервных копиях информационной базы перед каждым критическим действием.
У меня базовая «Бухгалтерия» и что-то подобное выскочило в окне оповещений...
С базовыми версиями 1С расширения сторонних разработчиков несовместимы. Это ограничение, накладываемое со стороны 1С. Но с недавнего времени в базовых версиях появились «патчи» – специальные расширения от 1С.
Тут общая рекомендация, кроме как обратиться в техподдержку 1С, – удалить проблемный патч.
Почему? Потому что патчи живут между релизами. Они нужны только для оперативного исправления проблемы, и их код включается в следующий релиз типовой конфигурации на постоянной основе.
Видео-инструкция
В этом месте будет размещено видео после того, как статья наберет хотя бы 20 «плюсиков». Это будет означать, что тема действительно интересна читателям.
Резюме
Вашему вниманию представлена подробная пошаговая инструкция по изменению режима совместимости расширения 1С. Задавайте вопросы вопросы в комментариях, и если они будут частотными, то ответы войдут в статью.
Спасибо за внимание!