От чего можно отказаться при разработке расширений 1С

23.09.19

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

Разработка расширений 1С и оптимизация через механизм БСП: Дополнительные отчеты и обработки.

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

К примеру, нужно создать свою альтернативную форму подбора Быстрые товары списком в РМК 1С: Розница, или форму списка справочника Справочник номенклатуры расширенный.  

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

 
 Пример кода в расширении: Быстрые товары списком
 
 Пример кода в расширении: Справочник номенклатуры расширенный

Преимущества использования такой связки:

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

2. Закрытие и открытие внешней обработки для отладки не требуют перезапуска 1С Предприятия, экономия времени налицо

3. Если нужно что-то изменить в работающей системе, то обновление допобработки в справочнике, не потребует от работающих пользователей перезапуска 1С Предприятия

Вывод: Связка Расширения конфигурации + Дополнительные отчеты и обработки делают для разработку более эргономичной и удобной

Всем Спасибо.

См. также

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

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

23.06.2024    7443    bayselonarrend    20    

154

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

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    5942    dsdred    16    

80

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

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

24.01.2024    17664    YA_418728146    26    

71

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

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

11.12.2023    11221    dsdred    44    

130

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

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

06.10.2023    23757    SeiOkami    48    

135

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

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

14.09.2023    18828    human_new    27    

80

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

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

28.08.2023    14729    YA_418728146    7    

166
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. leosoft 166 23.09.19 09:57 Сейчас в теме
А можно поподробнее про отладку.

>2. Закрытие и открытие внешней обработки для отладки не требуют перезапуска 1С Предприятия, экономия времени >налицо
2. ellavs 1052 23.09.19 10:07 Сейчас в теме
(1) это типовой механизм, вроде. Тоже часто этим пользуюсь. В конфигураторе открываете на редактирование обработку. Её же открываете в режиме предприятия (запущенном в режиме отладки) через Файл - открыть. Всё, точки останова работают и т.п. функционал отладки...
independ; +1 Ответить
3. leosoft 166 23.09.19 10:15 Сейчас в теме
(2) Тут речь идет о подключенной внешней обработке.
4. ellavs 1052 23.09.19 10:28 Сейчас в теме
Действительно, так можно облегчить разработку. Есть определенные сомнения в вопросе производительности, если дорабатываемая часть функционала часто используемая. Но это чисто ИМХО. Ведь обращение к обработке (ПодключитьВнешнююОбработку) по факту производит каждый раз запись обработки во временное хранилище (хотя возможно механизм платформы делает определенное кэширование и повторное обращение уже будет менее ресурсозатратным). Хотелось бы знать, конечно, это момент более подробно.
5. independ 1551 23.09.19 10:41 Сейчас в теме
(4) Я не чистый разработчик, а практик с опытом (программирование это примерно 10% моей работы, основное техподдержка и администрирование), и клиенты у меня небольшие. Поэтому что-то сказать про производительность мне трудно. Но удобство разработки для меня - это важно, поэтому все что можно и нужно добавить/изменить стараюсь делать во внешних файлах обработок, а в расширениях - минимум кода и интерфейса, так что если есть просадка по производительности, она не очень заметна. И еще - много клиентов на базовых версиях, здесь расширения не работают, а открыть к примеру альтернативную форму справочника номенклатуры в пару кликов - вполне приемлемо.
ixijixi; Ale-vyb; script; neuromancer_aza; Anchoret; user662565; coolseo; +7 Ответить
22. maxx88 26.09.19 12:48 Сейчас в теме
(4) https://kb.1c.ru/articleView.jsp?id=111
Влияние внешних обработок на производительность:
"Важным отличием внешних обработок от обработок, встроенных в конфигурацию, является то, что компиляция модулей, встроенных в конфигурацию, выполняется однократно в процессе инициализации, тогда как для внешних обработок компиляция будет выполняться многократно отдельно для каждого пользователя. Это приводит как к снижению производительности (компиляция модуля требует времени), так и существенному повышению нагрузки на CPU (компиляция модуля требует ресурсов процессора)."

В этой статье есть результаты нагрузочного тестирования для расширения, внеш. обработки и встроенной обработки. Выводы: нужно обновлять платформу и расширение по производительности на новой платформе не уступает встроенной обработке.
24. Xershi 1555 06.02.20 11:03 Сейчас в теме
(22) статья закрытая. Инфу со сравнением выложите?
6. qwinter 683 23.09.19 12:18 Сейчас в теме
Никто автору не рассказал про "Сохранить как внешнюю обработку/отчет" и "Заменить на внешнюю обработку/отчет"...
Satoshi_Nakamoto; +1 1 Ответить
7. independ 1551 23.09.19 12:43 Сейчас в теме
(6) вы имеете в виду работу конфигураторе с расширением? Можно и так, но есть важный момент: если это делать в рабочем режиме, то при сохранении расширения в конфигураторе через некоторое время у работающих пользователей будет выведено сообщение о необходимости перезапуска, что не есть хорошо, например на кассах продаж с приличным клиентопотоком. А так обновил внешнюю обработку в справочнике Допообработки и никто ничего и не заметил, и если есть ошибки, то исправление и перезапись внешнего файла менее чувствительна, болезненна для активно работающих пользователей в рабочем режиме, чем редактирование и пересохранение работающего расширения, требующего рестарта приложения.
Мое мнение, чем меньше объектов и кода в расширениях тем лучше.
unichkin; Ale-vyb; tross; mvxyz; for_sale; +5 1 Ответить
8. mvxyz 326 23.09.19 13:20 Сейчас в теме
Хорошая мысль. Спасибо. Удобно тем, что не нужно добавлять массу объектов в расширение, например, для того, чтобы отладить запрос. Кроме того, чем меньше объектов в расширении, тем меньше проблем при обновлении.
ybatiaev; independ; +2 Ответить
9. independ 1551 23.09.19 13:26 Сейчас в теме
Я как раз все свои ранние наработки например https://infostart.ru/public/665065/ переделываю под этот механизм: одна внешняя обработка с несколькими диалоговыми формами.
10. ВикторП 350 23.09.19 14:03 Сейчас в теме
Вы по факту рассказываете, что вы свои доработки делаете в продуктивных базах без какого- либо тестирования.

Для вас очень удобно, бесспорно.
oldcopy; qwinter; +2 Ответить
11. feva 525 23.09.19 15:42 Сейчас в теме
Добрый день!
"От чего можно отказаться при разработке расширений 1С" - расширения 1С;
"Расширения 1С - удобный и адекватный механизм при работе с типовыми конфигурациями." - аж глаз задергался.
Статья весьма в правильном направлении, есть масса способов обойти это проклятое место стороной!
Имел ряд негативных опытов в работе с сеим детищем и могу выделить два момента. Первое - это обновление платформы, ты никогда не знаешь, что на этот раз появится или от чего откажутся, а перелопачивать уйму. Второе - поддержка. Если где-то будет получаться не то, что хотелось бы, то с первого раза можно и не догадаться, что кто-то делал это в расширении и времязатраты будут колоссальными. Расширения хороши когда нужно срочно, буквально вчера, поправить ошибку, а монопольный доступ к базе не получить.
wolfsoft; chg; ZOMI; Yashazz; +4 Ответить
14. Yashazz 4790 23.09.19 17:37 Сейчас в теме
(11) Вот да, насчёт "удобного и адекватного" - это очень суровое преувеличение. Не к ночи будь помянута сия кривая поделка. И совершенно верно замечено - никогда не знаешь, что где накроется и сломается.
21. ids79 8535 25.09.19 09:59 Сейчас в теме
(11)Автор же пишет, что в основном поддержкой занимается. И компании не большие, значит и доработок мало. В его случае, я думаю, такой вариант будет удобным.
Если доработок много, то, как ни крути, удобнее в основной конфигурации дорабатывать. Тут и версионирование, отладка удобнее, ну про обновление уже много говорили.
12. amd1986 23.09.19 16:24 Сейчас в теме
Не согласен со статьей. Так как описано - делать не нужно. Может это и удобно, но в один прекрасный день внешняя обработка исчезнет. И все, приплыли.
27. Brawler 458 14.11.20 19:18 Сейчас в теме
(12) если бы только она просто исчезла
являюсь свидетелем 1С УПП в которой исторически накопилось свыше 600 обработок внешних, это адище! захочешь что-то поменять в основной конфигурации и уже не сделать просто глобального поиска по всей конфе, нужно ещё все 600+ обработок выгрузить на диск и заставить конфигуратор и в них поиск вести, а это как бы не быстро все происходит.

Вот поэтому сейчас на ERP всячески избегаем внешних обработок, все только в расширении делаем, ну с некоторыми исключениями, часть обработок типа Контур.EDI, Диадок, обмены с банками, работа с ТСД, что-то по администрированию, регламентные задания которые есть в расширении тоже приходится через внешнюю обработку делать...
13. independ 1551 23.09.19 16:38 Сейчас в теме
Не нужно хранить яйца в одной корзине, что-то во внешних обработках, что-то в расширении, иногда надо приходится менять саму конфигурацию
Разные варианты и решения - это хорошо и правильно
afk; mvxyz; +2 Ответить
15. milanse 38 23.09.19 17:53 Сейчас в теме
Как контролировать что ничего не сломалось при обновлении ? Как вести версионирование доработок ? Очень спорное предложение.
28. Brawler 458 14.11.20 19:22 Сейчас в теме
(15) да, вопрос версионирования верный, проще расширение конфигурации подключить к хранилищу конфигурации и вести разработку + бонусом есть гибкая настройка прав доступа, а не перечисли всех 400+ юзеров будь добр в настройках внешней обработки...
16. independ 1551 23.09.19 18:41 Сейчас в теме
"Если в машине нет какой-то опции, значит она не сломается (опция)", дословная цитата от Генри Форда. Так и с расширениями, если чего-то избыточного нет, то и надежность расширения выше. А внешнюю обработку, которая лежит в справочнике, сломать сложно, и наличие этой обработки вряд ли влияет к примеру на процесс обновления конфигурации.
juliia1992; mvxyz; tross; +3 Ответить
17. AneJIbcuH 40 24.09.19 08:46 Сейчас в теме
Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка

Уберите в конце ".Ссылка", глаз режет )
19. independ 1551 24.09.19 09:52 Сейчас в теме
29. Brawler 458 14.11.20 19:22 Сейчас в теме
(17) а ведь моголо быть и так
Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяОтчетаОбработки).Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.....
32. AneJIbcuH 40 14.11.20 21:57 Сейчас в теме
33. Brawler 458 14.11.20 22:24 Сейчас в теме
18. deminded 7 24.09.19 09:48 Сейчас в теме
А если ее переименуют, иди собирай по коду где она искалась...
20. yurikmellon 6 24.09.19 10:26 Сейчас в теме
в расширениях есть свои плюсы и минусы. Тут как везде: нужно уметь правильно их готовить
mvxyz; Рамзес; JohnConnor; oldcopy; vv2; +5 Ответить
30. Brawler 458 14.11.20 19:25 Сейчас в теме
(20) минус только один в расширениях, это неспособность платформы с ними корректно работать, много багов платформы, но 1С с ними борется.

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

есть другая проблема, типовые конфигурации пока выше режима совместимости 8.3.14 не видел(((
23. script 128 30.09.19 08:08 Сейчас в теме
Вариант сто пудов рабочий.
25. mikl79 119 27.10.20 09:06 Сейчас в теме
26. mikl79 119 27.10.20 09:28 Сейчас в теме
Еще как вариант при использовании расширений - программный код расширений выполнять в своём общем модуле в основной конфигурации, тогда все объекты будут доступны
31. user1464234 14.11.20 19:49 Сейчас в теме
Если я понимаю правильно, вместо дополнительной формы элемента справочника или документа (которые предполагается использовать для уточнения каких-то деталей в платформе) применяется внешний подключаемый доп.отчет/обработка, потому что кода много и конфигурация типовая на замке.
И в целом наиболее используемая часть БСП теряет смысл и становится никому не нужной.
Меня поразило другое - я и раньше видела конфигурации в сложных условиях, но когда конфигурация сравнительно недавно разработана, гораздо "моложе" всех тех, с чем была возможность сравнить и уже простите, просто развалины после я даже не знаю чего..
34. improg 709 25.05.23 20:46 Сейчас в теме
Расширение хороший инструмент для программной модификации форм.
Оставьте свое сообщение