Как изменить режим совместимости расширения конфигурации 1с

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

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

Режим совместимости расширения конфигурации всегда должен совпадать с режимом совместимости основной конфигурации. Иначе Ваше расширение не будет использовано при запуске 1С:Предприятие. Рассмотрим пример неправильной установки режима совместимости — за основу возьмем конфигурацию «Бухгалтерия предприятия, редакция 3.0». Режим совместимости конфигурации следующий (версия 3.0.65.84):

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

Получается, в основной конфигурации используется режим совместимости «Версия 8.3.12», а в добавленном расширении конфигурации используется режим «Версия 8.3.11». Если мы запустим 1С:Предприятие — мы сразу получим ошибку: «Значение контролируемого свойства РежимСовместимости у объекта  не совпадает со значением в расширяемой конфигурации».

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

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

Изменения в платформе 8.3.15 и выше

Начиная с платформы 8.3.15 контроль режима совместимости возможно реализовать в 3 положения:

1 — Проверять значение при подключении расширения:

2 — Предупреждать о расхождении при подключении расширения.

3 — Не контролировать свойство. В этом случае галочка с режима совместимости должна быть полностью снята.

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

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

У Вас возникли трудности с расширениями конфигурации? Мы быстро поможем устранить все ошибки расширения или написать новое расширение с необходимым для Вас функционалом.

Наши разработки:

Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в Neti

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

Новые регистры накопления (РН)

В ходе адаптации под нужды заказчика потребовалось переработать типовой механизм учета НДФЛ к перечислению. Для этого понадобилась возможность создавать собственные РН, которая стала доступна в версии 8.3.13 платформы. В БСП, актуальной на тот момент, режим совместимости был только 8.3.12, поэтому его потребовалось повысить.

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

Кстати, модифицированные объекты легко отобрать прямо из дерева конфигурации с помощью кнопки-фильтра. В свежих версиях платформы (например, 8.3.15 и выше в режиме совместимости 8.3.13) эта проблема не воспроизводится.

Изменение режима совместимости

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

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

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

С чем сталкивались мы:

● Особенность компоновки в СКД запросов-объединений, когда накладывается отбор и поле для отбора присутствует только в одном запросе. Это даже не баг, а фича — это описано в изменении к релизу платформы 8.3.13 (http://downloads.v8.1c.ru/content//Platform/8_3_13_1513/1cv8upd_8_3_13_1513.htm#11b285ec-7857-11e8-a3f7-0050569f678a). Новое поведение платформы приводит к появлению в запросах объединения ложных условий NULL = &П, из-за чего типовые отчеты перестают работать как ожидается (столкнулись при подготовке регламентированной отчетности). Задачу решили, работая с текстом запроса в скомпонованном макете, другими вариантами проблема не решалась. К счастью, в версии 8.3.14 это поведение изменилось, о чем в документации тоже есть информация.

● Менялась сигнатура метода НачатьПомещениеФайла. Третий параметр в 8.3.12 мог быть простой строкой, которая шла в заголовок диалога, а в 8.3.13 должен быть объект ДиалогВыбораФайла.

Доработка модулей

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

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

Существует настройка — безопасный режим и имя профиля безопасности. Она влияет на переопределение кода в общих модулях. Если не разрешить ее для расширения, код из его общих модулей не будет срабатывать без каких-либо видимых оповещений.

Лучше использовать аннотации &Перед и &После, а не &Вместо. К сожалению, это не всегда возможно. Например, в обычной для ЗУПа функции получения каких-нибудь данных может идти формирование запроса, настройка его параметров и выполнение, а потом еще и обработка результата. Даже если нужно исправить только одну строчку в тексте запроса, все равно приходится копировать весь код. Из-за этого часто встречается заимствованный в расширение код. Для него полезно оставлять где-нибудь в начале функции комментарий, который можно найти глобальным поиском, а также информацию о версии, из которой код заимствован, чтобы хоть как-то разобраться при изменении типовой функции.

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

Доработка форм

Механика процесса сложнее, чем кажется на первый взгляд.

Расширения конфигурации 1С: нюансы и кейсы. Часть 2

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

После вычисления разницы они совмещаются с приоритетом изменений расширения — так получается результирующая форма.

Проблемы, к которым может привести алгоритм

Во-первых, вычисление разниц требует времени, и на больших сложных формах типа РМК возможно существенное замедление.

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

Подходы к доработке форм

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

Полезный инструмент — декомпилятор управляемых форм https://infostart.ru/public/304736/

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

Отчеты и печатные формы

Для подключения отчетов расширения к подсистеме БСП «Варианты отчетов» нужно по сути два действия:

1. Подключить отчет к хранилищу вариантов, предварительно захватив его в расширение (это актуально для ЗУП, где в корне основной конфигурации не проставлено свойство хранилища вариантов).

2. Описать подключаемые варианты кодом в менеджере отчета функцией НастроитьВариантыОтчета().

Особенности внешних дополнительных отчетов и обработок

● Для собственных документов расширения не подключаются назначаемые печатные формы, реализовать можно только командами из формы. Причина: в подсистеме используется ТЧ «Назначения», где для дополнительного отчета хранятся ссылки на идентификаторы объектов метаданных. При этом справочника в БСП два: для объектов метаданных и для объектов расширений. Но хранить ссылку там можно только для объектов метаданных.

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

Решение: подготовка текста запроса или схемы СКД в пользовательском режиме в консоли запроса или СКД. Результат можно загрузить в конфигурацию, и он будет исполняться корректно (не работает только конструктор).

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

Внешний отчет можно разрабатывать в расширении, а в конце выгрузить его.

Ограничения расширений

Несколько существенных ограничений технологии, с которыми мы столкнулись на проекте.

Планы обмена. В версии 8.3.13 они практически полноценные: можно создавать свои, в заимствованных менять состав, добавлять и заимствованные и собственные объекты. Но в версии платформы 8.3.13.1644 это не работало: таблицы изменений для собственных добавленных объектов метаданных не создавались, в конструкторе запросов тоже не было таблиц изменений.

Решение простое, но требует вмешательства в основную конфигурацию: создаем пустышку плана обмена — только сам объект с требуемым именем — захватываем в расширение. Остальное: реквизиты и ТЧ, состав, макеты и прочее — можно настроить в расширении.

Кстати, в 8.3.15 даже с режимом совместимости 8.3.13 работает корректно.

Расширения конфигурации 1С: нюансы и кейсы. Часть 2

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

Нельзя создавать в расширении собственные подписки на события (стало возможным в 8.3.17). Решения два: метод пустышек (только собственно подписка с именем, типы и остальное в расширении) или делать вызовы нужного кода в модулях объектов и наборов записей.

Нельзя создавать в расширении регламентные задания (альтернатив нет вплоть до 8.3.18). Варианты решения: метод пустышек или внешний отчет, подключаемый к подсистеме БСП с типом команды ВызовСерверногоМетода (для него из стандартного интерфейса есть возможность настройки расписания).

Версионирование

С версии 8.3.12 платформы поддерживается работа расширения с хранилищем. Это немного странно реализовано в меню, и новые разработчики путаются. Управляется одним и тем же меню в конфигураторе, нужно только выбрать объект из дерева основной конфигурации или из дерева расширения.

Доработка расширением удобна: оно небольшое, на 1–2 порядка меньше основной конфигурации, и все операции с хранилищем выполняются быстро.

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

Заключение

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

● Можно использовать на крупных проектах, в том числе и для расширения данных.

● Ошибки работы расширений редкие, но есть особенности применения.  Необходимо заранее проверять проектные решения на работоспособность в используемой версии платформы.

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

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

25.12.2021

Расширение 1С перестает работать, когда режим совместимости основной конфигурации меняется. Это видео показывает, как изменить режим совместимости расширения в «1С:Бухгалтерии 3.0.106» на примере подсистемы «Проекты ЛАЙТ».

22 декабря 2021 года вышел новый релиз «1С:Бухгалтерии», в котором наконец-то был изменен режим совместимости с платформой «1С:Предприятие». Это событие пользователи ожидали более двух лет. В 2019 году был переход на режим совместимости 8.3.14. На этот раз режим совместимости стал 8.3.16.

Почему это важно?

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

Однако есть и неприятные стороны перехода на новые рельсы. Все расширения нужно перевести на новый уровень совместимости.

Как это сделать?

1. Установить требуемую версию платформы или проверить, что она уже установлена.

2. Обновить конфигурацию «1С:Бухгалтерия».

И кстати, не забудьте сделать резервную копию базы перед обновлением!

Подробности смотрите в видео.

Презентация проводится на стандартной демо-базе «1С:Бухгалтерии 3.0» с установленным расширением «Проекты ЛАЙТ».

Приятного просмотра.

Это видео на
youtube

Все вопросы и заказы на подсистему «СофтМарк:Проекты» вы можете прислать на e-mail info@softmark.ru

Теги: 

1с бухгалтерия 
лайфхаки 1с 
1с для чайников 
полезное 1с 
пользователь 1с 
настройки 1с 
расширения 1с 
проекты 
проекты лайт

Назад в список

Зачем у конфигураций режим совместимости?

Я
   Maniac

01.08.19 — 14:25

Зачем они сделали это…

Это же венегрет при работе с клиентами. Мало того что кто то дописывает, кто то нет, так еще и разброс версий платформы.

   Maniac

1 — 01.08.19 — 14:26

Почему самая последняя УТ имеет совместимость 8.3.12 хотя уже 8.3.15 платформа.

   palsergeich

2 — 01.08.19 — 14:26

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

   Maniac

3 — 01.08.19 — 14:27

(2) и что? по зявлению 1С любой старый код работает на любой новой платформе. Все теже методы и прочее.

   palsergeich

4 — 01.08.19 — 14:27

(1) потому что по просьбе партнеров в типовых уровень совместимости меняют не чаще 2х раз в год, ибо перевод на новую версию не бесплатен и требует тестов

   RomanYS

5 — 01.08.19 — 14:27

(1) именно для этого: чтобы конфа работала под 8.3.15 без необходимости переписывать под все нововведения платформы

   Garikk

6 — 01.08.19 — 14:28

(3) <по зявлению 1С любой старый код работает на любой новой платформе.>

с активированным режимом совместимости — да, никаких противоречий

   Garikk

7 — 01.08.19 — 14:30

в описании каждого апдейта платформы написано что «изменение текущего функционала: блаблабла»

если совместимость не юзать, будет чертичто в конфигах

   Maniac

8 — 01.08.19 — 14:31

(5) она итак работает если снять с поддержки и изменить.

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

   Maniac

9 — 01.08.19 — 14:32

Иными словая с делал расширение на 8.3.15 и оно же НЕ ПОДКЛЮЧАЕТСЯ к УТ на платформе 8.3.15 потому что у нее стоит 8.3.12….

Я смысл в расширениях тогда если нужно каждому клиенту или менять совместимость конфы или под его платформой что то делать….

   palsergeich

10 — 01.08.19 — 14:33

(8) Не всегда снятие с поддержки проходит безболезненно.

8.3.5, 8.3.7 требовали огромного количества работы.

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

   Garikk

11 — 01.08.19 — 14:33

(8) ‘работает’ != запускается и 2-3 документа проводится

   palsergeich

12 — 01.08.19 — 14:34

(9) Ты можешь изменить режим совместимости расширения, но если оно использует возможности 15 платформы то пролет, ибо у клиента может быть 12 платформа и это законно

   Xapac

13 — 01.08.19 — 14:34

(9)тоже так попался. плюнул снял замочки.

   Maniac

14 — 01.08.19 — 14:35

(12) его нельзя изменить. будет ругаться и ставить всегда режим УТ.

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

   palsergeich

15 — 01.08.19 — 14:36

(12) Но хорошим тоном будет создание расширения под текущую версию совместимости родительской конфигурации.

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

   palsergeich

16 — 01.08.19 — 14:37

(14) Как это нельзя? я менял

   RomanYS

17 — 01.08.19 — 14:37

(8) «итак» не достаточно. В каждом V8Update.htm есть пункт «Изменения, требующие изменений в конфигурациях и административных установках», в котором список изменений могущих поломать базу при снятии совместимости.

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

   Maniac

18 — 01.08.19 — 14:37

(15) еще больше контор которые постоянно обновляют все в атворежиме. по количеству их больше чем те кто сидит на чем то старом и дописках.

   lepoissonherisson

19 — 01.08.19 — 14:37

так может их под версии не проверяли ..

   palsergeich

20 — 01.08.19 — 14:38

(18) Делай несколько поставок своего расширения в чем вопрос то?

   Cyberhawk

21 — 01.08.19 — 14:39

(20) Не нужно. ИР же работает одна поставка во всех конфигурациях.

   RomanYS

22 — 01.08.19 — 14:39

(20) Женя хочет универсальную таблетку, и почему то увидел в её роли расширения.

   Maniac

23 — 01.08.19 — 14:39

(17) тет ты хочешь сказать что самая актуальная типовая конфигурация имеет ниже совместимость потому что ее тянут все старые клиенты, у которых может чо угодно произойти?

Таким образом конфигу отстает от платформы и это отставание нарастает?

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

   Maniac

24 — 01.08.19 — 14:40

(22) ну в принципе да) Я хотел волшебства)

   palsergeich

25 — 01.08.19 — 14:40

(21) Потому что используется 10 что ли версия совместимости, и не трогается почти текущий функционал, а только новый, а вот если бы были заимствования текущего, особенно форм, то там есть ньюансы

   RomanYS

26 — 01.08.19 — 14:41

(23) Так и происходит, как правило режим совместимости привязан к БСП. А при смене совместимости меняется редакция БСП

   palsergeich

27 — 01.08.19 — 14:42

(23) Потому что партнеры слезно просили очень часто не повышать режим совместимости, возможно по проектам ЦКТП.

Ибо дорого, особенно если собственная кодобаза большая.

И сейчас 1 раз в год обычно.

   Cyberhawk

28 — 01.08.19 — 14:42

(25) Ну Я к тому что само по себе расширение может легко быть универсальным, если его режим совместимости не ниже режима совместимости целевой конфы

   Cyberhawk

29 — 01.08.19 — 14:43

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

   Maniac

30 — 01.08.19 — 14:44

(27) ну я партнер у которого 5000 клиентов. наверное это больше чем у любого.

   palsergeich

31 — 01.08.19 — 14:44

(28) До определенного предела, тут уже был плач, что 100 изменений в расширении и что делать

   palsergeich

32 — 01.08.19 — 14:44

(30) Твои ларьки никому не интересны, если бы был завод с ЦКТП один хотя бы, то тебя послушали бы

   ildary

33 — 01.08.19 — 14:45

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

(29) хуже, он вообще не понимает как это работает. Партнер с 5000 клиентами!!!

   palsergeich

34 — 01.08.19 — 14:45

(32) Увы такова реальность Вендора

   Maniac

35 — 01.08.19 — 14:46

(29) :))) если я баклан то ты просто томроз.

Я делаю все на актуальном релизе потому что я предполагаю то что все клиенты постоянно обновляются. А постоянно обновляются как правило большинство клиентов, особенно новых.

   palsergeich

36 — 01.08.19 — 14:46

(34) У тебя может быть хоть миллион клиентов, но на твои обращения на партнерке тебя будут слать в лес.

Достаточно один завод раскрутить на ЦКТП — и тебя будут чутко слушать

   Maniac

37 — 01.08.19 — 14:47

Я же не могу продавать программу и писать — НЕ ОБНОВЛЯЙТЕСЬ. работайте только на какой нибудь 8.2.

У меня наоброт написано — обновления под актуальные версии.

   ildary

38 — 01.08.19 — 14:47

(35) 1с пофиг, что вы там делаете, незнание не освобождает от ответственности.

   palsergeich

39 — 01.08.19 — 14:48

(37) Иди на партнерку и «приведи там реальные кейсы»

   Maniac

40 — 01.08.19 — 14:48

Понятно. В общем ждем «раз в год».

   RomanYS

41 — 01.08.19 — 14:49

(37) И в чем проблема — делай под актуальные версии.

   ildary

42 — 01.08.19 — 14:49

(40) в году три праздника — 2 версии программы и 1 версия БСП.

   Maniac

43 — 01.08.19 — 14:52

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

   palsergeich

44 — 01.08.19 — 14:53

(43) Конечно и всем клиентам тоже прийдется ставить платформу

   Maniac

45 — 01.08.19 — 14:53

Проще всего вообще работать по старинке. А то чувствую нахватаюсь проблем и не нужной мне работы.

   fisher

46 — 01.08.19 — 14:55

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

   Йохохо

47 — 01.08.19 — 14:57

наверное позвонили и сказали «мне нужна доработка для 1с торговля 8.3» и кто то засучил рукава

   Maniac

48 — 01.08.19 — 14:59

(46) никогда с таким не сталкивался

   fisher

49 — 01.08.19 — 15:01

(48) Тогда попытайся хотя бы мысленный эксперимент поставить.

   Maniac

50 — 01.08.19 — 15:02

Последние лет пять я в принципе доволен новыми версиями типовых, и даже УТ11 сейчас считаю лучшим выбором.

   RomanYS

51 — 01.08.19 — 15:02

(45) Расширения не предназначены для поставки тиражных решений, вроде были такие заявления вендора и здесь даже причины какие-то приводились

   ДенисЧ

52 — 01.08.19 — 15:03

(48) А я сталкивался…

   bolder

53 — 01.08.19 — 15:03

(1) Всегда нужно отслеживать режим совместимости.Когда сделали режим 8.3.12 в новейших конфигурациях — это был праздник! Многие вещи будут добавлены только в будущих релизах, и это надо учитывать при проектировании решения.Что делать, если нужно все ещё вчера…

Остро не хватает плана видов характеристик…

   Maniac

54 — 01.08.19 — 15:06

(53) а мне 8.3.15 понравилась. Наконец то убрали все эти «закругленности»

   fisher

55 — 01.08.19 — 15:07

Из последнего «ломающего» навскидку: в новых релизах зарезали возможность делать серверные вызовы при завершении работы системы.

   bolder

56 — 01.08.19 — 15:08

(54) А моим бухам очень не понравилась.Режим редактирования таблиц там очень неудобный, под мобилки рассчитано…Пришлось снести назад)

   Cyberhawk

57 — 01.08.19 — 15:09

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

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

https://its.1c.ru/db/pubextensions#content:7:hdoc

   palsergeich

58 — 01.08.19 — 15:10

(55) это переход с 8.3.5

А на 8.3.7 переделали генератор форм и формы поехали ППС как, и в следующем м релизе были исправления и снова формы поехали)

   fisher

59 — 01.08.19 — 15:16

(58) «это переход с 8.3.5»

Это переход на 8.3.8

   Maniac

60 — 01.08.19 — 15:18

Количество режимов совместимости становится больше и больше. Этот винегрет становится больше.

Это все усложняется для всех участников, как и расходы. А клиенты вообще не понимают что это и зачем.

У них все просто 1С 8 и «какая то» УТ

  

   Maniac

61 — 01.08.19 — 15:23

Другими словами программировать теперь и разбиратся становится в разы сложнее, а заработок при этом остается прежним, либо еще хуже. Клиенты хать хотели на мою возню ))) 5 тысяч заплатим, 10 нет) А я эти 5 тыщ за один раз на ужин на всю семью проедаю)

   bolder

62 — 01.08.19 — 15:26

(61) Это нормально,не жалуйся.Все так питаются, только в ресторанах)

   RomanYS

63 — 01.08.19 — 15:28

(57) Нашёл это обсуждение. обновление конфигурации с расширением

На самом деле внятных аргументов не было.

Но это не отменяет того, что для целей Маньяка (как я понимаю речь про «Мегапрайс для всего» в формате расширения) расширения пока скорее кактус чем конфетка или таблетка.

   Maniac

64 — 01.08.19 — 15:28

(62) ненормально когда какие то заявления. У меня недавно был неадекватная беседа с клиентом который 3 часа со мной выяснял отношения, за то что я прошу денег больше чем у него выходит годовая подписка ИТС….. Попрощался навсегда.

   RomanYS

65 — 01.08.19 — 15:29

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

   RomanYS

66 — 01.08.19 — 15:30

(64) З часа прощался, терпелив

   palsergeich

67 — 01.08.19 — 15:30

(64) Первого неадеквата видишь что ли?

   Maniac

68 — 01.08.19 — 15:30

(63) Конкретно применимо ко мне о расширениях сейчас и речи быть не может.

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

   palsergeich

69 — 01.08.19 — 15:31

(64) это этот господин не видел что творится в отраслевках.

А там отдельные ключи ещё купи, отдельный ИТС купи, код закрыт, нужно что то изменить — купи

   Maniac

70 — 01.08.19 — 15:32

(67) не ну разные бывают. Как там.. правило Паретто. 20 гемморов против 80 с нулевым геммороем. И так далее.

   fisher

71 — 01.08.19 — 15:35

(61) Тебе кажется, что без гарантий обратной совместимости было бы лучше? :) Типа руками подбирать из архива подходящий релиз под каждую конфу было бы веселее? :)

   Cyberhawk

72 — 01.08.19 — 15:36

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

   RomanYS

73 — 01.08.19 — 15:43

(72) Проблема, что это надо сделать. А потом ещё зоопарк расширений поддерживать. А любой одинесник ленив.

   fisher

74 — 01.08.19 — 15:46

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

   Maniac

75 — 01.08.19 — 15:58

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

   Вафель

76 — 01.08.19 — 16:21

(0) Про LTS слышал что-нибудь?
след релиз который будут юзать типовые 14

   unregistered

77 — 01.08.19 — 16:28

Я y очень понял в чем конкретно проблема.

Если по заявлению автора функциональность версии 8.3.15 не используется, то в чем проблема — тупо снять галочки «Проверять значение при подключении расширения» у свойств «Режим совместимости» и «Режим совместимости интерфейса»?

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

   unregistered

78 — 01.08.19 — 16:28

(77) * Я не ….

   unregistered

79 — 01.08.19 — 16:32

(75) Есть разница между тиражным решением и одноразовой поделкой.

Ты сейчас пытаешься из одноразовой поделки (хоть и многократно проданной) сделать тиражное решение. И зоопарк из версий платформ, конфигураций и различных режимов совместимости — это только первая проблема, с которой ты столкнулся. Это ещё цветочки.

   Вафель

80 — 01.08.19 — 16:34

(77) режим расширения не может быть выше режима конфы

   unregistered

81 — 01.08.19 — 16:37

(80) Даже при отключенной при подключении проверке?

   Maniac

82 — 01.08.19 — 17:50

Смотрите. Расширение можно ПОДКЛЮЧИТЬ в конфе.

Но нужно

1) Создаем новое рашсирение через конфигуратор

2) Сравниваем обьединяем из файла

Все начинает работать.

   Maniac

83 — 01.08.19 — 17:50

Т.е. то что там режим совместимости начхать при действии в (82)

  

Maniac

84 — 01.08.19 — 17:53

Но что самое прикольное что именно при смене 8.3.12 как минимум на 8.3.14 — при принятии изменений 1С выдает сообщения что расширения изменили типы таблиц. Т.е. по факту все отличие которое выходит при изменении совместимости УТ11 это именно то что расширения как то по новму.

И это может быть важно, потому что никому не ведомо что 1С творит когда мы там добавляем что то. Регистры и прочее.

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

Новый релиз платформы 8.3.11. Легасофт.


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

Прежде всего необходимо знать об ограничениях, которые имеют расширения.

Ограничение на создаваемые объекты

На данный момент можно создавать:

  • Справочники
  • Документы
  • Регистры сведений
  • Планы обмена

Можно добавлять реквизиты в:

  • Справочники
  • Документы

Что мы имеем в итоге? Добавлять можно не все типы объектов метаданных. Самые распространенные и востребованные, но все-таки не все. Кроме того, в регистры сведений нельзя добавлять новые измерения и ресурсы. Можно только создать полностью новый регистр.

Ограничение режима совместимости

Функционал расширений зависит от режима совместимости конфигурации, к которой применяется расширение.

Ограничение режима совместимости

Режим совместимости 8.3.8 — можно менять только формы объектов и их модули, добавлять свои отчеты и обработки.

Режим совместимости 8.3.10 — можно менять общие модули, модули объекта и менеджера, роли, использовать директивы «Перед», «После», «Вместо» для любых модулей.

Режим совместимости «Не использовать» — можно использовать весь функционал расширений, включая добавление новых объектов.

На данный момент в типовой УТ 11.3 стоит режим совместимости 8.3.8. В УТ 11.4 режим совместимости 8.3.10, то есть, например, для УТ, большая часть функционала расширений недоступна, включая создание объектов метаданных.

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

Ограничение обновления

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

Ограничение обновления

Ограничение обновления

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

Ограничение обновления

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

Выводы

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

Фирма “1С” достаточно часто выпускает новые версии платформы. Среди них можно выделить версии-”прорывы” с принципиально новым функционалом. К таким можно отнести, например, платформу 8.3.11, в которой появилась возможность изменять структуру хранения данных при помощи расширений конфигурации.

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

В курс Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки добавлено новое занятие, в котором подробно рассмотрены новшества платформы 8.3.16.

Мы решили поделиться этими видеоуроками не только со слушателями курса, но и со всеми нашими подписчиками :)

Обзор новых возможностей платформы

Общая длительность всех видеоуроков – 1 час 6 минут.

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

Видео 1 – Введение
Видео 2 – Создание новых констант в расширении конфигурации

01:22 – Как создать константу в расширении
02:44 – Как создать форму констант в расширении
05:22 – Как работать с основной формой константы
05:47 – На что влияет галочка Использовать стандартные команды в свойствах константы.

Видео 3 – Назначение функциональных опций в расширениях конфигурации

00:30 – Зачем вообще нужны функциональные опции
03:29 – На что влияют и на что не влияют функциональные опции.

Видео 4 – Создание новых функциональных опций в расширении конфигурации

01:13 – Как создается функциональная опция в расширении
01:30 – Где указывается объект, предназначенный для хранения значения функциональной опции
02:16 – Какие объекты можно включать в состав функциональной опции в расширении
05:55 – Как обновить интерфейс при изменении значения функциональной опции
07:20 – Как в типовой конфигурации УТ 11 реализована работа с константами и обновление интерфейса при изменении значения функциональной опции
09:58 – Как реализовать собственную простую обработку для настройки функционала конфигурации
13:08 – Можно ли для хранения значения функциональной опции использовать константу, заимствованную из основной конфигурации.

Видео 5 – Модификация заимствованных функциональных опций

01:03 – Можно ли при помощи расширения изменить объект конфигурации, предназначенный для хранения значения функциональной опции?
02:03 – Как изменить состав заимствованной функциональной опции?
04:58 – Можно ли при помощи расширения удалить объекты из состава заимствованной функциональной опции?

Видео 6 – Создание новых параметров функциональных опций

00:33 – В каких случаях на практике используются параметры функциональных опций
06:59 – Как создать в расширении параметр функциональных опций и какие объекты к этому времени должны существовать в расширении
07:30 – Какие обработчики событий нужно реализовать для работы с параметрами функциональных опций в формах объектов
10:32 – При каких настройках функциональных опций в расширении конфигурации платформа падает.

Видео 7 – Создание новых критериев отбора

00:12 – Для чего используются критерии отбора
03:10 – Можно ли при помощи расширения изменить тип критерия отбора
04:00 – Можно ли при помощи расширения добавить в состав критерия отбора заимствованный объект
05:20 – Можно ли при помощи расширения добавить в состав критерия отбора объект, созданный в этом же расширении
05:55 – Как в пользовательском режиме проверить работоспособность критерия отбора, модифицированного при помощи расширения конфигурации
07:35 – Как создать новый критерий отбора в расширении
08:34 – Как в панели навигации формы создать ссылку для перехода к критерию отбора
09:24 – Какие ошибки возникают в пользовательском режиме при использовании критерия отбора, созданного в расширении конфигурации.

Видео 8 – Изменения в редакторе управляемой формы для расширений конфигурации

00:34 – Какие свойства в панели свойств выделяются цветом
01:28 – Как работает команда “Показывать только измененные” в панели свойств
01:53 – Как в дереве элементов формы отобразить только те элементы, которые изменены в расширении

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

Еще больше возможностей по доработке и обновлению типовых конфигураций без снятия с поддержки – в нашем учебном курсе Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить режим сна подростка
  • Как изменить режим сна на ноутбуке
  • Как изменить режим сна на макбуке
  • Как изменить режим сна на компьютере
  • Как изменить режим сна на виндовс 10

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии