Хранилище конфигурации: не очевидные особенности групповой разработки

Публикация № 189466 03.06.13

Разработка - Групповая разработка (Git, хранилище)

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

Введение

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

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

Базовый порядок работы

Итак, сначала вкратце опишу базовый порядок работы с хранилищем, который используем мы:

  • Рабочая база подключена к хранилищу;
  • Для каждого разработчика создается отдельная копия;
  • Пользователей хранилища мы называем по имени базы на 1с сервере. Пароль всегда стандартный и одинаковый. Это очень удобно. Совершенно не нужно помнить никаких логинов/паролей. Если ты заходишь в конфигуратор рабочей базы, то вводишь в логин имя рабочей, в копии - имена копий;
  • Рабочая база (желательно ежедневно) в ручном или автоматическом режиме обновляется из хранилища;
  • Если в течение дня пришлось что-то аврально исправлять, то можно внести исправление и в рабочей базе, но сразу поместить изменения в хранилище.

 

Особенности

Теперь перейдем к вещам, которые обязательно нужно помнить при работе с хранилищем. Многие из них достаточно очевидны. Однако есть и такие, которые мы “словили”.

Хочу обратить внимание, что основное “словили” заключается в особенностях ведения наших проектов, однако полагаю что для многих это также актуально. У нас есть несколько самописных систем, которые уже эксплуатируются, но также активно дорабатываются. В рабочие конфигурации внедряются новые подсистемы, затрагивающие достаточно большой функционал. При этом, как всегда, всем надо всё и быстро, и мы не можем себе позволить по полгода разрабатывать/тестировать функционал где-то в сторонке, а уже потом внедрять его в рабочие системы. Чаще всего проекты  разбиваются на маленькие и средние задания на разработку. Такое задание попадает к разработчику, он в своей копии пишет то, что надо.  Потом, на его же копии всё тестируется, и если все хорошо, через хранилище обновляется рабочая БД. Не будем останавливаться на том, что так разработку вести не очень хорошо, но что, то есть, и уверен у многих похожие ситуации.

Теперь подробнее о таких особенностях:

 

Правила работы с корнем конфигурации

Правило номер 1: не держите захваченным корень конфигурации!

Тут вроде все достаточно очевидно. Если при разработке необходимо добавить новые объекты, то работаем по следующему алгоритму:

  • Захватываем корень;

  • Добавляем новый объект;

  • Помещаем корень и новый объект;

  • Захватываем объект обратно.

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

 

 

Составные поля - зло

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

  • Добавление нового документа. Допустим необходимо добавить новый документ, но он, в свою очередь, является регистратором уже существующего регистра. Если мы пойдем по стандартному пути работы с корнем, вот что нас ждет. Мы добавим документ и поместим его в хранилище, т.е. этот документ появится в рабочей базе. В итоге у поля регистратор существующего регистра добавится новый тип документа, на который, я напоминаю, у пользователей нет прав. Таким образом, в рабочей базе пользователи могут словить “Нарушение прав доступа” при чтении таблицы регистра.

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

Правило номер 2: думайте о составных полях и правах. Не помещайте объекты в хранилище бездумно!

 

Правила работы с ролями

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

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

 


 

Особо хочу отметить очень не очевидную проблему при работе с ролями вроде ПолныеПрава или Администратор. В общем с любыми ролями, у которых установлен флаг “Устанавливать права для новых объектов”:

 

 

Сначала сформулирую правило номер 3: старайтесь никогда не захватывать в хранилище роль ПолныеПрава!

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

Так почему же не надо захватывать такие роли?

Ну, во-первых, в большинстве случаев это просто не нужно.

Во-вторых, все таки случаются ситуации при которых такую роль захватить надо. Обычно это происходит тогда, когда нужно снять какие-то права у данной роли. Вот тут-то и зарыта опасность. Мы захватили такую роль. В это время другой разработчик добавил новый объект и поместил его в хранилище. Мы закончили редактировать роль и поместили его в хранилище. И, бац, у роли ПолныеПрава нет прав на новый объект, потому что мы их перезатёрли. Неопрятная неожиданность.

 

Дополнительные полезные советы:

  • Старайтесь помещать объекты в хранилище не по одному, а “пакетом”: все объекты, измененные в рамках одной задачи.

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

Во-вторых, позволяет проще ориентироваться в версиях конфигурации. Тут я советую также пользоваться метками для версии в хранилище.

  • Пользуйтесь окном “Хранилище конфигурации”. К сожалению, почему-то не все знают о его существовании. А тем не менее, оно очень полезное. Например, в нем можно пакетно захватывать, помещать объекты в хранилище (через ctrl), ставить отборы (Все захваченные и Все захваченные пользователем).

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

 

 

  • При какой-либо не удачной попытке подключения к хранилищу (например, Вы случайно нажали отмена при подключении), 1С выдаст Вам вот такой диалог:

 

 

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

  • Пользуйтесь снегопатом! В скриптах снегопата реализованы удобные фичи для работы с хранилищем, например: автоподключение к хранилищу (не надо каждый раз вводить пароль), захват текущего элемента в хранилище.

 

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. kapustinag 03.06.13 12:09 Сейчас в теме
C картинками какая-то проблема. Не отображаются картинки в тексте публикации, только место пустое. В трех доступных мне броузерах посмотрел - везде пусто. Или все-же у меня локальная проблема?
2. _also 476 03.06.13 12:41 Сейчас в теме
(1) kapustinag, проверьте сейчас, пожалуйста.
3. mentos 25 03.06.13 13:56 Сейчас в теме
Пользователей хранилища мы называем по имени базы на 1с сервере.

вот за это спасибо :) простейшая вещь, но в голову никогда не приходила
4. _also 476 03.06.13 14:21 Сейчас в теме
(3) mentos, да, это очень удобно
5. kapustinag 03.06.13 15:43 Сейчас в теме
Похоже, стоит фильтр на нашем прокси-сервере. Картинки-то не на сервере Инфостарта, а на google...
С другого компьютера, внешнего, зашел - все Ок.
6. _also 476 03.06.13 15:47 Сейчас в теме
(5) kapustinag, видимо инфостарт не копирует лишнего на свой сервер. Я в статье делал вставить картинку и указывал url.
7. speshuric 1297 03.06.13 21:20 Сейчас в теме
"Рабочая база подключена к хранилищу;" - после этого читать желание пропало.
8. _also 476 03.06.13 21:24 Сейчас в теме
(7) Поясните свою точку зрения
9. speshuric 1297 03.06.13 22:35 Сейчас в теме
(8) _also
Сразу скажу, что я и сам какое-то время так делал. Пока не переубедил коллег. Я считаю, что вешать продуктовую базу на хранилище - по надёжности это примерно аналог того, что подписаться на автообновления midnight сборок. Правильным вариантом является выплёвывать файлы поставки и держать продуктовую базу у себя на поставке "на замочке". В этом режиме можно обновлять и ежедневно и еженедельно и вообще, как пожелаете.
Лет 5 с лишним назад накидал схемку того, как примерно это выглядит. Нюансов там заметно больше, но для начала обсуждения вполне пойдёт.

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

Если исправления не авральные, то как бонус - можно протестировать именно тот файл поставки, который пойдёт в бой, хотя б "джентельменский набор": синтаксис, проверки конфы, логин админа, логин пользователя, время реструктуризации. Автоматизируется на раз-два, зато не сможете совершить ошибку, которую допустила 1С в релизе УПП 1.2.8:
Исправлена ошибка 00092921:
При входе пользователя не с полными правами происходит ошибка.

Опять же заранее будет видно если косяк с реструктуризацией и т.п.

Я ни в коем случае не спорю с самими советами. И роли, и составные типы, и многие другие советы вполне разумны и интересны, но модель "рабочая на хранилище" меня пугает очень сильно.
Boulala; Дмитрий74Чел; h00k; KapasMordorov; pit201201; omut; kuntashov; bird21; CratosX; Ish_2; laduk; xzorkiix; _also; awk; +14 Ответить
10. _also 476 03.06.13 23:28 Сейчас в теме
(9) speshuric,
держать продуктовую базу у себя на поставке "на замочке"

это мечта. Конкретно в наших реалиях авральных исправлений порой больше, чем нормальных обновлений, так что... НУ не можем мы себе такого позволить.
Спасибо за схемку, подход у Вас очень правильный. Однако я считаю ее слишком тяжелой для случаев небольших баз, с небольшим количеством пользователей, И... с низкоквалифицированными программистами.
В любом случае спасибо за конструктив, этого я и ждал :)
16. speshuric 1297 03.06.13 23:55 Сейчас в теме
(10) Как раз с низкоквалифицированными сотрудниками схема "с поставкой" лучше. Натаскать сервис-деск или кого-то подобной квалификации на проверку и формаирование релиза достаточно просто, а времени высвобождается немало: это и проверка и выгоняние пользователей и само применение. Когда писалась эта схема как раз одна из целей была пульнуть в сопровождателей релизом и самому не греть голову.
(11) pumbaE, Веток не хватает. Git не хватает с распределённой структурой. Есть такое. Но цикл сборка/поставка дисциплинирует вне зависимости от того есть тестировщик или нет. Просто же: собрал, проверил синтаксис и конфу на ошибки, проверил реструктуризацию, проверил логин великого админа и проверил логин твари ничтожной. Да хоть бы и в УПП - это займёт на нормальной железяке около получаса от силы. Не хочешь сам - отдай "подовану", заодно пусть посмотрит изменения и покритикует, если время есть. Выше приведён пример, что и фирма 1С когда-то забивала на эти проверки и к чему это приводило. Не нужен на этом уровне ни билдбот, ни отдельный тестер. Нужен просто этап "Я собрал поставку, я сейчас её накачу и хочу проверить, что мне не придётся сидеть 2 выходных и восстанавливать работу предприятия".

Давайте не будем пенять на 1С и ждать когда она "повернетса к программистам" (кстати, какой стороной? :) ). Хочется, чтобы был идеальный код - начни с себя и своего коллектива. Юнит-тестов не хватает? Так надо писать и показывать на практике результативность этого подхода, другие методы не сработают.
KEV8383; xzorkiix; _also; +3 Ответить
17. _also 476 04.06.13 00:00 Сейчас в теме
(16) speshuric, низкоквалифицированные сотрудники порождают такой код, что придется каждый день с поставки снимать.
За "начни с себя" - огромный плюс. Мы все кивать горазды, а сами производим тот еще.. продукт ((
11. pumbaE 03.06.13 23:32 Сейчас в теме
(9) speshuric, не хватает хранилищу "веток".
Ваша схема подойдет когда все таки проводятса какие-либо автоматические тесты или даже есть отдельный тестировщик или же пользователи проверяют в отдельной тестовой базе данные, перед помещением в рабочую базу.
Но чаще, к сожалению, конечный потребитель доработок является и тестировщиком и пользователем одновременно и об ошибках програмисты узнают утром не от build-бота, а от полоьзователей.

p.s: Имхо, вряд ли что-то изменится кардинально даже с выходом 8.3 и возможности тестирования, если сама 1С не повернетса к программистам и не будет пропогандировать "best practice" среди программистов и будет публиковать тесты к типовым конфигурациям (скептик во мне заявляет "Не бывать этому!"). Возможно будут единицы использовать тесты, чего таить и сам не без греха, но я то постараюсь вместе с Артуром Аюхановым поразрабатывать в стиле TDD , а основаня масса програмистов так и будет писать комментарии в коде "Здесь было Вася" и считать, что это верх совершенства в способах доработок типового кода, а про тестирование даже понятия не иметь.
p.s.s: Я знаю, что автоматическое тестирование - это не волшебная пилюля.
kuntashov; KEV8383; _also; +3 Ответить
12. _also 476 03.06.13 23:40 Сейчас в теме
(11) pumbaE, подписываюсь под каждым словом. Но думаю, что тестов к типовым мы так и не дождемся. И, кстати, даже "Здесь был Вася", к сожалению, не все пишут.
13. _also 476 03.06.13 23:42 Сейчас в теме
(11) pumbaE, Жень, а не тестировал работу с хранилищем в 8.3. 1С там заявляла какие-то ништяки. Мол работать будет сравнение быстрее?
14. pumbaE 03.06.13 23:49 Сейчас в теме
(13) пока нет, дети заболели, нет времени. По тому что видел, для себя кардинального ничего не вынес. Пока вижу структуру хранилища похожую на git(но могу и ошибаться, но тут трудно что-либо новое придумать как со справочником "Номенклатура"). Скорость по сравнению с хранилищем старым действительно быстрее. По сравнению с аналогичной историей экспортированной в git хранилище еще не тестировал.
15. _also 476 03.06.13 23:52 Сейчас в теме
(14) pumbaE, я понял. Надо что-то придумывать с ролями и частичной выгрузкой в xml 8.3 и переходить на git...
27. omut 07.08.14 22:56 Сейчас в теме
(9) speshuric, полностью поддерживаю. Сам работаю точно по такой же схеме :)
Отдельно по запуску (пароли, пароли, пароли...) У кого нет снегопата: напишите батник с параметрами запуска и сразу попадете в конфигуратор под нужным пользователем в нужную базу и подключением к хранилищу. Если баз много, то файлов будет тоже много. Но это уже, что называется, на любителя. На всякий случай, если кто не знает, пример строки в батнике такой:
"C:\Program Files (x86)\1cv82\ВАША_ВЕРСИЯ_ПЛАТФОРМЫ\bin\1cv8.exe" DESIGNER /S СЕРВЕР_1С/ИМЯ_БД_1С /NИМЯ_ПОЛЬЗОВАТЕЛЯ_1С /PПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_1С /ConfigurationRepositoryNИМЯ_ПОЛЬЗОВАТЕЛЯ_ХРАЛИНИЩА /ConfigurationRepositoryPПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_ХРАНИЛИЩА (для клиент-серверной БД, если файловая база, то вместо /S ставим /F и дальше папку БД вместо сервера и имени БД)
29. Stas-ch 35 18.04.16 11:07 Сейчас в теме
(27) omut,
а зачем батники? Можно ведь все прописать сразу в параметрах запуска 1С. Из минусов - надо прописывать у всех, кто работает с базой (копи-паст рулит), зато нет кучи батников.
18. Kutuzov 720 04.06.13 08:12 Сейчас в теме
Еще хотелось бы подробную инструкцию по настройке подключения к хранилищу через интернет.
19. SPID 04.06.13 09:04 Сейчас в теме
По поводу "Захватил корень - добавил объект - поместил корень - захватил объект и дальше его разрабатываеш" тоже кроется подвох, если этот объект регистр - нужно не забыть добавить хоть одно измерение и назначить регистратор, если он необходим. Если поместить пустой регистр в хранилище, то для разработчика получившего конфигурацию с хранилища ждет сюрприз - он не сможет обновить конфигурацию БД, конфигуратор будет "ругаться" на этот регистр без регистратора и/или без измерений.
zqzq; romankoav; zuxelzz; vasiliy_b; +4 Ответить
20. _also 476 04.06.13 09:11 Сейчас в теме
(19) SPID, согласен. Вообще лучше все новые объекты, в том числе с реквизитами за один раз добавлять.
21. xzorkiix 33 05.06.13 11:07 Сейчас в теме
текст читаешь, приговаривая "конечно", "это же логично". Но всё равно полезно.

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

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

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

Имхо, на инфостарт-евенте скорее такого простого доклада ожидал, а поверх какие плюшки появляются при внедрении иных продуктов, технологий, методологий.
22. pumbaE 05.06.13 11:37 Сейчас в теме
(21) xzorkiix, не ставил себе целью описания работы с хранилищем. Рассказывать банальные вещи не очень хочется ни мне и вам их слушать тоже думаю не сильно охота.

Комментарий к коммиту - это одно из главных и трудных правил которые надо заставлять себя выполнять.


p.s.: Ben Collins-Sussman: Итак есть два "класса" программистов-разработчиков, назовем их "20%" и "80%", основная движущая сила индуструии программного обеспечения - это "80%"-ные парни... Их знаний в точности достаточно, что бы сделать свою работу, затем пойти домой и забыть о комьютерах...
Жутка правда №1 - Основной объем...ПО - создается вышеупомянутыми "80%" программистов.
Жуткая правда №2 - Большинство "альфа - гиков" забывают "жуткую правду №1" .

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

Ben Collins-Sussman - автор svn.
_also; vikad; +2 Ответить
23. laduk 15 05.06.13 13:01 Сейчас в теме
Статья ни о чем, да еще и с неадекватными советами типа: "имя пользователя по имени базы и одинаковые пароли" - по моему полнейший бред;
"Рабочая база автоматически обновляется из хранилища" - да за такое руки поотрывать мало
24. _also 476 05.06.13 13:36 Сейчас в теме
(23) laduk, я рад, что Вам понравилось )
25. zqzq 23 05.06.13 16:56 Сейчас в теме
имя пользователя по имени базы и одинаковые пароли

ИМХО лучше на каждого программиста своего пользователя (с правами захвата) + админа хранилища + юзера с правами только на чтение для обновления рабочей из хранилища (лучше заходить с одного сервера). Тогда и нормальный отчет по истории работы с хранилищем будет. Естественно, для сложных случаев лучше рабочую обновлять поставками/объединением.
26. cdover 07.08.14 18:20 Сейчас в теме
всё по полочкам. Спасибо!
28. Templ 15.04.15 11:35 Сейчас в теме
Из-за чего может быть. Внесли изменения из хранлища в основную базу. И оказалось что в рабочую базу затянулось старая версия изменений.
30. Stas-ch 35 18.04.16 11:10 Сейчас в теме
а вот никто не знает как в случае копирования базы с изменениями, не внесенными в хранилище, перенести информацию о подключении к хранилище в эту новую базу?
т.е. средствами SQL скопировали базу, старую убили (или пока еще нет, но скоро убьют). Захожу в новую базу а информации о подключении ее к хранилищу нет - при попытке подключения к хранилищу вся информация замещается данными хранилища. Приходится выгружать через конфигуратор все изменения и закачивать их в новую базу. Муторно. Может есть способ проще? Поделитесь.
31. Дмитрий74Чел 224 08.10.18 09:14 Сейчас в теме
(30)Официально способа нет. Вы неправильно понимаете суть регитстрации базы в хранилище.
Информация о подключении харнится на 2х сторонах: и в базе (к какому хранилищу подключена, скорее всего, просто путь к хранилищу), и в хранилище (какие базы подключены, скорее всего просто в виде "сервер-база").
Таким образом, при копировании базы, в ней остается информация о хранилище, поэтому и выходит окно с предложением ввести логин и пароль. Но логин и пароль (правильные) не примет само хранилище, т.к. путь к базе не совпадает с сохраненным в хранилище.

Цитата с ИТС:
https://its.1c.ru/db/v8doc#content:82:1:issogl2_28.1.2.подключениекхранилищу
Если имя пользователя зарегистрировано и для этого пользователя информационная база еще не была подключена к хранилищу конфигураций, то производится подключение и устанавливается связь: в хранилище по данному пользователю записывается информация о конфигурации и ее месте расположения.

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

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

Если для данного пользователя в данный момент времени нет открытой информационной базы, но данные о месте расположения не совпадают с данными о связи (конфигурация расположена в другом каталоге, или подключение производится с другого рабочего места), то конфигуратор выводит сообщение: Для данного пользователя уже имеется конфигурация, связанная с данным хранилищем конфигурации. Продолжить? Если нажать кнопку Да, то происходит установка нового подключения, текущая конфигурация заменяется конфигурацией из хранилища и устанавливается новая связь текущей конфигурации с хранилищем для данного пользователя.
32. romankoav 31.05.19 12:37 Сейчас в теме
Все внимательно прочел, но так и не увидел веских доводов (кроме странных страхов) почему не стоит не подключать рабочую базу к хранилищу. Так почему же?
33. CratosX 111 04.12.19 11:59 Сейчас в теме
(32) Аналогично. Используем на мелких доработках, плюсов от этого больше, чем минусов (для оперативных исправлений нужно захватывать объект, а он может быть захвачен кем-то). На крупных же конфигураций и/или с большой командой разработчиков хорошо описано в (9)

Кстати, раньше я как-то указывал метки к версиям хранилища, а сейчас не нашёл, как это сделать, подскажет кто?
Оставьте свое сообщение

См. также

Прокси хранилища 1С (IIS, OneScript)

Групповая разработка (Git, хранилище) OneScript DevOps и автоматизация разработки Платформа 1С v8.3 Россия Бесплатно (free)

Избавляемся от версионной зависимости, проверяем комментарии, вызываем веб-хуки, делаем красивые пути. И все это на привычном IIS и понятном OneScript.

08.12.2022    4764    kamisov    20    

81

Отражаем хранилище в репозиторий git, Jenkins'ом

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Описание приемов по настройке копирования хранилища 1С в репозиторий git. С помощью gitsync, под управлением Jenkins.

16.06.2022    1496    ImHunter    1    

19

Работа с хранилищем конфигурации с разными версиями конфигуратора

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

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

08.06.2022    1474    curdate    10    

7

Скрипт перепривязки базы к хранилищу конфигурации

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Пример скрипта для перепривязки базы к хранилищу конфигурации, используя Python.

17.04.2022    1208    malikov_pro    0    

12

Выгрузка версии хранилища в XML файлы

Файловый обмен (TXT, XML, DBF), FTP Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Скрипт, выполняющий выгрузку произвольной версии из хранилища в XML.

17.03.2022    1023    kraynev-navi    2    

7

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Как подключиться к хранилищу конфигурации на сервере за NAT, если есть доступ по RDP?

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

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

01.06.2021    4184    Dipod    13    

53

Мастер-класс: Реализация цикла CI/CD на практическом примере с использованием системы Тестер

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

На онлайн-митапе Инфостарта «DevOps в 1С» выступил Дмитрий Решитко – руководитель отдела разработки в компании C.T. Consultants Inc. Дмитрий провел мастер-класс, в котором продемонстрировал, как создавать новую функциональность в конфигурации с одновременным использованием инструмента тестирования и реализовать автоматизированное тестирование конфигурации при помещении кода в репозиторий на GitLab.

31.05.2021    2413    grumagargler    0    

18

Технология разветвленной разработки конфигураций 1С

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Вся групповая разработка любой организации, где работает более 2-х программистов, в превосходящем большинстве случаев строится вокруг хранилища конфигурации. Те из нас, кто обращался к стандартам разработки 1С как минимум раз в жизни и читал их полностью (а может, и просто слышал от коллег), наверняка знают, что существует «Технология разветвленной разработки конфигураций» https://its.1c.ru/db/v8std#content:709:hdoc но не все поняли, как на самом деле эту замечательную вещь применять на практике, а кто-то понял и вероятнее всего думает, что «это к нам не относится, командная разработка по такой технологии в нашей организации не получится в силу определённых причин и потому применять её, к сожалению, я один не могу и не буду», до конца не разобравшись во всех аспектах, но это ошибочное мнение. В этой статье я постараюсь описать свой опыт, рассказать о преимуществах использования данной технологии, дать понять, что технология разветвленной разработки конфигураций на самом деле вещь индивидуальная и каждый для себя решает сам, применять её или нет, а также внести понимание, что у вас вообще нет никакой зависимости от своих коллег, работая в хранилище конфигурации при использовании этой технологии.

19.05.2021    9791    sinichenko_alex    45    

127

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Хранилище значения. Заметки

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Некоторые подробности про общеизвестный инструмент.

03.11.2020    26305    Yashazz    15    

49

Минимизация изменений в коде / Использование Хранилища общих настроек

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной публикации будет показан пример использования Хранилища общих настроек, и показано, как с его помощью можно минимизировать изменения в типовом коде.

14.11.2019    3508    biimmap    34    

2

История одного проекта обновления

Групповая разработка (Git, хранилище) Платформа 1С v8.3 1С:Управление торговлей 11 Бесплатно (free)

История одного проекта обновления, хранилище, групповая разработка.

06.11.2019    6090    vasilev2015    20    

23

Git для 1С-ника и другие технологии групповой разработки

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

У многих специалистов в отношении Git сложились стереотипы, мешающие начать работу с этим прекрасным и удобным инструментом. Почему его не стоит бояться, и чем он может упростить жизнь 1С-никам, рассказал архитектор ГК «Невада» Станислав Ганиев.

28.10.2019    16391    stas_ganiev    17    

63

Переход на разработку с хранением в Git, часть 1, подготовка репозитория

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

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

29.09.2019    10130    malikov_pro    14    

108

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Как начать работать с Git

Групповая разработка (Git, хранилище) Платформа 1С v8.3 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Если Вы 1С программист, то обязательно наткнетесь на людей, рассказывающих о OScript, DevOps, EDT, SilverBulleters и так далее. Сейчас уже нельзя скрыться от этой информации. Так же было и со мной. В корне всего этого зоопарка лежит понимание и умение работать с Git (Распределённая система управления версиями). Укрупненной информации о ней много, Вы легко её нагуглите сами. В этой статье я старался собрать основные команды, определить их последовательность выполнения и привести краткий пример. Попробуйте выполнить все команды, и Вам станет проще разобраться с остальными программами. Удачи!

29.06.2019    10727    johnnyshut23    34    

64

Исправляем медленное выполнение операций с хранилищем конфигурации

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

26.05.2019    17931    tormozit    21    

93

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

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

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

28.03.2019    35660    ellavs    90    

250

Ошибки при работе с хранилищем конфигурации и способы их решения

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

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

01.03.2019    92281    Смешной 1С    39    

179

Git + 1С. Часть 2. Реализация Git workflow в 1С-разработке по шагам

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В этой части мы рассмотрим наиболее распространённую схему workflow при групповой разработке с использованием Git. Как приступить к доработке по поставленной задаче; исправить ошибку, обнаруженную на этапе тестирования; отправить свой код на слияние в предстоящий релиз; и т.д. Постараемся охватить большинство задач, составляющих основной цикл разработки

28.01.2019    39210    stas_ganiev    32    

157

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

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

Еще раз про хранилище, или проблемы, с которыми мы столкнулись на практике

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

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

25.01.2019    3502    Lucifer93    2    

7

Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою "копию" проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).

18.10.2018    143824    stas_ganiev    90    

400

Одновременное использование хранилища и расширений

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

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

23.08.2018    15465    shaa2    3    

17

Повышаем эффективность разработки правил обмена

Групповая разработка (Git, хранилище) Обмен между базами 1C Платформа 1С v8.3 1С:Конвертация данных Бесплатно (free)

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    32080    olegtymko    49    

152

Групповая разработка конфигураций в крупном холдинге

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

О чем мы сегодня поговорим? • О становлении и развитии групповой разработки конфигураций 1С в крупном холдинге с использованием хранилища конфигураций. • Обсудим практически все аспекты использования хранилища в командной разработке. • Я расскажу про те методы и идеи, которые мы пробовали использовать, какие используем до сих пор, от каких отказались и почему.

15.08.2017    26329    stas_ganiev    17    

78

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Поиск несериализуемых значений при помещении в хранилище

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

В статье разобран пример, как найти несериализуемые значения в случае помещения в хранилище коллекций, содержащих вложенные элементы. В качестве хранилищ рассмотрены временное хранилище значений и переменные типа ХранилищеЗначения.

02.03.2016    27088    balanton    2    

14

Работа с хранилищем конфигураций из командной строки

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Бесплатно (free)

Данное изложение на примерах демонстрирует работу с хранилищем конфигураций из пакетного режима

22.04.2014    20554    Franco    12    

26

Настройка удаленного хранилища 1С 8.2 IIS6 (server 2003)

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 ИТ-компания Бесплатно (free)

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

26.11.2012    14731    alex.msk    3    

9

1с v8.2.13 ХранилищеЗначений в Табличной части объекта

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

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

21.12.2011    24554    kostia.ck    8    

23

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

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

Сравнение значений типа Хранилище

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Сравнение значений типа Хранилище (простое решение для тех, кто не нашел ничего подобного на просторах интернета и не имеет навыков быстрого формирования контрольных сумм CRC, md5 средствами 1С, но имеет желание или необходимость выполнения такого сравнения). * было актуально для платформы 8.2, платформа 8.3 уже позволяет получить хеш MD5 или CRC32

18.10.2011    17476    yandextesting    6    

14

Хранилище конфигурации

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Россия Бесплатно (free)

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

28.12.2010    22828    German    24    

76

Настройка удаленного хранилища конфигурации 1С 8.1 ( HTTP)

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Удаленное хранилище в 1С предприятии 8.1 позволяет группе программистов из различных мест(городов, стран, ...) совместно трудится над одним и тем же проектом или конфигурацией. Совсем не обязательно располагаться в одном здании, достаточно лишь, чтобы у заказчика и , желательно, у программистов был бы широкий доступ в интернет и компьютер с установленной операционной системой, например, Windows Server 2003 на сервере хранилища заказчика.

08.06.2010    34417    Veratis1c    12    

82

Хранилище конфигурации: создание и использование

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Заметка про Хранилище конфигурации 1С:8.х Зачем, кому и для чего оно может быть полезно? Как создать, как использовать, как организовать работу программистов с ней? "Неочевидные" и "невероятные" методики для чайников :)

12.01.2010    160534    kote    60    

322