Быстрое обновление базы 1С из XML-файлов конфигурации (EDT-GIT)

Публикация № 1693508 13.07.22

Приемы и методы разработки - DevOps и автоматизация разработки

ibcmd быстрое обновление EDT GIT

Быстрое обновление конфигурации и базы данных 1С, вместо долгого обновления из EDT (1C:Enterprise Development Tools) при использовании хранилища GIT. Непосредственное обновлении базы на сервере баз данных (минуя сервер 1С) из XML-файлов конфигурации при помощи утилиты автономного сервера 1С - ibcmd.

В данной статье речь пойдет об альтернативном быстром способе обновления конфигурации и базы данных 1С, вместо долгого обновления из EDT (1C:Enterprise Development Tools) при использовании хранилища GIT. При желании можно его использовать и в случае работы с конфигуратором. Данный способ заключается в непосредственном обновлении базы данных на сервере баз данных (минуя сервер 1С) из файлов конфигурации XML.

После внедрения новой среды разработки столкнулись с проблемой очень долгого обновления информационной базы из EDT по сравнению с Конфигуратором. Для общего понимания, связка систем разработки у нас такая: EDT - bitbucket – GIT. Итоговое решение можно разделить на три шага и для каждого их них используется свой инструмент. Но у вас может быть вместо bitbucket, например, GitLab, и тогда первый шаг можно решать другими инструментами. Из данной статьи вы можете почерпнуть для себя что-то полезное из каждого пункта и/или выбрать для себя что-то отдельное или все в совокупности. Итак, данные шаги и инструменты:

  • Клонирование (получение файлов) необходимой ветки из удаленного репозитария в локальный каталог для дальнейшей работы с ними: Jenkins (программная система предназначенная для обеспечения процесса непрерывной интеграции программного обеспечения - из Википедии)
  • Конвертация файлов формата EDT в формат XML- файлов конфигурации: ring (утилита EDT, устанавливается вместе с EDT)
  • Быстрое обновление базы данных из XML- файлов конфигурации непосредственно через СУБД MS SQL (минуя Конфигуратор и EDT): ibcmd (утилита автономного сервера 1С, устанавливается вместе с сервером 1С)

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

Настройка окружения / переменные

  • Рабочий каталог Jenkins: C:/jenkinsSlave/workspace/
  • Рабочий каталог задания и он же локальный каталог проекта EDT, загруженный из удаленного репозитария: C:/jenkinsSlave/workspace/MASTER_XML_FILES_FROM_GIT
  • Каталог проекта EDT основной конфигурации: C:/jenkinsSlave/workspace/MASTER_XML_FILES_FROM_GIT/AVC_DU
  • Каталог проекта EDT расширения: C:/jenkinsSlave/workspace/MASTER_XML_FILES_FROM_GIT/AVC_DU._скРасширение
  • Каталог XML файлов основной конфигурации: C:/1c/EDT/GIT_ORIGIN_MASTER/CF_XML
  • Каталог XML файлов расширения: C:/1c/EDT/GIT_ORIGIN_MASTER/CFE_XML
  • Версия EDT (ring): edt@2021.2.0:x86_64
  • Имя сервера MS SQL: SRV_SQL
  • Имя базы MS SQL: TST_TEY
  • Имя пользователя MS SQL: user_SQL
  • Пароль пользователя MS SQL: pass_SQL
  • Имя пользователя базы 1С: user_1C
  • Пароль пользователя базы 1С: pass_1C
  • Имя расширения конфигурации: _скРасширение
  • Каталог лога утилиты ibcmd: C:/jenkinsSlave/workspace/UNI_DB_UPDATE_IBCMD/DATA

 

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

 

Как установить и запустить Jenkins, можно найти на просторах интернета, информации по этому поводу довольно много. Самое главное это то, что данный инструмент абсолютно бесплатный. Здесь же я покажу непосредственно само задание, как оно настроено у нас. Создается задача (item) свободной конфигурации, назовем ее к примеру «MASTER_XML_FILES_FROM_GIT» и выделим соответствующим тип (задача со свободной конфигурацией).

 

 

Пишем небольшое описание и сразу ставим флаг «Удалять устаревшие сборки» для того, чтобы ограничить хранение истории выполнения данного задания до 5-ти:

 

 

Далее – Управление исходным кодом. В моем случае - bitbucket server, credentials – учетная запись в  bitbucket (надо завести отдельно), instanceBITBUCKET (единственный выбор), Project name – имя проекта в GIT, Repository name – имя репозитория  в GIT, Clone from – Primary Server (единственный выбор), Branch Specifier - */master (по умолчанию, если ветка другая, то аналогично ее путь в репозитории).

 

 

Триггеры сборки - ставим флаг «Опрашивать SCM об изменениях» и указываем расписание. Указанные настройки говорят о том, что каждый час с 6-ти утра до 23-х вечера (расписание можете указать свое, формат расписания можно посмотреть, нажав знак вопроса), задание будет опрашивать ветку master удаленного репозитария на изменение и, если она изменилась, – обновлять локальный каталог на машине (на котором крутится Jenkins).

 

 

На этом в принципе настройку первого пункта можно считать завершенной. Сохраняем и видим наше задание.

 

 

Как видно на скриншоте, кроме ветки master, настроены аналогичные задания на другие рабочие ветки (под каждого разработчика). Выгруженные файлы проекта из удаленного репозитария будут выгружены в рабочий каталог Jenkins в папку с именем наименования задания. В нашем случае это C:/jenkinsSlave/workspace/MASTER_XML_FILES_FROM_GIT

 

 

  1. EDT ring: Конвертация файлов формата EDT в формат XML файлов конфигурации

 

2.1 Сначала подготовим каталоги XML файлов конфигурации и расширения, куда будут выгружены файлы из локального проекта EDT -  удалим их полностью (можно вместо удаления каталогов очищать вместо rd использовать del, но это дольше), чтобы не было конфликтов и наложений при выгрузке. Далее ring снова создаст эти каталоги

   rd "C:/1c/EDT/GIT_ORIGIN_TEY/CF_XML" /S /Q

   rd "C:/1c/EDT/GIT_ORIGIN_TEY/CFE_XML" /S /Q 

 

  1. 2.2 Выгружаем конфигурацию проекта EDT в XML файлы конфигурации

 

>CALL ring edt@2021.2.0:x86_64 workspace export --project           C:/jenkinsSlave/workspace/MASTER_XML_FILES_FROM_GIT/AVC_DU --configuration- files "C:/1c/EDT/GIT_ORIGIN_MASTER/CF_XML" --workspace-location C:/jenkinsSlave/workspace/MASTER_XML_FILES_FROM_GIT/AVC_DU

 

  1. 2.3 Выгружаем расширение проекта EDT в XML файлы конфигурации

 

>CALL ring edt@2021.2.0:x86_64 workspace export --project C:/jenkinsSlave/workspace/MASTER_XML_FILES_FROM_GIT/AVC_DU._скРасширение --configuration-files "C:/1c/EDT/GIT_ORIGIN_MASTER/CFE_XML" --workspace-location C:/jenkinsSlave/workspace/MASTER_XML_FILES_FROM_GIT/AVC_DU._скРасширение

 

Если настроить эти скрипты в Jenkins в pipeline, то выглядит как на рисунке ниже (информативно, структурировано и красиво). Текст задания данного скрипта в Jenkins выложен в приложенных файлах. Но вы можете использовать любой способ запуска и контроля данных команд.

 

 

  1. Ibcmd: Быстрое обновление базы данных из XML файлов конфигурации непосредственно через СУБД (MS SQL)

 

3.1. Импорт конфигурации

 

>ibcmd infobase config import --dbms=MSSQLServer --db-server=SRV_SQL --db-name=TST_TEY --db-user=user_SQL --db-pwd="pass_SQL" -u user_1C -P pass_1C C:/1c/EDT/GIT_ORIGIN_MASTER/CF_XML --data=C:/jenkinsSlave/workspace/UNI_DB_UPDATE_IBCMD/DATA

 

3.2. Обновление конфигурации

 

>ibcmd infobase config apply --dbms=MSSQLServer --db-server=SRV_SQL --db-name=TST_TEY --db-user=user_SQL --db-pwd="pass_SQL" -u user_1C -P pass_1C --data=C:/jenkinsSlave/workspace/UNI_DB_UPDATE_IBCMD/DATA --force

 

3.3. Импорт расширения

 

>ibcmd infobase config import --dbms=MSSQLServer --db-server=SRV_SQL --db-name=TST_TEY --db-user=user_SQL --db-pwd="pass_SQL" -u user_1C -P pass_1C C:/1c/EDT/GIT_ORIGIN_MASTER/CFE_XML --extension=_скРасширение --data=C:/jenkinsSlave/workspace/UNI_DB_UPDATE_IBCMD/DATA

 

3.4. Обновление расширения

 

>ibcmd infobase config apply --dbms=MSSQLServer --db-server=SRV_SQL --db-name=TST_TEY --db-user=user_SQL --db-pwd="pass_SQL" -u user_1C -P pass_1C --extension=_скРасширеие --data=C:/jenkinsSlave/workspace/UNI_DB_UPDATE_IBCMD/DATA --force

 

В Jenkins данное задание выглядит так (текст задания данного скрипта в Jenkins выложен в приложенных файлах):

 

 

 

Результат, выводы и дополнения

Время на обновление базы данных сократилось примерно в 10 раз. Если раньше в EDT приходилось синхронизировать ветку, запускать обновление, ждать, подтверждать принятие изменений, опять ждать… И на все это уходило примерно около часа. То теперь это занимает 5-6 минут одной кнопкой, в том числе, включает в себя подтверждение принятия изменений. В расчет не беру первые два шага, т.к. они автоматически обновляют XML-файлы конфигурации ежечасно (можно и чаще настроить). Но даже если нужно обновить базу сразу после внесения изменений в GIT, то в нашем случае это добавляет 15 минут. В любом случае получается 20 минут против 60-ти (быстрее в 3 раза).

Настоятельно рекомендую обкатать данную схему в тестовом окружении и даже перед обновлением рабочей базы обновлять тестовую из тех же XML-файлов. С предварительным архивом – мало ли, механизм новый и еще не обкатанный.

Утилита ibcmd содержит в себе проверки корректности XML-файлов. Что попало грузить не будет. Если находит в файлах ошибки, обязательно об этом скажет в логах - на это обязательно стоит обращать внимание перед обновлением рабочей базы. Например:

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

Наименование Файл Версия Размер
Быстрое обновление базы 1С из XML-файлов конфигурации (EDT-GIT): статья и Jenkins скрипты

.7z 469,70Kb
4
.7z 469,70Kb 4 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. YA_443979581 15.07.22 15:28 Сейчас в теме
Какой размер CF такой конфигурации?
Почему нельзя воспользоваться vanessa-runner и сохранить конфигурацию в CF и загрузить CF на каждую базу?
2. Bitnikov 375 15.07.22 17:40 Сейчас в теме
(1) Размер cf 200 Мб. Выгруженные xml файлы этой конфигурации 1.2 Гб.
ibcmd будет быстрее, наверное даже гораздо быстрее, чем подготовка cf обновление через конфигуратор.
Если есть возможность проверить на время vanessa-runner с ibcmd и написать результат - было бы здорово.
Дмитрий74Чел; +1 Ответить
14. fatman78 8 28.07.22 20:42 Сейчас в теме
(2) Каким образом наличие дополнительного компонента MSSQLServer в связке с ibcmd ускоряет процесс конвертации? Чем использование файлового варианта ibcmd не устроило?

upd: Судя по всему в статье имеется ввиду обновление конфигурации баз 1С из файлов проекта EDT на тестовом сервере или ни дай бог на Проде в автоматическом режиме . Если нет, и это делается для обновления конфигураций локальных баз разработчиков, то я не совсем понимаю зачем это нужно пихать в jenkins и делать в автоматическом режиме. Напишите пож-та для каких типов баз это используется.
15. Bitnikov 375 04.08.22 11:01 Сейчас в теме
(14) У нас разработка ведется на серверных базах MS SQL. Суть указана в заголовке статьи - быстрое обновление базы 1С (из ветки GITа). Прирост скорости обновления ощутим. В основном, в целях тестирования доработок. Jenkins тут для удобства. Можно эти скрипты использовать в любой другой системе для автоматизации процесса разработки.
fatman78; +1 Ответить
3. Бэнни 194 16.07.22 07:17 Сейчас в теме
Можно было и покороче написать статью) без растекания мыслью. Ведь основная суть в 3.1, 3.2, 3.3, 3.4
check2; Dach; +2 1 Ответить
17. Дмитрий74Чел 224 18.08.22 11:39 Сейчас в теме
(3) нормальная статья, подробная. Человек старался.
Хотя конечно можно было скопировать эти пункты в начало под кат.
Bitnikov; +1 Ответить
4. kamisov 17.07.22 12:04 Сейчас в теме
В 8.3.21 использование ibcmd превращается в тот ещё квест. Надо теперь указывать кучу параметров, есть проверка лицензии, просто так в базу уже не лезет.
8. Bitnikov 375 18.07.22 11:58 Сейчас в теме
(4) Работаем пока в 8.3.20, планируем скоро переходить на 8.3.21, проведем тестирование в части ibcmd. Куча параметров не проблема, главное чтобы обновлял так же быстро и без ошибок.
5. cdiamond 222 18.07.22 06:26 Сейчас в теме
с 8.3.21 еще хуже стало у меня: выгрузка в XML и CF ,из одной и той же базы расходятся на два десятка обьектоа конфигурации. Кто еще сталкивался?
6. alex_bob 239 18.07.22 09:33 Сейчас в теме
(5) А можно подробнее, что с чем расходится?
7. cdiamond 222 18.07.22 10:49 Сейчас в теме
(6) Работаю с большими типовыми снятыми с поддержки. Последовательность проверки простая, советую всем его проделать:
1) выгружаем в CF
2) выгружаем в XML
3) загружаем обратно из XML из 2 пункта, уже на этом пункте у меня предупреждения
4) сравниваем с CF из 1 пункта.
Должно быть пусто, но расхождение было всегда, а на новой 8.3.21 их количество начало зашкаливать. Разница может быть на любом объекте конфигурации - на роли, макете, документе, регистре.
Проверял на платформах Windows и Linux - поведение платформы одинаковое. Пока не было и нет внятного объяснения этому чуду, в продуктив технологию выгрузки/загрузки XML не внедряю, а те кто используют возможно сильно рискуют.
PolinkaKMS; Dach; teyana; EliasShy; +4 Ответить
9. Bitnikov 375 18.07.22 14:32 Сейчас в теме
(7) EDT только в таком формате и работает.
Проделал ради эксперимента эти шаги - различий между CF и XML выгрузки не обнаружено.
Писал выше: Размер cf 200 Мб. Выгруженные xml файлы этой конфигурации 1.2 Гб
10. cdiamond 222 18.07.22 16:17 Сейчас в теме
(9) у EDT под капотом все тот же конфигуратор, но в XML он вроде выгружает самостоятельно, в отличие от CF.
11. Dach 356 19.07.22 13:18 Сейчас в теме
(7) на 8.3.20 сталкивался, если выгрузить расширение в файлы и обратно загрузить - слетает часть обработчиков событий элементов форм. Сам код то на месте, в модуле формы, а вот связка кода с конкретным обработчиком действий элемента пропадает.

Ну и отличия при выгрузке-загрузке cf - тоже видел неоднократно.

А на релизе 8.3.19.какой-то у меня вообще после выгрузки в файлы и обратной загрузки конфа просто не загрузилась. Потом на багборде нашел ошибку, оказалось да, такой релиз.

Так что механизм тот еще
16. fatman78 8 04.08.22 15:19 Сейчас в теме
(7)Видел такое - там под капотом формат xml опять сменился - 2.14 стал на платформе 8.3.21. Если пойти еще дальше и сконвертировать XML в формат EDT используя ring 2022.1.0, то при обратной конвертации в xml и загрузке в конфигуратор, появляются битые ссылки (пропадает часть картинок из встроенных библиотек). О чем конфигуратор нам радостно сообщает в виде предупреждений во время загрузки.
12. user1817380 19.07.22 16:39 Сейчас в теме
Добрый день. Подскажите "чайнику", давно не обновляла 1с, что сначала обновлять Конфигурацию или Платформу?
13. user591389_aska_rabota 20.07.22 00:53 Сейчас в теме
Можно в принципе обновить только конфигурацию, обычно этого достаточно.
Платформа обновляется крайне редко, в исключительных случаях


В конфигураторе, в свойствах конфигурации можно посмотреть совместимость - это миним релиз платформы, с которым работает конфигурация(т.е. если в свойствах стоит 8.3.14 а у тебя платформа 8.3.20 то все норм)

Советую обновлять через Конфигурация-поддержка-обновить конфигурацию (меньше вероятность что-либо сломать)
18. 1cnik2 08.12.22 16:50 Сейчас в теме
Всем привет! Коллеги, кто-нибудь сравнивал производительность ibcmd config import и vrunner compile? Что быстрее?
19. PerlAmutor 129 07.01.23 18:23 Сейчас в теме
Сравнил производительность ibcmd по сравнению с Конфигуратором с использованием файлов выгрузки XML ERP 2.5.8. Результаты сильно порадовали.

Загрузка из XML файлов в файловую базу:

Через конфигуратор: 55 минут
Через ibcmd: 10 минут

Сохранение в .cf файл с помощью ibcmd из файловой базы данных: 1 минута (файл 2Гб)

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

// Создание YML файла для файловой базы данных:
ibcmd server config init --db-path="E:\1C\ФайловыеБазы\ERP_2_5_8_295_2_5_8_309" --db-name="ERP 2.5.8.295+2.5.8.309" "E:\1C\ФайловыеБазы\ERP_2_5_8_295_2_5_8_309.yml"


// Загрузка из XML с использованием ранее созданного файла настроек YML
ibcmd infobase config import -c "E:\1C\ФайловыеБазы\ERP_2_5_8_295_2_5_8_309.yml" "E:\git_conf_update_258_295_309\src"


// Выгрузка в .cf файл
ibcmd infobase config save -c "E:\1C\ФайловыеБазы\ERP_2_5_8_295_2_5_8_309.yml" "E:\1C\ФайловыеБазы\ERP_2_5_8_295_2_5_8_309.cf"


Стоит отметить особенности:
1. В случае загрузки из XML антивирус может потреблять больше чем сам ibcmd или конфигуратор и сильно тормозить процесс (рекомендуется на время отключить)
2. При загрузке XML файлов через Конфигуратор на последнем этапе также создается кэш конфигурации, что в последствии позволяет быстро открыть конфигуратор. Этого не происходит при использовании ibcmd, что в итоге может отнять дополнительное время. Поэтому 10 минут цифра не окончательная, т.к. вам придется подождать создания кэша при входе в конфигуратор. Но это происходит все равно гораздо быстрее, чем грузить XML файлы полностью через Конфигуратор.
worker1c; Bitnikov; +2 Ответить
Оставьте свое сообщение

См. также

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар") Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Запросы Запросы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    41637    102    m-rv    58    

Автоматизация обновления до последнего релиза

DevOps и автоматизация разработки Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Это механизм, который автоматически обновляет базы 1С до последнего релиза, при разработке в 1С:Enterprise Development Tools c использованием распределённой системы управления версиями GIT.

1 стартмани

28.10.2022    1437    1    Knup    0    

Drag & Drop - Переносим Картинку на Форму с помошью мыши (HTML + JS)

WEB-интеграция Работа с интерфейсом Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Реализуем метод Drag & Drop на форме c записью/чтением двоичных данных в/из реквизит формы (пример: доработка формы Номенклатуры; Почтовый клиент; Присоединенные файлы) средствами HTML + JavaScript (работает в Толстом/Тонком/Web клиенте)

1 стартмани

10.10.2022    1996    4    Asya.Ozerova    7    

Автоматическое обновление конфигурации (регламентное задание) для серверных решений

Обновление 1С Инструменты администратора БД Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

Фоновое задание (внешняя обработка) для автоматического обновления конфигурации: при передаче изменений конфигурации и данных от центральной базы на узел РИБ с последовательным обновлением конфигурации и данных на узле и для "НЕ РИБ" баз по такому же принципу. Выполняется запуском скриптов в пакетном режиме.

1 стартмани

28.09.2022    1529    1    FoxesStyle    0    

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

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

30.05.2017    199056    14    signum2009    53    

Зацикливается обработчик документов сверки взаиморасчетов при обновлении с 2.5.8.232 на 2.5.8.240(245)

Обновление 1С Адаптация типовых решений Платформа 1С v8.3 Платформа 1С v8.3 1С:Управление торговлей 11 1С:Управление торговлей 11 Россия Россия Абонемент ($m) Абонемент ($m)

Зацикливается обработчик документов сверки взаиморасчетов при обновлении с 2.5.8.232 на 2.5.8.240(245), платформа 8.3.19.1522. Установка исправления EF_00_00467553 от 1С не помогает.

1 стартмани

30.08.2022    1362    5    Wildcat55    0    

Ручная выгрузка и загрузка конфигурации

Универсальные обработки EDT Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

Внешняя обработка позволяет выполнять выборочную выгрузку и загрузку объектов конфигурации 1С.

1 стартмани

26.08.2022    1987    7    user1041830    4    

Доступ к документам других пользователей для каждого документа

Обработка документов Механизмы платформы 1С Роли и права Платформа 1С v8.3 Платформа 1С v8.3 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 1С:Бухгалтерия 3.0 Казахстан Казахстан Абонемент ($m) Абонемент ($m)

В типовой конфигурации есть функционал предоставления доступа к редактированию документов других пользователей. Но он ограничен выбором пользователя. То есть Пользователь1 может редактировать все документы Пользователя2. Но некоторым клиентам необходимо к примеру дать доступ к редактированию только документа Реализации ТМЗ автора Пользователь2. Это решение позволяет указывать отдельные документы для предоставления доступа к редактированию документов других пользователей.

1 стартмани

25.08.2022    2042    2    zko_it    0    

Асинхронные вызовы Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

В этой статье я покажу свою реализацию асинхронных вызовов серверных функций и процедур

1 стартмани

02.02.2015    56850    186    rtnm    33    

Автоподстановка, автоподбор города из адресного классификатора

Универсальные обработки Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление торговлей 11 Абонемент ($m) Абонемент ($m)

Обработка показывает как работает событие автоподбор у элемента формы Поле Ввода. Когда начинаем вводить первые буквы города. выпадает подсказка с городами из Кладр, загруженного в регистр сведений АдресныеОбъекты.

1 стартмани

20.06.2022    1824    2    aleksandrstep    0    

Удаление патчей из конфигурации

Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Иногда патчи от 1С мешают обновлению, разработке а руками удалять лень. Данная обработка работает так: через меню Файл - Открыть открывается обработка, которая удаляет - расширения (только патчи).

1 стартмани

28.04.2022    2223    7    ptkrzy    7    

Расширение конфигурации 1С:ГитКонвертер для автоматической чистки кэшей и списка информационных баз

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

Расширение удаляет кэши временных БД и записи об этих БД в списке баз (1cestart.v8i), при удалении временных файлов версии хранилища.

1 стартмани

22.04.2022    1884    2    Crazy_Max    0    

Методика упрощения поддержки конфигураций. Переопределение и вызов обработчиков событий для УФ 1С 8.2-8.3 Промо

Универсальные функции Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

10.02.2013    63795    115    pbazeliuk    40    

Сценарий обновления платформы 1С:Предприятие 8 для deb-based ОС Linux

Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

Сценарий обновления платформы 1С:Предприятие 8 для deb-based ОС Linux для реализации простого способа обновления из установочных файлов формата производителя.

1 стартмани

10.03.2022    2206    1    masterb    0    

Пакетное обновление информационных баз (типовые конфигурации)

Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Решение для пакетного обновления всех типовых баз на базе БСП (библиотеки стандартных подсистем). Скрипт написан на Python, вызывается через cmd файл с аргументом. Предназначено только для работы с сервером 1С:Предприятие. Для работы необходимо установить Python не ниже 3 версии.

1 стартмани

04.03.2022    2276    8    idm80    6    

Модуль проверки обновлений для собственной конфигурации Промо

Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

23.11.2012    12802    29    Mogidin    1    

Блокировка работы пользователей

Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Расширение для типового механизма блокировки пользователей БСП.

1 стартмани

24.02.2022    2012    2    7OH    4    

Флажок в динамическом списке в 1С 8.3 (управляемые формы)

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

19.01.2022    7704    52    RustIG    13    

Использование флажков в динамических списках 2.0

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пример реализации динамического списка с пометками в режиме множественного и единичного выбора.

1 стартмани

13.01.2022    9127    23    mr_sav    29    

Сравнение ячеек (1.0.0.4) Промо

Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

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

1 стартмани

15.12.2008    38049    1664    alexk-is    28    

Скорость сложения строк большой длины в 1С разными методами (конкатенация строк)

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Как известно, в 1С со строковыми переменными часто приходится работать в режиме добавления строк в одну переменную. Когда строка небольшой длины, все происходит достаточно быстро и можно работать вот так: Строка1 = "Привет"; Строка2 = "мир!"; Результат = Строка1 + Строка2; И все замечательно ровно до того момента, когда эти строки не становятся большими... Тогда скорость работы значительно падает. Я провел небольшие замеры производительности и выношу их на суд общественности.

1 стартмани

02.01.2022    7005    2    Diversus    74    

"Обновление через копию" - как это использовать?

Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:ERP Управление предприятием 2 Абонемент ($m) Абонемент ($m)

Описание того, как использовать "Обновление через копию" для крупных баз данных типа 1С:ERP.

1 стартмани

26.12.2021    10147    23    Brawler    43    

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

Архивирование (backup) DevOps и автоматизация разработки Обмен между базами 1C Платформа 1С v8.3 Платформа 1С v8.3 Украина Украина Абонемент ($m) Абонемент ($m)

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

1 стартмани

02.09.2021    4252    2    Volvo32    1    

Три урока 1С81 для переходящих с 1с77 Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

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

1 стартмани

09.02.2012    22116    44    fixin    12    

Что такое форматированный документ

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Использование форматированного документа демонстрируется на примере преобразования текста в форматированную строку.

1 стартмани

17.05.2021    7933    26    RustIG    9    

Динамическая модификация форм в расширении

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:ERP Управление предприятием 2 Абонемент ($m) Абонемент ($m)

Пример динамического изменения форм расширением конфигурации без заимствования формы.

1 стартмани

05.04.2021    6791    1    a.zernin    1    

Обновление нетиповой конфигурации с приведением к типовой и выносом всех доработок в расширение. Часть/Способ №1

Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 8.3.14 8.3.14 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

10.03.2021    7737    8    cloud666    19    

Полный пример запуска 1С в докере (Linux)

DevOps и автоматизация разработки Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Описание примера запуска сервера 1С в докере на CentOS 7. Содержит архив со скриптами и последовательность шагов для запуска тестового сервера (Сервер, Клиент, Web и простой консоли управления информационными базами).

1 стартмани

26.01.2021    20299    48    uasy_user611066    12    

Навигационная ссылка в платформе 8.2

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Получение ссылки на объект / Переход по ссылке в платформе 8.2 (обычное приложение).

1 стартмани

27.10.2020    5385    6    PerlAmutor    4    

Заполнение выделенных строк таблицы

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

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

1 стартмани

28.01.2020    12435    7    sulfur17    15    

Вывод характеристик и их значений в динамический список

Механизмы платформы 1С Управляемые формы Управляемые формы Система компоновки данных Система компоновки данных Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Если в запросе динамического списка используется конструкция {ХАРАКТЕРИСТИКИ ...}, то как вывести на форму колонки с характеристиками?

1 стартмани

22.02.2019    11967    3    kasper076    4    

Связанные табличные части (управляемые формы)

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Абонемент ($m) Абонемент ($m)

У нас есть 2 связанные табличные части, и нам надо, чтобы по текущей строке в одной из них мы видели только определенные строки во второй. Были бы у нас динамические списки, мы бы взяли событие "При активизации строки" и стандартный механизм отборов СКД, которая лежит в основе списка. Но вот с табличными частями так не получится. Тут нам надо будет написать несколько строк кода и использовать "ОтборСтрок", доступный для таблицы формы. Тестировалось на платформе 8.3.13.1644, будет работать и на более ранних версиях платформы.

1 стартмани

25.01.2019    29011    28    Kim1C    13    

Блокировка пользователей БД + Рассылка

Обновление 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Блокировка работы пользователей с рассылкой на указанные e-mail.

1 стартмани

26.10.2018    9134    2    bes_d    0    

1С в Windows docker контейнерах

Инструменты администратора БД DevOps и автоматизация разработки Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Создаем Docker-контейнер для windows-версии 1C. Контейнеры позволяют подготовить рабочую среду на любой актуальной версии windows. Благодаря данной технологии можно беспрепятственно запускать требуемую версию сервера 1С или несколько серверов различных версий на одном сервере.

1 стартмани

02.10.2018    40845    46    lishniy    42    

Запуск и контроль выполнения автоматизированных тестов из 1С – Jenkins Skin

Корректировка данных DevOps и автоматизация разработки Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Мы рассмотрим пример создания заданий выполнения автоматизированных тестов из 1С с использованием различных Фреймворков (xUnit1C, Тестирование 3.0): запуск, ожидание завершения, загрузка результатов и выполнение полного цикла тестирования продукта. Убедимся, что все действия можно выполнить в пару кликов в дружественном интерфейсе.

1 стартмани

09.07.2018    24324    16    ivanov660    5    

Сборка приложения, разработанного на EDT, с помощью gitlab-ci

EDT Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

В статье описан пример сборки .cf файла при помощи штатных средств EDT, Конфигуратор.

1 стартмани

29.05.2018    19644    5    fenixnow    26    

История хранения данных. Теперь в составе платформы

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

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

2 стартмани

14.11.2017    43824    70    vasilev2015    76    

Асинхронное воспроизведение звука в 1С

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Достаточно простой пример как в 1С:Предприятие запустить воспроизведение звука и не ждать его окончания

2 стартмани

28.07.2017    15687    3    SITR-utyos    7    

Изучение событий 1С для программирования

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

Какие события и в какой последовательности вызываются платформой 1С? Куда лучше поместить свой программный код, чтобы добиться нужного поведения программы? Предлагаю разработку «Изучение событий» которая облегчит поиск ответов на такие вопросы.

2 стартмани

12.03.2017    32109    50    rusmil    21