Когда 1С расширения усложняют доработку конфигураций

preview_player
Показать описание
Приветствуются даже 100 руб. Спасибо.

Стрим об 1С расширениях.
В гостях Алексей Степаненко.

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

Обсудим такие темы:
✅ Как расширение "убивает" интерактивные доработки формы.
✅ Недоработки платформы, которые затрудняют расследование проблем.
✅ "Особенности" расширений.
- и может быть что-то еще

НАВИГАЦИЯ
00:00 - Вступление
02:44 - Про сарай
05:38 - Жизненный цикл доработок
08:10 - Потеря доработок (подготовка)
18:04 - Пропадают реквизиты формы
25:00 - Не работают процедуры и функции
33:08 - Когда стоит использовать 1С расширения
38:30 - Программная доработка форм без 1С расширений
01:01:30 - Найти проблемы с процедурами сложно
01:03:27 - Проблема с порядком применения расширений
01:11:40 - Можно ли сделать одно расширение
01:13:20 - Читайте стандарты на ИТС
01:15:07 - Плохое логирование действий с расширениями
01:26:30 - Проблема с ролями
01:28:00 - Как перенести доработки из расширений
01:31:30 - Разные вопросы

ДОП. МАТЕРИАЛЫ:

#1срасширения
==========
Информационные площадки "Жёлтого клуба":

Подписывайся на канала Желтого клуба, чтобы не пропустить интересных гостей
Рекомендации по теме
Комментарии
Автор

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

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

So_Fluffy
Автор

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

Johnny-zihr
Автор

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

Trubitsyn_A
Автор

Нужно помнить главное правило ВСЕГДА создавай элементы формы только программно!

i
Автор

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

Dinorus
Автор

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

dimahome
Автор

Год назад переводил контору со 2й редакции бухни на 3ю. Нетиповую. Допиливал справочники, доки. Начал с тройки, допилил, потом переход, потом перенос данных. Потратил часов 60 учитывая исправления ошибок учета. Когда в следующий раз накинули клиента с нетиповой двойкой-нарисовал все расширением за пару дней. Если мне еще кто на вопрос ответит, где хранятся данные, которые мы закидываем в созданные в расширение, то я вообще жену выгоню, на расширении женюсь. Красотка.epf

alisishnikov
Автор

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

LosashExote
Автор

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

leksmut
Автор

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

dobrorodny
Автор

12:00 Каждый реквизит формы (в т.ч. основной) расширяется отдельно и при необходимости. Если мне необходимо внести изменения в поведение формы без участия реквизитов формы, то нет никакого смысла добавлять их в расширение. Мне, как разработчику, это понятно и очевидно.

olegm
Автор

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

dima.yatchenko
Автор

Подавляющее число доработок делаем для клиентов в расширениях. Да, приходится в некоторых случаях обходить ограничения (отсутствие констант в некоторых режимах совместимости, невозможность изменить составной тип, конструктор запросов не видит все объекты, добавить в существующий справочник предопределённого элемента). Но в целом по мне - отличный инструмент. Кстати, на экзаменах спецов сначала по УТ, а теперь и по ЗУП в билетах требование - доработка в расширении. Т.е. сама 1С склоняет к использованию расширений.

andreykot
Автор

Спасибо за стрим) пересмотрел 2 раза, сам все перепроверил и очень продуктивно выступил на собрании на тему :" использовать ли расширения на новом проекте")

ИгорьЛеонтьев-вр
Автор

+100500
НО! при перенесении объектов и данных из расширений можно воспользоваться КД ))) Очень удобно - создать доп базу, в которой не будет расширений, навносить туда объектов из расширений и через КД сделать выгрузку-загрузку ))) опробовано в ЕРП БМК-БТК (которое вовсе не ЕРП, а сброд производственных хотелок из прежней БП поверх конфы ЕРП без использования ее типового функционала, хотя ткацкое производство и не такое уж сложное), где "гении от 1С" сначала фигачили объекты в расширениях, а потом все равно пришлось это переносить в основную конфу )))

NoBodyAnyBody
Автор

Информация полезная. Но, как можно говорить о переносе в продуктив обновлений/изменений без тестирования. В том числе функционального, на серьёзном проекте/клиенте если этого нет, то виноваты сами и клиент и подрядчик. Ситуаций сотни можно описать и смоделировать где платформа/инструмент не отрабатывает, но разве это оправдание переносить в работающую систему не проверенный код и функционал. Всё решается организационными вопросами. А ответ ваш: «А кто же пользуется тестами, все забивают» - просто шедевр! Регламенты и культуру разработки надо внедрять.

protskih
Автор

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

lvfplhl
Автор

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

ДинДон-из
Автор

А сейчас при проверке возможности применения на несуществующие процедуры все-таки ругается. В топ!! Только я не знаю, с какой именно это платформы работает. Я вроде бы на 8.3.22.1923 проверял
Евгений, скажите, сколько лет у Вас опыта? А у Алексея?

ЧОТКИЙ_С-НИК
Автор

Не смотрел, но тезис в заголовке полностью поддерживаю

СекретныйКот-ии