[ Бесплатное видео ] Как перенести все доработки конфигурации в расширение и вернуть ее “на замок”

С появлением механизма расширений многое становится проще :)

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

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

В итоге – сокращаются затраты на сопровождение 1С.

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

А у специалиста по 1С теперь появляется время на другие задачи: проработку методологии учета, повышение удобства работы пользователей, WoT :)

Но тут возникает интересный вопрос : )

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

Или еще распространенная ситуация.

Заказчик начинает работать с новой фирмой-франчайзи, чтобы те навели порядок после предыдущих “специалистов”. Чаще всего работа начинается именно с анализа доработок конфигурации. Выясняется, что часть доработок можно было и не делать – все можно реализовать типовыми средствами.

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

Так как же это сделать?

Видео – перенос доработок в расширение и приведение конфигурации к абсолютно типовой

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

Вы узнаете:

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

Хотите быстро изучить механизм расширений?

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

Объем – 22 учебных часа, поддержка – 2 месяца.

Комментарии / обсуждение (95):

  1. Герман

    Методика довольно понятна. Но тут очень упрощённый вариант переноса. нужно перенести лишь 1 доработку и толь ко лишь в контексте новых объектов. Как быть если доработок очень много и по мимо новых объектов нужно переносить куски кода вставленные в типовые модули?

    • Василий Ханевич

      Добрый день!
      В таком случае сначала нужно решить, стоит ли вообще переносить доработки в расширение, какие преимущества получите.
      Для работы с кодом можно использовать аннотацию &ИзменениеИКонтроль (#Вставка и #КонецВставки, #Удаление и #КонецУдаления).

  2. Денис

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

    • Василий Ханевич

      Добрый день!
      Добавление реквизитов в основную конфигурацию может оказаться “безопаснее” с той точки зрения, что при отключении расширения (например, случайном) возникнут проблемы с записью в таблицы, куда добавлены реквизиты при помощи расширения.
      А в случае работы в облаках, когда основную конфигурацию нельзя изменять, у нас нет другого выхода, кроме добавления реквизитов в расширении.
      Поэтому нужно взвесить все за и против, выбрать тот вариант решения, который подходит в конкретной ситуации.

  3. Роман

    Не получается добавить табличную часть на форму документа в расширении. ТЧ была создана в расширении. Что не так делаем?

  4. Dimkis61

    Добрый день, а можно ли при помощи конвертации данных 2.0 перенести данные в реквизит из расширения?

    • Василий Ханевич

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

  5. Марк

    Здравствуйте!

    Можно ли сделать справочник Должности иерархическим и ограничить количество уровней иерархии в ЗУП КОРП 3.1.9.108 через расширение?

    • Василий Ханевич

      Добрый день!
      Нет, такого сделать на сегодняшний день нельзя.
      Свойство Иерархический у справочника является контролируемым, т.е. будет проверяться значение свойства в расширении со значением этого же свойства в основной конфигурации.
      Если значения этих свойств не совпадут, то расширение не будет применено, система выдаст ошибку:
      Значение контролируемого свойства Иерархический у объекта Справочник.Должности не совпадает со значением в расширяемой конфигурации

  6. Ирина

    Очень неприятна резанула вот эта фраза:
    “Заказчик начинает работать с новой фирмой-франчайзи, чтобы те навели порядок после предыдущих “специалистов”. Чаще всего работа начинается именно с анализа доработок конфигурации. Выясняется, что часть доработок можно было и не делать – все можно реализовать типовыми средствами. Нужно убрать такие поделки…”

    Очень часто бывает, что функционал типовых конфигураций как бы “догоняет” запросы пользователей. И бывает так, что что-то нужно уже сейчас, а реализовано оно будет через год (хорошо, если будет вообще). Такая ситуация была у меня лично несколько раз на УПП.
    И перенос самописных изменений на типовые механизмы – это отдельная, часто большая, задача. У нас она делалась в момент перехода с базы на базу – когда резали остатки, переносили – тогда уже начинали все вести по-новой.
    А бывает еще приходит новый специалист, принимает хозяйство “как есть”, и потом тащит уже это все, потому что “тут так принято”…
    В общем, я бы не стала так обидно писать про всех подряд. Да, действительно, бывают случаи, и их немало. Но давайте как-то корректно выражаться, без вот всех этих “специалистов” в кавычках, и “поделки”.
    За державу обидно )

    • Юлия Толстых

      Добрый день, Ирина!
      Жаль, что Вас обидела эта фраза, не ставили целью кого-то задеть этой формулировкой. И если Вы перечитаете текст, то увидите, что речь не идет обо “всех подряд”, а о конкретной ситуации:

      Или еще распространенная ситуация. Заказчик начинает работать с новой фирмой-франчайзи, чтобы те навели порядок после предыдущих “специалистов”… Выясняется, что часть доработок можно было и не делать – все можно реализовать типовыми средствами.

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

  7. evsob

    Этот ролик уже актуален будет на днях(есть уже тестовая версия БП 3.0). Планирую переносить все дороботки, кроме плана счетов, в расширение, но так ролик и не добавили к материалам курса. Придется картинки выцарапывать(.

  8. rmarkovych

    Здравствуйте, Василий!
    Либо я что-то не правильно делаю, либо просто “туплю”. Под платформой 8.3.12.1529.
    Взял типовую УТ 11 последнего релиза 11.4.5.32. Снял замочек только в корне (чтобы установить версию расширения 8.3.11). Запускаю в режиме Предприятия (даже еще не создавая Расширение)и сразу ошибка : “Режим совместимости конфигурации с 1С:Предприятием версии Версия8_3_11 не поддерживается.
    Для запуска установите в конфигурации режим совместимости “Не использовать” при разработке на версии 8.3.10
    (или “Версия 8.3.10″ при разработке на более старших версиях” Что не так? Спасибо за ответ

    • Василий Ханевич

      Добрый день!
      Значит, фирма “1С” добавила в код конфигурации проверки на режим совместимости. Придется или комментировать этот программный код с проверкой, или ждать, когда разработчики добавят требуемый режим совместимости в типовой конфигурации.
      Фирма “1С” анонсировала на сентябрь выпуск релиза БП 3.0, который адаптирован к работе на платформе 8.3.12. Так что надеюсь, что скоро можно будет потестировать.

      • rmarkovych

        Спасибо большое за ответ, Василий! Будем ждать с нетерпением. Но, я хотел просто повторить как у Вас на видео. Какую платформу Вы использовали?

        • rmarkovych

          Взял УТ 11 с таким-же релизом как у Вас и на платформе 8.3.12.1529 все заработало. Очень странно, что в новом релизе (на котором я пробовал) разработчик вернул режим проверки совместимости. Еще раз спасибо за ответы!

  9. rmarkovych

    Здравствуйте!
    УНФ 1.6 Под платформой 8.3.12.1440 даже перед добавлением Расширения поменял режим совместимости с 8.3.6 на 8.3.11 при обновлении конфигурации выдает ошибки
    ОбщаяКартинка.История: Имя не уникально!
    Справочник.ДополнительныеУсловия.Команда.ОткрытьСписок: Имя команды не может совпадать с именем стандартной команды. и дальше все… В чем может быть проблема? Спасибо за ответ

    • Василий Ханевич

      Добрый день!
      Это новая проверка, добавленная в платформе 8.3.11:
      При редактировании имени пользовательской команды и при проверке логической целостности конфигурации выполняется проверка того, что имя пользовательской команды не совпадает с именем стандартной команды объекта метаданных, для которого создана пользовательская команда
      http://downloads.v8.1c.ru/content/Platform/8_3_12_1440/1cv8upd.htm#72efc32a-0573-11e7-a3f7-0050569f678a

      Для добавленной команды нельзя использовать имя стандартной команды ОткрытьСписок.
      Нужно или изменить имя команды самостоятельно (также нужно проверить, что при этом не возникнет других ошибок), или дождаться, когда фирма “1С” выпустит такое обновление.

      • rmarkovych

        Спасибо, Василий!
        Изменил имя команды. Та ошибка ушла. А что означает следующая ошибка”В истории данных нельзя использовать поле…”, добавленное расширением конфигурации
        Разобрался. Спасибо большое!

        • Василий Ханевич

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

          • cnas_tya

            Добрый день!
            Подскажите,пожалуйста, как поставить, что поля не используются в истории данных?

              • Дмитрий

                А что делать, если это поле “серое” и не доступно для редактирования?

                • Василий Ханевич

                  Добрый день!
                  Проверьте, какой режим совместимости для расширения используется. Нужен как минимум Версия 8.3.12. Если будет ниже, то поле История данных становится недоступным для редактирования.

  10. Юлия Горькова

    Здравствуйте, Василий!
    Разрабатывала расширение под платформой 8.3.12.1440, заимствовала в него документ. В расширении в документе пыталась добавить реквизит, но неуспешно при обновлении БД расширения (“Ошибка SDBL: Некорректное использование LOCAL/GLOBAL в SET GENERATION”). Думала, проблема из за платформы. Потом обновила платформу на версию 8.3.12.1469, ошибка не ушла, только изменился текст ошибки
    {В процессе обновления информационной базы произошла критическая ошибка
    по причине:
    Ошибка SDBL:
    Тип поля CAST(Document332.VT7853.Fld7858 AS (BOOLEAN, STRING(999) VARYING, REF ANY, UNDEFINED)) AS Fld7858 несовместим с типом поля Fld7858}
    Не подскажете, в чем может быть причина? Это может быть связано с тем, что документ заимствовала под платформой 8.3.12.1440, а реквизит добавляю в новой версии платформы?

    • Василий Ханевич

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

        • Василий Ханевич

          На пользовательском сайте выложили тестовую 8.3.13, попробуйте еще на ней, на копии базы, конечно.

            • Василий Ханевич

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

  11. julia2016

    Добрый день!
    Имеется конфигурация УНФ (1.6.11.83) с доработками.
    Платформа 8.3.12.1440.
    Хочется постепенно переносить доработки в расширение (сейчас это: добавлены http-сервис, общий модуль, в ряд справочников и пару документов добавлены реквизиты и код по заполнению данных реквизитов в модуле объекта, а также перечисление, регистр сведений), чтобы впоследствии легче обновлять саму УНФ.
    Режим совместимости основной конфигурации стоит 8.3.10.
    Поменяла на режим совместимости 8.3.11 как в основной конфигурации, так и в самом расширении.
    Первые проблемы, с которыми столкнулась:
    1. Пришлось менять режим совместимости;
    2. При попытке обновить само расширение: “использование перечислений в расширениях недопустимо в режиме совместимости 8.3.11 и ниже”;
    3. При попытке обновить само расширение: “в истории данных нельзя использовать поле Справочник.[ИмяСправочника].Реквизит.ПлановыйСрокВыполнения, добавленное расширением конфигурации”;
    4. Также есть проблема с переносом констант (но тут можно сделать справочник с предопределенными элементами), регламентных заданий, функциональных опций.
    Хотя “проверка возможности применения всех расширений” не обнаружила никаких проблем.
    Если режим совместимости не менять, то вообще беда при попытке обновить само расширение:
    1. Справочник.[ИмяСправочника].Реквизит.ПлановыйСрокВыполнения: Использование метаданных, влияющих на структуры данных, в расширении недопустимо;
    2. РегистрСведений.[ИмяРегистра]: Использование регистров сведений в расширениях недопустимо в режиме совместимости 8.3.10 и ниже;
    3. Справочник.[ИмяСправочника].Реквизит.TimeStamp: Добавление дочерних объектов этого типа к заимствованным в расширениях недопустимо в режиме совместимости 8.3.10 и ниже;
    4. в истории данных нельзя использовать поле Справочник.[ИмяСправочника].Реквизит.ПлановыйСрокВыполнения, добавленное расширением конфигурации.
    Подскажите, пожалуйста, что делаю не так.

    • Василий Ханевич

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

      • Юлия Горькова

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

        • Василий Ханевич

          Под платформой 8.3.11 не получится использовать возможности, которые появились только в 8.3.12.
          А при использовании 8.3.12 нужно установить режим совместимости в значение Не использовать, тогда можно будет создавать новые перечисления при помощи расширений. Тогда не нужно будет ждать следующего релиза платформы.

          • Юлия Горькова

            Добрый день, Василий!
            Как можно обойти такую проблему:
            “Справочник.FSM_ТерриторииОбслуживания: Использование предопределенных данных в расширении недопустимо
            При проверке метаданных обнаружены ошибки!
            Операция не может быть выполнена.
            ” ?

            • Василий Ханевич

              Добрый день!
              Возможно, дело в режиме совместимости и используемой версии платформы. Беру платформу 8.3.11.2954, создаю чистую базу (режим совместимости – Не использовать), добавляю справочник с предопределенным элементом. Этот предопределенный элемент заимствую в расширение. Конфигурация базы данных корректно обновляется.
              На более новых версиях действительно выдается такое сообщение об ошибке. Хотя в документации про такую ошибку не написано. Как вариант обхода – попробовать предыдущие релизы платформы (если режим совместимости конфигурации, конечно, позволяет). Попробовать не заимствовать в расширение предопределенные элементы. Либо написать разработчикам платформы, получить от них комментарий, уточнить, не является ли такая ситуация ошибочной.

              • Юлия Горькова

                Здравствуйте, Василий!
                а с такой еще ошибкой не сталкивались:
                “В процессе обновления информационной базы произошла критическая ошибка
                по причине:
                Ошибка SDBL:
                Некорректное использование LOCAL/GLOBAL в SET GENERATION” ?
                Она возникает при удалении расширения из конфигуратора.
                Платформа 8.3.12.1440

                • Василий Ханевич

                  Добрый день!
                  Нет, не сталкивался. Попробуйте тестовую версию платформы 8.3.12.1469. Может, на ней такая ошибка уже поправлена.

                  • Юлия Горькова

                    Спасибо большое, Василий!
                    Попробовала проверить на новой платформе, но к сожалению, ошибка не ушла. Пошла по другому сценарию. Нашла место, при котором ошибка возникла (в заимствованный документ добавила новый реквизит, что привело к критической ошибке при обновлении расширения). И реквизит оставила в документе основной конфигурации, а потом его заимствовала в расширение. Расширение обновилось. Но после этого возникла другая проблема, когда стала проверять расширение в режиме Предприятие:
                    {МоеРасширение Справочник.[ИмяСправочника].Форма.ФормаЭлемента.Форма(33)}: Ошибка при вызове метода контекста (Записать)
                    ОбъектОбслуживания.Записать();
                    по причине:
                    Работа с таблицей невозможна. Структура таблицы несовместима с текущими расширениями конфигурации.}
                    Назначение расширения – Дополнение.

                    • Василий Ханевич

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

  12. Василий Ханевич

    Добрый день!
    Значит, в коде конфигурации была добавлена проверки на режим совместимости. Придется или комментировать этот программный код с проверкой, или ждать, когда фирма “1С” поддержит требуемый режим совместимости в типовой конфигурации.
    Фирма “1С” анонсировала на сентябрь выпуск релиза БП, который адаптирован к работе на платформе 8.3.12. Так что надеюсь, что скоро можно будет потестировать.

  13. Дмитрий Конаков

    Добрый день!
    А вот такая ситуация, когда то давно конфигурацию целиком сняли с замка, но с сохранением поддержки. Изменено около 10 объектов плюс добавлено 15 своих.
    Обновление ее проходит очень долго, решили вернуть под “замок” объекты. Но объектов очень много, можно как то ускорить процесс нажатия кнопки “изменить” и настроить поддержку изменения объектов? Или может есть какой-то более быстрый способ?

    • Василий Ханевич

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

  14. Максим

    Ролик, конечно, познавательный, спасибо!
    Однако после просмотра возникло несколько вопросов.
    1. Нет ли более гуманного способа переноса данных справочника из конфигурации в расширение? В идеале с сохранением идентификаторов (справочник может участвовать в обмене). Ручной перенос – дело трудоемкое.
    2. Как быть, если на переносимый справочник есть ссылки в коде (во внешних отчетах, в процедурах проведения и т.д.)? Переписывать весь код под новое наименование справочника? Ссылки ведь могут быть и неявными, например, в свойстве реквизита “Связи параметров выбора”.
    3. В типовых УТ 11.4, БП 3.0 такое расширение заработает только под полными правами. Если для доступа к добавленному справочнику нужно будет дать права “рядовому” пользователю, то для этого придется создать новую роль в расширении. При попытке назначить роль пользователю ловим ошибку (текст ошибки представлен ниже). Как быть с этой проблемой? Ждать, когда 1С уберет режим совместимости с типовых конфигураций?

    Ошибка при выполнении обработчика – ‘ПриЗаписи’
    по причине:
    {Справочник.ИдентификаторыОбъектовМетаданных.МодульМенеджера(2702)}: Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторыОбъектаМетаданных().
    Для объекта метаданных “Справочник.РУНА_СправочникВРасширении”
    не найден идентификатор в справочнике “Идентификаторы объектов метаданных” и регистре сведений “Идентификаторы объектов версий расширений”.

    • Василий Ханевич

      Добрый день!
      1. Автоматического универсального способа тут нет. Нужно продумывать свои обработки, которые перенесут данные. При программной работе можно назначить идентификаторы создаваемым элементам справочника.
      Возможно, есть смысл создавать временный вспомогательный регистр сведений, где будет храниться соответствие ссылки на старый справочник и ссылки на ной справочник. И потом по этому регистру заменять данные в базе.
      2. Да, все такие вхождения нужно отловить и обработать. Согласен, тут может быть много работы.
      3. В БСП 2.4 реализован учет ролей из расширений. Попробуйте запустить приложение в пользовательском режиме с параметром командной строки ЗапуститьОбновлениеИнформационнойБазы.

      • Максим

        Здравствуйте! Спасибо за пояснение.
        Запуск приложения с параметром ЗапуститьОбновлениеИнформационнойБазы не помог. В процессе обновления ловлю ту же самую ошибку:
        Для объекта метаданных “Справочник.РУНА_СправочникВРасширении” не найден идентификатор в справочнике “Идентификаторы объектов метаданных” и регистре сведений “Идентификаторы объектов версий расширений”.
        Релиз БП 3.0.61.37.

        • Василий Ханевич

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

  15. Ольга

    Добрый день!
    У меня изменена одна процедура общего модуля. Как правильно перенести ее в расширения, чтобы облегчить обновление конфигурации. Но при этом оставить функционал (Эту процедуру использует сложный отчет.)

    • Василий Ханевич

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

  16. Ultra_marine

    Здравствуйте. Можно ли использовать объекты из расширения при конвертации данных (КД 2.0). Если нет, то какой есть выход? Изменять типовую? А в КД 3.0 можно ли?

    • Василий Ханевич

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

  17. Vid1

    Добрый день!
    Пытаюсь в БП 3.0.60.50 на платформе 8.3.11.3034
    Установить для корнего элемента режим совместимости в “Не использовать” и создать расширение с новыми регистрами.
    При запуске конфы получаю:
    {ОбщийМодуль.СтандартныеПодсистемыСервер.Модуль(2484)}: Режим совместимости конфигурации с 1С:Предприятием версии 8.3.11 не поддерживается.
    Для запуска установите в конфигурации режим совместимости “Не использовать” при разработке на версии 8.3.10
    (или “Версия 8.3.10” при разработке на более старших версиях).
    ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(

    https://yadi.sk/i/7Bdmwvqf3Uo42h

    • Василий Ханевич

      Добрый день!
      Значит, в коде конфигурации есть еще проверки на режим совместимости. Придется или корректировать этот программный код, или ждать, когда фирма “1С” поддержит требуемый режим совместимости в типовой конфигурации.

  18. Виталий Хомутецкий

    Здравствуйте! Подскажите, пожалуйста, механизм расширений умеет работать с обычными формами или только с управляемыми?

  19. LeonidMessin22

    Четко. Куплю пожалуй…
    Зачем вы ускоряете видео? Мне приходится смотреть курсы на скорости 0.7х :(

  20. Anton093

    А какую цель мы ставили, при переходе на использование функционала расширений? Дать возможность пользователю самостоятельно обновлять конфигурацию в автоматическом режиме, если я не ошибаюсь. В результате мы достигли цели в этом видео? – нет, не достигли. Тогда вопрос – зачем нужны эти расширения? Какая и кому от них польза? Я считаю, что пока все типовые конфигурации не подтянутся к режиму совместимости 8.3.11 – рано говорить о каком-либо использовании расширений на практике, так как функционал их ещё очень сырой. Конфигурация с добавленными реквизитами и так без проблем обновлялась без потери данных. А перевод на использование расширений в настоящее время всё ещё выглядит как бесполезные трудозатраты.

    • Василий Ханевич

      Добрый день!
      У нас осталось измененным только одно свойство у корневого элемента конфигурации – Режим совместимости. При обновлении из пользовательского режима это свойство будет сохранено. А при выпуске релиза с новым режимом совместимости 8.3.11 можно будет вернуть “под замок” и конфигурацию целиком.
      А то, что типовые конфигурации и БСП отстают от возможностей платформы, – это факт.
      То, что ждем реализации режима совместимости 8.3.11, – тоже верно.
      То, что проблем с расширениями хватает, – тоже согласен. Механизм уж очень быстро развивается.
      Поэтому на практике обязательно нужно взвешивать все за и против, принимая решение о переходе на использование расширений.

  21. benzol45

    Добрый день.
    Спасибо за познавательное видео.
    Когда появилась информация о добавлении механизма расширений я так же думал что повешу на все конфигурации замок и все доработки вынесу в расширение но на тесте в реальной работе столкнулся с тем что на Рознице 2.1 платформа 8.3.10.2650 при вынесении доработок в расширение получил замедление работы процедур в 2-3 раза. То что выполнялось за 0,8 секунды стало выполняться 2-3 секунды, а учитывая что это даёт в 2-3 раза замедление работы с покупателем разумеется это оказалось неприемлемым. Буду очень благодарен за ответ от экспертов: такое поведение при работе с расширениями это норма и связано с особенностями их работы или это проблема платформы (кстати другие релизы так же пробовал, значительных изменений нет) или это я не умею готовить расширения ? Жаль ставить крест на такой перспективной технологии но и применять в таких условиях невозможно.

    • Василий Ханевич

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

      • benzol45

        Добрый день.
        Спасибо за ваши идеи по моей проблеме. На 8.3.12 попробую, может и будут улучшения. В остальном ваши предположения совершенно верны – замедление именно на доработанных управляемых формах и на достаточно сложных. По сути вся Розница крутится вокруг РМК которая реально монструозна и доработки расширениями тоже реализованы для неё. Проблема что замедление получаем даже на операциях непосредственно с формой не связанных – например на “После” стандартной процедуры обработки ШК в расширении добавлена наша постобработка – разница между этим кодом в конфигурации и этим же кодом в расширении в 3,5 раза. А это самая частая операция у продавцов.
        Очень надеюсь на исправление проблем – я этого механизма ждал с момента как ушел с 7.7 на 8-ку и увидел механизм поддержки конфигураций.

        • Василий Ханевич

          Да, РМК в Рознице – тот ещё монстр:)
          Если расширения так сильно ухудшают производительность, то лучше на рабочей базе их пока не использовать.
          Попробуйте воспроизвести на демо-базе Розницы такое поведение. И по возможности напишите разработчикам платформы, чтобы у них был точный пример низкой производительности, вызванный именно расширениями. Надеюсь, что в следующих релизах платформы эту проблему получится решить.

        • tol

          Добрый день!
          Так же раздираюсь между «нравится» и «сыроват» механизм, возни добавляет но зато в расширении только необходимая ветка расширяемой УФ, а не вся «корова» целиком.

  22. Михаил Госьков

    Добрый день!
    Есть ли способ скопировать в расширение новые или измененные объекты из доработанной конфигурации так, чтобы потом можно было поставить конфигурацию на “замок”?
    Трудно создать в расширении заново объекты с большим количеством реквизитов и не ошибиться при этом со свойствами.

    • Василий Ханевич

      Добрый день!
      Можно через Ctrl+C в основной конфигурации, Ctrl+V в расширении.

  23. Александр

    Добрый день!
    Василий, подскажите, есть ли в планах или уже реализовано:
    1. Сравнение расширения с типовой конфигурацией при обновлении и адаптация расширения “на лету” (как при обновлении доработанных конфигураций) – “проверка возможности применения” не всегда прокатывает, приходится сравнивать с cf
    2. Жизненно нужно хранилище конфигурации для расширений.

      • drugoi_mir

        1. Т.е. получается общие модули все еще лучше дорабатывать без расширений, если нужно изменить часть где-то в середине. Иначе при обновлении тяджело будет сравнивать?

        • Василий Ханевич

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

  24. Дмитрий Кузнецов

    “НайтиПоКоду()”, вместо того чтобы сразу получить ссылку на справочник в расширении в запросе, используете по технологическим причинам или “так получилось и не в этом смысл видео”?

    Будут какие-то предложения тем кто прошел первый вариант курса? Может просто дадите доступ к новым видео? )))

    • Кузьмин Сергей

      Для участников первого потока обновленные материалы доступны бесплатно на странице с материалами курса.

    • Василий Ханевич

      Добрый день!
      >>НайтиПоКоду
      Это самый простой и быстрый для демонстрации вариант. Плюс он позволяет выполнять этапы переноса в разное время: сначала делаем первый шаг (переносим только справочники), затем – второй (заполняем документы). И нам не потребуется хранить сопоставление справочников во вспомогательном регистре сведений, ведь у нас они однозначно идентифицируются по коду.
      Еще вариант – можно использовать Соответствие, тогда при заполнении документов не придется обращаться к базе данных.
      И при реальных переносах нужно обрабатывать ошибки при записи элементов справочника. Также хорошо бы добавить поиск уже существующих в справочнике элементов, чтобы не насоздавать дублей.
      В общем, с точки зрения организации переноса в видео было опущено много важных вещей, чтобы не уходить в сторону от основной темы.

  25. evsob

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

  26. Andry

    Спасибо за видео. Все у Вас как всегда на высоте.
    Если я правильно понял в режиме совместимости 8.3.11 даже при отключении расширения с измененными данными данные не потеряются. Или я не прав?

    • Василий Ханевич

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

  27. Lena101

    Здравствуйте!

    В вашем видео Конфигурация находится на поддержке с возможность изменения, а как быть если Конфигурация не находится на поддержке, как провести анализ выполненных доработок, кнопка “Сравнить, объединить” не активна.

    • Василий Ханевич

      Добрый день!
      В таком случае нужно взять cf-файл типовой конфигурации этого же релиза (скачать с пользовательского сайта фирмы “1С”, также дистрибутивы шаблонов доступны на партнерском диске ИТС) и выполнить сравнение конфигурации с этим файлом.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

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

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.