0. Tavalik 2054 10.07.17 16:44 Сейчас в теме

Правила и приемы доработки типовых конфигураций 1С для облегчения их дальнейшей поддержки и обновления

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

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Stepa86 1115 18.07.17 21:40 Сейчас в теме
Немного покритикую

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

2) Если использовать сторонние программы для сравнения (я использую P4, он вроде как бесплатен для небольших команд) то быстро понимаешь, что зря не пользовался ими раньше при обновлении. Обновление модулей становится проще в 10 раз. И тут всплывает ньюанс. Такие программы сравнивают построчно, а не попроцедурно, и если что то было закомментировано, а в поставке добавили пробел - получили двойное изменение. Поэтому я предпочитаю по максимуму код от типовой не трогать, а решать только добавлением новых строчек - возврат, окружать Если Ложь Тогда итп

3) Для префиксации очень удобным оказался префикс "_" и "*" для синонимов. Они коротки и они выводят новые объекты вверх при сортировке, а обычно новые объекты нужны чаще, чем типовые. Для разработки коробочного решения такая префиксация не подходит, конечно.

4) Предопределенные элементы стоит добавлять только в те объекты, где их до этого не было, иначе если с новой типовой придет новый предопределенный объект, будет весело в любом случае. Тут ждем 8.3.11. Если все таки пришлось изменить предопределенные, то оставляю комментарий в корневом объекте, чтоб при сравнении объединении было видно и 1. что набор предопределенных изменений конфликтует 2. комментарий к объекту был изменен

5) Не понимаю этого фанатизма в использовании подписки для изменения логики в одном документе. В случае обновления если использовать п.2 проблем не возникает вообще, а вот убить кучу времени на выяснение логики работы документа при проведении, когда часть вынесена в подписки - это вообще запросто
Jeka44; sashocq; Vladimir Litvinenko; Net.Bear; Krio2; quadrodecor; ShonLe; citicat; hulio; mrXoxot; chebser; Altair777; +12 Ответить
7. Tavalik 2054 19.07.17 08:13 Сейчас в теме
(1)
Ну что ж, отвечаю:

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

2) У нас тоже есть разработчики, которые для сравнения используют сторонние программы. Но лично я пользуюсь типовым функционалом из-за попроцедурного сравнения.

3) Часто бывает, что эту же конфигурацию модифицирует еще кто-то (например сторонняя организация или же свои специалисты). Тогда префикс "_" не подойдет. А в целом, почему бы и нет.

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

5) Ну тут дело привычки. У нас все разработчики знают и используют правила, поэтому время на разбор и понимание логики не тратится. Подписка то всего одна, а уже в ней по каждому типу документа вызываются необходимые обработчики.

6) Абсолютно согласен. Типовые роли не трогаем (или только в самом крайнем случае). Это стало особенно актуально в конфигурациях на БСП 2, где на каждый объект, как правило, есть одна или две роли. В этом случае на все свои добавленные объекты также создаем отдельные роли. А дальше уже идет настройка профилей и групп пользователей.

8) Наверное вы правы, но вроде как пока хватает и просто функции ВТ().

9) Согласен. Это очень хорошая мотивация. Но вот только беда, что стажеру или молодому специалисту не очень то доверишь обновление конфигурации. Тут только строгое соблюдение правил и обязательное код-ревью.
8. Stepa86 1115 19.07.17 08:22 Сейчас в теме
(7) 1) Если у вас постоянно проходит код-ревью, то очень рекомендую поупражняться с выгрузкой в гит

2) Я тоже очень долго был консервативен, а потом попробовал и внезапно стало очень удобно, чем по типовому. Рекомендую себя пересилить и еще раз попробовать.

4) Вроде при двойном изменении можно только или все взять из поставки или оставить как есть, объединить не получается, как и с типами

8) Очень рекомендую использовать при разработке инструменты разработчика. Прям вот самое первое, что я делаю на любом проекте - подключаю ИР, вкрячивая в конфу или через внешние файлы. А теперь еще можно и как расширение подключать.
10. katenok86 243 19.07.17 09:15 Сейчас в теме
(8) В последней платформе типы объединяются. А предопределенные объединяются уже давно.
12. Stepa86 1115 19.07.17 09:19 Сейчас в теме
(10) Типы только в 8.3.11 будут объединятся же, или я что то уже пропустил? https://wonderland.v8.1c.ru/blog/obedinenie-sostava-obektov-i-tipov/
13. katenok86 243 19.07.17 09:23 Сейчас в теме
35. zqzq 16 20.07.17 08:45 Сейчас в теме
(1)
2) Если использовать сторонние программы для сравнения (я использую P4, он вроде как бесплатен для небольших команд) то быстро понимаешь, что зря не пользовался ими раньше при обновлении. Обновление модулей становится проще в 10 раз.

Поддерживаю полностью. Использую KDiff3, пробовал разные, этот самый удобный и функциональный, посимвольно сравнивает + поддержка трёхсторонего сравнения.
2. Stepa86 1115 18.07.17 22:06 Сейчас в теме
6) Типовые роли лучше вообще не трогать. Сколько раз менял, столько раз имел проблемы. Если и менять, то прям в комментарии к объекту писать что именно изменено. РЛС в типовых не менял ни разу, видимо изза того, что я так и не смог раскурить что происходит в БСП или в документообороте.

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

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

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

9) Чтобы научить программиста дорабатывать конфу так, чтоб легче было обновлять его следует сперва заставить выполнить обновление, чтоб он на все возможные проблемы понатыкался, а уже потом давать правила
chebser; Solovyeff; +2 Ответить
3. pallid 19.07.17 00:16 Сейчас в теме
(2)
По мне так, авторские комментарии в коде это зло, тем более с датой. Максимум обрамление кода комментариями команды - организации. А там уже и blame в гите глянуть можно.

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

Для новых алгоритмов используем функциональные опции. Хотя со справочником тоже интересно, надо попробовать.
Сейчас все пытаюсь 4 базы с разными наработками объединить в одну, для удобства поддержки, Как раз нетиповой функционал каждой базы обрамляется функ.опц, Допустим в 3х базах используется одни и тот же функционал, но в 3й еще есть свои дописки, а функционал 4й базы наверняка в скором времени понадобится и в какой нибудь из этих 3х.

На счет обработки инициализации...хотим у себя как раз подобное попробовать, но рабочее название константы пока "Номер сборки" - номер коммита в мастер хранилищи. Т.е добавили роль, написали что в 100500 номере сборки надо сделать обновление вспомогательных данных.

На счет интерактивных изменений форм делаем так, с начало в ветке фичи все делается прям на форме, для быстроты прототипирования и наглядности. Потом декомпелируем форму, но если не успеваем, вешается тех.долг по переносу интерактивных изменений в код
4. pallid 19.07.17 00:18 Сейчас в теме
Номер версии во внешних обработках\отчетах делаем по формату гг.мм.дд, 17.07.19
5. nytlenc 276 19.07.17 06:07 Сейчас в теме
Офис 2016, файл не открывается. Что за бред оформлять статьи в виде каких-то документов. А если у меня офис вообще не установлен и нет лицензии на его использование, получается статью мне не прочитать? Оформите пожалуйста статью в соответствии с правилами. А так это не статься а просто бесполезный текст.
Прикрепленные файлы:
Brawler; MSK_Step; +2 3 Ответить
6. Tavalik 2054 19.07.17 07:54 Сейчас в теме
(5)
Здравствуйте. Данные правила в открытом доступе:

http://tavalik.ru/pravila-razrabotki-chast-1/
http://tavalik.ru/pravila-razrabotki-chast-2/

И я даже видео записывал, когда готовился к выступлению:
https://youtu.be/KVbZygpQOEc
Vladimir Litvinenko; Maxis; inf012; +3 Ответить
9. nytlenc 276 19.07.17 09:11 Сейчас в теме
(6) http://tavalik.ru/ никакого отношения к ресурсу (Инфостарт) на котором вы публикуете статью не имеет это первое. Вы нигде в статье не сослались ни на видео которое вы записывали когда готовились к выступлению, ни на ссылки которые указали сейчас в сообщении, документ который вы прикрепили к сожалению тоже не открывается - вывод полезной информации в статье ноль. А еще и имеете неосторожность при этом минусовать вполне адекватные замечания. Тут телепатов нет, все уехали готовиться к INFOSTART EVENT 2017 COMMUNITY. Отрицательно воспринимаете критику? Я понимаю, что возможно там полезной инфы на докторскую диссертацию, но черт возьми, так оформлять статью никуда не годится, зачем вообще добавили ее если нет возможности ее НИКАК прочесть?
16. Tavalik 2054 19.07.17 09:26 Сейчас в теме
(9)
Что вы на меня напали? Критику я воспринимаю адекватно. Я вас не минусовал.
Более того, я вам открою секрет, это даже не я публиковал статью, а модераторы infostart.ru на основании моего выступления.
Все ссылки, кстати, есть в конце статьи. Сожалею, что у вас не получилось открыть документ .docx. Напишите почту в личном сообщении, я вышлю вам PDF версию.
21. nytlenc 276 19.07.17 09:40 Сейчас в теме
(16)
Что вы на меня напали?

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

(16)
не я публиковал статью, а модераторы infostart.ru на основании моего выступления.

Жаль, что модераторы так бездарно (по другому не могу назвать) оформили такую отличную статью...

(16)
Все ссылки, кстати, есть в конце статьи.

Ничего нет. К счастью информацию умею искать хорошо и к сожалению ничего не удалось найти по ссылкам. Единственная ссылка ведет на страницу с информацией об INFOSTART EVENT, там разумеется ничего о статье. Прикладываю подтверждения
Прикрепленные файлы:
20. pallid 19.07.17 09:39 Сейчас в теме
(9) не успел отписаться, что офиса у меня нет, а файл открывается даже в worppad. Самый первый минус мой, только сейчас узнал что минусование анонимно.
38. rozer 233 20.07.17 15:17 Сейчас в теме
(6) видос сделан качественно ) "расширения" не используете ? До "расширений" тоже добавляли программно на форму но расширения как-то все упростили да и роли тоже а сейчас и ОМ и др. модули можно править расширениям (правда нативных конф 1с под 8.3.10 нет пока)
25. revned 6 19.07.17 15:20 Сейчас в теме
(5) Есть Open Office, Only office. Бесплатные. Так что все можно посмотреть, не покупая ничего. Да и он-лайн офисы всякие.

Сам практически так же и поступаю, как в статье. Автору спасибо.
quadrodecor; +1 Ответить
32. nytlenc 276 20.07.17 03:29 Сейчас в теме
(25) тогда смысл вообще писать текст статьи? Давайте будем просто оформлять заголовок и крепить WORD документы, и пусть дальше каждый сам разбирается что там. Поиск по сайту в том числе.
Коллеги. Есть определенные правила и давайте будем все их придерживаться.
11. katenok86 243 19.07.17 09:17 Сейчас в теме
Расширениями не пользуетесь? До сих пор не могу для себя решить если в них польза. Были как положительные так и отрицательные примеры.
28. h00k 36 19.07.17 17:14 Сейчас в теме
(11)
Расширениями не пользуетесь? До сих пор не могу для себя решить если в них польза.

На текущий момент расширения хорошо подходят для доработки форм и объектов интерфейса, добавления и вывода в интерфейс своих обработок, отчётов и т.п. минуя механизмы БСП в типовых конфигурациях без включения возможности изменения конфигурации. Как только типовые будут переведены на БСП 2.4 возможности применения расширений для доработки полностью типовых конфигураций существенно расширятся.
Для типовых конфигураций с изменённым режимом совместимости все возможности расширений можно использовать уже и сейчас.
Основной нюанс, на текущий момент - для расширений нет встроенных в платформу систем версионирования, поэтому при разработке для контроля версий приходится использовать сторонние решения, такие как Mercurial, Git и т.п.
14. katenok86 243 19.07.17 09:24 Сейчас в теме
Кстати обновление готовите через cf или свою поставку?
17. Stepa86 1115 19.07.17 09:28 Сейчас в теме
(14) Если вопрос ко мне, то я выгружаю cf из хранилища разработки, вручную вкатываю его в хранилище РБ, а уже сами РБ обновляю скриптами
19. Tavalik 2054 19.07.17 09:31 Сейчас в теме
(17)
Мы поступаем точно также.
53. user774630 13.07.18 16:47 Сейчас в теме
(19) можете объяснить, почему нельзя рабочую базу подключить к хранилищу, в котором идет разработка, и оттуда обновляться?
55. Tavalik 2054 14.07.18 07:00 Сейчас в теме
(53)
Если у вас совсем немного разработки, или же всей разработкой занимаются 1-2 человека, то можно поступить и так, как вы написали: рабочую базу подключить к разработочному хранилищу. Такой подход также может быть допустим на начальных этапах проекта.

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

Подробнее о схеме разработки, применяемой нами в поддержке и на проектах, я рассказывал, например, в начале вот этого видео: https://infostart.ru/public/860429/
user774630; +1 Ответить
56. user774630 16.07.18 00:49 Сейчас в теме
(55) Понял, большое спасибо за ответ. У нас, действительно, всей разработкой занимаюсь я один + "внешние" изменения переношу в хранилище сам, поэтому о таких вещах не задумывался.
18. Tavalik 2054 19.07.17 09:30 Сейчас в теме
(14)
Пока в расширениях нет возможности создавать свои объекты и реквизиты объектов, никакого смысла в них не вижу. В 8.3.11 вроде такая возможность будет, но тут же мы натыкаемся на режим совместимости типовых конфигураций. Так что расширения не используем.

Почти всегда обновления готовим через файл cf. Хотя есть также опыт и обновления через поставку на территориально распределенных площадках.
15. nytlenc 276 19.07.17 09:24 Сейчас в теме
Спасибо. Статья очень полезная, почерпнул некоторые полезности для себя. Проголосовал за доклад. В дополнение звездану статью!
22. Team leader 8 19.07.17 10:28 Сейчас в теме
Про БСП обновил знания - спасибо
23. TheRealStanly 23 19.07.17 13:05 Сейчас в теме
Спасибо за статью. Всё структурировано и понятно. Как раз собирался что-то подобное писать для наших стажеров и наткнулся на эту публикацию. Забираю.
24. Vortigaunt 73 19.07.17 14:44 Сейчас в теме
Cпасибо. Очень интересно. Можете привести код функции ВТ() для вычисления временных таблиц, которая описана в статье?
26. Synoecium 632 19.07.17 15:47 Сейчас в теме
(24) могу скинуть нашу функцию которая выводит в листы Excel все временные таблицы из переданного запроса, что довольно удобно.
JohnConnor; +1 Ответить
27. Vortigaunt 73 19.07.17 16:30 Сейчас в теме
(26) Спасибо. Буду признателен.
31. JohnConnor 34 20.07.17 03:14 Сейчас в теме
(26) можешь скинуть , на почту?
33. Synoecium 632 20.07.17 06:21 Сейчас в теме
(31) (27)
отвечу здесь, может еще кому пригодится
https://pastebin.com/QzVYAE3V - выводит все временные таблицы переданного запроса в листы Excel
https://pastebin.com/jQmysAUD - позволяет посмотреть в отладчике конкретную таблицу из запроса. Работает примерно как в статье, но для одной таблицы
JohnConnor; +1 Ответить
29. Vortigaunt 73 19.07.17 21:16 Сейчас в теме
У меня вопрос к автору. В статье вы пишете о справочнике с предопределенными элементами. А чем он лучше обычных констант?
30. JohnConnor 34 20.07.17 03:14 Сейчас в теме
спасибо, много взял для себя
34. tormozit 5509 20.07.17 06:58 Сейчас в теме
Откройте для себя отложенную отладку запросов и компоновки и получайте полное удовлетворение https://www.youtube.com/watch?v=hiw_aYVOvFc
boggonzikov; ElStar; user774630; Krio2; necropunk; rozer; h00k; zqzq; Stepa86; +9 Ответить
39. rozer 233 20.07.17 15:19 Сейчас в теме
(34) вам особенно низкий поклон за ИР
boggonzikov; Krio2; +2 Ответить
36. Infector 131 20.07.17 09:29 Сейчас в теме
По большей части согласен. Могу добавить "отсебятины":
1. часто вместо добавления реквизитов или табличных частей справочников и документов выгодным оказывается удобнее добавить регистр сведений, связанный через измерения с основным объектом, а в ресурсах хранящий необходимую информацию.
2. типовые объекты, куда не успели вмешаться, держим "под замком". Это одновременно индикатор и защита от случайных правок из разряда "лишний пробел"
3. В шаблонах кода очень удобно разместить собственный комментарий. Результат - при нажатии Ctrl + пробел в пустом месте в одной из верхних строк прелагается к вставке личная метка с текущей датой.
4. Касательно нетиповых участков - по возможности используем параметризированные запросы вместо склейки из строк. Сохранение возможности открыть запрос конструктором - небольшой бонус, позволяющий быстро отформатировать исправленный руками запрос и заодно проверить синтаксис (как известно, неправильный запрос конструктором не открывается). Комментирование внутри запроса достаточно бесполезно, т.к. исчезает при вызове конструктора, поэтому проще размещать тексты запросов в отдельных функциях, а перед правкой создавать копию всей функции с видоизмененным именем.
5. Громоздкие функции и процедуры удобнее дробить на мелкие, чем читать все это как сплошной текст.
6. Выигрышь в быстродействии на 5-10% за счет запутывания разрастания и усложнения кода пользователи не оценят. Но большинство оценивает разработку/доработки в короткий срок. Если Вы видите, что схожие подзадачи возникают с завидной регулярностью, чаще всего проще потратить полдня на универсальную функцию или механизм, закрывающие их все разом.
Например, однажды написав и вызвая в своих разработках функцию "ПреобразоватьТаблицуВДерево" скорее всего вы сможете выиграть больше времени по сравнению с описанием этого процесса в каждой отдельно взятой задаче.
37. comol 3973 20.07.17 15:17 Сейчас в теме
После советов с "авторским комментарием" перестал читать. Как заколебали такие правила, потом умрёшь отучать разработчиков писать авторский комментарий и июзать Blame View.
50. nickperel 2 27.09.17 20:46 Сейчас в теме
(37)
Blame View

К вам все чужие разработки через git попадают?
Никогда не видели код в котором спокойно и тихо в середине модуля всплывет кусок где умножают длину доски на время суток?
У отучением у них проблема...
40. Yashazz 2488 20.07.17 19:50 Сейчас в теме
Учитывая зияющие перспективы 1С по расширению данных, означенные извраты должны отойти в прошлое, где им самое место. Ибо всё это - от безысходности, а по-людски оно вообще модульно должно бы делаться) Но за труды респект.
45. nickperel 2 24.09.17 22:14 Сейчас в теме
(40)а как сделать "по-людски"?
1с делает свое. Вы - свое. Все независимо, а конечные данные одни и те же.
Расскажите как же помогут расширения, получить стабильно работающий адаптированный функционал?
А то пока занимался такими же "извратами" я сильно устарел.

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

Не надо только итс с зазеркальем цитировать. По существу есть что сказать?
41. cartograph 03.08.17 16:07 Сейчас в теме
42. user633533_encantado 4 03.08.17 18:06 Сейчас в теме
Сам пользуюсь подобными правилами разработки с некоторыми вариациями. Пришел к ним после многих лет обновлений измененных конфигураций.

Идея с процедурой ВТ() полезная, я до такого не додумался.
43. KilloN 41 22.08.17 15:31 Сейчас в теме
На мой ИМХО самоя крутая вещь при разработке это расширения, ко всему можно привязаться не редактируя модули и формы.
Еще с начала года как 8.3.9 появилась, снял на свой страх и риск с БП 3.0 совместимость с 8.3.8 и вперед.Единственный минут они нормально работают только начиная с 8.3.9. Если режим совместимости меньше то приходится по старинке...
44. nickperel 2 24.09.17 21:47 Сейчас в теме
(43)бп3 часто обновляется. Как часто приходится менять расширение?
Оно ведь слетит при изменении заимствований. Это весьма неприятная тема, так как адаптацию расширения делать придется уже после отказа.
Есть какие-нибудь соображения как с этим быть, кроме отключения автообновления у заказчика и проверки расширения на буферной базе?
46. KilloN 41 26.09.17 14:35 Сейчас в теме
(44)
Один раз за пол года понадобилось расширение подкорректировать.
В моем случае формы редко заимствовал, в 95% модули объектов и общих форм.
49. nickperel 2 27.09.17 20:38 Сейчас в теме
(46)
В моем случае формы редко заимствовал, в 95% модули объектов и общих форм.

Самое гемор - накладка изменений форм. Как было так и есть.
47. Yashazz 2488 26.09.17 22:44 Сейчас в теме
Не надо только итс с зазеркальем цитировать. По существу есть что сказать?

Если эти источники для Вас не по существу, то без комментариев.
48. nickperel 2 27.09.17 20:34 Сейчас в теме
(47)
Не надо только итс с зазеркальем цитировать. По существу есть что сказать?

Если эти источники для Вас не по существу, то без комментариев.

Конечно без комментариев. Откуда им взяться - то.
51. LexSeIch 201 06.07.18 07:07 Сейчас в теме
Объемная статья с картинками и видео-приложением, отражающая определенный, систематизированный подход к обновлению конфигураций. Автору безусловный плюс. И большое спасибо всем, кто высказал свое мнение в комментариях. Много интересного.
52. LexSeIch 201 06.07.18 07:19 Сейчас в теме
Дополнительно можно было бы добавить использование механизма расширений для доработки конфигураций, тем более что с выходом новых платформ он улучшается.
54. user633533_encantado 4 13.07.18 17:04 Сейчас в теме
(52) Расширение это альтернативный подход. Пока не заменяет полноценную доработку/ исправление ошибок в конфигурации.

Вон в ERP исправительные релизы выходят чуть ли ни каждую -две недели, релизы с новой версией бсп и полностью измененными общими модулями раз в несколько месяцев. Все равно раширение нужно переделывать, один плюс : конфигурация с поддержки не снимается, но если в ней расширения , то без помощи программиста не обойтись, тогда какой толк в автоматическом обновлении ?
57. Itilive.ru 37 12.09.18 18:40 Сейчас в теме
Все так. Единственное для новых объектов или реквизитов делаем не префиксы, а суффиксы. так не надо помнить это наш объект при кодировании или типовой. На Вашем примере "Проекты_ФТО". Попробуйте и Вам захочется переименовать все что вы делали.
58. sashocq 191 16.12.18 09:18 Сейчас в теме
Эти правила плюсанул бы лет 5 назад. Сейчас же это уже атавизм.
Как тут уже писали, git blame покажет кто когда и зачем писал каждую строку. Даже у кода поставщика вы увидите какая строка в каком из ваших обновлений обновилась.

Если типовой код нужно поменять на ваш — меняйте, не нужно оставлять старый! Нужно посмотреть что было раньше? Посмотрите историю в git. В 1С — сравните с конфигурацией поставщика. При обновлении 99,9% таких правок модулей пройдёт автоматически при помощи инструмента типа KDiff3. Попроцедурное в 1С вам не поможет в случае изменения названия процедуры, а инструмент справится. То же касается и обработок событий проведения и т. п.

Кстати говоря, в конфигурациях на основе УТ11, ERP там за формирование движений отвечает много вспомогательных процедур в модуле менеджера. В этот механизм лучше и встаиваться — это как с программным изменением форм: сначала сложно, потом станет понятно.
Про префиксы. В именах — на ваше усмотрение, конечно. Мне лично они вообще не нравятся. Типовой это объект или новый видно сразу по пометке справа. В синонимах префиксы — вообще зло. Какая разница пользователям какой разработчик в рамках какого проекта это добавил/изменил? На целостность интерфейса пользователя это не должно влиять. А чтобы найти добавленные/изменённые объекты я добавляю их для себя в соответствующие подсистемы: Доработки/Измененные, Доработки/Новые. К тому же, если вы добавили новый объект/реквизит, а затем в обновлении поставщик добавил такой же, то это тот случай, когда нужно проанализировать этот объект. Возможно, это и должен быть 1 реквизит, уже типовой. Если вы добавили рекв. Основание, затем поставщик добавил рекв. Основание. В результате вам не нужно 2 реквизита Мой_Основание и Основание. Вам нужен именно 1, с объединёнными типами.

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

После перехода на такие правила обновление сильно доработанной КА2 у меня вместо нескольких дней стало занимать полдня.
sevenor; o.nikolaev; +2 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Консультант 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Программист стажер 1С
Нижний Новгород
зарплата от 30 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству