Имя: Пароль:
1C
 
Использование директивы &ИзменениеИКонтроль расширения или Конфигурация?
bolder, pasha_d, МаленькийВопросик, Dmitrii, Ильф, avkynev, Daniilvb, 2S, sergey198, San787, Mr_Boogie, Доминошник, boozin, Широкий, trad, Prog_man, Fish, Saval1986, Мультук, Amra, PLUT, craxx, Вадим33, Гипервизор, yuriybylinkin, zak555, Lemming244, banco, paramedic, spiller26, Tefal, chelentano, НачинающийВосьмерочн, Михаил_, igouranga, RVN, Ботаник Гарден Меран, Хряк, program345, d18, ptiz, shuhard, mikecool, ldo6, akronim, Ногаминебить, vbus, СвинТуз, lion11, BOOL, Pigmon, ЛучшийПрограммер1С, Kongo2019, АНДР, U4Me2, Amfiaray, Timon1405, arsik, Zapal, reloc, Страждущий, okmail, DemonShinji2, eRik, privetik, unenu, alex_kld_2024, lEvGl, Галахад, Gun47, abfm, phabeZ, Табуретко, ikolegov, maxar, Kigo_Kigo, SleepyHead, vis, Ager, ejikbeznojek, obs191, kir-g, trk415e76, nick86, Crusher, denk32, AlvlSpb, maxab72, Шурик71, Rokford, Terrixus, formista2000, Флориан, АнализДанных, alexela, AAA, глазковыколупыватель, elka302, Климов Сергей, rozer76, reg0303, alexxx961503, Fedor-1971, KJlag, Bigbro, andryscha1c, d4rkmesa, Олдж, DiMel_77, viraboy, Trinitron, RomanYS, Trucker, Поток сознания, МимохожийОднако, piter3, Mankubus, ReaLg, Asmody, DimR_71, Maestro2020, toypaul, yurikmellon2, Lama12, catzilla codzilkin, Сукпун, Anton1307, ads55, tciban
0 program345
 
01.10.25
07:00
Доброго дня!
Как правильно внести код для облегчения последующего обновления: в Конфигурацию или в расширение?

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

Вот и думаю, если бы изменение было в Конфигурации было бы гораздо проще обновлять, нет?
1 Мимохожий Однако
 
01.10.25
07:12
(0) Универсальной таблетки нет.
Проще обновлять только тем, кто лучше разбирается в коде и не важно куда он вносил изменения. При внесении изменений делай подробную документацию для разработчика и оставляй внутри расширения или в комментариях кода. Будет проще потом, когда благополучно забудешь о том, что ваял
2 2S
 
01.10.25
07:37
(0) Старайся не использовать &Вместо, это мина замедленного действия.
&ИзменениеИКонтроль вполне себе контролируется. Куда и как пихать от тебя зависит.
ОМ адаптируем только в конфигурации.
3 Мимохожий Однако
 
01.10.25
08:02
(2) ОМ расшифруй
4 2S
 
01.10.25
08:11
(3) Общие модули же
5 d4rkmesa
 
01.10.25
08:44
(0) >>поставщик изменил процедуру, и когда я проверил возможность применения работы расширения вышла ошибка.

Это легко отслеживается с помощью проверки возможности применения и, с помощью утилиты сравнения (p4merge или KDiff3) изменения так же легко переносятся.
6 program345
 
01.10.25
08:46
(2) у меня была процедура на форме.
7 program345
 
01.10.25
09:07
(5) а ты как используешь p4merge с расширением?, насколько я понимаю, это же только для Конфигурации...
8 Маленький Вопросик
 
01.10.25
09:04
(5) это штатными методами отслеживается в платформе
9 Zapal
 
01.10.25
09:05
(0) с чего вдруг оно проще в конфигурации
процедура изменена, значит в любом случае придётся ручками в неё залезть и внести изменения
10 Zapal
 
01.10.25
09:06
(2) "ОМ адаптируем только в конфигурации"
почему?
11 2S
 
01.10.25
09:08
(10) Обновлять проще
12 Zapal
 
01.10.25
09:32
(11) проще это когда минимум телодвижений
если ничего не поменялось то с расширением ты просто ничего не делаешь. В конфе в любом случае надо сравнить и перенести изменения
где тут проще?
13 mikecool
 
01.10.25
09:52
(0) кинь монетку - орел это расширение, решка - конфигурация
и почитай книгу "Дайсмен"
14 Kongo2019
 
01.10.25
10:01
(13) Эта книга была крутой первые страниц 50, а дальше можно было не читать.
15 2S
 
01.10.25
10:12
(12) Да, да. Давайте вынесем в расширения модули УчетОс, УчетМатериаловВЭксплуатации, а потом будем ебс тись с их сравнением с типовыми.
16 Мультук
 
гуру
01.10.25
10:16
Это всё круто, пока 1С не выпилит целиком из общего модуля ту функцию в которой ты делал инъекцию, и тут функцию, которая её взывала, и сам общий модуль тоже.

Ну или вспомним тыгыдык с РН.СвободныеОстатки
Как пример "немного поменяли"
17 Начинающий Восьмерочн
 
01.10.25
10:18
Если изменений много, то однозначно в расширение &ИзменениеИКонтроль
18 mikecool
 
01.10.25
10:21
(14) тс точно пойдет, он столько вопросов задает вида "или-или"...
19 craxx
 
01.10.25
10:44
(16) В итоге они его потом вернули, под другим названием. Но цирк был тот еще.
20 Ботаник Гарден Меран
 
01.10.25
10:44
Конечно, расширение. Прекрасно всё обновляется.
Особенности от типовых алгоритмов зависят.
1С начала менять состав процедур в некоторой области типовой, и от ИзменениеИКонтроль можно стало переходить к Вместо+Продолжить.
21 program345
 
01.10.25
10:48
(20) Знаю точку зрения: Пока 1С не сделала возможным удобное сравнение/объединение модулей расширения с модулями конфигурации, расширение остается злом. А 1С этого никогда не сделает. Потому что расширения они создавали для себя, чтобы поставлять патчи. Как и многие другие механизмы они создают чисто для себя. И плевать они хотели на чаяния "программистов 1С".
22 Ботаник Гарден Меран
 
01.10.25
11:24
(21)
Устаревшая точка зрения. Есть рабочие инструменты.
Коллега обновлением занимается. Всё у него быстро проходит.
Есть проблемы, когда 1С меняет состав процедур в алгоритме, но это затыкается тестированием. А доработка алгоритма в этом случае всё равно обязательна, что в расширении, что в конфигурации.
23 program345
 
01.10.25
11:09
(22) он чем пользуется? этим?
https://github.com/xnd1124/CfeUpdater?tab=readme-ov-file
24 Ботаник Гарден Меран
 
01.10.25
11:23
(23)
Вроде без этого, просто KDiff3.
Он показывал, но давно было, детали забылись.
Но процесс у него быстро идет, тестирование больше времени занимает.
25 Dmitrii
 
гуру
01.10.25
13:49
(24) >> процесс у него быстро идет, тестирование больше времени занимает.

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

Расширения хороши для патчей, доработок сбоку (когда типовое решение и его бизнес-логика и алгоритмы не затрагиваются, а только дополняются) и для того, что раньше делалось как дополнительные отчеты и обработки. Для допиливания внутренних алгоритмов расширения годятся не более чем в 1-5%% случаев. В остальных 95-99% лучше, правильнее и главное надёжнее доработать саму конфигурацию. Проще отслеживать изменения.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс