5 подходов при доработке конфигурации 1С, чтобы в будущем не было мучительно больно её обновлять

10.08.23

Архитектура

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

 

 

1. Корректно оформлять доработки комментариями и префиксами

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

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

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

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

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

Почему этого не делают?

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

 

2. Не делать частичное обновление конфигурации 1С

Что это значит?

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

Зачем это делают?

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

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

Почему так делать не стоит?

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

Если все-таки делать, то как?

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

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

 

3. Не менять запросы с использованием конструктора запросов

Зачем это делают?

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

Почему так делать не стоит?

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

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

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

Впрочем, все вышеописанное не означает, что конструктор запросов использовать нельзя. Он подходит для контроля корректности запроса и отсутствия в нем синтаксических ошибок. Главное — закрывать конструктор, не сохраняя запрос, а доработки вносить напрямую в код.

 

4. Избегать копирования типовых объектов и кода

Что это значит?

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

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

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

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

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

Зачем это делают?

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

 

5. Не использовать расширения для доработки типовых объектов

Что это значит?

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

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

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

Зачем это делают?

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

Если все-таки делать, то как?

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

обновление разработка расширения конструктор запросов нетиповая конфигурация

См. также

Как мы автоматизировали башню раздачи воды

Кейсы автоматизации Платформа 1С v8.3 Энергетика и ЖКХ Россия Бесплатно (free)

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

27.12.2023    1535    0    slavik27    4    

14

Управленческие аналитики для 1С:Бухгалтерии – отчеты для принятия верных решений

Отчеты и дашборды Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Бесплатно (free)

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

11.12.2023    1743    0    Serg_Tangatarov    2    

15

Архитектурное ревью. Процесс разработки

Архитектура решений Бесплатно (free)

Рассмотрим применение архитектурной проверки задач в процессе разработки.

30.10.2023    4044    0    ivanov660    10    

30

Технология разработки Рабочих мест для автоматизации производственных процессов и управленческого учета

Кейсы автоматизации Работа с требованиями Анализ бизнес-процессов Бесплатно (free)

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

26.10.2023    1991    0    user1754524    15    

15

Опыт оптимизации системы ERP на примере железнодорожного холдинга численностью 10 тыс. человек

Кейсы автоматизации Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

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

29.08.2023    2982    0    ke_almaty    0    

14

Внедрение системы технологического контроля (практический кейс)

Кейсы автоматизации Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Управленческий учет Бесплатно (free)

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

22.05.2023    1459    0    Ingraf    0    

15

Бухгалтерский и Управленческий учеты - антагонисты, симбионты или альтернативы?

Ведение учета Россия Бухгалтерский учет Управленческий учет Бесплатно (free)

Автор за долгие годы так и не получил внятного представления о субстанции под названием "управленческий учет". Статья - попытка порассуждать на эту тему и получить советы и отзывы коллег.

25.04.2023    2142    0    DemetrKlim    43    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Vasvas05 22 10.08.23 18:10 Сейчас в теме
5. Не использовать расширения для доработки типовых объектов

насчет этого можно спорить и спорить
_pl; insurgut; vvh74; cleaner_it; add063; Totoro; Matveev_VS; SoFluffy; Award; Рамзес; RocKeR_13; skeptik2105; it_depDi; kas1989; AlexeyT1978; Neuroproton; voneska7; awk; DrAku1a; kirillkr; Krotov_Valery; antonius888; sergelemon; SoLRoN; sewell; bilex; YA_1130000057973079; SergVolga_34; +28 Ответить
2. PerlAmutor 129 10.08.23 18:35 Сейчас в теме
Про расширения - 100%. Когда объединяешь конфигурации через git, то именно код в расширениях доставляет боль (если без СКонтролем), т.к. бесполезно сравнивать новый типовой код и то, что в расширении, когда там кусками просто функции какие-то
Еще боль доставляют изменение свойств объектов метаданных, когда к этим изменениям невозможно оставить комментарий (например запретить Оперативной проведение, Заполнять из данных заполнения и т.п.).

Сравнение ролей тоже боль, большинство утилит трехстороннего сравнения/объединения с трудом переваривают такие объемы текстовых файлов.
А измененные макеты - всегда глазками, всегда вручную, тут редко может помочь какая-нибудь утилита.
Ну и изменение типовых управляемых форм - тот кто делает изменения элементов в типовых формах - зло в чистом виде...
olexi2012; mRconik; 1c-izhtc; +3 Ответить
4. monkbest 115 11.08.23 11:32 Сейчас в теме
(1) мне нравится следующая позиция: расширения только для hotfix. Сама 1С так их и использует. Это миф, что их придумали для "модульности".
Вот минусы разработки в расширениях:
1) Как ты проанализируешь доработки, если их нет в конфе? доработку в конфе я могу проанализировать запустив сравнение с конфой поддержки. расширение - только сохранять в текстовички.
2) просто прочитав текст модуля я не могу предсказать поведение программы, без отладки я не узнаю, что эта процедура модифицированная
3) при обновлении ты не отменяешь анализ, а откладываешь его и усложняешь. Автор обновления лихо его ставит, а с расширением пусть мучается кто-то другой, я обнову поставил, остальное меня не интересует.
4) могут отключиться и пользователь начнет заносить данные без логики в расширении. только разраб или админ правильно среагирует на сообщение "расширение1 неактивно"
begemot; it_tungus; oveksKnaaz; n2m3m; olexi2012; triviumfan; winapi; 1c-izhtc; +8 Ответить
22. qwe1qaz 15.08.23 07:27 Сейчас в теме
(1)когда 1С сделает функционал для сравнения конфы с расширением, тогда можно и говорить о расширениях, а так придумали костыль для ларьков
Artem-B; monkbest; +2 Ответить
34. Vinzor 91 22.08.23 08:55 Сейчас в теме
(1) Согласен.
Вчера 2 часа убил, чтобы понять как решить проблему "Недостаточности прав" пользователя в отчете по "Воинскому учету".
В итоге решил в расширение затащить "Основную схему компоновки данных", в которой запрос на представлениях заменить на полноценный, который получил в обработке "замены представлений".
Печаль в том, что несмотря на то, что в запросе на представлениях применены конструкции
"Выбрать разрешенные
бла-
бла-
бла-

ГДЕ "Только разрешенные" = истина" (!!!!!!)
при разворачивании в СКД полноценного запроса получаются выборки, где нет "Выбрать разрешенные", потому и "падает" формирование отчета.
В одной "временной таблице" запроса на представлениях, описанного выше, выбираются данные о "приемах" и "увольнениях".
В полноценном запросе "Разрешенные" только "в Приемах", а вот ВТ "Увольнения" идёт без "Разрешенных".

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

А так расширения всегда делаю с директивой "ИзменениеИКонтроль", чтобы превалировал код основной конфигурации.
3. monkbest 115 11.08.23 11:19 Сейчас в теме
Если код модифицируется или удаляется, то исходный типовой код должен быть сохранен в виде комментария, а не просто удален или изменен.

вот это плохой совет, так часто делают молодые коллективы
1) в сравнении вы не увидите остатков старого кода
2) читать код станет не удобно. Читаем читаем, стоп скроли три экрана, читаем дальше, так а эта переменная чему равна , скролим три экрана обратно... а это соседние строчки по сути.
3) пользы нет никакой, типовой код всегда можно найти в конфигурации поддержки, так еще и сравнение с ней запустить
4) что ты будешь делать, когда понадобится дорабатывать доработанное? Добавим еще три экрана закомментированного кода! Комментарии в комментариях.

Я знаю о чем говорю, часто встречал простыни нечитабельного кода, а потом удалял все эти "здесь был Вася" и остается 10 строчек понятной красоты. Все доработки и так видно при сравнении, а кто их когда делал смотрите в системе контроля версий (Git или хранилище)

Ну и в целом, читаем классику Роберта С. Мартина и понимаем, что комментарии зло в целом. Кроме написания ФИО автора, даты и номера таска - остальные комментарии от импотенции автора кода. Пишите такой код, который понятен без посторонних сочинений на вольную тему.
add063; SoFluffy; Award; Asakra; EvgeniyOlxovskiy; olexi2012; Бубузяка; Golovanoff; wonderboy; user1637690; winapi; Serko12PKC; batsy66; +13 Ответить
7. Vasvas05 22 11.08.23 18:43 Сейчас в теме
(3)
Кроме написания ФИО автора, даты и номера таска - остальные комментарии от импотенции автора кода

так себе, потом как вы откроете этот номер таска, если нет доступа к нему? Комментарий нужен, если он большой, то тут вопрос уже как организовать его просмотр - в отдельной программе или сверху "простыня".
cleaner_it; smit1c; +2 Ответить
9. monkbest 115 12.08.23 07:05 Сейчас в теме
(7) только в отдельном так трекере! Ещё раз повторюсь, простыни мешают читать код. А толку от комментариев к коду, который изменили более одного раза нет. Вместо слов за слэшами напишите красиво и аккуратно, с нормальными именами переменных именами функций и пр
add063; Asakra; Golovanoff; wonderboy; +4 Ответить
15. &rew 49 14.08.23 10:42 Сейчас в теме
(3)
2) читать код станет не удобно. Читаем читаем, стоп скроли три экрана, читаем дальше, так а эта переменная чему равна , скролим три экрана обратно... а это соседние строчки по сути.

Можно ж в #Область #КонецОбласти, свернуть и не скролить.

А вообще этот совет Автора имеет смысл если посмотреть на него в контексте проверки возможности применения расширения. При восстановлении метода с помощью сторонней программы (например kDiff3) мы четко увидим что было изменено в процедуре.
Хотя накапливать эти простыни из обновления к обновлению, не стоит. Даже этот смысл потеряется.
23. qwe1qaz 15.08.23 07:30 Сейчас в теме
(3)
вот это плохой совет, так часто делают молодые коллективы

а если не обновление, а просто тебе надо проанализировать этот кусок кода, то так ты видишь что было у разработчиков и что изменилось. и сравнение делать не надо
26. monkbest 115 15.08.23 10:17 Сейчас в теме
(23)
На первый взгляд да, но...
1. Еще раз повторюсь про повторную доработку. Этот подход породит комментарии в комментарии
2. Код в комментарии никто не будет обновлять. Т.е. в обновлении "аутентичный" код изменился, а в комментарии кто его будет поддерживать?
3. В комментарии все зеленое, там нет подсветки синтаксиса, читать это - вырви глаз, быстрее в конфе поддержки без сравнения открыть этот модуль и процедуру и почитать с подсветкой, чем обучить свой мозг читать одноцветный код.

и еще много других минусов...
я не претендую на гуру и некоторые вещи могу криво излагать, поэтому и предложил ознакомиться с книжкой, там автор долго и со вкусом на протяжении сотен страниц разжевывает тему. Он там специально, чтобы книжка получилось книжкой, а не 10 строчек с правилами, много воды переливает из угла в угол, но зато доступно и понятно, сомнений не остается. После применения его постулатов читать свой собственный код спустя 5 лет в разы проще
Рамзес; EvgeniyOlxovskiy; +2 Ответить
35. Vinzor 91 22.08.23 09:29 Сейчас в теме
(3) Да, есть такое
Читать такой код - боль в глазах.
Я порой в таких случаях всё комменчу, облачаю в область "Отмененный код" и ниже пишу нормально.
И вот он, как на ладони, читабельный.
Хотите посмотреть, как до этого было - раскрывайте "Область" и ... читайте, если сможете )))
5. itmind 310 11.08.23 15:18 Сейчас в теме
5 пункт возможно зависит от количества изменений. Доработки с помощью расширений сократили время обновления релизов типовых конфигураций (ERP, УТ11) с 2-4 часов до 20 минут. Код модифицированный с помощью расширений очень редко меняется в новых релизах.
Когда изменения в самой конфигурации и изменилось в новом релизе например 100 модулей, то нужно просмотреть каждый, что бы определить есть там наши доработки или нет. Когда изменения через расширения, то мы всегда проверяем например только наши 10 измененных модулей.
Минус расширений в том, что без отладчика очень тяжело определить, изменена ли процедура в расширении или нет: 1с поставляет десятки "патчей"-расширений к ЕРП. Иногда приходится выгружать все расширения в bsl файлы и делать поиск по ним.
Asakra; Рамзес; almierm; Neuroproton; user1109821; +5 Ответить
6. batsy66 61 11.08.23 17:18 Сейчас в теме
(5)"изменение и контроль" + проверка применимости расширений не поможет в этом случае?
Vinzor; add063; Рамзес; &rew; verniypro; +5 Ответить
19. monkbest 115 14.08.23 15:54 Сейчас в теме
(6) поможет конечно, но её же надо запускать, а это время. И не дай бог изменения серьезные, если разработку считай с нуля надо делать, то скорость разработки в расширении в разы медленнее
20. batsy66 61 14.08.23 16:14 Сейчас в теме
(19)можно скриптами это сделать, сразу после сборки
18. monkbest 115 14.08.23 15:51 Сейчас в теме
(5)
что-то не вяжется
1. доработка в конфе:
1.1 в обновлении модуль не затронут - затраты обновляющего = 0 секунд на модуль
1.2 модуль затронут - мы в сравнении сразу видим степень изменений, обновляющий принимает решение по процедурно, фиксирует принятые решения и тратит время на объединение.
2. доработка в расширении
2.1 в обновлении модуль не затронут - затраты обновляющего = 0 секунд на модуль
2.2 модуль затронут - затраты обновляющего = 0 секунд на модуль, но потом без возможности быстро сопоставить доработанный код с типовым, копируя тексты в блокнотик, запуская сторонние кадифы и еще черти что он тратит времени больше чем в пункте 1.2
37. user659535_Necron500 20.12.23 08:44 Сейчас в теме
(18) Не, тот же Beyond Compare себе поставил и сравнение в нём делать в тысячу раз удобнее, учитывая что его можно тупо поставить вместо стандартной сравнивалки. И все изменения можно за пару кликов перенести в случае с расширением.
8. winapi 60 12.08.23 03:11 Сейчас в теме
Комменты приходится писать прямо посреди бизнес логики, начало добавления и конец добавления, кем добавлено и особенно если их потом никогда не чистить - получается каша. В джаве например пишется одна документация на метод, а все комментарии фиксируются в коммитах, а система разработки очень удобно их подсвечивает, не загромождая основной код, возможно в EDT есть что-то похожее, но в конфигураторе - нет (хотя при помещении в хранилище как правило указываются комменты).
Насчёт расширений тоже могу сказать, что АОП используется как раз не для БИЗНЕС ЛОГИКИ, а для логов например и т.п. что никак не влияет на сам алгоритм, он в одном месте и нет никаких неожиданностей в его выполнении.
Многие ограничения накладывает процедурный слабо типизированный язык 1с, хранение исходного кода в БД (Талица config), монолитность архитектуры, отсутствие "изолированности объектов" - хочу пишу в общем модуле, хочу в модуле менеджера или объекта, есть рекомендации, но не более.
Все это выливается в тяжело поддерживаемые решения, плохую масштабируемость, отсутствие нормального юнит тестирования (хочешь в параметр пришли массив чисел или массив структур или неопределенно или что хочешь, ошибки в компиляции не будет).
В небольших компаниях ещё можно как-то сделать более-мне нормально, но когда в отделе куча людей, нет пул реквестов - получается ужасный монолитный монстр, завязанный на реализации, где даже при небольшой доработке может сломаться там где вообще не ожидал.
10. rutadmeen 80 12.08.23 09:33 Сейчас в теме
Про расширение не согласен, остальное разумно
Рамзес; +1 Ответить
11. Dimanchik00 12.08.23 12:44 Сейчас в теме
Поддержу коллег выше, про расширения спорно. Хоть и упомянули про ЗУП,ERP и УТ, но никто не подсветил такой момент. Конфигурации, которые используются для регламентированного учета (БП,ЗУП) часто обновляются и вот их надо держать максимально типовыми. Как раз расширения помогут. И если вы умеете грамотно разрабатывать - риски очень минимальны. А вот операционку - ERP, УТ, КА - возможно принимать решение по доработке (п.п.1-4)
AntonProgma; +1 1 Ответить
13. triviumfan 93 14.08.23 09:36 Сейчас в теме
(11)
Конфигурации, которые используются для регламентированного учета (БП,ЗУП) часто обновляются и вот их надо держать максимально типовыми

1С сама выпустит хотфикс или обнову максимально оперативно. Зачем тут что-то дорабатывать?)
16. Dimanchik00 14.08.23 14:25 Сейчас в теме
(13) Я про другое, про доработку своей функциональности (например отраслевой) для БП, ЗУП. В таком случае лучше через расширения и пр. А вот там где редко обновляется или не обновляется совсем. Там да - лучше конфу дорабатывать.
27. &rew 49 15.08.23 10:21 Сейчас в теме
(11) ERP то редко обновляется? Да Нуралиев с Вами! Там же регламента больше чем в БП. Устанете потом эти решения приводить к обновлениям, когда нужно будет очередное МЧД с маркировкой чего-либо внедрить. Тут только УТ и то - спорно (в том числе по озвученным выше причинам).
28. Dimanchik00 15.08.23 10:25 Сейчас в теме
(27) Да, обновляется, и часто. Но многие ведут регучет в отдельной базе или базах, а ERP и прочее обновляют редко. Мой посыл был, что учится аккуратно писать и по крайней мере ЗУП и БП держать типовыми.
EvgeniyOlxovskiy; +1 Ответить
29. &rew 49 15.08.23 10:33 Сейчас в теме
(28) У меня сейчас есть пул клиентов, которым надо ЕРП и КА обновить до последнего релиза. И как обычно - срочно. Что греха таить, даже отраслевой фитнес теперь надо обновлять, если газировкой и тапками торгуешь + всякие новые варианты оплаты (это ж фронт). Помню времена, когда УТ 10 и УПП можно было как угодно менять, без особых последствий. Но они уже давно канули в лету.
Dimanchik00; +1 Ответить
12. МимохожийОднако 141 13.08.23 08:02 Сейчас в теме
Важно добавить к статье , чтобы в компании Заказчика был ответственный сотрудник, который бы контролировал хотелки. У семи нянек дитя без глазу. Это хорошая удача, когда база в руках одного контролёра и одного разработчика. А когда меняют контролёров и разработчиков как коней на переправе, то ничего хорошего не жди.
EvgeniyOlxovskiy; Bell; +2 Ответить
14. AntonProgma 46 14.08.23 09:50 Сейчас в теме
Используем расширения именно как библиотеки (модули). Причём, слоями: абстрактные инструменты -> доработки БСП -> расширения для синхронизации -> универсальное расширение для Бухгалтерии -> расширение для такой-то базы.

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

Есть, конечно, постоянное беспокойство, что расширение молча не применится. Возможно, в некоторых случай стоит в типой код при запуске приложения добавить вызов функции из расширения. Чтобы падение программы уберегло от работы без критичных доработок.
17. Dimanchik00 14.08.23 14:35 Сейчас в теме
(14) Есть же метод программной проверки применимости расширения ПроверитьВозможностьПрименения() . ИТС
21. AntonProgma 46 14.08.23 18:45 Сейчас в теме
24. qwe1qaz 15.08.23 07:38 Сейчас в теме
про 2 пункт дико плюсую, сам работал в конторе, где конфа была сильно доработана и пару подсистем не обновляли. через пару обновлении я понял что это до хорошего не доведет, так как все равно эти подсистемы использую код из других подсистем, а они меняются и меняются кардинально.
25. skeptik2105 15.08.23 09:25 Сейчас в теме
1C-ИЖТИСИ


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


5. Не использовать расширения для доработки типовых объектов


Отличный совет, что бы стать клиентом компании ИЖТИСИ.
30. LosevI 16.08.23 07:03 Сейчас в теме
О, мое любимое, срач о расширениях.
Постулирую в 10ый раз (если честно, мне уже надоело это делать, но пусть хоть согласные с моей точкой зрения не чувствуют себя одиноко в комментариях):
1) Расширения - механизм, созданный компанией 1С для реализации возможностей внутри БСП для быстрых хотфиксов типовых конфигураций на горячую и из облака.
2) Если вам показалось, что этот механизм предназначен еще для чего-то - вам показалось.
3) Если вы дорабатываете типовую конфигурацию с помощью расширений, вас можно понять и простить только в 1 случае: очень маленький объем доработок, сопоставимый с хотфиксами.
4) Если вы не сталкивались с десятками проблем, багов и недоработок в механизме расширений, а также если вас не парит почти полное отсутствие тулзов в Конфигураторе для работы с этими механизмом без болей в известной области - переубеждать вас бессмысленно, живите в своем розовом мирке.
5) Если вы используете расширения для серьезных доработок - я просто не пойду к вам работать, повторюсь, заблудших не переубедить, пока сами не расшибут себе лоб.
6) Если вы выпускаете продуктовый модуль только в виде расширения и не даете заказчикам альтернативы в виде .cf - в аду вам будет выдан особый котел.
algapo2013; user1528441; +2 1 Ответить
31. AntonProgma 46 16.08.23 08:26 Сейчас в теме
(30) Я искренне мечтаю, чтобы к нам пришёл работать человек с такими убеждениям, и продемонстрировал, как в нашем конкретном случае обойтись без расширений.
user659535_Necron500; +1 Ответить
32. skeptik2105 16.08.23 10:05 Сейчас в теме
(30)
1) Расширения - механизм, созданный компанией 1С для реализации возможностей внутри БСП для быстрых хотфиксов типовых конфигураций на горячую и из облака.
2) Если вам показалось, что этот механизм предназначен еще для чего-то - вам показалось.


Можно ссылки на первоисточник?

Рекомендую ознакомиться со сценариями использования расширений на сайте 1С: https://v8.1c.ru/platforma/rasshireniya/

Другая ситуация — это доработки типовой конфигурации под конкретного заказчика у него на внедрении. Или же доработки типовой конфигурации, которые выполняют для себя IT специалисты заказчика собственными силами. Если все эти доработки выполнить в расширении, то типовая конфигурация останется на полной поддержке, что значительно упростит её дальнейшее сопровождение.
user659535_Necron500; EvgeniyOlxovskiy; AntonProgma; +3 Ответить
33. LosevI 16.08.23 10:50 Сейчас в теме
(32)
Можно ссылки на первоисточник?


И еще раз:

(30)
заблудших не переубедить, пока сами не расшибут себе лоб.


(32)
Рекомендую ознакомиться со сценариями использования расширений на сайте 1С:


Рекомендую не использовать ссылку на коммерческий сайт продаванов 1С, у которых по любой теме будет все розово и красиво :D
Кстати, даже там ни слова об объемах доработок. А кто вам сказал, что они имеют в виду большие объемы? А вы верите, что они сами то хотя бы пытались? А сами то пытались? Хотя бы 1000 методов расширили в доработках? Ведь удобно же топить за расширения, доработав 2 печатки в 2 документах :D

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

На этом я думаю, я скажу прощайте, довольствуйтесь постулатом в (30) и понимайте как хотите. Кому надо тот поймет.
Не ставьте мне минусы. А то расплачусь и уйду работать дворником :(

заблудших не переубедить, пока сами не расшибут себе лоб.
user1528441; +1 Ответить
36. Romyl01 37 07.09.23 17:05 Сейчас в теме
лол, то есть снять конфу поддержки ради какого нибудь копеечной доработки мелкой сети магазинов. Чтобы они потом еще помудохались с обновлением. Автор вообще не в курсе как работает 90 процентов бизнеса.
user659535_Necron500; CK3; +2 Ответить
Оставьте свое сообщение