Github и 1С. Пошаговая инструкция на конкретном примере

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

Разработка - Математика и алгоритмы

Статья для тех, у кого есть неудержимое желание программировать и хочется доработать какую-то конфигурацию (или проект на 1С), выложенный на Github, но останавливают незнакомые слова Git, Github, Fork, Commit, Pull request, Merge, Issue.

Всем привет. 


Статья для тех, у кого есть неудержимое желание программировать и хочется доработать какую-то конфигурацию (или проект на 1с), выложенный на Github, но останавливают незнакомые слова Git, Github, Fork, Commit, Pull request, Merge, Issue. 

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

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

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


Будем рассматривать конкретный пример. 

Итак, нам дано:

Репозиторийhttps://github.com/BlizD/Tasks (Управление задачами: Канбан доска)

Задача: Добавить кнопку в документ Выпуск релиза, которая загружает данные из хранилища и обновляет данные в документе (https://github.com/BlizD/Tasks/issues/65)

Набираемся сил и поехали.

 

Установка программ и регистрация

  1. Устанавливаем платформу 1С, в этом репозитории требуется версия 8.3.9.1850 – версия платформы очень важна, т.к. она влияет на выгрузку/загрузку конфигурации в файлы. Периодически фирма 1С изменяет формат выгрузки и загрузки.
  2. Скачиваем и устанавливаем SourceTree - программа нужна для отправки изменений(коммитов) в Git (или любую другую, но в примере будет рассказываться именно SourceTree);
    1. Ссылка для скачивания https://www.sourcetreeapp.com
    2. При установке SourceTree если будут проблемы с авторизацией, тогда авторизируйтесь с помощью Google. И установка продолжится.
  3. Регистрируемся на https://github.com
    1. Для этого примера создал специального пользователя ForInfostart

  1. Скачиваем и устанавливаем GIT
    1. Заходим на официальный сайт Git и скачиваем последнюю версию git для windows. Официальный сайт Git http://git-scm.com/
    2. При установке используем Далее – Далее
    3. Пошаговая инструкция как установить GIT от rtnm https://bitbucket.org/rtnm/gittertutorial - необходимо смотреть раздел Установка Git

 

Подготовка среды для разработки

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

В общем, создаем папку на диске D:\Rep\Tasks\

Теперь нам надо загрузить в эту папку нужный нам репозиторий. 

Для этого заходим в браузер, открываем ссылку https://github.com/BlizD/Tasks.

Далее ставим звезду 

Ладно, ладно шучу, пункт со звездой вообще не обязателен =)

По правде, нам нужна кнопка Fork, жмем на нее

Теперь копия репозитория Tasks переехала к нашему пользователю ForInfostart

Далее нам надо загрузить наш репозиторий в созданную нами папку на диске D:\Rep\Tasks\

Заходим по ссылке https://github.com/ForInfostart/Tasks и жмем кнопку «Clone or download» копируем путь «https://github.com/ForInfostart/Tasks.git»


 

Запускаем SourseTree, жмем добавить (+).

 

Заполняем скопированную ссылку, путь к нашей папке и жмем кнопку «Клонировать»

Давайте проверим, появились ли файлы проекта в нашей папке. Откроем папку D:\Rep\Tasks\


Сменим ветку Master, на ветку Develope в программе SourceTree, для этого жмем двойным кликом «Внешние ветки – Origin – Develope» в открывшемся окне жмем ОК.

Теперь необходимо создать пустую базу 1с. Далее заходим в конфигуратор и жмем Конфигурация – Загрузить конфигурацию из файлов и выбираем папку D:\Rep\Tasks\src\cf жмем кнопку «Выполнить»:

После загрузки, откроется окно с предупреждениями, пока просто игнорируем и просто жмем принять.

Если кто знает, как победить это окно с предупреждениями, скажите, пожалуйста =).

Далее жмем обновить конфигурацию ИБ.


Фуууххх вот только теперь можно кодировать в 1С как обычно =)

Если кто уже устал к этому моменту, предлагаю сделать перекур и пойти подышать и чайку попить. 


Отдохнули, поехали дальше
 

Как залить наш код в наш форк(Fork)

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

Теперь пора залить наши изменения в наш форк.

Для этого в конфигураторе жмем кнопку «Конфигурация – Выгрузить конфигурацию в файлы» указываем путь D:\Rep\Tasks\src\cf.

Теперь нам надо сделать коммит в git, для этого открываем программу SourceTree.

И что мы видим тут, оказывается git узнал, какие файлы были изменены, и показал расхождения.


Но прим этом расхождений намного больше, чем мы изменяли, это связано с особенностями платформы 1С (вариант обхода ниже). 


Выделяем все файлы – жмем кнопку «Индексировать»


Указываем комментарий: #НомерЗадачи + название задачи, т.е. 


#65 Добавить кнопку в документ Выпуск релиза, которая загружает данные из хранилища и обновляет данные в документе


Ставим галку «Сразу отправлять изменения в Origin/develop и жмем кнопку «Закоммитить»


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

 

 

Как отправить наши изменения (из нашего форка) в основной проект (создание Pull Request)

Необходимо отправить Pull request (Запрос на добавление). Для этого заходим на сайт https://github.com/ForInfostart/Tasks жмем на закладку «Pull request». Теперь на кнопку "New pull request"   

Указываем ветку приемник «Features», а ветка источник «Develope» (ветка с нашего форка). 

 

Жмем Create pull request. 

Все, теперь остается ждать, когда владелец, того репозитория, примет Ваш пул реквест.

Как только он примет, то код будет влит в основную ветку проекта.

Поздравляю, теперь Вы, стали участником OpenSource сообщества=).

Если все равно остались вопросы или что то пошло не так в процессе, тогда можно смело, не боясь, писать в чат https://gitter.im/Tasks_/Lobby (или сюда https://gitter.im/EvilBeaver/oscript-library) там попробуем все разрулить.

Некоторый список 1С проектов, которые выложены на Github:

 

Ссылки на замечательные статьи про Git:

 

Спасибо, что Вы дочитали до этого места.

Скачать файлы

Наименование Файл Версия Размер
Github и 1с. Пошаговая инструкция на конкретном примере:

.docx 645,80Kb
6
.docx 261017 645,80Kb 6 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. avk72 74 26.10.17 21:36 Сейчас в теме
Если кто знает, как победить это окно с предупреждениями, скажите, пожалуйста =)

При выгрузке в файлы не выгружаются объекты со слишком длинным идентификатором (более 80 символов). Может быть в этом дело?
25. BlizD 829 27.10.17 15:37 Сейчас в теме
(1)
Александр,

возможно, но нужно пробовать и разбираться, пока это мне не мешает, не ищу.
2. Armando 1395 26.10.17 22:17 Сейчас в теме
Я думал тут сейчас про EDT будет
6. BlizD 829 27.10.17 07:18 Сейчас в теме
(2)
Нет про EDT тут не рассказывается, но можно почитать, что пишут и задать свои вопросы вот тут:https://gitter.im/artbear/EDT-ext
PLAstic; almierm; +2 Ответить
3. Xershi 1125 26.10.17 22:32 Сейчас в теме
Никогда гитом не пользовался плюсую! Если понадобится воспользоваться вернусь к вашей статье! Хранилище намного удобнее! Но это конечно не опенсурс, но удобнее!!
5. Region102 27.10.17 06:58 Сейчас в теме
(3) Хранилище не позволяет организовать полноценную командную работу. И падения хранилища, как и баз 1С происходят гораздо чаще. В хранилище каждый сам себе хозяин.
iliabvf; cleaner_it; +2 Ответить
10. Xershi 1125 27.10.17 10:04 Сейчас в теме
(5) за 3 года командной разработки ни 1 падения! Но я знаю что у хранилища есть правила работы, которые не опытные разработчики просто не знаю или не выполняют. Думаю это про вас.

А ограничение на захват объекта я отнесу к плюсам чем к недостаткам или ограничениям! Т.к. очень важно чтобы обновление проходило без анализа кода! А как я понял в гите этого нет. Разработчику придется потратить время, если ему придет 2 версии изменения на 1 объект!
7OH; Sheff; +2 3 Ответить
14. artbear 1302 27.10.17 11:03 Сейчас в теме
(10)Нафига наезжать на (3) ?
Может быть, пора уже вылезти из своего домика и посмотреть вокруг ?

Ограничение по захвату объекта - это технология 2000 года, централизованные системы управления версиями - СУВ (cvs, svn)
мы их юзали еще в 77
У подобных систем проблемы известны, и в результате решения этих проблем появились децентрализованные СУВ, яркий представитель которых git.

Поработай в больших командах, увидишь, что работа в хранилище часто совершенно неудобна. Кто не попадал на захват корня челом, ушедшим с работы :) ?

Хранилище - это вещь в себе, слабо расширяется.
А для гита очень много инструментов сделано, которые позволяют получать полезные фичи - связь с задачами из систем управлениям задачами/проектами, привязка тестов к конкретным изменениям от конкретного автора, авторство любой строки кода, понимание, какая строка кода связана с какой задачей и т.п. и т.д.
SirYozha; kwazi; CratosX; JohnyDeath; cleaner_it; +5 Ответить
19. Region102 27.10.17 13:41 Сейчас в теме
(10) Ну да, вы же эксперт, куда мне до вас. А теперь для "экспертов". Есть такой сервис в яндекс, wordstat называется, заходите туда и пишите "1с хранилище конфигурации повреждено", мне выдало 17 показов за месяц, то есть в течении месяца 17 уникальных человек искали решение данной проблемы. А так все красиво, ни одного падения за 3 года. У меня лично, за 17 лет работы с 1С, хранилище упало 1 раз, и потерялось 2 года изменений крупной отраслевой конфигурации. Но мы из разряда тех, кто уже делает бекапы. Так что удачи, а переходить на личности - это показатель вашего воспитания и компетенции.
GoR1313; Leelon; sergelemon; Sheff; d4rkmesa; PLAstic; cleaner_it; +7 Ответить
20. Xershi 1125 27.10.17 14:07 Сейчас в теме
(19) на такой случай у меня был грамотный админ, которому я все объяснил! Так что извините, что раньше не думали! И это был ваш косяк, умение признавать ошибки очень важно, а лучше учиться на чужом опыте! У меня к вам нет претензий, т.к. ваши проблемы это ваши проблемы! Не хотите слушать, объяснять или учить же не нужно мне))
Mettem_Kirill; +1 5 Ответить
27. Region102 27.10.17 19:10 Сейчас в теме
(20) У меня архивы то делались, я про то что хранилище "не падает".
28. Xershi 1125 27.10.17 19:54 Сейчас в теме
(27) как я уже говорил, дайте мне случай который будет воспроизводиться! Если например на сервере нет резервного или жесткий диск полетит, тут никто не застрахован! Но пока мне ни одного аргумента не предоставили как можно положить хранилище и воспроизвести это на любом другом!

А минусовать стали, циркачи))
36. 7OH 32 10.01.18 17:04 Сейчас в теме
(10) Абсолютно согласен - тратить время на анализ (или не дай бог переработку) изменения объекта 2+ авторами - явно не плюс.
---
Но увы и минусы у хранилища есть - случаи есть , не часто и нет описания как воспроизвести, но после динамического обновления в хранилище может попасть старый кусок кода.
mbalyukin; eeeio; +2 Ответить
37. Xershi 1125 10.01.18 17:41 Сейчас в теме
(36) в хранилище у меня старый кусок кода еще ни разу не попадал, а вот у коллег в локальной базе такое ловили, но об этом я уже раньше писал!
7. BlizD 829 27.10.17 07:18 Сейчас в теме
(3)
Добрый день, Максим,

спасибо, за отзыв.
11. cmd_vasec 34 27.10.17 10:07 Сейчас в теме
(3) Можно пользоваться и хранилищем и gitом ( В помощь (Gitter)).
12. Xershi 1125 27.10.17 10:10 Сейчас в теме
(11) очень жаль, что не разобрались, очевидно не научили разработчиков пользоваться хранилищем! А оно как известно очень капризно!
22. cmd_vasec 34 27.10.17 14:50 Сейчас в теме
(12) Предлагаю написать статью о преимуществе хранилища перед гитом или напишите тут.
sasha777666; eeeio; Sheff; +3 Ответить
24. Xershi 1125 27.10.17 15:10 Сейчас в теме
(22) т.к. я не пользуюсь гитом, то статью не имеет смысла писать. В чем для меня лично преимущество, уже я написал!
35. ADirks 185 10.01.18 13:26 Сейчас в теме
(24) Не пользуетесь git'ом значит? А вас научат...
Только бы не вышло, как с временными таблицами :))

https://infostart.ru/journal/news/mir-1s/firma-1s-vypustila-instrument-dlya-vygruzki-khranilishcha-konfiguratsii-1s-v-repozitoriy-git_725293/
15. artbear 1302 27.10.17 11:06 Сейчас в теме
(11) Правильно пользоваться и хранилищем, и гитом.
Только в помощь юзайте https://github.com/oscript-library/gitsync
cleaner_it; +1 Ответить
21. cmd_vasec 34 27.10.17 14:40 Сейчас в теме
(15) Можно и так. Каждому свое.
4. IvanovAV 77 26.10.17 23:27 Сейчас в теме
Начало статьи заманчивое, но тема начала статьи не раскрыта. Зачем мне все это нужно ? И непонятные слова, так и не расшифровали. И при чем тут кабан с доской?
Sheff; kuzyara; the1; artbear; +4 Ответить
8. BlizD 829 27.10.17 07:24 Сейчас в теме
(4)
Добрый день, Алексей.
Вы, правы, статья не раскроет все аспекты возможного взаимодействия Github и 1с.
Основная цель статьи, это дать возможность взять инструкцию, и пропустить ее через свои руки.

(4)
Зачем мне все это нужно ?

На этот вопрос не могу ответить. Каждый сам для себя решает, что ему нужно, а что нет.


(4)
И непонятные слова, так и не расшифровали.

Так и есть, но дал возможность их "пощупать".
Про Git можно почитать вот тут https://git-scm.com/book/ru/v1 (чуть позже добавлю это в статью).

И при чем тут кабан с доской?

Просто взят пример реальной задачи из этого репозитория.
17. Evil Beaver 6997 27.10.17 12:01 Сейчас в теме
(4) Полезное:

Привязка каждой строки кода к задаче в JIRA и автору в домене Windows.

Каждую строку кода я знаю кто написал и по какой задаче. И это за секунды. В то время, как с помощью хранилища 1С историю строки я буду получать часами.

Вы все еще комментируете старый код, чтобы было "для истории"? И как вам, нравятся портянки из зеленого тысячелетнего мусора, который всем страшно удалить?

Тогда мы идем к вам!

P.S. а еще вы, наверное, пишете в начале каждого изменения "Петров 2017-10-27 задача 8721 -->" а в конце "<---". Ну и как, помогает? Авторские комментарии не устаревают и не врут, и у вас они всегда актуализированы? И можно увидеть, что было здесь ДО этого изменения? Конечно можно, рядом же закомментированный кусок того, что было, да?
EZh1C; SirYozha; Kinestetik; profisasha; gztrbnst; CratosX; JohnyDeath; cleaner_it; Dach; kuzyara; IvanovAV; vlad.frost; artbear; baton_pk; +14 Ответить
9. BlizD 829 27.10.17 08:40 Сейчас в теме
Добавил в статью ссылки на замечательные статьи про Git:

* https://infostart.ru/public/343317/ - Альтернативные системы контроля версий и их применение для хранения версий продуктов, разработанных на платформе 1С;
* https://infostart.ru/public/310640/ - Git-flow В 1С (Система контроля версий);
* https://infostart.ru/public/118207/ - Системы контроля версии и 1С;
* https://infostart.ru/public/553119/- Использование git для доработки типовых конфигураций 1С.
* https://git-scm.com/book/ru/v1 - книга про Git на русском;
d4rkmesa; gztrbnst; CratosX; JohnyDeath; RailMen; Evil Beaver; Korolev; vlad.frost; kuzev; artbear; IvanovAV; +11 Ответить
38. zarucheisky 11.01.18 12:17 Сейчас в теме
(9)
https://git-scm.com/book/ru/v1 книга про Git на русском;

Pro Git 2 издание на русском
кому охота собирать - ruby-ями не выше 2.4
39. zarucheisky 11.01.18 14:21 Сейчас в теме
+(38) Собрал книжицу, вроде всё влезло.
Прикрепленные файлы:
progit2.pdf
bobah_; bkavto; BlizD; artbear; +4 Ответить
40. sssss_aaaaa_2011 11.01.18 16:17 Сейчас в теме
(39)Стесняюсь спросить "А в epub'е нету?" :)
41. zarucheisky 12.01.18 11:48 Сейчас в теме
(40) вроде читабельно собралось
Прикрепленные файлы:
progit2.epub
bobah_; Anikrion; Berckk; GoR1313; vesd; mbalyukin; sssss_aaaaa_2011; BlizD; artbear; +9 Ответить
42. sssss_aaaaa_2011 12.01.18 12:20 Сейчас в теме
(41)Бальшой-бальшой спасиб! :)
43. artbear 1302 12.01.18 13:08 Сейчас в теме
(42) Можно плюсиком поощрить (41) в дополнение к спасибо!
44. sssss_aaaaa_2011 13.01.18 15:08 Сейчас в теме
(41)К сожалению, обнаружились кое-какие огрехи. Но если огрехи в грамматике и орфографии больше относятся к переводчику, то вот кусок английского текста между вводным параграфом раздела Настройки Git и Заключением этого же раздела скорее всего ошибка сборки. На сайте этот кусок книги на русском.Для меня это не проблема и я благодарен и за то, что есть, но вот для кого-то это может стать большим обломом.

Добавчик: в PDF такая же фигня.

Опять забыл: в epub с оглавлением что-то не то. С него на любой раздел переход есть, а вот выйти на оглавление из любого места книги - нет. Хотя, может это моя читалка ерундит.
zarucheisky; +1 Ответить
45. zarucheisky 15.01.18 10:12 Сейчас в теме
(40)
(44)
Да, собственно, потому epub и не собирался asciidoctor выдавал ошибку структуры с разделами.
Сильно не стал заморачиваться, исходники на гитхабе, кому надо - может и сам потренироваться и собрать :)
46. sssss_aaaaa_2011 15.01.18 13:46 Сейчас в теме
(45)Да, собственно, там такая же лажа. :) Так что это там надо править.
13. anton448 80 27.10.17 10:49 Сейчас в теме
Очень полезная статья! Плюсую :)
16. DenisCh 27.10.17 11:57 Сейчас в теме
подскажите, сколько времени ERP будет выгружаться в файлы, а потом обратно собираться?
18. pumbaE 641 27.10.17 12:07 Сейчас в теме
(16) Первый раз 20 минут, потом быстрее (до минуты) если коммандный режим используете.
23. the1 862 27.10.17 14:58 Сейчас в теме
(18) На партнерском форуме разработчиками EDT была названа цифра 8 часов только на выгрузку
26. pumbaE 641 27.10.17 16:33 Сейчас в теме
(23) в EDT да, а просто выгрузка в исходники 20-35 минут, это полная выгрузка.
29. the1 862 27.10.17 20:04 Сейчас в теме
(26) Разве там не одинаковый принцип? выгрузить конфигурацию в файлы
30. iliabvf 01.11.17 10:11 Сейчас в теме
Спасибо за статью, но почему бы не дать инструкцию по работе с обычным Git? Или локальным?
Клиент это конечно хорошо, но поверхностные знания обычно как бумеранг всегда ударяют в затылок.

Для тех, кто хочет понять суть GIT или создать свой репозиторий, короткая шпаргалка (да еще и на русском!):
https://ru.stackoverflow.com/questions/431520
31. BlizD 829 01.11.17 10:15 Сейчас в теме
(30)
Добрый день, спасибо за отзыв.

Думаю в качестве изучения самого GIT, хорошо подойдет книга про гит.,

* https://git-scm.com/book/ru/v1 - книга про Git на русском;
32. gradi 5 09.01.18 09:24 Сейчас в теме
Может кто-нибудь знает - при скачивании архива проекта с gitlab кириллические имена файлов "ломаются", т.е. символы заменяются на какой-то бред. Как с этим бороться?
33. BlizD 829 09.01.18 09:26 Сейчас в теме
(32)
Добрый день, Константин.

Ответа не знаю, но думаю Вам помогут вот тут: https://gitter.im/gitlab-russian/public
34. ADirks 185 09.01.18 12:18 Сейчас в теме
(32) наверное, потому что zip.
не надо архив скачивать, надо говорить "git clone ..."
47. RainyAugust22 253 21.02.18 06:36 Сейчас в теме
В п. Clone выходит ошибка - Failed to connect to github.com port 443: Timed out.
Настроил проксю в Git через ком. строку. Все равно никак.
Возможно что-то пропустил в разделе "Установка Git".
Генерация SSH-ключей
Регистрация на Bitbucket и все пункты что ниже также необходимо выполнить?
48. BlizD 829 21.02.18 17:56 Сейчас в теме
(47)
Добрый день, Михаил.

Похоже, что то то с интернетом и установкой соединения.

Генерация SSH-ключей
Регистрация на Bitbucket и все пункты что ниже также необходимо выполнить?

Генерацию SSH-ключей - не делал.
Регистрацию на Bitbucket не надо делать.
Гит можно установить через Далее - Далее.

Еще можете задать вопрос вот тут https://gitter.im/EvilBeaver/oscript-library
Они там быстрее и правильнее ответят.
49. ITerrible 22.01.19 15:23 Сейчас в теме
Подскажите, есть ли возможность из GIT репозитория обновить хранилище 1С?
50. BlizD 829 22.01.19 17:57 Сейчас в теме
(49)
Подскажите, есть ли возможность из GIT репозитория обновить хранилище 1С?


Добрый день, Иван.

Если конфигурация на управляемых формах, то обновить из GIT хранилище в принципе можно.
Но насколько мне известно, то лучше так не поступать.
Узнать о еще каких причинах проблемах, можно задав вопрос в телеграмме например вот тут https://t.me/ssl1c
51. user1279314 11.09.19 10:21 Сейчас в теме
Привет! Нужен старый аккаунт github, если есть не нужный могу купить malikovone,gmail,com
Оставьте свое сообщение

См. также

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    50299    DarkAn    86    

Еще раз о рабочих днях. Быстрый способ расчета в запросах

Практика программирования Математика и алгоритмы Разработка v8 Абонемент ($m)

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

1 стартмани

20.06.2019    10223    Alxby    11    

Функциональное программирование в 1С

Практика программирования Математика и алгоритмы Разработка v8 1cv8.cf Абонемент ($m)

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

1 стартмани

28.03.2019    8887    alexey.kutya    26    

Агрегатное суммирование строк в запросе – сложно, но не невозможно Промо

Математика и алгоритмы v8 Абонемент ($m)

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

1 стартмани

09.09.2013    81367    ildarovich    57    

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

Практика программирования Математика и алгоритмы Разработка v8 Абонемент ($m)

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

1 стартмани

04.03.2019    6008    Alxby    4    

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

Инструментарий разработчика Управление проектом v8 1cv8.cf Бесплатно (free)

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

28.01.2019    21175    stas_ganiev    30    

Жизненный цикл управляемой формы. Шпаргалка разработчика

Практика программирования Математика и алгоритмы v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

29.06.2018    33732    stas_ganiev    26    

Демо связи веб сервисов 1С и php Промо

Практика программирования Математика и алгоритмы WEB v8 1cv8.cf Абонемент ($m)

Демонстрация обращения к веб сервису 1С из php. Пример простейший, уровня hello world. Дана одна страница и информационная база 1С с одним справочником и одним веб сервисом. Веб сервис выдаёт содержимое справочника по запросу странички.

1 стартмани

19.07.2013    32466    Трактор    20    

Принципы ООП в 1С на примере реализации pattern Decorator

Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

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

1 стартмани

21.06.2018    12161    lazarenko    6    

Строим "фасады" в 1С

Практика программирования Математика и алгоритмы v8 Россия Абонемент ($m)

Как реализовать функционал, чтобы не было “мучительно больно” при расширении требований.

1 стартмани

04.05.2018    17837    ktb    41    

Случайность, совпадение, закономерность. Генератор случайных чисел

Практика программирования Математика и алгоритмы Игры v8 1cv8.cf Абонемент ($m)

Объект ГенераторСлучайныхЧисел удобно выдает случайные числа в заданном интервале значений. Исследование особенностей, рассуждения на тему случайных чисел, практика применения. Увлекательно в игровой форме можно исследовать работу генератора случайных чисел.

1 стартмани

20.01.2018    33272    Ликреонский    58    

115 полезностей от Буравова Андрея по курсу СКД Евгения Гилёва Промо

Математика и алгоритмы v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

08.04.2012    39991    Flashill    70    

Планы обмена 1С: решение проблемы блокировок при помощи средств SQL Server

Практика программирования Математика и алгоритмы v8 Абонемент ($m)

Небольшое исследование возможности улучшить работу планов обмена 1С средствами SQL Server: view + triggers (представление + триггеры). В статье описывается один из приёмов SQL программирования для решения проблем блокировок, когда основные структуры данных изменить нельзя.

1 стартмани

10.01.2017    13237    zhichkin    4    

Использование git для доработки типовых конфигураций 1С

Математика и алгоритмы v8 Беларусь Украина Россия Бесплатно (free)

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

11.10.2016    213971    pumbaE    31    

Альтернативные системы контроля версий и их применение для хранения версий продуктов, разработанных на платформе 1С

Практика программирования v8 Бесплатно (free)

Речь пойдет о том, каким образом мы с вами можем использовать для разработки в 1С альтернативное программное обеспечение контроля версий, которое существует сейчас в мире. Если выбирать емкое слово, которое должно отразить доклад, то это, наверное, слово «ветки» - ветвления. Статья написана по итогам доклада, прочитанного автором на Конференции IE 2013 Еvolution 23-24 мая 2013 года. Также она напечатана в Журнале Инфостарта №2.

17.04.2015    25995    pumbaE    25    

Технология создания коммерческих разработок на базе Базовой конфигурации "Управление Торговлей, ред.10.3" Промо

Математика и алгоритмы Рабочее место v8 v8::ОУ УТ10 УУ Абонемент ($m)

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

1 стартмани

11.03.2012    25912    Rustig    93    

Степень сходства двух наименований справочника

Математика и алгоритмы v7.7 v8 Абонемент ($m)

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

1 стартмани

25.02.2015    21353    etmarket    43    

Git-flow в 1С (Система контроля версий)

Управление проектом v8 1cv8.cf Бесплатно (free)

Статья является переосмыслением и дополнением к предыдущим трудам "Как мы управляем версиями (GIT+1C)" и "Как мы управляем версиями и тестированием 1C 8.3 (часть 2)". Как оказалось, многие не понимают, зачем такие сложности и почему? Попытаюсь ответить на эти вопросы и описать подход git-flow.

03.11.2014    61733    pbazeliuk    89    

АЦРК: Многовариантный автоматический запрет редактирования (для конфигурации УТ 10.3)

Закрытие периода Математика и алгоритмы Администрирование данных 1С Закрытие периода v8 УТ10 Абонемент ($m)

В этой статье описывается усовершенствованная технология автоматической установки даты запрета редактирования Во-первых, можно определить несколько стратегий запрета редактирования с разными параметрами. Например, запрет в днях, запрет доступа в предыдущие месяцы кварталы и т.п., с указанием отступа от текущей даты. То есть для некоторых пользователей (рядовых менеджеров) при входе в базе будет устанавливаться запрет по вчерашний день, для других (старших менеджеров) на 5 дней назад, для третьих (администраторов базы или руководителей отдела) - запрет предыдущего месяца с отступом в 10 дней.. Во-вторых, запрет будет устанавливаться для ВСЕХ без исключения пользователей базы данных. Для самых привилегированных это будет максимальная глубина, но запрет будет установлен. Управление этой системой осуществляется через механизм дополнительных прав пользователей. При необходимости пользователь с полными правами может открыть для себя закрытый период, но только на текущий сеанс работы.

1 стартмани

22.07.2013    20994    acrk    9    

Разработка многоязычной системы

Математика и алгоритмы v8 Абонемент ($m)

В статье затронуты некоторые аспекты многоязычности системы с точки зрения их технической реализации

1 стартмани

20.06.2013    21242    YOr!k    54    

Передача аргумента, полученного по ComConnector, на сервер

Математика и алгоритмы v8 Абонемент ($m)

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

1 стартмани

20.03.2013    6459    asved.ru    3    

Объектно-ориентированный взгляд на программирование в 1С

Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Рассматриваем программирование в 1С как работу с объектами и классами.

1 стартмани

18.04.2012    29859    BorisMor    241    

Системы контроля версии и 1С

Практика программирования Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Системы контроля версий на службе у 1С-ника.

1 стартмани

22.02.2012    38391    142    pumbaE    58    

Использование нарастающих итогов в партионном учете и не только

Математика и алгоритмы v8 Россия Абонемент ($m)

Данный материал является иллюстрацией способов работы с запросами, использующими методику вычисления «нарастающих итогов». Также в данной статье рассматриваются вопросы практического использования запросов такого рода при партионном учете и расчете задолженностей. Фактически в данной статье рассматриваются альтернативы запросам, приведенным в статьях http://infostart.ru/public/61295/ и http://infostart.ru/public/68225/. Полный текст статьи можно также найти на http://nashe1c.ru/materials-view.jsp?id=383.

1 стартмани

25.08.2011    14089    y-str    107    

Модуль менеджера или статические методы класса?

Математика и алгоритмы v8 1cv8.cf Россия Абонемент ($m)

Зачем в платформе 8.2 добавили модуль менеджера объекта, как его использовать? Попробуем разобраться.

1 стартмани

02.07.2010    62419    zfilin    97    

Как я победил блокировки (deadlock)

Математика и алгоритмы v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

28.09.2009    21903    Minotavrik    64