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
26.10.17
5
.docx 261017 645,80Kb 5 Скачать

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

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

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

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

А ограничение на захват объекта я отнесу к плюсам чем к недостаткам или ограничениям! Т.к. очень важно чтобы обновление проходило без анализа кода! А как я понял в гите этого нет. Разработчику придется потратить время, если ему придет 2 версии изменения на 1 объект!
7OH; Sheff; +2 3 Ответить
14. artbear 1180 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 962 27.10.17 14:07 Сейчас в теме
(19) на такой случай у меня был грамотный админ, которому я все объяснил! Так что извините, что раньше не думали! И это был ваш косяк, умение признавать ошибки очень важно, а лучше учиться на чужом опыте! У меня к вам нет претензий, т.к. ваши проблемы это ваши проблемы! Не хотите слушать, объяснять или учить же не нужно мне))
Mettem_Kirill; +1 5 Ответить
27. Region102 27.10.17 19:10 Сейчас в теме
(20) У меня архивы то делались, я про то что хранилище "не падает".
28. Xershi 962 27.10.17 19:54 Сейчас в теме
(27) как я уже говорил, дайте мне случай который будет воспроизводиться! Если например на сервере нет резервного или жесткий диск полетит, тут никто не застрахован! Но пока мне ни одного аргумента не предоставили как можно положить хранилище и воспроизвести это на любом другом!

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

спасибо, за отзыв.
11. cmd_vasec 34 27.10.17 10:07 Сейчас в теме
(3) Можно пользоваться и хранилищем и gitом ( В помощь (Gitter)).
12. Xershi 962 27.10.17 10:10 Сейчас в теме
(11) очень жаль, что не разобрались, очевидно не научили разработчиков пользоваться хранилищем! А оно как известно очень капризно!
22. cmd_vasec 34 27.10.17 14:50 Сейчас в теме
(12) Предлагаю написать статью о преимуществе хранилища перед гитом или напишите тут.
sasha777666; eeeio; Sheff; +3 Ответить
24. Xershi 962 27.10.17 15:10 Сейчас в теме
(22) т.к. я не пользуюсь гитом, то статью не имеет смысла писать. В чем для меня лично преимущество, уже я написал!
35. ADirks 182 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 1180 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 67 26.10.17 23:27 Сейчас в теме
Начало статьи заманчивое, но тема начала статьи не раскрыта. Зачем мне все это нужно ? И непонятные слова, так и не расшифровали. И при чем тут кабан с доской?
Sheff; kuzyara; the1; artbear; +4 Ответить
8. BlizD 762 27.10.17 07:24 Сейчас в теме
(4)
Добрый день, Алексей.
Вы, правы, статья не раскроет все аспекты возможного взаимодействия Github и 1с.
Основная цель статьи, это дать возможность взять инструкцию, и пропустить ее через свои руки.

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

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


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

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

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

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

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

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

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

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

P.S. а еще вы, наверное, пишете в начале каждого изменения "Петров 2017-10-27 задача 8721 -->" а в конце "<---". Ну и как, помогает? Авторские комментарии не устаревают и не врут, и у вас они всегда актуализированы? И можно увидеть, что было здесь ДО этого изменения? Конечно можно, рядом же закомментированный кусок того, что было, да?
SirYozha; Kinestetik; profisasha; gztrbnst; CratosX; JohnyDeath; cleaner_it; Dach; kuzyara; IvanovAV; vlad.frost; artbear; baton_pk; +13 Ответить
9. BlizD 762 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
bkavto; BlizD; artbear; +3 Ответить
40. sssss_aaaaa_2011 11.01.18 16:17 Сейчас в теме
(39)Стесняюсь спросить "А в epub'е нету?" :)
41. zarucheisky 12.01.18 11:48 Сейчас в теме
(40) вроде читабельно собралось
Прикрепленные файлы:
progit2.epub
Berckk; GoR1313; vesd; mbalyukin; sssss_aaaaa_2011; BlizD; artbear; +7 Ответить
42. sssss_aaaaa_2011 12.01.18 12:20 Сейчас в теме
(41)Бальшой-бальшой спасиб! :)
43. artbear 1180 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 75 27.10.17 10:49 Сейчас в теме
Очень полезная статья! Плюсую :)
16. DenisCh 27.10.17 11:57 Сейчас в теме
подскажите, сколько времени ERP будет выгружаться в файлы, а потом обратно собираться?
18. pumbaE 634 27.10.17 12:07 Сейчас в теме
(16) Первый раз 20 минут, потом быстрее (до минуты) если коммандный режим используете.
23. the1 555 27.10.17 14:58 Сейчас в теме
(18) На партнерском форуме разработчиками EDT была названа цифра 8 часов только на выгрузку
26. pumbaE 634 27.10.17 16:33 Сейчас в теме
(23) в EDT да, а просто выгрузка в исходники 20-35 минут, это полная выгрузка.
29. the1 555 27.10.17 20:04 Сейчас в теме
(26) Разве там не одинаковый принцип? выгрузить конфигурацию в файлы
30. iliabvf 01.11.17 10:11 Сейчас в теме
Спасибо за статью, но почему бы не дать инструкцию по работе с обычным Git? Или локальным?
Клиент это конечно хорошо, но поверхностные знания обычно как бумеранг всегда ударяют в затылок.

Для тех, кто хочет понять суть GIT или создать свой репозиторий, короткая шпаргалка (да еще и на русском!):
https://ru.stackoverflow.com/questions/431520
31. BlizD 762 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 762 09.01.18 09:26 Сейчас в теме
(32)
Добрый день, Константин.

Ответа не знаю, но думаю Вам помогут вот тут: https://gitter.im/gitlab-russian/public
34. ADirks 182 09.01.18 12:18 Сейчас в теме
(32) наверное, потому что zip.
не надо архив скачивать, надо говорить "git clone ..."
47. RainyAugust22 248 21.02.18 06:36 Сейчас в теме
В п. Clone выходит ошибка - Failed to connect to github.com port 443: Timed out.
Настроил проксю в Git через ком. строку. Все равно никак.
Возможно что-то пропустил в разделе "Установка Git".
Генерация SSH-ключей
Регистрация на Bitbucket и все пункты что ниже также необходимо выполнить?
48. BlizD 762 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 762 22.01.19 17:57 Сейчас в теме
(49)
Подскажите, есть ли возможность из GIT репозитория обновить хранилище 1С?


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

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

См. также

Нечеткое сравнение строк. Метод Джаро-Винклера на 1С Промо

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

Схожесть строк. Метод Джаро-Винклера. В обработке реализован алгоритм нечеткого сравнения строк.

3 стартмани

20.04.2018    17834    73    Serg1701    19    

Treemapping. Демонстрационная обработка

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

Пример реализации диаграммы вида Treemap на 1С

1 стартмани

27.02.2020    2065    7    randomus    4    

Рекомендательный сервис на основе коллаборативной фильтрации на 1С. Расширение формы подбора для УТ 11.4

Оптовая торговля Розничная торговля Практика программирования Математика и алгоритмы v8 ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия УУ Абонемент ($m)

В данной разработке реализован механизм рекомендаций товаров по принципу схожести товаров в корзине на основе алгоритма Item-to-Item от Amazon. Разобран алгоритм с демо базой и сделано расширение для УТ11.4 которое добавляет в форму подбора таблицу рекомендаций. Протестировано на 8.3.13.1865 на Управление торговлей, редакция 11 (11.4.8.63)

3 стартмани

25.09.2019    7665    12    informa1555    24    

Конвейер проверки качества кода

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

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    18972    20    Stepa86    44    

Определение кратчайших путей, критических путей одним запросом Промо

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

Еще два примера применения алгоритма каскадного матричного умножения, впервые описанного в статье «Транзитивное замыкание запросом» http://infostart.ru/public/158512/

1 стартмани

07.04.2014    36232    22    ildarovich    31    

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

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

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

1 стартмани

20.06.2019    5518    1    Alxby    11    

Искусственный интеллект для змейки. Часть 1: Кратчайший/длиннейший путь, Гамильтонов цикл

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

Различные варианты алгоритмов для игры "Змейка".

1 стартмани

07.06.2019    5469    3    Alex_YAM    2    

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

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

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

1 стартмани

28.03.2019    7700    0    alexey.kutya    26    

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

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

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

26.05.2017    46148    15    DarkAn    86    

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

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

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

1 стартмани

04.03.2019    5163    1    Alxby    4    

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

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

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

28.01.2019    15676    0    stas_ganiev    28    

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

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

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

1 стартмани

29.06.2018    28139    51    stas_ganiev    26    

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

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

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

1 стартмани

09.09.2013    75131    32    ildarovich    53    

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

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

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

1 стартмани

21.06.2018    10581    4    lazarenko    6    

Алгоритмы и регламентные задания (расширение)

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

Универсальный механизм для создания алгоритмов и регламентных задач.

5 стартмани

28.05.2018    9761    7    pm74    39    

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

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

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

1 стартмани

04.05.2018    16634    3    ktb    41    

Полная методичка к курсу "Программирование 8.2" Промо

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

580 страниц знаний! Публикую методичку, а точнее стенограмму курса по подготовке программистов 8.2.

10 стартмани

09.01.2014    50598    109    GROOVY    100    

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

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

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

1 стартмани

20.01.2018    21557    2    Ликреонский    58    

Планы обмена. Скрестить ужа с ежом ... миссия выполнима =)

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

Небольшое исследование возможности улучшить работу планов обмена 1С средствами SQL Server: view and triggers. Результаты имеют больше теоретическое, чем практическое значение. Однако тем, кто ищет нестандартные решения, статья может понравиться =)

1 стартмани

10.01.2017    12513    3    zhichkin    4    

Многопоточная выгрузка одного сообщения обмена

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

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

1 стартмани

05.12.2016    14428    1    zhichkin    24    

Разработка синтаксического анализатора языка запросов на языке 1С Промо

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

Пример разработки генератора для PEG парсера

1 стартмани

03.12.2014    23634    1    so-quest    65    

1С+Классы. Версия-0

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

Разработано ООП-расширение языка 1С, включающее (но не ограничивающееся): Классы как абстрактные типы данных с элементами «переменная», «свойство», «функция», «процедура»; Интерфейсы как абстрактные классы без элементов состояния («переменная») и без привязки к реализации методов (свойств, процедур, функций) при определении; Имплементация (реализация) интерфейсов классами; - одиночное открытое наследование; Области видимости «внутренняя» (private), «экспорт» (public), «защищенная» (protected); Статические элементы классов (общие для всех экземпляров класса); Замещение (переопределение реализации) методов при наследовании – «виртуальные методы, свойства»; Сокрытие (затенение) обычных (не замещаемых) элементов при наследовании; Перегрузка процедур и функций по количеству и типам данных аргументов; Конструкторы класса; Деструктор класса; Слабые ссылки; Делегаты.

1 стартмани

28.10.2016    19028    1    IntelInside    68    

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

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

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

11.10.2016    202671    0    pumbaE    31    

Генетический алгоритм для решения простой задачки

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

Генетический алгоритм в решении задачи: Необходимо расставить правильно (по другому) скобки, чтобы получилось 850 (1 + 2) (3 + 4) (5 + 6) (7 + 8) (9 + 10) (11 + 12) (13 + 14) + 15

1 стартмани

26.09.2016    9101    5    eugeniezheludkov    4    

Еще один взгляд на проблему «жизнь без последовательностей». Часть вторая (практическая) Промо

Математика и алгоритмы v8 КА1 БП2.0 УТ10 Розница УПП1 УНФ Россия Абонемент ($m)

В [1 - http://infostart.ru/public/62938/] был предложен метод корректировки списаний по партиям при изменении документов задним числом. Использование данного метода позволяет контролировать остатки при неоперативном проведении и поддерживать учет по партиям всегда в актуальном состоянии, то есть обходиться без механизма последовательности документов. Собственно метод заключался в решении задачи правильного списания по партиям как задачи линейного программирования. В доказательство работоспособности метода приводится следующая «каркасная» конфигурация «Полигон», в которой этот метод реализован.

1 стартмани

19.08.2010    28734    18    ildarovich    35    

Объектные блокировки

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

При работе с объектными данными (справочники, документы, планы счетов и т.д.) система «1С:Предприятие» обеспечивает два вида объектных блокировок: пессимистическую и оптимистическую. Они позволяют выполнять целостные изменения объектов при одновременной работе нескольких пользователей.

1 стартмани

17.08.2016    28099    9    Ranis1286    5    

Использование методов глобального контекста в системе компоновки данных или недокументированные возможности СКД

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

Прочитал на форуме, что СтрРазделить() и ТекущаяДата() работают в языке выражений системы компоновки данных. Почитал справку, там ничего не нашёл, поэтому не поверил. Посмотрел на практике – и правда работает… В данной статье попытался привести весь перечень методов, работающих в СКД, но не описанных в документации.

1 стартмани

05.08.2016    34716    26    klinval    39    

Еще один способ расчета остатков на каждый день в запросе

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

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

1 стартмани

24.04.2016    31939    48    ildarovich    21    

Включаем звук в 1С. Доступно и всерьез. Промо

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

Как сделать воспроизведение звука в 1С без внешних компонентов? Решаем средствами интернета. Для тонкого, толстого и web-клиента.

1 стартмани

30.12.2013    78396    144    sikuda    27    

Пример рекурсивной выгрузки иерархической структуры в XDTO

Математика и алгоритмы Внешние источники данных WEB v8 1cv8.cf Абонемент ($m)

Решил реализовать иерархию в пакете XDTO и выгрузить ее рекурсивно. Задача оказалась нетривиальной, хотя и весьма простой. Изысканиями решил поделиться с народом, чтобы не пропадало народное добро.

1 стартмани

26.02.2016    32435    15    starik-2005    3    

Нелинейная многомерная оптимизация - это просто. Часть 3. Имитация отжига

Инструментарий разработчика Математика и алгоритмы Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.10.2015    17444    23    dusha0020    5    

Нелинейная многомерная оптимизация - это просто. Часть 1. Градиентный спуск

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

Рассказ с демонстрацией возможностей градиентного метода поиска оптимального решения.

1 стартмани

07.07.2015    17300    7    dusha0020    19    

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

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

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

1 стартмани

19.07.2013    31541    47    Трактор    20    

Пример сериализации объектов в 1С 8.3 и их восстановления из сериализованных данных

Математика и алгоритмы Обмен через XML Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

05.07.2015    26156    74    katkov_a    29    

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

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

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

17.04.2015    24793    0    pumbaE    25    

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

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

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

1 стартмани

25.02.2015    19884    1    etmarket    43    

Конспект лекций по курсу «Автоматизированные информационные системы» Промо

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

Конспект лекций по курсу «Автоматизированные информационные системы» составлен на основании требования Государственного образовательного стандарта среднего профессионального образовании к содержанию и уровню подготовки выпускника по специальности 230103 «Автоматизированные системы обработки информации и управления». В конспекте есть общие сведения о методике 1С:Профкейс. Конспект лекций разработал: канд. техн. наук, доцент Космачев С.Н.

1 стартмани

07.06.2012    23858    9    ksnik    19    

Написание простой обработки через тестирование

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

Раньше я считал, что в 1С невозможно юнит-тестирование (ведь тут нет вездесущих объектов, привычных классов и и. т.). Иногда на Инфостарте появлялись специализированные обработки, но часто они скорее отпугивали от темы тестирования, чем привлекали к ней. Потом я узнал про xUnitFor1C. Оказалось, что тестирование в 1С в общем не так уж и сложно, даже в сравнении с другими языками. В данной статье я расскажу о своем первом опыте.

1 стартмани

24.02.2015    26042    11    Alien_job    40    

Парсинг сайта без использования встроенного браузера для начинающих

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

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

1 стартмани

20.11.2014    38263    111    angernaughts    36    

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

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

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

03.11.2014    56685    0    pbazeliuk    89    

Автоформатирование кода Промо

Сервисные утилиты Обработки Чистка базы Справки Производительность и оптимизация (HighLoad) Инструментарий разработчика Практика программирования Универсальные обработки Решение задач на 1С:Специалист Математика и алгоритмы Администрирование данных 1С Разработка Тестирование и исправление Стартеры 1С v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.12.2012    38281    46    Sibars    57    

Куайн (Программа, выводящая свой исходный код на экран)

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

Обработка позволяет насладится реализацией этой интересной, и совершенно бесполезной с практической точки зрения задачей.

1 стартмани

25.08.2014    9063    0    atridis    7    

Пророк в своем отечестве или Читаем XML с помощью XDTO

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

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

1 стартмани

29.01.2014    43368    24    majmyl    53    

БСП, использование типового механизма 1с для запуска регламентных заданий с заранее подготовленными настройками.

Математика и алгоритмы БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Описание варианта запуска регламентного задания на БСП, без изменения типовой конфигурации.

1 стартмани

03.01.2014    34557    112    almas    7    

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

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

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

1 стартмани

08.04.2012    36515    4    Flashill    69    

Методический материал. Работа с запросами

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

Краткое методическое пособие для изучения запросов в 1С

1 стартмани

23.12.2013    17384    12    rayastar    27    

Определитель матрицы

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

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

1 стартмани

28.11.2013    11959    5    zaxarovsky    8    

Квадратный корень в запросе 1С

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

Язык запросов 1С не позволяет вычислить квадратный корень 1С. Квадратный корень может пригодиться при вычислении среднеквадратического отклонения или геометрических вычислениях.

1 стартмани

24.10.2013    26049    4    Elisy    53    

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

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

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

1 стартмани

11.03.2012    24699    0    Rustig    93    

Задачи о 5 и 9 ферзях

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

Задача о ферзях-часовых. На шахматной доске надо расставить 5 ферзей, чтобы они держали под боем все клетки доски. Задача В. Франгена, расставить на шахматной доске 10 “белых” и 9 “чёрных” ферзей так, чтобы ни один из них не находился под ударом противника

1 стартмани

31.08.2013    19749    0    scientes    4    

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

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

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

1 стартмани

22.07.2013    20529    11    acrk    9    

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

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

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

1 стартмани

20.06.2013    20407    21    YOr!k    54    

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

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

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

1 стартмани

20.03.2013    6116    0    asved.ru    3