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

Публикация № 667936

Разработка - Практика программирования

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

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

Добрый день!

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

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

Пошагово:

  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

 

61

Специальные предложения

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

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

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

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

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

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

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

А в чем смысл?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


А вот это уже хорошо. Я не допер сам. Отвалилась одна задача, а не все сразу.
Но вроде иерархию построить нельзя. Разве бывают расширения расширений?
14. EvgenURNN 96 03.09.17 16:49 Сейчас в теме
(10)это логично, я так делал
17. logarifm 1063 03.09.17 23:07 Сейчас в теме
(10) А Вы вообще читали как работают расширения? Как вызываются перед, После, Вместо , когда в конфигурации не одно такое расширение. Вы вообще понимаете, что предлагаете?!

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

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

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

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

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

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

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

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

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

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

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

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

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

==

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

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

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

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

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

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

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

таки да , если франч продает расширения которые не зависят от метаданных основной конфигурации , только много ли таких?
47. ipoloskov 66 17.10.17 10:21 Сейчас в теме
48. MaxS 1816 26.10.17 14:37 Сейчас в теме
Не могу воспроизвести повторно аналогичный фокус. Без использования другой конфигурации создал расширение формы без элементов формы. Реквизит формы Объект пустой, тип не задан. В форме переопределены несколько функций.
Работает нормально. Вероятно есть какая-то недокументированная возможность. ;)
50. EvgenURNN 96 12.10.18 17:59 Сейчас в теме
Фирма 1С сообщает, что в версии 8.3.14 данный "Ход конем" будет не нужен.
Будет изменен механизм заимствования форм в расширение.
Оставьте свое сообщение

См. также

Как вывести итоговый вес и объем на форму документа Заказ клиента. УТ 11.4 2

Статья Программист Нет файла v8::УФ УТ11 Россия УУ Windows Бесплатно (free) Практика программирования

Всем привет, долго ломал голову, но с помощью тыка и подсказок более опытных программистов, вот что мне удалось достичь и как это я сделал. Открываем конфигуратор - заходим в Документы-Заказ-Клиенту-Формы-ФормаДокумента, все будем делать только здесь, снизу формы две вкладки, в общем сама форма и модуль (как открыть, смотри рисунок - открыть форму).

16.01.2020    485    VID1234    0       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

[СКД] Программное создание схемы компоновки данных 248

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    2989    John_d    14       

Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота" 71

Статья Программист Нет файла v8::УФ Бесплатно (free) Практика программирования

Переход на управляемые формы перевернул процесс разработки на 1С, заставив программистов менять привычные подходы к описанию логики работы интерфейса. Руководитель компании «Цифровой Кот» Юрий Лазаренко в своем докладе на конференции Infostart Event 2019 Inception рассказал о том, как устроены управляемые формы и как правильно работать с тонким клиентом платформы 1С:Предприятие.

23.12.2019    6465    TitanLuchs    22       

INFOSTART MEETUP Krasnodar. 14 февраля 2020 г. Промо

Краснодар станет первым в 2020 году местом, где пройдет региональная встреча IT-специалистов сообщества Инфостарт. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Стоимость участия - 5000 рублей. Цена действительна до 26.12.2019.

Изменение макета в карточке номенклатуры(УТ 11, КА 2) 5

Статья Программист Нет файла v8::УФ ERP2 УТ11 КА2 Бесплатно (free) Практика программирования Работа с интерфейсом

Краткая памятка по выведению добавленного реквизита в справочнике Номенклатура в стандартную карточку номенклатуры в УТ 11, КА 2, ERP 2.

24.10.2019    1982    darkultro37    4       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 17 февраля по 13 марта 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

СКД. Отчеты с картинками 212

Статья Программист Нет файла v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Работа с интерфейсом

Решение популярных кейсов с картинками в отчетах на СКД.

25.09.2019    8747    YPermitin    27       

"Вы всё сломали!". Разбираемся, кто прав, кто виноват 9

Статья Программист Нет файла v8::УФ ИТ-компания Россия Бесплатно (free) Практика программирования

О том, как "всё испортил" программист, а на самом деле виноват заказчик.

20.09.2019    3948    RomanCrow13    26       

Подборка программ для взаимодействия с ЕГАИС Промо

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

Оповещения боту из 1С за 31 минуту 124

Статья Программист Нет файла v8::УФ 1cv8.cf Бесплатно (free) Практика программирования Интеграция

Поделюсь опытом, как быстро сделать бота с оповещениями в Телеграмм из 1С без лишних затрат.

18.09.2019    10806    4    feva    32       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Агрегатные функции СКД, о которых мало кто знает 391

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    20325    ids79    45       

EnterpriseData – часть 3. Загрузка данных, идентификация объектов 65

Статья Программист Нет файла v8 v8::УФ 1cv8.cf ОС Бесплатно (free) Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    6482    ids79    7       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив 292

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    25577    ids79    34       

Кодовое создание документа на 8.3, управляемые формы (на примере) 11

Статья Программист Стажер Нет файла v8::УФ 1cv8.cf Бесплатно (free) Практика программирования Разработка

В своё время мне нужен был код создания документа через обработку, пол дня потерял пока нашёл гайд по решению данной задачи. Поэтому просто решил поделиться данным решением. Подойдёт только новичкам, опытные программисты могут даже не читать =)

07.08.2019    3178    Nefilimus    15       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.130.х, КА 2.4.11.х и ERP 2.4.11.х! Промо

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

29700 руб.

"Меньше копипаста!", или как Вася универсальную процедуру писал 185

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Разработка

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    11365    SeiOkami    49       

Создание отчетов с помощью СКД - основные понятия и элементы 226

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Математика и алгоритмы

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    28226    ids79    17       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

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

6500 рублей

Вставка гиперссылки в форматированный документ 9

Статья Программист Нет файла v8::УФ Бесплатно (free) Практика программирования Разработка

Да, форматированный документ это умеет и сам, но возможности можно расширить!

03.06.2019    3406    Yashazz    0       

Добавление внешних отчетов / обработок в собственные подсистемы 27

Статья Программист Стажер Нет файла v8::УФ Россия Бесплатно (free) Практика программирования Разработка

Краткая инструкция по добавлению функционала доп обработок/отчетов в собственную подсистему.

24.05.2019    5615    login1020    7       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП 93

Статья Программист Нет файла v8 v8::УФ v8::СКД 1cv8.cf Россия Бесплатно (free) Практика программирования Работа с интерфейсом Разработка

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

14.05.2019    10890    Viktor_Ermakov    6       

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

Статья Программист Нет файла v8::УФ 1cv8.cf Россия Бесплатно (free) Практика программирования Разработка

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

12.05.2019    2818    samvani    0       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.130.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Выгрузка документа по условию 5

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    8733    m-rv    2       

Автоматизация печатной формы (автоформирование табличного документа на основе любой таблицы значений) 4

Статья Программист Нет файла v8 v8::УФ 1cv8.cf Бесплатно (free) Практика программирования Разработка

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

18.04.2019    2122    NeSPEC    0       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

Этюды по программированию. Хитрости создания расширений для конфигураций на БСП. Часть 2 45

Статья Программист Нет файла v8::УФ Бесплатно (free) Практика программирования Разработка

Некоторые нюансы, если вы захотите создавать свои расширения. Продолжение первой части.

16.04.2019    8551    milkers    8       

Как прикрутить ГУИД к регистру сведений 23

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

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

16.04.2019    11680    m-rv    16       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

О расширениях замолвите слово... 200

Статья Программист Стажер Нет файла v8 Бесплатно (free) Практика программирования Разработка

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    21152    ellavs    125       

Git-репозитории для 1С-кода (опыт использования при небольших проектах) 206

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    17235    ellavs    83