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

Публикация № 1030323 28.03.19

Приемы и методы разработки

git версионирование ДляЧайников начинающим коммит репозиторий

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

Краткое содержание статьи:

  1. Установка Git для Windows
  2. Установка TortoiseGit (для удобства работы с git)
  3. Клонирование репозитория с файлами из облака на локальный ПК
  4. Внесение изменений в проект, выгрузка в файлы исходных кодов из конфигуратора
  5. Отправка изменений на сервер (commit и push)
  6. Получение измененных файлов с сервера (например, изменены другим разработчиком)
  7. Создание своего репозитория для новой задачи (в VSTS)

    
Многое уже было написано на тему контроля версий для 1С-кода, использование хранилищ конфигураций и тому подобное. Здесь я попытаюсь описать именно свой опыт и привести свои инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий", не будет ни форков, ни мерджа, ни фетча и т.п., только основы). 
Возможно, кому-то пригодится данный опыт для начала работы.
И ни в коем случае не хочется претендовать на то, что этот опыт лучший, но для маленькой команды, он оказался довольно эффективным. С удовольствием почитаю Ваши предложения по организации работы с хранилищами при разработке "не конфигураций".
Забегая вперед, скажу, что сейчас, когда вышла вполне вменяемая и пригодная к использованию версия 1C:EDT (Enterprise Development Tools), разработку непосредственно конфигураций перенесли в него, также с выгрузкой кода в git-репозиторий. Не всё в нем гладко, но зато работа с синтаксис-помощником намного удобнее, анализ кода "на лету" и многое другое (но эта тема претендует на совершенно другую статью и не будет обсуждаться здесь, если кому станет интересно, могу выложить небольшие инструкции по работе с git из ETD не через внутренний его механизм, а также через TortoiseGit, созданию нового проекта и загрузке в него изменений, сделанных через конфигуратор).

UPDATE: статья про EDT написана, см. тут ;)

Это вместо вступления, а теперь перейдем непосредственно к теме.

Предисловие к написанным ниже инструкциям:
Основное направление разработки у нас было не создание/редактирование конфигураций, а написание отчетов, обработок и расширений. Поэтому вариант с "хранилищем конфигураций" не рассматривался, как довольно тяжелое и немного замороченное в использовании решение. Поэтому было решено использовать какое-нибудь git-хранилище для маленьких проектов (именно под отчеты/обработки/расширения).
Так как работаю в государственном образовательном учреждении с крайне ограниченным бюджетом, то выделения средств на платные репозитории у нас не предполагались. Начинали мы думать об использовании репозитория три года назад, а тогда GitHub был еще платным в случае закрытых репозиториев (сейчас, после покупки его Microsoft, закрытые репозитории сделали бесплатными, если программистов не более трех). Поэтому на тот момент мы выбрали закрытые онлайн хранилища от Microsoft (которые позволяют работать до пяти программистов бесплатно) - а именно сервисы VSTS (visual studio online).
Почему заостряю на этом внимание - скриншоты в описанных ниже инструкциях будут сделаны именно из него. Но на самом деле это абсолютно не важно. Точно также можно делать и в случае с любым другим хранилищем, например, на гитхабе. Поэтому от скриншотов из "студии" можно немного абстрагироваться и приводятся они просто, чтобы дать представление о том, что можно делать.
Если Вы захотите тоже поработать именно с этим сервисом репозиториев, то данная инструкция поможет Вам быстрее его освоить.

Итак, в нашем примере будут использоваться следующие сведения и условия:
    1) Ссылка на общее хранилище (VSTS) для примера: mygit.visualstudio.com (домен третьего уровня задается при создании хранилища в данном сервисе, например, можно назвать его по имени Вашей организации)
    2) Пользователь для примера: user@outlook.com (имеющий соответствующий доступ к репозиторию на чтение/запись)
    3) Условимся, что в Git-репозиторий выкладывается не только исходный код, но и скомпилированная версия отчета/обработки/расширения для оперативного использования последней версии без необходимости ее "собирать из кода".

1. Установка Git для Windows
Чтобы начать работу с git, нам потребуется установить утилиту Git для Windows (рекомендуется скачивать дистрибутив с официального сайта git-scm.com/download/win).
Возможные примерные параметры при установке:
    - Выбрать все компоненты
    - Use Git from the Windows Command Prompt
    - Use the OpenSSL library
    - Checkout Windows-style, commit Unix-style line ending
    - Use MinTTY (the default terminal of MSYS2)
    - Enable file system caching
    - Enable Git Credential Manager

 

2. Для удобства работы с git (не через командную строку, а через контекстное меню проводника операционной системы) рекомендуется установить TortoiseGit (я его обычно называю просто "черепашкой").
Опять же скачиваем дистрибутив с официального сайта программы: tortoisegit.org/download
При необходимости там же можно скачать русский language pack.
Установка производится без особых дополнительных настроек. В конце рекомендуется согласиться на запуск мастера настройки, где зададим пути для запуска гит и пользователя, под которым будем работать с репозиториями:
    - Проверяем, что путь к ранее установленному git.exe указан верно:
    
    

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

3. Клонирование репозитория с файлами из облака на локальный ПК:
Чтобы начать работать над проектом, нужно создать его локальную "копию" у себя в системе.
Для этого переходим на сайт общих проектов VSTS (в нашем примере mygit.visualstudio.com), выбираем нужный проект, затем нажимаем Code и указываем нужный репозиторий (в данном сервисе один проект может содержать несколько репозиториев). Далее нажимаем ссылку Clone:

В открывшемся окне копируем HTTPS ссылку на репозиторий:

В проводнике создаем папку, в которой будет локально располагаться репозиторий (лучше всего назвать ее также, как репозиторий, чтобы потом было легче ориентироваться при возросшем количестве проектов), затем в контекстном меню данной папки выбираем пункт "Git Clone…" (этот пункт появляется после установки TortoiseGit):

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

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

Загрузка файлов из облака (полетела "черепашка"):

В локальную папку будет загружено содержимое выбранного репозитория:


4. Внесение изменений в проект

Работать можно как загрузив проект из файлов исходных кодов, так и со стандартным скомпилированным файлом 1С (erf и т.п.). 
Например, после загрузки из облака, открываем в конфигураторе файл отчета, вносим в него изменения, как обычно.
В конце дня (или по завершению работ) после внесения изменений, например, во внешний отчет "Стартовые протоколы", необходимо обновить информацию в облаке.
Для этого любой 1С проект (отчет, обработка или расширение) необходимо выгрузить в файлы при помощи встроенной команды Действия - "Выгрузить в файлы":

В случае расширений конфигурации: пункт меню "Конфигурация" - "Выгрузить конфигурацию в файлы":

В качестве места сохранения необходимо указать локальный репозиторий. Также после выгрузки файла необходимо туда же в корень разместить оригинал рабочего файла, если работа с ним происходила в другом месте (файл 1С формата erf  и т.п.), на случай, если другой разработчик не сможет "собрать" его из выгруженных файлов-исходников (XML) или нужно сразу использовать результат без перекомпилирования.


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

5. Отправка изменений на сервер: (commit и push)

После выгрузки обновленных версий файлов из 1С нужно "зафиксировать" результат, т.е. сделать коммит.
В контекстном меню папки репозитория выбираем Git Commit:

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

Затем нажимаем Commit. До отправки на сервер можно сделать несколько коммитов (отправки в облако при этом не происходит).
Теперь необходимо отправить изменения в облако, для этого в контекстном меню папки репозитория выбираем Git Sync:

В открывшемся окне видим все сделанные нами коммиты. Чтобы отправить их в облачный репозиторий, нажимаем кнопку "Push":


6. Получение измененных файлов с сервера (например, изменены другим разработчиком).
Допустим, теперь нам необходимо получить изменения, сделанные другим разработчиком. Предполагается, что локальная папка проекта у нам уже имеется (если нет, то нужно выполнить пункт 3).
В проводнике в контекстном меню локальной папки репозитория выбираем Git Sync - затем Pull (будут загружены последние версии файлов репозитория):

Ждем, когда загрузятся изменения, в итоге увидим коммиты, сделанные другими программистами, затем нажимаем Close (новые версии уже будут лежать в локальной папке).

7. Создание своего репозитория для новой задачи (пример в сервисе VSTS)
Если потребовалось создать репозиторий под новый проект, то делаем следующие действия.
На сайте облачного хранилища создаем новый репозитарий - New repository:

Указываем наименование (желательно на латинице, т.к. оно используется в URL) и соглашаемся с созданием README файла:

Далее подключаемся к нему, как написано в пункте 3, и располагаем там как выгруженные XML файлы 1С-решения, так и сам исходный файл.

Заключение:
Теперь в облаке можно смотреть историю изменения кода:

На данный момент у нас в этом хранилище около 50 проектов, работа с ними ведется постоянно тремя программистами при помощи методов, описанных выше. Преимущества использования git, наверное, описывать не требуется, так как все понимают для чего это нужно и чем это полезно. Даже если Вы являетесь единственным разработчиком проекта, всё равно рекомендуется использовать систему контроля версий, хотя бы для себя (всегда будет возможность откатиться на предыдущую версию в случае случайной порчи релиза, да и всегда самому интересно после push'а зайти да посмотреть, что Вы сегодня сделали и порадоваться своей работе, ну или наоборот расстроиться…). И не важно - код 1С это или любой другой код. Плюс можно дать доступ на просмотр коммитов и истории изменений кода Вашему начальству (менеджеру проектов или любому другому заинтересованному лицу), чтобы видели процесс Вашей работы наглядно (главное, чтобы не считали зарплату по количеству написанных строк  кода :).

Что мне не нравится в вышеназванном сервисе (VSTS): нет подсветки кода 1С. Поэтому если Вы только начали этим заниматься, то рекомендую воспользоваться новым предложением от GitHub (про бесплатный репозиторий) и организовывать хранилище уже там, т.к. на нем подсветка 1С-кода уже присутствует. 

Пример сравнения версий файла на GitHub:

Пример подсветки кода на GitHub:

 

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

Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user1190757 29.03.19 09:34 Сейчас в теме
А что так можно было? спасибо
John_Bel; _7445_; bimy22; wowik; ellavs; +5 Ответить
2. user1190757 29.03.19 09:47 Сейчас в теме
16. ellavs 848 29.03.19 11:05 Сейчас в теме
(2) 1С:Enterprise Development Tools - edt.1c.ru
Среда для разработки (для 1С-кода), можно использовать вместо конфигуратора.
67. dvpk1c 12.04.19 09:12 Сейчас в теме
(16)нужно* использовать вместо конфигуратора.
68. ellavs 848 12.04.19 11:18 Сейчас в теме
(67) наш программист с Вами бы поспорил ))
У нас вообще смешная ситуация: я пишу проект в EDT, он этот же проект в конфигураторе (потом ему приходится загружать конфу в EDT, чтобы залить исходники на гит).
69. dvpk1c 12.04.19 11:25 Сейчас в теме
(68)
Звучит все это странно, как минимум. Если проект уже есть в EDT, в функционал которого входит использование репозитория, какой смысл пользоваться конфигуратором, в котором, мягко говоря, неудобно кодить.
70. ellavs 848 12.04.19 11:42 Сейчас в теме
(69) думаете я не задавала ему такой вопрос. Но если человеку "так удобней", то заставлять его пересаживаться на EDT, только из-за того, что я уже это сделала, не буду. Пусть кодит там, где ему хочется, лишь бы работало )
71. dvpk1c 12.04.19 12:36 Сейчас в теме
(70) Что-то сродни тому, как олдскульные кодеры кичатся виртуозным владением vim-а))
72. AntonSm 29 12.04.19 12:43 Сейчас в теме
(71) а если обычные формы?
dvsidelnikov; +1 Ответить
90. leoxz 198 22.09.20 17:27 Сейчас в теме
(71)Год назад решили проверить EDT. В компании на корпоративном сервере разработки, работали с ЗУП 3, пробовал один человек, был запущен один сеанс на сервере с EDT и эта зверюга съела всю память))) Возможно за год ситуация стала лучше, но я бы аккуратно переходил на EDT и понимаю того программиста.
83. KRIHA 90 21.07.19 18:45 Сейчас в теме
(67) EDT, как спецы из раруса выяснили - жрет память, причем очень сильно, и они пока не советуют, к примеру, ERP туда заливать.
3. hillsnake 29.03.19 09:54 Сейчас в теме
Круто Возьму на заметку.
wowik; ellavs; +2 Ответить
4. AntonSm 29 29.03.19 09:57 Сейчас в теме
Gitlab тоже подсвечивает код 1С.
Github, конечно, побольше, но есть подозрение, что догонят.
А на гитлабе есть бесплатные приватные репозитории.
Прикрепленные файлы:
wowik; ellavs; +2 Ответить
13. ellavs 848 29.03.19 10:59 Сейчас в теме
(4) спасибо, не изучала этот сервис, надо посмотреть.
20. headMade 143 29.03.19 13:45 Сейчас в теме
(4) на github также уже можно создавать бесплатные приватные репозитарии

jif; YPermitin; igee12; GreenDragon; wowik; +5 Ответить
43. silberRus 70 31.03.19 23:17 Сейчас в теме
(4) На gitlab много народу перебежало когда microsoft поглотил github.
48. GreenDragon 02.04.19 16:54 Сейчас в теме
(4) С недавнего времени гитхаб тоже предоставляет возможность работы с приватными репозиториями на бесплатном тарифе. Гитлаб же хорош тем, что серверную часть можно захостить у себя. И да, это бесплатно. Подсветка синтаксиса bsl в гитлабе встроена, так что глазкам будет приятно.
88. Serg O. 199 06.06.20 15:20 Сейчас в теме
(4) GitHub тоже уже сделал бесплатные репозитории...
с органичениями конечно, но уже лучше
5. karpik666 3402 29.03.19 09:59 Сейчас в теме
я же правильно понимаю, что обратно собрать определенную версию конфигурации не получится из git?
6. AntonSm 29 29.03.19 10:00 Сейчас в теме
(5) получится. Почему - нет?
7. karpik666 3402 29.03.19 10:02 Сейчас в теме
(6) т.е вы у себя используете git и уже собирали версию?
10. AntonSm 29 29.03.19 10:14 Сейчас в теме
(7) я использовал гит через gitsync, т.е. выгружал данные из хранилища.
Разок пробовал загрузить в базу для теста из репозитория. Вроде все было ок.
11. karpik666 3402 29.03.19 10:50 Сейчас в теме
18. ellavs 848 29.03.19 13:25 Сейчас в теме
(11) вот пример: работа в EDT (похоже на конфигуратор) - скрин 1. По факту он работает сразу с исходниками - скрин 2 (вот что лежит в папке проекта (те же исходники, что можно сделать типовыми средствами - выгрузив из конфигуратора). При запуске проекта происходит сборка из исходников и загрузка скомпилированной конфигурации в базу.
Прикрепленные файлы:
igee12; Rustig; +2 Ответить
14. ellavs 848 29.03.19 11:00 Сейчас в теме
(5) постоянно собираю конфигурацию из исходников при работе с EDT (там проект только так и собирается - один программист выкладывает исходники, другой из них проект обратно собирает).
23. for_sale 860 29.03.19 14:38 Сейчас в теме
(5)
Всё работает в обе стороны, т.е. можно как выгрузить конфигурацию в репозиторий, так и загрузить в обычном виде из оного. Огромный минус всего этого действа - скорость. В файлы конфигурация БП у меня выгружалась 20-40 минут, из файлов - и того больше. Плюс сразу в конфигурацию загрузить из файлов не получится, надо в промежуточную, откуда выгружается цфник и уже он накатывается.
Rustig; ellavs; +2 Ответить
37. nicxxx 241 31.03.19 07:11 Сейчас в теме
38. for_sale 860 31.03.19 08:57 Сейчас в теме
(37)
Спасибо, кэп, за этот бесценный совет, но я уже.
JohnConnor; +1 Ответить
62. teller 04.04.19 12:43 Сейчас в теме
(37) а чего не посоветовал сразу с pc-xt на at386 пересесть?
84. SanchoD 227 23.07.19 09:00 Сейчас в теме
(62) Потому что нельзя так сразу перескакивать. Там еще AT286 надо было пройти.
8. capitan 2123 29.03.19 10:03 Сейчас в теме
9. AntonSm 29 29.03.19 10:09 Сейчас в теме
Еще могу сказать, что вместо выгрузки в файлы мне, например, удобнее пользоваться
precommit1c.
Правда сразу надо ставить OneScript.
И дальше поехали:
opm install precommit1c
в репозитории
precommit1c --install
а потом перед коммитом
precommit1c --git-precommit
12. AntonSm 29 29.03.19 10:53 Сейчас в теме
(9) precommit1c --git-precommit, кстати нужно, чтобы видеть, что сделано перед коммитом в удобном виде.
Прикрепленные файлы:
JohnConnor; ellavs; +2 Ответить
15. ellavs 848 29.03.19 11:03 Сейчас в теме
(12) да, тоже удобно. Нам просто нужно было поменьше заморочек и поудобнее отправка и получение, чтобы программисты не отвлекались на это (поэтому визуальный интерфейс по ПКМ из проводника оказался самым удобным, чем через командную строку).
26. olegtymko 750 30.03.19 01:57 Сейчас в теме
(15) в обработках обычные формы используете?
27. ellavs 848 30.03.19 09:14 Сейчас в теме
(26) честно говоря, никогда не работала с обычными формами, только с управляемыми...
starik-2005; +1 Ответить
30. nvv1970 30.03.19 09:27 Сейчас в теме
(9) precommit4onec
Precommit1c - устарел

Использовать ручную выгрузку - это жесть)
Я ещё использую батник для коммита. Контекстное меню - это долго ((
51. GreenDragon 02.04.19 17:24 Сейчас в теме
(30)
Precommit1c - устарел

Если сравнить историю развития двух проектов, то мне ваши слова кажутся крайне сомнительными:

https://github.com/xDrivenDevelopment/precommit1c/release

https://github.com/bia-tech/precommit4onec/releases

Касательно выгрузки: Используйте хранилище 1С в связке с https://github.com/oscript-library/gitsync
52. nvv1970 02.04.19 17:34 Сейчас в теме
(51) годное замечание, забрал слова обратно ))
Смотрел на релизы Евгения Сосны - там 2014 год. Поэтому сделал такие выводы.
Поправлю вашу первую ссылочку https://github.com/xDrivenDevelopment/precommit1c/releases

Касательно выгрузки: Используйте хранилище 1С в связке с https://github.com/oscript-library/gitsync
К чему это замечание? Да, пробуем использовать кое-где применительно к хранилищам... Пока нет выхлопа - к сожалению никто не заинтересован, все по-старинке(((
Какое отношение к внешним обработкам/отчетам?
GreenDragon; +1 Ответить
56. GreenDragon 02.04.19 22:32 Сейчас в теме
(52) гитсинк упомянул, так как решил, что
батник для коммита
относится к выгрузке конфигурации с коммитом в гит, а не ко внешним обработкам. С обработками, да, скриптиками в ручном режиме.
89. Serg O. 199 06.06.20 15:26 Сейчас в теме
(51) да gitsync - вещь супер-классная и уже была задолго до всяких EDT... и кстати обычные формы поддерживает... и проекты 1С на платформе 8.2 на "старых" версиях oscript и gitsync
17. пользователь 29.03.19 12:02
Сообщение было скрыто модератором.
...
19. DmitryKSL 156 29.03.19 13:34 Сейчас в теме
Вопрос немного не в тему.
Использую git под linux в Visual Studio Code, и в проекте я вижу количество изменений на панели (см. скрин). А вот под Windows как не пытался, пишет система управления версиями не зарегистрирована, хотя git стоит и в консоли все работает.
Прикрепленные файлы:
21. testnv0 29.03.19 13:51 Сейчас в теме
(19)
Столкнулся с таким же поведением. В моем случае достаточно было открыть уже иницилизированный пустой проект(git init), после этого vs code стал корректно показывать репозиторий.
24. for_sale 860 29.03.19 14:41 Сейчас в теме
(19)
У меня в винде 8.1 подхватывает без проблем, и при ините, и при клонировании, и просто если подсунуть папку с проектом
22. tsukanov 29.03.19 14:03 Сейчас в теме
Что-то у вас пункт "6. Получение измененных файлов с сервера (например, изменены другим разработчиком)" странноватый.
Все в одной ветке что ли работают?
28. ellavs 848 30.03.19 09:15 Сейчас в теме
(22) если речь про один и тот же проект, то, если правильно поняла вопрос, да.
35. tsukanov 30.03.19 19:02 Сейчас в теме
36. Vladimir Litvinenko 2638 30.03.19 19:23 Сейчас в теме
(28) В чём тогда смысл работы через Git вместо хранилища? То же расширение подключается к хранилищу и последним gitsync 3 может выгружаться в Git автоматически. Накладных расходов намного меньше. Если мердж сразу выполняется в одну мастер-ветку и нет пул/мердж реквестов, то даже при наличии практики код-ревью это всё равно будет посткоммитное ревью, которое итак возможно при применении хранилища. Сначала помещаем в мастер-ветку и пушим (закладка в хранилище) и только после этого видим код в виде диффа между двумя коммитами в мастер-ветке (выгрузка закладки хранилища в гит).

В описанной здесь схеме в качестве преимущества прослеживается только код-ревью внешних обработок. Ну и может быть тренировка разработчиков для работы с гит, чтобы потом не сильно пугались )) Хотя первую задачу опять же лучше автоматизировать через precommit, а вторую сейчас уже лучше решать сразу через изучение EDT.
25. v25i85 29.03.19 22:20 Сейчас в теме
времени жрет очень много. Лучше бы придумали работу конфигуратора через xml напрямую: не cf, а репа с xml, при этом не нужно выгружать cf и т.д. Понятно, что система должна быть защищена, но есть же выход - подписывание файлов xml сертификатом и другие способы.
Например, php инструкции хранятся в файлах с расширением "php", а остальная объектная модель веб-сервиса в библиотеках. Почему нельзя так же и в 1С сделать?
29. ellavs 848 30.03.19 09:17 Сейчас в теме
(25) насколько понимаю, для этого они и сделали EDT, чтобы при разработке конфигурации работать напрямую с файлами, а не с cf.
31. v25i85 30.03.19 10:56 Сейчас в теме
(29)ну это не серьёзно, cf никто при этом не отменял.
Вот если бы конфига из репозитория работала, подключая необходимые файлы xml...
32. ellavs 848 30.03.19 12:21 Сейчас в теме
(31) Если правильно понимаю, раз был упомянут php, Вы хотите компиляцию "на лету"? Не думаю, что это хорошо скажется на производительности. Например, в том же .Net Core перешли наоборот к концепции заранее скомпилированного кода для веб-проектов (даже HTML-шаблоны включают в dll), хотя уходящаяя ASP.Net MVC технология, похожа на PHP.
33. Sybr 239 30.03.19 16:12 Сейчас в теме
(32) Что за каша у вас в голове. Хранение исходников в текстовых файлах вообще никак к компиляции не относится. Компиляция "на лету" на производительности сказывается самым благоприятным образом для интерпритируемых языков. .Net Core заменяет .Net Frаmework, а не ASP.Net, который кстати ничем не похож на PHP. А HTML-шаблоны уже давно не используют.
philya; Vladimir Litvinenko; +2 Ответить
34. ellavs 848 30.03.19 16:23 Сейчас в теме
(33) простите, честно, не хочется спорить :) Под "HTML-шаблонами" имелись в виду Razor cshtml-страницы (но решила упростить, чтобы человек понял). То, что Core заменяет ASP.Net, вроде и не писала. А вот то, что ASP.Net не похож на PHP, это согласна. ASP.Net MVC похож, но не такой же ... хотя при большом извращенном желании можно весь код в cshtml воткнуть вместо контроллера )))
GreenDragon; user1190757; +2 Ответить
39. Алексей Воробьев 145 31.03.19 15:13 Сейчас в теме
Простите, возможно, немного не в тему, но...

Интересна тема EDT+Git, периодически к ней возвращаюсь, но натыкаюсь на одну и ту же проблему от версии к версии EDT:

Взяли произвольную типовую конфигурацию (я экспериментирую на ЗУП 3) относительно свежей версии (конфигурация №1).
Сняли с поддержки (в самой EDT этого не сделать или я не нашел как).
Сделали из нее в EDT проект.
Ничего не меняя в проекте, заливаем его в другую произвольную конфигурацию (конфигурация №2).
Выгружаем конфигурацию №2 в .cf
Через конфигуратор заходим в конфигурацию №1. Сравниваем/объединяем с .cf из предыдущего пункта

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

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

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

Может кто-то сталкивался, решил и готов поделиться кейсиком?

По своему (небольшому пока опыту): EDT очень прожорлива на ресурсы. Поэтому использование мощных процессоров (I7, Rizen 2700?), большого количества оперативы (от 32 Гб? в том числе для организации RAM-диска для временных файлов EDT) и скоростных надежных SSD приличной емкости (от 500 Гб? современные типовые конфигурации достаточно велики при выгрузке их в файлы) крайне показано при работе с этой средой разработки.
AllexSoft; igee12; ellavs; +3 Ответить
41. ellavs 848 31.03.19 16:41 Сейчас в теме
(39) упс... промахнулась и ответила ниже )
40. ellavs 848 31.03.19 16:39 Сейчас в теме
(39) Да, тоже интересует ответ на этот интересный вопрос: можно ли дорабатывать в EDT конфигурации на поддержке? Сейчас мы работаем в нем только со своими (с нуля написанными) конфигурациями. Пробовала как-то загрузить в проект EDT довольно тяжелую конфигурацию 1С:Университет ПРОФ - в итоге EDT "вообще упал и больше не встал" (но это было несколько его версий назад, надо бы попробовать снова...). На счет того, что он "жрунчик" - это да, но у меня рядом еще стоит Visual Studio, которая кушает в два раза больше, поэтому как-то уже не обращаю внимание.
42. Алексей Воробьев 145 31.03.19 19:17 Сейчас в теме
(40) В декабре 2018 года (не помню просто какая тогда версия EDT была актуальна) попытки загрузить в EDT-проект ERP 2.4 заканчивались неудачно пока не докинул памяти. При общем объеме в 16 Гб + I5 + SSD ERP была вполне успешно загружена в проект менее чем за час.

Вообще, разработчики EDT очень много внимания уделяют оптимизации и ускорению работы своего продукта. Это радует и дает надежду, что продукт найдет широкое применение.
Но вот опять - что же делать с типовыми?((
50. GreenDragon 02.04.19 17:06 Сейчас в теме
(42) В 1.10 они подкрутили. И даже хвастались этим в "Что нового"
Алексей Воробьев; +1 Ответить
53. ellavs 848 02.04.19 17:48 Сейчас в теме
(50) поставила несколько дней назад 1.10 (Топаз). Действительно стал пошустрее, но не настолько, насколько хотелось бы ))
54. Алексей Воробьев 145 02.04.19 19:44 Сейчас в теме
(50) Увы и ах - то что они подкрутили касается завершающих символов в программных модулях, я нашел это место в "Что нового"...

А вот такие вещи бы подправили:
Прикрепленные файлы:
55. GreenDragon 02.04.19 22:25 Сейчас в теме
(54) У них постоянные истории с завершающими символами. Недавно напоминали про "шухер", когда они так "починили" в одном из релизов 8.2 или 8.1
57. iskander3000 03.04.19 08:25 Сейчас в теме
(54) А работу с 8.3.13 и выше они добавили?

Отвечаю сам себе: нет, не добавили. Так что с EDT до сих пор работать нельзя и нельзя с ней будет работать до тех пор, пока они не синхронизируют поддержку новых платформ с их релизом.
Прикрепленные файлы:
Дмитрий74Чел; Naked; SanchoD; +3 Ответить
44. leongl 418 01.04.19 09:00 Сейчас в теме
Отличный мануал, спасибо. Всегда радовал механизм объединения в Git
45. ManyakRus 434 01.04.19 12:56 Сейчас в теме
1) до 3-5 программистов хранилище 1С итак подходит
2) выгружать/загружать вручную в .xml это зря хернёй заниматься
zqzq; philya; +2 Ответить
49. GreenDragon 02.04.19 17:05 Сейчас в теме
(45) Я так понимаю, что ревью кода никто не делает? Условный Вася не в курсе того, что положил в хранилище условный Петя.
Выгружать руками хранилище в xml - это именно то, что вы написали. У нас c этим успешно справляется gitsync. А уведомления о новых коммитах сразу попадают в отдельный канал mattermost. Клацнули на сообщение, перекинуло в локальный gitlab. Посмотрели, откомментировали по желанию, поставили отметку о ревью в mattermost. Таким вот нехитрым образом у нас участники группы учатся друг у друга, и всегда в курсе того, что творится в коде вне зоны их личных задач.
AlexK_2012; Алексей Воробьев; ellavs; +3 Ответить
58. philya 83 03.04.19 09:45 Сейчас в теме
(49) Сколько у вас стоит написать печатную форму? Как делать ревью отчета сделанного полностью на СКД?
59. GreenDragon 03.04.19 13:32 Сейчас в теме
(58) Процент написания отчётов и печатных форм у нас примерно 0.01 процента от общего объёма работы. Львиная доля работы у нас производится по конфигурациям холдинга, где действительно требуется от всех участников процесса быть в курсе. Ошибка или костыль в коде приводит к простоям огромным потерям бизнеса. А отчётики и печатные формы как правило клепаются быстро и к авариям не приводят. Но код заполнения той же печатной формы должен проходить ревью. Иначе никак - иначе смерть через лялямбу.
Алексей Воробьев; +1 Ответить
60. philya 83 03.04.19 15:20 Сейчас в теме
(59) Спасибо. Я так понимаю, что зависимость, в вашем случае, от конфигураций фирмы 1с минимальна? Напишите про то как устроена работа у вас - очень интересно. Получается, что гит используется для хранения истории версий и авторства кода, * на предыдущую версию делается руками в конфигураторе?

У меня просто ревью моего кода делать некому, а последний мой эпик фэйл был в том, что я вместо зипа завернул архив 7-зипом, служба поддержки пережила 50 телефонных звонков...
Алексей Воробьев; +1 Ответить
74. Xephone 28.06.19 05:11 Сейчас в теме
(45) Это вы просто не пытались ветки делать в хранилище конфигурации, когда приходится половину конфигурации захватить чтобы добавить доработки, а все остальные 2-4 программиста сидят и кукуют. Иначе приходится делать для каждого копию базы, и работать с ней, периодически обновляя ее и перенося доработки в основное хранилище через "Сравнение/Объединение". К тому же, как показывает практика, захват в хранилище и помещение объектов обратно, далеко не быстрое занятие. Я уже и не говорю про то что периодически это хранилище отваливается, хорошо если успеешь сохранить наработки. Ну и к тому же, через гит можно удобно вести версионирование внешних дополнительных отчетов/печатных форм/обработок.
Waanneek; Fox-trot; +2 Ответить
46. bimy22 01.04.19 14:02 Сейчас в теме
47. bimy22 01.04.19 14:03 Сейчас в теме
Отличный механизм, спасибо за публикацию.
61. zekrus 153 04.04.19 07:35 Сейчас в теме
Доброе утро!
Тема весьма актуальная.
Коллеги, кто сталкивался с GIT на обычных формах (best practices)?
С уважением
perpleks; +1 Ответить
63. ellavs 848 09.04.19 08:31 Сейчас в теме
(61) практически не работаю с обычными формами, поэтому не подскажу, но вопрос интересный. Возможно ли это вообще с обычными формами? Поддерживает ли тот же EDT обычные формы?
64. AntonSm 29 09.04.19 09:46 Сейчас в теме
(63) EDT с обычными формами не работает.
Основная проблема с обычными формами в том, что кривовато разбирается сама форма.
Причем форма переразбирается при каждом коммите.
В приложенном скриншоте пример, полученный при использовании precommit1c.
Прикрепленные файлы:
65. zekrus 153 09.04.19 11:55 Сейчас в теме
(64) Если честно можно было бы начать с выгрузки в текст из конфигуратора и записи в git.
(Нужен текстовый редактор сохраняющий в правильном формате после редактирования).
66. AntonSm 29 09.04.19 12:04 Сейчас в теме
(65) последний precommit1c используется платформенную выгрузку в файлы.
Так что с выгрузкой из конфигуратора будет тоже самое.
Для редактирования файлов выгруженных можно использовать visual studio code.
Там сейчас есть дополнения, чтобы 1С-код раскрасить и т.п.
73. JohnConnor 53 15.05.19 05:12 Сейчас в теме
спасибо, благодаря вам оставил SourceTree и перешел на "черепашку"
75. Shaldryn 01.07.19 16:22 Сейчас в теме
Для этого любой 1С проект (отчет, обработка или расширение) необходимо выгрузить в файлы при помощи встроенной команды Действия - "Выгрузить в файлы"


Добрый день, а можно эту команду как то программно выполнить? Допустим сделали какое то изменение во внешней обработке, загрузили его в справочник "ВнешниеОбработки" и он при записи сразу же и выгрузился в репозиторий, а нам осталось только закоммитить?
77. Fox-trot 138 02.07.19 13:18 Сейчас в теме
78. Shaldryn 02.07.19 14:50 Сейчас в теме
79. ellavs 848 02.07.19 17:11 Сейчас в теме
(78) как вариант - перейти на EDT, там сразу работа с исходниками происходит.
80. Shaldryn 04.07.19 11:04 Сейчас в теме
(79) у нас конфа старая ОФ, я так понял некорректно работает с ОФ. Хотелось со внешними отчетами и обработками поиграться.
Прочитал на курс1срф, что там можно через пакетный режим запускать конфигуратор для выгрузки. Вот думаю, если создадим батник и программно его запускать каждый раз при изменении, не будем ли нагружать систему и если у нас уже запущен будет конфигуратор сработает ли пакетный режим?
76. AllexSoft 02.07.19 12:56 Сейчас в теме
Спасибо за статью. Для себя вижу использование гита как хранилище для правил конвертации данных (КД 2.1 в основном, так как КД 3 либо расширением, либо изменением общего модуля - а там уже 1с-ное хранилище).
81. leemuar 17.07.19 20:05 Сейчас в теме
Почему ваш выбор остановился на git, а не, например, mercurial или svn или bazaar?
82. ellavs 848 17.07.19 23:23 Сейчас в теме
(81) как однажды мне порекомендовали более опытные коллеги - "используйте в своей работе то, что знаете лучше".
Т.к. git был хоть как-то "на слуху", а про названные Вами альтернативы я слышу практически впервые от Вас же, то ответ на вопрос очевиден ;)
shunk; leemuar; +2 Ответить
85. SergeyMordvin 638 16.05.20 10:37 Сейчас в теме
Спасибо за статью, но не до конца понял методику.
Допустим есть обработка 1 и она лежит в каком-то общем репо на майкрософте.

Разработчику 1 нужно ее допилить (кто-то ему такой тикет поставил), он идет в репо и клонирует себе. У себя задачу решает и потом что? Он сдает ее в главный репо через пул реквест? Если да, то кто-то его проверяет? Или он сам себя апрувит?
86. ellavs 848 18.05.20 08:42 Сейчас в теме
(85) в статье предполагалось, что разработчик правит обработку прямо в мастер-ветке (т.е. не клонирует себе). Если нужно организовать проверку или разработчик внешний, то да - кто-то должен стать ответственным за код-ревью и слияние веток.
87. SergeyMordvin 638 18.05.20 09:57 Сейчас в теме
(86) спасибо за разбяснение
91. 2casp 25 30.09.20 22:02 Сейчас в теме
Давно засматриваюсь на EDT. Доработку типовых конфигураций УТ11.4, БП3, ЗУП3 так же ведете в EDT? Как обстоят дела с производительностью?
Оставьте свое сообщение

См. также

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

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

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020    4675    Eugen-S    23    

Обзор полезных методов БСП 3.1.4. Часть 2

БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

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

27.04.2021    16621    rayastar    7    

Обзор полезных методов БСП 3.1.4

БСП (Библиотека стандартных подсистем) Практика программирования v8 1cv8.cf Бесплатно (free)

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

25.03.2021    42493    rayastar    51    

Звуковое управление в 1С 8.3

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

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021    7307    velemir    33    

Использование классов .Net в 1С для новичков Промо

Разработка внешних компонент Универсальные функции Практика программирования v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    85989    Serginio    116    

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

Универсальные функции Практика программирования v8 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    9048    comol    31    

Полезные функции БСП (Часть 2)

БСП (Библиотека стандартных подсистем) v8 1cv8.cf Россия Бесплатно (free)

Список полезных функций из состава Библиотеки стандартных подсистем 3.1.

10.03.2020    21135    user5300    20    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

27.01.2020    66934    ids79    27    

Как я начал администрировать сервер 1С: Предприятие 8.3 с телефона Промо

Инструменты администратора БД Мобильная разработка v8 Бесплатно (free)

Развитие инструментов управления кластером серверов 1С:Предприятие 8.3.

14.04.2017    67791    user700211_a.straltsou    30    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    44283    John_d    22    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

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

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    36009    kuzyara    38    

Шпаргалка (БСП). Добавление в новый документ механизма печати дополнительных печатных форм

Печатные формы БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Постоянно приходится вспоминать, как добавить механизм печати (БСП) в новый документ. Поэтому решил написать шпаргалку.

10.10.2019    30947    John_d    21    

Использование программных перечислений, ч.1: строковые константы Промо

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

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    41207    unichkin    74    

Полезные процедуры и функции для программиста

Универсальные функции v8 1cv8.cf Россия Бесплатно (free)

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

07.10.2019    40062    HostHost    41    

Таблица значений. Нюансы

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

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    53727    Yashazz    56    

[Шпаргалка] Программное создание элементов формы

Работа с интерфейсом Практика программирования v8 1cv8.cf Бесплатно (free)

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

06.09.2019    104601    rpgshnik    77    

Вспомогательные инструкции в коде 1С Промо

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

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

15.10.2018    36273    tormozit    106    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    78801    ids79    56    

Отслеживание выполнения фонового задания

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

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

17.08.2019    45559    ids79    22    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    154924    ids79    75    

Оформление и рефакторинг сложных логических выражений Промо

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

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

20.09.2012    82967    tormozit    131    

Фоновое выполнение кода в 1С - это просто

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

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

02.08.2019    61614    avalakh    27    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    107207    ids79    17    

Обработчики событий при записи объектов. Зачем и что за чем?

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

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта.... Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

25.07.2019    114947    AlbinaAAA    49    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

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

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    54618    tormozit    51    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    48929    ids79    27    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    22639    SeiOkami    53    

Создание отчетов с помощью СКД - основные понятия и элементы

Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    77076    ids79    28    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

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

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    51411    tormozit    74    

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

Работа с интерфейсом БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    56793    YPermitin    55    

Регистры накопления. Структура хранения в базе данных

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

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

16.05.2019    64682    YPermitin    31    

Выгрузка документа по условию

Инструментарий разработчика Практика программирования v8 Бесплатно (free)

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

25.04.2019    18085    m-rv    3    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

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

01.06.2018    37205    m-rv    23    

Как прикрутить ГУИД к регистру сведений

Перенос данных из 1C8 в 1C8 Инструментарий разработчика Практика программирования v8 Бесплатно (free)

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

16.04.2019    23423    m-rv    18    

О расширениях замолвите слово...

Инструментарий разработчика Практика программирования v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    42919    ellavs    131    

Трюки с внешними источниками данных

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

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    41500    YPermitin    53    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

БСП (Библиотека стандартных подсистем) Роли и права Практика программирования v8 v8::Права Бесплатно (free)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    66299    ids79    11    

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке

Универсальные функции Зарплата Управление персоналом (HRM) Зарплата Кадровый учет v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Бесплатно (free)

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

14.11.2018    148832    GeterX    136    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    45210    ids79    46    

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

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

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

18.10.2018    93955    stas_ganiev    86    

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C

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

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

23.08.2018    48974    Rain88    49    

Тестер: частые вопросы

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

Ошибкам бой - тесты норма жизни!

25.07.2018    31634    grumagargler    31    

Работаем с дополнительными реквизитами на форме

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

Пара полезных процедур для работы с дополнительными реквизитами на форме. Далее в статье: 1. Как называются дополнительные реквизиты на форме и в какой момент они появляются на форме? 2. Как проверить до записи корректность заполнения пользователем дополнительного реквизита? 3. Как заполнить значение дополнительного реквизита по другому событию и обновить данные на форме? 4. Как расположить дополнительный реквизит в указанном месте на форме?

15.07.2018    53625    papche    59    

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

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

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

25.06.2018    30306    olegtymko    48    

Введение в механизм представлений в ЗУП ред. 3

Практика программирования v8 v8::СПР ЗУП3.x Бесплатно (free)

В нашей организации на первом же телефонном собеседовании на должность разработчика по ЗУП ред. 3 вас обязательно спросят о том, что такое "Представления".

04.06.2018    47761    xrrg    95