Расширения: ход конем для управляемых форм

01.09.17

Разработка - Механизмы платформы 1С

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

Добрый день!

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

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

Пошагово:

  1. Беру полупустую конфигурацию, добавляю в нее документ "ЗаказНаПроизводство2_2", создаю форму, на которой удаляю все, кроме групп "Содержание" и "СтраницаДополнительно" (имена этих элементов делаю, как в типовой конфигурации ERP 2.2)
    25-08-2017 15-11-05.jpg
  2. Добавляю в этой базе расширение, заимствую форму заказа на производство, добавляю на группу "СтраницаДополнительно" декорацию-картинку
    25-08-2017 15-16-13.jpg
  3. Встраиваю это расширение в ERP 2.2, проверяю в режиме 1С:Предприятие: все элементы типовой формы на месте и моя картинка тоже там
    25-08-2017 15-17-57.jpg

Зачем это надо: что бы функционал расширения не рушился при обновлении ERP, если что-то там поменяется, ведь заимствуя форму расширение получает "в дополнение" еще большое количество метаданных, свойства которых контролируются 25-08-2017 15-22-31.jpg


Пример: УТ 11.1.9.70 обновили до УТ 11.2.3.175, в базе было расширение, которое расширяло форму справочника номенклатуры, у номенклатуры тип единицы измерения поменялся с "СправочникСсылка.ЕдиницыИзмерения" на "СправочникСсылка.УпаковкиЕдиницыИзмерения", расширение перестало работать, хоть и делалось вовсе не для единиц измерения.

Сразу отвечаю: Удалить элемент с заимствованной формы нельзя, потому что в этом случае из результирующей формы элемент удаляется вплоть до утраты работоспособности формы 25-08-2017 15-37-07.jpg

 

Расширение управляемая форма

См. также

Поинтегрируем: сервисы интеграции – новый стандарт или просто коннектор?

Обмен между базами 1C Администрирование СУБД Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

В платформе 8.3.17 появился замечательный механизм «Сервисы интеграции». Многие считают, что это просто коннектор 1С:Шины. Так ли это?

11.03.2024    4532    dsdred    53    

72

Как готовить и есть массивы

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

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

24.01.2024    5294    YA_418728146    25    

63

Планы обмена VS История данных

Обмен между базами 1C Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    6410    dsdred    36    

112

1С-ная магия

Механизмы платформы 1С Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    18475    SeiOkami    46    

118

Дефрагментация и реиндексация после перехода на платформу 8.3.22

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    12088    human_new    27    

74

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

28.08.2023    8822    YA_418728146    6    

141

Внешние компоненты Native API на языке Rust - Просто!

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

20.08.2023    6279    sebekerga    54    

94

Все скопируем и вставим! (Буфер обмена в 1С 8.3.24)

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Рассмотрим новую возможность 8.3.24 и как её можно эффективно использовать

27.06.2023    15986    SeiOkami    31    

103
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. nickperel 5 02.09.17 11:10 Сейчас в теме
Интересно получается. Заимствуются не ссылки, как я надеялся.

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

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

А какая версия платформы у вас используется? в последних 8.3.10 нет прогресса с расширениями?
2. EvgenURNN 99 02.09.17 18:13 Сейчас в теме
(1)
Заимствуются не ссылки, как я надеялся.

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

А потом править расширение на буферной?

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

А в чем смысл?

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

Садись сравнивать или запрети покупателям обновлятся, пока не сделаешь расширение..

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

в последних 8.3.10 нет прогресса с расширениями?

1С постоянно апдейтит функционал расширений, например, на версии 8.3.11 можно будет добавлять свои данные (например, справочники, реквизиты в существующие справочники)
zarucheisky; monkbest; +2 Ответить
5. nickperel 5 03.09.17 11:31 Сейчас в теме
(2)
поэтому отловить ошибки совместимости можно руками стажеров

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

Мутить какую-то муть. Обычные 1сные дела.

Я в начале года накачал несколько расширений для разных конфигураций, сейчас открыл - ни одно не заработало. Новых версий там, где их брал - нет. Надо разбираться, но проще понять их идею и выкинуть.
Может все таки, как и прежде, пускать через себя конфигурацию и выдавать ее каждый раз рабочей? Та же работа по поддержанию согласованности доработки и основной, только за один шаг и без стажера.
6. EvgenURNN 99 03.09.17 12:06 Сейчас в теме
(5) в любом случае, поддерживать доработки все равно потребует затрат, я только предложил способ как сэкономить на поддержке, создав такое расширение, которое будет минимально зависеть от изменений расширяемой конфигурации

либо вы дорабатываете конфигурацию традиционным способом со всеми вытекающими,
либо вы делаете расширение

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

что интересно, если расширение будет заимствовать только объекты, использованные в прикладной логике расширения, то перестанет оно работать только при критических для него изменениях, причем работать перестанет на уровне запуска 1С:Предприятия, что упрощает процесс мониторинга критичеких изменений, который можно переложить на неопытного специалиста (а еще лучше на скрипт), а если он обнаружит - включаться в процесс самому
7. nickperel 5 03.09.17 12:32 Сейчас в теме
(6)
но все тоже самое вам придется делать в любом случае (либо вовсе отказываться от обновлений конфигурации)

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

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

Отменить обновления, чтобы сохранять возможность обновлений. Как-то так что ли?

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

По моему цель механизма расширений - это быстрое отключение доработок в пользовательском режиме запуска. Вендор свое доставит, а вы сами как-нибудь разбирайтесь там. Ну так можно с самого начала и разбираться самим.
8. nickperel 5 03.09.17 12:57 Сейчас в теме
(6)
в идеале, расширение вам придется дорабатывать только тогда, когда обновленная конфигурация вступает в конфликт с прикладной логикой расширения, в этом случае вам точно придется дорабатывать расширения для совместимости, но все тоже самое вам придется делать в любом случае (либо вовсе отказываться от обновлений конфигурации)

В случае расширения гарантирована остановка эксплуатации и конфликт на вашем уровне заказчик - исполнитель. 90% доработок - наследующие и расширяющие функционал.
Процентов на 10 - да мы независимы.
Кроме работы просто по адаптации к текущей версии, нарубилась работа с адаптированностью всей системы к будущим релизам. Да еще и в заведомо авральном порядке.
Не совсем понятно, где и чей тут профит?
9. EvgenURNN 99 03.09.17 13:21 Сейчас в теме
(8)
В случае расширения гарантирована остановка эксплуатации и конфликт на вашем уровне заказчик - исполнитель. 90% доработок - наследующие и расширяющие функционал.

функционал после изменения конфигурации в любом случае перестанет работать.

это экономия по следующим причинам:
1. если расширение не работает, то оно просто отключается, клиент теряет только функционал расширения без утраты возможностей конфигурации (если 8.3.11 и добавлены реквизиты в объекты - будут дополнительные проблемы, связанные с записью объектов)
2. тот факт, что расширение не работает, понятен сразу на этапе запуска программы после обновления: оно сразу отключается с выводом на экран сообщения об ошибке, не надо сравнивать при каждом обновлении: пока работает - все хорошо, это можно сделать на демо базе
3. в большинстве случаев (когда обновление не касается заимствованных объектов) клиент просто обновляет конфигурацию стандартными средствами, либо это делает стажер
11. nickperel 5 03.09.17 16:13 Сейчас в теме
(9)
это экономия по следующим причинам:
1. если расширение не работает, то оно просто отключается, клиент теряет только функционал

Это НЕ экономия. Это новые затраты на восстановление уже полученного результата. Да еще и по причине активности третьего участника процесса.
Заход чисто наш, 1сный: "Наше расширение будет у вас работать всегда. Или очень долго. Ну или завтра перестанет. Оплачивайте в кассу. Это экономия."
13. EvgenURNN 99 03.09.17 16:40 Сейчас в теме
(11) лучше все-равно ничего нет.
Либо отказывайтесь от доработок, либо отказывайтесь от обновлений.

Здесь описывается способ снизить затраты на поддержку, когда доработка клиенту нужна и когда обновления ему тоже нужны.
15. nickperel 5 03.09.17 19:04 Сейчас в теме
(13)
Либо отказывайтесь от доработок, либо отказывайтесь от обновлений.

Либо обновляешь себя с доработками в хранилище и обновляются они сами на автомате скриптом по готовности из него по инету.
Никаких затрат покупателю, кроме резонной поддержки доработки, никаких внезапных слетов, никаких буферных конфигураций и никаких стажеров в деле. И даже стажер вообщем-то может сравнить - объединить в один шаг.
Такие дела с затратами.
16. EvgenURNN 99 03.09.17 21:48 Сейчас в теме
(15)предлагаю посвятить этому отдельную публикацию, мне тоже будет интересно изучить способ бесплатного (или почти бесплатного) обновления измененных конфигураций
22. nickperel 5 04.09.17 11:00 Сейчас в теме
(16)
предлагаю посвятить этому отдельную публикацию, мне тоже будет интересно изучить способ бесплатного (или почти бесплатного) обновления измененных конфигураций

Статейку возможно надо написать, хотя изучать там особо нечего. Все это вендор должен по идее писать, рассказывать.
Им или некогда с нами возиться или нет желания.
При обновлении через хранилище целевой рабочей базы передается не только рабочая версия доработки, но и конфигурация поставщика.
25. EvgenURNN 99 04.09.17 11:13 Сейчас в теме
(22) если Вы работаете через хранилище, это не избавляет Вас от сравнения и объединения с обновленной конфигурацией поставщика.
все тоже самое получается, плюс работа с объектами хранилища: захватить/поместить/получить

Таким способом вы ни секунды рабочего времени не экономите даже в теории
28. nickperel 5 04.09.17 11:27 Сейчас в теме
(25)
Таким способом вы ни секунды рабочего времени не экономите даже в теории


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

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

Расскажите еще что-нибудь про экономию.
29. EvgenURNN 99 04.09.17 11:43 Сейчас в теме
(28) буфер я создаю, что бы в нем создать форму с минимальным количеством нужных элементов не заимствуя ничего лишнего,
экономия времени получается, когда клиент получает автоматическое обновление (либо легко склеиваемое обновление, если будут только добавлены новые метаданные в его конфигурации*) и функционал расширения, которое не будет ломаться с обновлениями (либо будет, но редко)

*а начиная с версии платформы 8.3.11 можно еще больше доработок вынести в расширение и еще сильнее сэкономить на поддержке

Плюс - всегда, когда меняются объекты заимствованные в расширение, для начала возникает ошибка у заказчика.

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

+ преимущество расширения: если оно не работает на новой конфигурации - это сразу видно при запуске программы, не надо много времени тратить на тестирование совместимости
31. nickperel 5 04.09.17 12:35 Сейчас в теме
(29)
+ преимущество расширения: если оно не работает на новой конфигурации - это сразу видно при запуске программы,

Расскажите когда это стало преимуществом?
Клиент может оперативно отключать работу, которую уже оплатил? Клиент должен знать наперед, что у него что-то может отвалиться и относиться к этому спокойно?
Наверно надо не делать через расширения ничего, что может приводить к отказам в долгосрочной перспективе. А что тогда делать?
Может быть, если клиент упорно не хочет снимать конфигурацию с замка, то можно работать только так. Ознакомить с прейскурантом для упертых и вперед.
Вот это вот "упорно не хочет", экономия и деньги - вообще в разных местах.
32. EvgenURNN 99 04.09.17 12:56 Сейчас в теме
(31)
Расскажите когда это стало преимуществом?

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

Можно, если расширение тиражируется, заранее держать под рукой демо-базу ПП, которую обновлять по мере выхода обновлений (на
"1C:Обновление программ" публикуются релизы для тестирования), в случае утраты совместимости - делать новую версию расширения.

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

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

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

Если клиент хочет внести изменения в конфигурацию и получать её обновления, ему в любом случае придется заплатить. Я просто ищу способ уменьшить эту сумму, что бы сделать нашу работу более эффективной и выгодной.
PowerBoy; kild; e9953; artbear; +4 Ответить
35. nickperel 5 04.09.17 20:10 Сейчас в теме
(32)
что бы сделать нашу работу более эффективной и выгодной

Расширения - это очень хорошо. Я не против них. Есть клиенты которые видят в 1сном замке гарантию стабильности.
Только платят они в итоге больше.
33. herfis 498 04.09.17 13:20 Сейчас в теме
(31) Не понял. Вы хотите сказать, что клиенту выгоднее "снять конфигурацию с замка" и оплачивать работу специалиста по КАЖДОМУ обновлению? Вы это серьезно?
Конечно, клиента нужно предупреждать о преимуществах и недостатках продукта, за который он платит. Это называется добросовестной сделкой.
rpgshnik; kild; +2 Ответить
34. nickperel 5 04.09.17 20:07 Сейчас в теме
(33)
Не понял. Вы хотите сказать, что клиенту выгоднее "снять конфигурацию с замка" и оплачивать работу специалиста по КАЖДОМУ обновлению? Вы это серьезно?
Конечно, клиента нужно предупреждать о преимуществах и недостатках продукта, за который он платит. Это называется добросовестной сделкой.


Вы это просто так спрашиваете?
К примеру, у вас ERP 2.2 на автообновлении. 1С выложила 2.4. Клиент автоматом поставил ее. Расширение вылетело. Дальше что?Будете рассуждать о "достоинствах и недостатках"?
У них уже все вылетело и они даже не знают можно ли продолжить работать уже без расширения.
Я присылаю "новое в версии" им сначала, а вы будете разгребать создавшуюся ситуацию потом. Да может быть и целой серией исправлений, когда меняется что-то через ряд исправительных релизов типовой.

Какая вообще разница серьезно я или не серьезно. Сами попробуйте мозгом подумать - это ваша работа.
39. herfis 498 05.09.17 10:04 Сейчас в теме
(34) Думать мозгом - святая обязанность homo sapiens в целом.
Выбор клиента и только клиента - платить больше денег за уменьшение своих компетенций и рисков или платить меньше денег, беря на себя определенные риски и компетенции. Любое обновление может быть калечащим - для этого не обязательно расширения иметь.
Для того, чтобы накатить авто-обновление на копию рабочей базы - достаточно эникейщика или обученной обезьяны. Не привлекать в большинстве случаев для обновлений высокооплачиваемого специалиста - прямой профит. При соблюдении минимальной техники безопасности - никаких рисков.
"Сами попробуйте мозгом подумать" (с)
Если клиент согласен полностью переложить на вас ответственность за качественные обновления за свои деньги - это его выбор. Но далеко не единственный и не такой однозначный, как вы тут пытаетесь нарисовать.
Расширения в ЛЮБОМ случае упрощают и облегчают процесс обновлений. Неважно, кто его осуществляет. Клиент своими силами или сторонние специалисты.
Deslime; kild; +2 Ответить
40. nickperel 5 05.09.17 10:51 Сейчас в теме
Для того, чтобы накатить авто-обновление на копию рабочей базы - достаточно эникейщика или обученной обезьяны.

Кто это доктор? Ваши коллеги по франшизе? "Обезьяны обученные" :-) Это те, что стажеры у автора?
Какой-то обязательный воображаемый и дрянной компонент процесса.
Заметно, что сами вы сразу поступили в "программисты 1С" прямо из роддома, поэтому напишите еще, куда и что надо перекладывать, а также как надо "уменьшать компетенции"
41. herfis 498 05.09.17 11:41 Сейчас в теме
(40) Писать вам что-либо еще не вижу смысла. По не очень лестным для вас причинам.
skyadmin; kild; +2 Ответить
3. TMV 14 03.09.17 08:37 Сейчас в теме
(0),
Сразу отвечаю: Удалить элемент с заимствованной формы нельзя, потому что в этом случае из результирующей формы элемент удаляется вплоть до утраты работоспособности формы
В ЗУП3.1 в расширяемых формах документов множество лишних элементов удалено (оставлено только то, что задействовано в доработках) - полет нормальный. Может от версии платформы зависит?
4. EvgenURNN 99 03.09.17 11:17 Сейчас в теме
(3) если к удаленным элементам формы (не данным объекта, а именно элементам формы) нет обращения в коде (с учетом того, что расширение может отменять часть кода расширяемой формы), то работоспособность не будет утрачена, однако удаленного в расширении элемента формы на результирующей форме не будет (только что перепроверил, при удалении элемента с формы в расширении он удаляется на результирующей форме)
45. MRAK 723 29.09.17 11:06 Сейчас в теме
(4) Попробуйте удалять не элементы формы, а реквизиты объекта
46. EvgenURNN 99 03.10.17 09:40 Сейчас в теме
(45) кроме реквизитов самого объекта много других объектов подтягивается, в конце концов получается очень много всего надо удалить (другие справочники, картинки, функциональные опции, константы, много всего...),
смысл понятен, но я таким способом не пробовал делать, не думаю, что это хорошая альтернатива
10. kote 536 03.09.17 15:20 Сейчас в теме
(0) Возможен еще один подход с расширениями. В проде не пробовал, но эксперементировал - он работает..

Суть: не надо в одно расширение добавлять все доработки. Одна доработка - одно расширение. В итоге - на конфигурации будут висеть много расширений. Каждое из них - это одна цельная задача доработки..

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

PS при этом нужно стараться разрабатывать так, чтоб каждое расширение было независимо от других. Но иногда это проблематично - разные расширения могут обращаться к одним и тем же реквизитам и менять их типы/наборы типов.

Тогда можно поступить так - самое "глубокое" расширение делаем базой для всех - и храним в нём ТОЛЬКО изменения ТИПОВ метаданных - никаких форм, бизнеслогики и разного кода.. уже поверх него - "накладываем" наши доработки форм/кода/событий в разрезе отдельных доработок - т.е. у нас будет максимум одна зависимость.

PS2 Загрузка конфигурации при увеличении количества расширений - будет всё дольше и дольше.. насколько это критично - нужно ставить эксперименты и смотреть.
EvgenURNN; +1 Ответить
12. nickperel 5 03.09.17 16:18 Сейчас в теме
(10)
Суть: не надо в одно расширение добавлять все доработки. Одна доработка - одно расширение. В итоге - на конфигурации будут висеть много расширений. Каждое из них - это одна цельная задача доработки..


А вот это уже хорошо. Я не допер сам. Отвалилась одна задача, а не все сразу.
Но вроде иерархию построить нельзя. Разве бывают расширения расширений?
51. skyadmin 56 04.01.21 21:17 Сейчас в теме
(12) Были бы расширения расширений, была бы полноценная ERP :)
14. EvgenURNN 99 03.09.17 16:49 Сейчас в теме
(10)это логично, я так делал
18. пользователь 03.09.17 23:08
Сообщение было скрыто модератором.
...
23. пользователь 04.09.17 11:03
Сообщение было скрыто модератором.
...
17. logarifm 1117 03.09.17 23:07 Сейчас в теме
(10) А Вы вообще читали как работают расширения? Как вызываются перед, После, Вместо , когда в конфигурации не одно такое расширение. Вы вообще понимаете, что предлагаете?!

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

Через два дня поступает еще задача, после проверки долга надо чтобы , когда долг был больше тысячи блокировать продажи (расширение 2)

и т.д. это чушь

У меня аж волосы дыбом... ФАК, а как среди тысячи расширений и форм Заказ покупателя искать, что в них . МАТЬ моя женщина!
21. EvgenURNN 99 04.09.17 09:27 Сейчас в теме
(17)

(17)
Как вызываются перед, После, Вместо , когда в конфигурации не одно такое расширение. Вы вообще понимаете, что предлагаете?!

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

(17)
Через два дня поступает еще задача, после проверки долга надо чтобы , когда долг был больше тысячи блокировать продажи (расширение 2)

В этом случае новое расширение не добавляется, изменения вносятся в ранее созданное
27. nickperel 5 04.09.17 11:20 Сейчас в теме
(21)
Речь идет о расширениях, которые не пересекаются по решаемым задачам. поэтому проблемы нет.

Это бы хорошо, конечно. Но Номенклатура, Контрагенты\Партнеры, ТоварыНаСкладах будут во многих расширениях сразу.
А расширения будут делаться в разное время, в течении которого могут даже эти справочники и регистры измениться.
37. kote 536 05.09.17 01:53 Сейчас в теме
(17) События До и После отрабатывают по очереди - даже если расширите один и тот же объект. Так что если бизнеслогика расширений работает независимо - то проблем не будет.. но это не значит, что голову нужно отключать :)

С событием Вместо - не знаю как будет себя вести.. оно появилось позже остальных и с ним экспериментов не ставил. Надо посмотреть, как поведут себя расширения в этом случае. Думаю, что проблему решить и тут можно, но сам механизм расширений костыльный - так что и решение будет не лучше..

А что бы ориентироваться среди множества расширений - просто кодируйте их и ведите журнал разработки, например, в привязке к задачам или требованиям проекта. При большом проекте всё равно от документирования не уйти.

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

Короче, все хорошо в меру и каждому инструменту - своё место;)

==

PS Но на самом деле - я для себя решил, что нет ничего лучше выгрузки в git и работе с кодом (слияния/объединения) через него. Практика пока показывает, что это наиболее оптимальный путь для управления кодом. Расширения же, на мой взгляд, менее удобный и менее гибкий механизм доработки, применимый к небольшим и узким задачкам.. все ИМХО.
EvgenURNN; +1 1 Ответить
19. DitriX 2091 03.09.17 23:14 Сейчас в теме
А потом приходишь после такого, и рыдать хочется...
Кто-то не вкурил в тему расширений вообще.
В 8.3.10 вы например выбираете уже конкретно, что это за раширение - дополнение, изменение и т.д.
Кроме этого, в 8.3.11 - вы можете расширять реквизиты.
Ну и на последок - есть такоя штука - проверка совместимости, вот ее надо юзать.
А те недогалочки - снимать, и тогда будет все хорошо.
20. EvgenURNN 99 04.09.17 09:22 Сейчас в теме
(19)
В 8.3.10 вы например выбираете уже конкретно, что это за раширение - дополнение, изменение и т.д.

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

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

1. Не снимает проблемы переименования/удаления метаданных
2. щелкать по всем галочкам - тоже трудоемкий процесс
Dementor; artbear; +2 1 Ответить
26. nickperel 5 04.09.17 11:14 Сейчас в теме
(20)
официально этот релиз еще не вышел, на проектах у клиентов его использовать пока нельзя

Похоже уже нет разницы, где релиз, а где тестовый или ознакомление. Оно наверно по дате переходит из столбика в столбик.
На 10-м релизе недавно вылетали внешние обработки в толстом и индексы. Упали - отжались. Теперь будет две платформы.

А сколько косяков с расширениями, приводящих к падениям? Последний раз, когда делал расширение словил подряд раза 3-4 и чего-то слегка охладел.
24. nickperel 5 04.09.17 11:05 Сейчас в теме
(19)
Ну и на последок - есть такоя штука - проверка совместимости, вот ее надо юзать.

Она как раз и проверит заимствованное ранее с текущей основной?
Жаль только, что проверка всегда позже появления факта несовместимости.
30. herfis 498 04.09.17 12:04 Сейчас в теме
Интересно. С расширениями не работал вообще, но плюсанул. Лишние зависимости - это всегда зло. Для заказных расширений профит очевиден и перекрывает доп. неудобства, ИМХО.
36. Созинов 04.09.17 20:17 Сейчас в теме
Обожаю статьи, где комментарии значительно больше инфы дают :-) За статью спасибо, не думал о таком способе создания расширений. Но пока что-то страшновато их использовать, видимо просто информации по ним пока маловато.
38. &rew 49 05.09.17 06:03 Сейчас в теме
Расширения, безусловно помогли в разработке. В основном пока в качестве редактора форм, т.к. большинство конф еще в режиме совместимости 8.3.8. Личная практика использования показала, что Подписки на события, свои модули, свои объекты плюс доп свойства - оптимальный путь решения задач для поддержки совместимости. Но эьто не отметяет того, что за всем этим зоопарком надо следить, иначе Совместимые конфы не поддерживались бы разрабами от релиза к релизу, а как мы видим, такого не происходит.
42. Alex_Japanese_Student 454 05.09.17 22:41 Сейчас в теме
Спасибо за статью, очень познавательно.
Как отмечали выше, желание использовать расширения после узнанного пропадает
43. Vyatcheslav 22 06.09.17 16:57 Сейчас в теме
таки да, если фран со 100500 клиентов, то может и можно, если фикси и несколько баз с кучей доработок, то вопрос использования расширений вообще не стоит.
44. nk25 12.09.17 07:14 Сейчас в теме
(43)
таки да, если фран со 100500 клиентов, то может и можно

таки да , если франч продает расширения которые не зависят от метаданных основной конфигурации , только много ли таких?
47. ipoloskov 162 17.10.17 10:21 Сейчас в теме
48. MaxS 2826 26.10.17 14:37 Сейчас в теме
Не могу воспроизвести повторно аналогичный фокус. Без использования другой конфигурации создал расширение формы без элементов формы. Реквизит формы Объект пустой, тип не задан. В форме переопределены несколько функций.
Работает нормально. Вероятно есть какая-то недокументированная возможность. ;)
49. пользователь 26.10.17 17:41
Сообщение было скрыто модератором.
...
50. EvgenURNN 99 12.10.18 17:59 Сейчас в теме
Фирма 1С сообщает, что в версии 8.3.14 данный "Ход конем" будет не нужен.
Будет изменен механизм заимствования форм в расширение.
Aleskey_K; Yashazz; +2 Ответить
52. aleksey2 86 23.11.22 08:03 Сейчас в теме
Оставьте свое сообщение