Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD

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

Разработка - Инструментарий разработчика

Jenkins ADD BDD Vanessa-Behaviour Continious Integration Автоматическое тестирование

135
Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD

Регулярные читатели инфостарта должны уже слышать ( и не по наслышке знать) про Vanessa Behavior и его новых отпрысков – ADD и Vannessa Automation. Оба фреймворка – это замечательное воплощение идей удобного тестирования функциональности на 1С. Мы составляем cценарные тесты(или «фичи») на специальном языке gherkin, описывающим поведение пользователя в интерфейсе 1С Предприятия, а затем вручную прогоняем тесты на запускалке – внешней обработке 1С и узнаем, что у нас работает, а что не очень. Если вы еще не пробовали рай автоматического BDD тестирования, то данный туториал будет максимально полезен: мы сразу убъем двух зайцев – на практическом примере узнаем, что это такое и научимся его правильно готовить.

Под правильной готовкой мы будем понимать не запуск тестов вручную (желающим в руки достаточно «плотный» материал про Ванессу), а создание переиспользуемого пайплайна тестирования в Jenkins. Пайплайн, который будет сам автоматически по расписанию запускать тесты. Пайплайн, который не будет ломать вам рабочие базы. Пайплайн, который даст удобный allure отчет. Наконец, пайплайн, который принесет уверенность в завтрашнем дне!

Звучит хорошо, не правда ли? Но сбавим градус пафоса, господа… и перейдем от теории сразу к практике. Все действия будут выполняться под Windows.

Для наших практических экспериментов потребуется следующий софт:

  • Jenkins
  • One script и либы (Спасибо EvilBeaver)
  • ADD 6.0.0 (Спасибо SilverBulleters)
  • Серверная платформа 1С с развернутой серверной базой не ниже 8.3.10

На картинках конечный результат будет выглядеть вот так:

Статистика сборок

Отчет о сборке

Как будет работать наш пайплайн:

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

  1. Удаляет копию эталонной базы из кластера (если она там была) и очищает клиентский кеш 1с
  2. Делает sql бекап эталонной базы, которую нужно загружать в копию.
  3. Загружает sql бекап эталонной базы в копию
  4. Создает копию в кластере 1С с префиксом test_
  5. Обновляет копию из хранилища 1С (если есть хранилище)
  6. Запускает внешнюю обработку 1С на копии, которая очищает базу от всплывающего окна с тем, что база перемещена при старте 1С
  7. Запускает внешнюю обработку ADD на копии и прогоняет тесты
  8. По результатам тестов формирует отчет allure

Итак, приступаем к установке.

1. Установка GIT

GIT - наверное уже известная всем система контроля версий кода, которая все больше входит в жизнь 1С-ков. Она нам потребуется для того, чтобы дженкинс смог работать со скриптами нашего пайплайна, которые расположены в экспериментальном репозитории https://github.com/ripreal/erp_features (данный репозиторий подойдет, чтобы выполнить туториал, но для разворачивания на продакшене рекомендуется завести свой, например путем форка моего). Для этого:

2. Установка и настройка Jenkins-а.

Jenkins – бесплатная среда для автоматического запуска всех скриптов нашего пайплайна по расписанию. Установка и первичная настройка дженкинса не принесет никаких проблем.

  1. Скачиваем дистрибутив JRE 1.8 и устанавливаем
  2. Скачиваем последний дистрибутив Jenkins (на момент статьи это 2.141) и устанавливаем как сервис. Все настройки оставляем по-умолчанию.
  3. Меняем стандартную кодировку дженкинса на UTF-8. Это важный этап, чтобы в веб-интерфейсе дженкинса все русские символы отображались корректно. Для этого добавляем параметр -Dfile.encoding=UTF8 в тег <arguments> в файле Jenkins.xml, расположенном в корневом каталоге установки дженкинса. Итоговая строка должна выглядеть примерно так:

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>

  1. Перезапускаем службу Jenkins в диспетчере задач Windows и проверяем, что все прошло хорошо, открыв веб-интерфейс дженкинса по адресу http://localhost:8080. Если у вас порт 8080 занят другим приложением, то необходимо будет его перенастроить, например как написано здесь

3. Настройка shared-libraries

Эта удобная функция позволяет писать и складывать скрипты в отдельные библиотеки для их переиспользования в дальнейшем. Мы будем использовать эти библиотеки постоянно.

  1. В веб-интерфейсе дженкинса переходим в меню Manage Jenkins (Настроить Jenkins) => Configure System (Конфигурация системы) => Global Pipeline Libraries
  2. Нажимем Add и заполняем поля:

4. Настройка Allure

Аллюр позволит генерировать красивые отчеты прямо в дженкинсе по результатам тестирования в ADD.

  1. Устаналиваем плагин allure. В веб-интерфейсе дженкинса переходим в меню Manage Jenkins (Настроить Jenkins) => Manage plugins (Управление плагинами) => Available (Доступные), ищем в списке Allure и устанавливаем его
  2. Устанавливаем сам дистрибутив allure. В веб-интерфейсе переходим Manage Jenkins (Настроить Jenkins) => Global Tool Configuration (Конфигурация глобальных инструментов) => Allure Commandline installations => Add Allure Commandline. Заполняем появившиеся поля следующим образом

5. Настройка окружения ADD

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

  1. Скачиваем последний дистрибутив OneScript и устанавливаем.
  2. Устанавливаем библиотеку vannessa-runner для OneScript. Для этого выполняем команду:

opm install vanessa-runner

  1. Таким же образом устанавливаем библиотеку add

  2. Также у вас уже должны быть установлены sqlcmd (поставляется вместе с MS SQL Server) и powershell (с включенной Windows политикой беспрепятственного запуска скриптов. Как включить на WIndows 10

6. Создание и настройка пайплайна в Jenkins

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

  1. В Веб-интерфейсе дженкинса переходим в меню New Item (Создать Item), заполняем произвольное имя в поле Enter an item name (Введите имя Item'а), я выбрал erp_features, выбираем тип скрипта - pipeline и нажимаем ОК
  2. В новом окне открывается конфиг пайплайна. Переходим к группе pipeline, в котором мы введем настройки подключения к репозиторию, в котором хранятся все исходники. Заполняем поля следующим образом:
  • Definition - pipeline script from SCM
  • SCM - git
  • Repository URL - https://github.com/ripreal/erp_features.git (или свой)
  • В группе Additional Behaviours нажимаем кнопку add и выбираем clean before checkout, чтобы автоматически очищать директорию сборки от предыдущих результатов.
  1. Все остальные параметры оставляем по-умолчанию и нажимаем Save

7. Первый запуск пайплайна

На самом деле мы не полностью настроили конфиг пайплайна, т.к. часть параметров конфига хранятся в Jenkinsfile - скрипте в удаленном репозитории,который мы указали в п.6. Поэтому чтобы донастроить пайплайн необходимо выполнить пробный запуск. Для этого:

  1. В Веб-интерфейсе дженкинса на главной странице переходим в наш пайплайн erp_features
  2. В открывшемся окне нажимаем Build (Собрать сейчас) в левой командной панели и наблюдаем процесс сборки. Сборка должна будет упасть - это нормально.
  3. Обновляем браузер через f5 и видим, что теперь у нас вместо кнопки Build появится другая кнопка Build with parameters (Собрать с параметрами) - это как раз то, что нам нужно.

8. Второй запуск пайплайна

Теперь самое время перейти в реальному запуску пайплайна. Для этого в меню с пайплайном erp_features нажимаем кнопку Build with parameters (Собрать с параметрами), которая появилась вместо Build (Собрать) и видим список параметров со значениями NULL, которые нам нужно заполнить. В качестве тестовой базы я выбрал серверную демобазу ERP. Рекомендую последовать моему примеру, т.к. пробный feature тест (здесь) написан для этой конфигурации. Отметим, что значения всех введенных параметров будут сохранены для следующих запусков пайплайна. Примечание - обязательно уберите из всех параметров значение NULL, иначе сборка при запуске будет ругаться. Если параметр не хотите заполнять, то оставьте его просто пустым:

  • jenkinsAgent - Нода дженкинса, на которой запускать пайплайн. Рекомендую на первое время ставить master. По умолчанию также стоит master
  • server1c - Имя сервера 1с, по умолчанию localhost
  • server1cPort - Порт рабочего сервера 1с. По умолчанию 1540. Не путать с портом агента кластера (1541)
  • serverSql - Имя сервера MS SQL. По умолчанию localhost
  • admin1cUser - Имя администратора с правом открытия внешних обработок (!) и с отключенной защитой от опасных действий для базы тестирования 1с. Должен быть одинаковым для всех баз.
  • admin1cPwd - Пароль администратора базы тестирования 1C. Должен быть одинаковым для всех баз
  • sqlUser - Имя администратора сервера MS SQL. Если пустой, то используется доменная авторизация
  • sqlPwd - Пароль администратора MS SQL. Если пустой, то используется доменная авторизация
  • templatebases - Список баз для тестирования через запятую. Например work_erp,work_upp
  • storages1cPath - Необязательный. Пути к хранилищам 1С для обновления копий баз тестирования через запятую. Число хранилищ (если указаны), должно соответствовать числу баз тестирования. Например D:/temp/storage1c/erp,D:/temp/storage1c/upp
  • storageUser - Необязательный. Администратор хранилищ 1C. Должен быть одинаковым для всех хранилищ
  • storagePwd - Необязательный. Пароль администратора хранилищ 1c

Теперь запускаем сборку и ждем ее полного выполнения. В идеале сборка должна выполниться успешно и отобразиться зеленым цветом. Если сборка упадет на каком-то из промежуточных шагов, то лезем в логи по кнопке Console Output (Вывод консоли) в левой панели, которая доступна, если провалится в саму сборку. Если пайплайн зависает на этапе запуска 1С-ых обработок (Этапы "Запуск 1с обработки на test_temp" и "Тестирование ADD"), то скорее всего внутри 1С всплыло какое-то модальное окошко, блокирующее дальнейшую работу.  Чтобы это проверить, запустите в 1С созданную в пайплайне копию базы в режиме предприятия и проследите, чтобы не всплывало никаких блокирующих окон.

Меняемся к лучшему 1 - Настройка slave ноды дженкинса

После установки дженкинса мы получаем одну master ноду, запущенную как системный процесс. Но в приличном jenkins обществе принято использовать master ноду только в качестве менеджера slave агентов, а не ка запускалку пайплайнов. Поэтому чтобы не создавать на нее лишнюю нагрузку и не вешать ее в случае какого-либо неоптимального кода, заводятся slave ноды.

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

  1. Разрешаем запуск слейв агентов в качестве консольных приложений. Для этого в веб-интерфейсе дженкинса переходим в меню Manage Jenkins (Настроить Jenkins) => Configure Global Security (Глобальные настройки безопасности) => Agents и в поле TCP port for JNLP agents меняем переключатель на Fixed (Статичный) и указываем порт, например 10001.
  2. Добавляем ноду. Для этого переходим в меню Manage Jenkins (Настроить Jenkins) => Manage Nodes (Управление средами сборки) и в левой командной панели нажимаем New Node (Новый узел), вводим имя, активируем переключатель Permanent Agent и жмем ок.
  3. Вводим параметр ноды:
  • Name - имя хоста (компьютера)
  • Remote root directory (Корень удаленной ФС) - произвольный путь к каталогу, в котором дженкинс будет выполнять пайплайны, например D:\jenkins
  • Labels (Метки) - произвольное имя, по которому будем ссылаться на ноду в пайплайне. Рекомендую ставить такое же, как имя ноды.
  • Launch method (Способ запуска) - выбираем Launch agent via Java Web Start
  1. Жмем save

Теперь нужно поднять ноду:

  • В главном меню дженкинса в левой части должна появится иконка нашей новой ноды.

  • Кликаем на нее и смотрим на последнюю строчку. Это и есть командная строка запуска slave ноды.

  • Копируем командную строку и записываем ее в bat-ник, заодно скачиваем agent.jar по гиперссылке. Все это помещаем в каталог, который мы выделили ранее для slave дженкинса.
  • Добавляем строчку -Dfile.encoding=UTF-8  в строку запуска для правильной кодировки и запускаем bat-ник. Если все сделано правильно, то через пару секунд запустится консольная слейв нода.

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

Меняемся к лучшему 2 - Установка nircmd для скриншотов в отчете allure

Чтобы лицензреть в allure вот такие вот полезные скриншоты при падении шагов теста, нам потребуется установить утилитку nircmd. Возьмем на карандаш также то, что снятие скриншотов будет работать только под slave нодой, запущенной в консольном режиме.

Для этого:

  • Скачиваем архив отсюда http://www.nirsoft.net/utils/nircmd.html
  • Запускаем из архива nircmd.exe под администратором и выбираем copy to windows directory
  • Проверьте, что через cmd.exe у нас появилась новая команда nircmd. Если все ок, то больше никакой настройки в дженкинсе для скриншотов не требуется

Меняемся к лучшему 3 - Создание расписания для пайплайна

Запуск по расписанию - отличная идея для автоматичеких ночных сборок. Так что приступим:

  1. В Веб-интерфейсе дженкинса на главной странице переходим в наш пайплайн erp_features
  2. В левой панели нажимаем Configure (Настройки) и ставим галочку Build periodically (Запускать периодически)
  3. Вводим расписание по формату CRON. Для того, чтобы запускать каждую ночь в 12 часов, достаточно ввести следующее выражение H 00 * * 1-7

Меняемся к лучшему 4 - Копаемся во внутренностях Jenkinsfile-а

Я всячески поощряю залезть в главный исполняемый скрипт нашего пайплайна и посмотреть как это работает своими глазамами. Jenkinsfile находится в корневом каталоге репозитория https://github.com/ripreal/erp_features.git. Скрипты в jenkins пишутся на очень простом процедурном языке groovy - ванильной надстройкой над java. При желании скрипт можно и нужно подтюнить. Подкину пару идей для улучшения:

  1. Сделать пайплайн более масштабируемым - вместо ручного ввода входных параметров, запрашивать их из внешних key-value storage-ов
  2. Добавить smoke тесты - делается аналогично шагу "Тестирование ADD"
  3. Отправлять уведомления и результаты выполнения сборок на почту или в корпоративный чат
  4. Добавит CD - финальным шагом пайплайна не просто запускать тесты, но и делать автосборку файла поставки проверенной конфигурации.

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

## Благодарности

1. Артем Кузнецов (//develop.iservice.ru/profile/64839/) - за архитектурную идею скрипта для пайплайна дженкинса

135

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

Наименование Файл Версия Размер
Репозиторий erp_features с исходниками, использованными в пайплайне
.zip 10,25Mb
31.05.19
1
.zip 10,25Mb 1 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. morohon 03.06.19 10:06 Сейчас в теме
Подскажите пожалуйста, а java 1.8 обязательное требование? Заведется ли вся сборка на openJDK (учитывая нынешнюю лицензионную политику Oracle)
4. ripreal1 337 03.06.19 12:29 Сейчас в теме
(1) Я не пробовал, но думаю на openJDK будет также все работать.
2. fishca 1156 03.06.19 10:22 Сейчас в теме
Можно было просто ссыль на репу кинуть, зачет!
3. Pr-Mex 123 03.06.19 11:28 Сейчас в теме
5. artbear 1156 03.06.19 13:03 Сейчас в теме
(0) Ух ты, как круто!

Большое спасибо за статью и применение Ванесса-АДД :)
6. artbear 1156 03.06.19 13:08 Сейчас в теме
(0) Одно но - в статье не увидел применение загрузчика пользовательских настроек - из json-файла или CONSUL

в этом варианте не используете?
9. ripreal1 337 03.06.19 14:51 Сейчас в теме
(6) Да, это advanced техника, я не стал ее включать в туториал.
7. Somebody1 66 03.06.19 13:30 Сейчас в теме
Статья неплоха, но... как-то можно обойтись без фраз типа "првоерить работоспособность слейв ноды на нашем пайплайне"? Ну уши ведь в трубочку.
8. artbear 1156 03.06.19 13:43 Сейчас в теме
(7) это обычные термины данной предметной области.

для тех, кто в контексте Дженкинса или CI, все понятно :)
11. TODD22 18 04.06.19 18:52 Сейчас в теме
(8)
"првоерить работоспособность слейв ноды на нашем пайплайне"

"Проверить работоспособность подчинённого узла на нашем конвейере"
Дмитрий74Чел; vlad.frost; +2 Ответить
30. for_sale 783 24.06.19 11:57 Сейчас в теме
(11)
Когда англы и саксы вторглись на территорию современных Британских островов, в их язык (ныне - английский) из местной культуры кельтов перешло всего несколько десятков слов. Потому что их культура и быт были богаче кельтов. Здесь то же самое - местное население не внесло в эту отрасль совершенно ничего, всё, что используется, придумано у загнивающих капиталистов. Более того, единственный язык программирования, работающий на местном языке, считается уделом низшей касты и осмеивается труЪ-программистами. Поэтому и терминология тут вся оттуда и ничего не изменится.
товарищ Ын; +1 Ответить
12. r2d255 04.06.19 19:48 Сейчас в теме
Что из софта требует именно 8.3.10? можно более ранней обойтись?
13. ripreal1 337 04.06.19 20:30 Сейчас в теме
(12)
Требование не жесткое, я тестировал минимум на 8.3.10. Можно поэкспериментировать. Но надо быть готовым к тому, что что-то может пойти не так.
14. sm.artem 13 06.06.19 06:05 Сейчас в теме
Спасибо за интересный материал.
У меня почему-то не сработала настройка кодировки UTF8, все-равно выводились "крякозябры".

В итоге указал параметр через UTF-8 (поставил дефис). - после этого кириллические символы отображаются нормально.

Не знаю с чем этом может быть связано, может версия Java, может Jenkins
15. ripreal1 337 06.06.19 08:39 Сейчас в теме
(14)
Хорошо подмечено, я погуглил UTF-8 более предпочтителен. Поправил в статье.
sm.artem; +1 Ответить
16. sapervodichka 1707 10.06.19 10:06 Сейчас в теме
Для более простых проверок, можно это использовать https://infostart.ru/public/1056811/
17. agent100 50 10.06.19 16:29 Сейчас в теме
Делаю по инструкции получаю ошибку https://yadi.sk/i/FGN48vQ0AGinGQ Win10 x64. Помогите понять что не так.
18. ripreal1 337 10.06.19 17:05 Сейчас в теме
(17)
Это ошибка в коде пайплайна. Дело в том, что параметр -file, который ведет к скрипту drop_db.ps1 содержит пробелы, поэтому весь путь нужно оборачивать в кавычки, а я не оборачиваю. Я сейчас исправил этот момент в своем репозитории. Можно обновиться из него и должно заработать.
19. agent100 50 11.06.19 10:34 Сейчас в теме
Пересоздал пайплан, та ошибка ушла. Ругается на ошибку выполнения скрипта https://yadi.sk/i/jdcv9QbjHQvpxg разрешил неподписанные скрипты. Подскажите куда дальше копать.
20. ripreal1 337 11.06.19 11:38 Сейчас в теме
21. agent100 50 11.06.19 15:43 Сейчас в теме
Получилось спасибо! Судя по сценарию он пытается скачать бэкап базы в рабочий каталог, при этом вываливается ошибка что нельзя создать файл. Как задать корректный каталог сохранения бэкапа базы?
22. ripreal1 337 13.06.19 11:35 Сейчас в теме
(21)Да, именно так. У каждой сборки в пайплайне есть свой рабочий каталог (WORKSPACE). Каталог бекапа базы задается автоматически и является относительным WORKSPACE/build/. Т.е. его вручную прописывать не надо. То что не создаются бекапы это странно. Возможно у дженкинса нет прав на этот каталог.

Вообще желательно посмотреть логи
29. agent100 50 20.06.19 17:08 Сейчас в теме
23. artkor 113 16.06.19 22:14 Сейчас в теме
Здравствуйте! Никак не получается побороть ошибку при создании тестовой базы в кластере
22:04:56  [2019-06-16T19:04:56.538Z] ИНФОРМАЦИЯ - Creating server base with 1C...
22:05:35  [2019-06-16T19:05:35.123Z] {Модуль C:\Program Files (x86)\OneScript\lib\v8runner\src\v8runner.os / Ошибка в строке: 1212 / Ошибка создания ИБ: "Ошибка при выполнении операции с информационной базой
22:05:35  [2019-06-16T19:05:35.123Z] Ошибка СУБД:
22:05:35  [2019-06-16T19:05:35.123Z] Microsoft SQL Server Native Client 11.0: Login failed for user 'SERVER\USR1CV8'.
22:05:35  [2019-06-16T19:05:35.123Z] HRESULT=80040E4D, SQLSrvr: SQLSTATE=28000, state=1, Severity=E, native=18456, line=1
22:05:35  [2019-06-16T19:05:35.123Z] 
22:05:35  [2019-06-16T19:05:35.124Z] "}

Почему-то dbcreator.os не читает параметры "логи-пароль" от sql-базы, хотя в параметрах сборки они заданы.
Когда стираю эти параметры по идее должна виндовая авторизация sql отработать, но сборка на 1-ом же шаге сваливается. Может кто сталкивался с таким?
24. ripreal1 337 17.06.19 11:08 Сейчас в теме
(23) Я не тестировал скрипт пайплайна, приведенный в статье на работу с windows-ой авторизациией sql сервера со стороны серевера 1С. Одна теоретически все должно работать т.к. у нас в команде в продакшене используется именно такой подход на схожем скрипте

Чтобы работал пайплайн под доменной авторизацией:
1) Входные параметры sqlUser и sqlPwd нужно оставить пустыми
2) Нода дженкинса должна быть запущена под пользователем, имеющим право доменного входа в sql сервер
3) Базы в кластере 1С должны создаваться без явного прописывания логина и пароля причем под любой машиной (даже если у доменного пользователя этой машины нет права на sql сервер)

ПРоверьте, чтобы были соблюдены эти 3 условия
25. ms-des 17.06.19 15:08 Сейчас в теме
Возникла проблема с Allure, пайплайн отрабатывает, в логах:
Report successfully generated to C:\Program Files (x86)\Jenkins\workspace\test\allure-report
Allure report was successfully generated.
Creating artifact for the build.
Artifact was added to the build.

Но отчет пустой, причем если идти по ссылке 2, адрес будет через localhost(а не имя сервера) и ошибка "Попытка соединения не удалась".
Правильно ли я понимаю, что за выгрузку отчета в формате Allure отвечает этап "Тестирование ADD" ?
Прикрепленные файлы:
26. ripreal1 337 17.06.19 17:00 Сейчас в теме
(25) Нет, отчет формируется на последнем этапе "Declarative: Post Actions". Конкретно за формирование отчета отвечает одна строка в Jenkinsfile:
"allure includeProperties: false, jdk: '', results: [[path: 'build/out/allure']]"

Насчет localhost-а непонятно. Сам веб-интерфейс дженкинса (его главная страница и прочие разделы) доступна по имени или тоже через localhost?

Что можно сейчас сделать - проверить, что в папке build/out/allure (которая находится относительно каталога сборки (см. каталог сборки в логах) была выгрузка папки allure. Если выгрузка есть, то сам отчет сформировался нормально, а проблема в адресе.
27. ms-des 18.06.19 09:00 Сейчас в теме
(26)
Насчет localhost-а непонятно. Сам веб-интерфейс дженкинса (его главная страница и прочие разделы) доступна по имени или тоже через localhost?

Веб-интерфейс доступен по имени, захожу с другой машины. А вот ссылка 2 - адрес к localhost.

В папке build/out/allure есть 3 файла:
Прикрепленные файлы:
28. ms-des 18.06.19 10:01 Сейчас в теме
(27) + проблема с адресом решена, изменил в настройках Jenkins'a
31. vlad.frost 186 27.06.19 08:00 Сейчас в теме
(0) классная статья! Только, похоже, забыли в разделе про настройку подчинённого узла указать, что в батник start.bat в строку запуска agent.jar надо бы добавить ключ
-Dfile.encoding=UTF-8
34. ripreal1 337 29.06.19 09:32 Сейчас в теме
(31)
Спасибо, дополнил пунктик в статье
vlad.frost; +1 Ответить
32. Viktor_Ermakov 27.06.19 22:53 Сейчас в теме
У меня ошибка подключения куда то:

22:46:09 [2019-06-27T19:46:09.202Z]
22:46:09 [2019-06-27T19:46:09.202Z] D:\jenkins\workspace\erp_features>chcp 65001
22:46:09 [2019-06-27T19:46:09.203Z] Active code page: 65001
22:46:09 [2019-06-27T19:46:09.203Z]
22:46:09 [2019-06-27T19:46:09.203Z] D:\jenkins\workspace\erp_features>powershell -file "D:\jenkins\workspace\erp_features/copy_etalon/drop_db.ps1" -server1c localhost -agentPort 1540 -serverSql localhost -infobase test_base_2 -user Администратор -sqluser sa
22:46:13 [2019-06-27T19:46:13.464Z] server_addr=tcp://localhost:1540 descr=[::1]:1540:10061(0x0000274D): No connection could be made because the target mac
22:46:13 [2019-06-27T19:46:13.464Z] hine actively refused it. ;
22:46:13 [2019-06-27T19:46:13.464Z] 127.0.0.1:1540:10061(0x0000274D): No connection could be made because the target machine actively refused it. ;
22:46:13 [2019-06-27T19:46:13.465Z] line=1056 file=src\DataExchangeTcpClientImpl.cpp
22:46:13 [2019-06-27T19:46:13.465Z] At D:\jenkins\workspace\erp_features\copy_etalon\drop_db.ps1:28 char:5
22:46:13 [2019-06-27T19:46:13.465Z] + throw $_.Exception.Message
22:46:13 [2019-06-27T19:46:13.465Z] + ~~~~~~~~~~~~~~~~~~~~~~~~~~
22:46:13 [2019-06-27T19:46:13.465Z] + CategoryInfo : OperationStopped: (server_addr=tcp...pClientImpl.cpp:String) [], RuntimeException
22:46:13 [2019-06-27T19:46:13.465Z] + FullyQualifiedErrorId : server_addr=tcp://localhost:1540 descr=[::1]:1540:10061(0x0000274D): No connection could
22:46:13 [2019-06-27T19:46:13.465Z] be made because the target machine actively refused it. ;
22:46:13 [2019-06-27T19:46:13.465Z] 127.0.0.1:1540:10061(0x0000274D): No connection could be made because the target machine actively refused it. ;
22:46:13 [2019-06-27T19:46:13.466Z] line=1056 file=src\DataExchangeTcpClientImpl.cpp
22:46:13 [2019-06-27T19:46:13.466Z]
33. Fox-trot 105 28.06.19 06:43 Сейчас в теме
(32) стишки все писать умеют, ты вопросы лучше задавай
35. ripreal1 337 29.06.19 09:36 Сейчас в теме
(32) Скрипт не может подключиться к кластеру 1С по адресу localhost:1540. Возможно неправильно указан параметры пайплайна server1cPort и server1c.
36. VladCheSH 04.07.19 11:28 Сейчас в теме
Добрый день, скажите пожалуйста, не появляется кнопка "Собрать с параметрами", после обновления страницы.
Подскажите, в чем может быть проблема?
37. ripreal1 337 04.07.19 16:29 Сейчас в теме
(36)

Чтобы кнопка появилась нужно запустить сначала пайплайн по кнопке Собрать а потом обновить страницу. Если это не работает то можно добавить все необходимые параметры вручную в конфиге пайплайна Configure (Настройки) => галочка This project is parameterized (Проект параметризован) => Add parameter (Добавить параметр). Главное - с именами не ошибиться.
38. VladCheSH 08.07.19 13:40 Сейчас в теме
(37) Добрый день, добавил параметры, но сборка падает, не знаете в чем дело?

hudson.plugins.git.GitException: Command "git.exe fetch --tags --force --progress origin +refs/heads/master:refs/remotes/origin/master --prune" returned status code 128:
stdout:
stderr: fatal: couldn't find remote ref refs/heads/master
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2042)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1761)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$400(CliGitAPIImpl.java:72)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:442)
at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl.build(GitSCMFileSystem.java:351)
at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:198)
at jenkins.scm.api.SCMFileSystem.of(SCMFileSystem.java:174)
at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:108)
at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:67)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:293)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE
39. ripreal1 337 09.07.19 15:49 Сейчас в теме
(38)
Кажется несложная проблема. Указанный в конфиге пайплайна репозиторий на гитхабе либо не существует, либо он пустой, либо у него нет ветки master, либо неправильно указан сам путь к репозиторию
40. VladCheSH 09.07.19 18:19 Сейчас в теме
(39) Спасибо большое, проблема решилась перенастройкой параметров
41. VladCheSH 10.07.19 14:14 Сейчас в теме
(38) Вновь какая-то проблема, зависает, на данном этапе (см.скрин).
Проверил модальные окна, ничего нет.
Подскажите пожалуйста, что может быть не так?
Прикрепленные файлы:
42. ripreal1 337 10.07.19 16:06 Сейчас в теме
(
(41) Это 100% модальное окно, которое выскакивает в процессе открытия внешней обработки ADD и загрузки фич. Чтобы понять проблему, нужно подключить отдельную слейв ноду дженкинса (в туториале описано), запустить пайплайн на ней и тогда все окна интерфейса 1С будут видимы в процессе запуска тестов и легко можно будет узнать точную проблему.
43. VladCheSH 10.07.19 16:34 Сейчас в теме
(42) Я сейчас добавил базу (test_...) в которую восстанавливается бэкап sql, и она пустая. Следовательно, никакого тестирования ADD не может быть...
Но почему она пустая?
44. ripreal1 337 11.07.19 08:35 Сейчас в теме
(43)
Надо смотреть в логах сборки причины. Логи полностью отработанного скрипта восстановления базы из бекапа выглядят так
Прикрепленные файлы:
45. VladCheSH 11.07.19 14:22 Сейчас в теме
(44) Вот, обрывается, на восстановлении, но без ошибки
Прикрепленные файлы:
46. ripreal1 337 11.07.19 16:43 Сейчас в теме
(45)
Насторажет то, что скрипт выполянется в program files. Возможно нет полных прав, чтобы сохранить бекап. Нужно попробовать выполнить всю команду sqlcmd локально из командной строки. Там вывод должен быть более детальным. Если и это не поможет, то нужно будет открыть сам скрипт restore.sql и выполнить его в SQl server studio.

Как правило один их вариантов позволит установить причину ошибки.
49. VladCheSH 24.07.19 12:56 Сейчас в теме
(46)
Так и не получилось запустить.
Проверил bdd, в любой базе обработка запускается с ошибкой.
Произвел opm update -all, но ошибку при открытии bdd, это не решило.
Подскажите в чем может быть проблема?
Прикрепленные файлы:
50. ripreal1 337 24.07.19 17:42 Сейчас в теме
(49)
Ну видно же из скрина - запуск обработки блокируется дурацкой защитой от опасных действий. Вообще при запуске не должно появляться никаких модальных окошек. В данном случае нужно выключить защиту от опасных действий в платформе. Это делает через параметр DisableUnsafeActionProtection=.* файла conf.cfg платформы 1с
53. VladCheSH 05.08.19 10:01 Сейчас в теме
(50) Скажите пожалуйста, сборка упала, на этапе формирования отчета, со следующей ошибкой.
Прикрепленные файлы:
47. Viktor_Ermakov 22.07.19 22:28 Сейчас в теме
Очередная ошибка, не могу довести дело до конца))
Не понятно почему не хочет соединяться с SQL
Прикрепленные файлы:
48. ripreal1 337 24.07.19 08:11 Сейчас в теме
(47) Проверку соединения делает скрипт sqlcmd. Открывайте детальные логи и смотрите какая именно команда и с какими параметрами выполняется перед выводом ошибки и пытайтесь ее выполнить через консоль.
51. Viktor_Ermakov 24.07.19 21:36 Сейчас в теме
Да тут вот ничего не понятно)
Прикрепленные файлы:
52. ripreal1 337 25.07.19 12:17 Сейчас в теме
(51)
Нужно скопировать строку со скриптом sqlcmd и выполнить ее прямо из консоли виндовс. Тогда вывод консоли будет скорее всего на русском. Если это не помогает, то есть множество сервисов в интернете по распознаванию кривой кодировки
55. a_n_d_rey 22.08.19 16:37 Сейчас в теме
Зависает на этапе:
C:\Program Files (x86)\Jenkins\workspace\erp_features>oscript one_script_tools/dbcreator.os -server1c DellAndreyB:1541 -serversql DELLANDREYB\SQLSERVER -base test_erp_demo2_5
Созданы системные папки для базы "test_erp_demo2_5", но нет самих таблиц. В чем может быть причина?
Прикрепленные файлы:
56. ripreal1 337 25.08.19 13:08 Сейчас в теме
(55) Скорее всего нет прав у юзера в sql сервере. А на sql сервер что настроена доменная авторизация? Я бы предпочел использовать для начала самую простую парольную авторизацию с пользователем sa.
57. user1278443 09.09.19 15:40 Сейчас в теме
Здравствуйте, возникает ошибка: Различаются версии клиента и сервера (8.3.13.1690 - 8.3.14.1854). При этом в параметрах сборки указывал сперва 8.3.13.1690, вылетала данная ошибка, потом запускал версию 8.3.14.1854, но ошибка не уходила, как будто мое значение игнорируется, не подскажите с чем это может быть связано?
58. ripreal1 337 09.09.19 16:52 Сейчас в теме
(57)
Данный пайплайн использует COM объекты. Ошибка в том, что на клиентской машине зарегистрирована компонента не той версии как на сервере.Нужно через regsvr32 зарегистрировать нужную компоненту comcntr.dll.

p.s. на пайплайне в проде рекомендую переписать эту часть на RAS
59. user1278443 10.09.19 08:07 Сейчас в теме
(58)
comcntr.dll

А можно простыми словами или статейку? я - новичок, плохо понимаю именно часть с comcntr.dll
60. ripreal1 337 10.09.19 08:35 Сейчас в теме
(59) http://1clenta.ru/pattern/186

Ох, чувствую Вам будет непросто сделать весь пайплайн зеленым
61. user1278443 10.09.19 11:03 Сейчас в теме
(60)
спасибо, помогло, еще вопрос - как задать пароль, в котором присутствует %?
думал можно просто во всех местах кода заменить sqlPwd на "Пар%оль", но он ругается(
62. user1278443 10.09.19 14:03 Сейчас в теме
63. ripreal1 337 10.09.19 16:36 Сейчас в теме
(62)
Т.к. пайплайн использует множество разных скриптов, которые по-разному работают со спец. символами, то лучшая рекомендация - не использовать эти символы вообще. Мы у себя делаем именно так.
65. user1278443 10.09.19 16:48 Сейчас в теме
(63)
вы же в командную строку записываете пароль => там проблема может возникнуть с интерпретацией cmd, а для нее можно сделать вот так ^%%. Это так, для будущих поколений
64. user1278443 10.09.19 16:43 Сейчас в теме
Как можно вот эту проблему решить?

Installer "Extract *.zip/*.tar.gz" cannot be used to install "allure" on the node "Jenkins"
66. ripreal1 337 10.09.19 20:29 Сейчас в теме
(64) Я не сталкивался с такой проблемой. Гугл в помощь.
67. user1278443 11.09.19 16:26 Сейчас в теме
что можно сделать с ошибкой - неизвестный идентификатор плагина(ЗагрузчикПользоательскихНастроек)? сразу замечу, я гуглил, решение, например, убрать защиту от опасных действий, но толку 0
68. user1278443 12.09.19 08:18 Сейчас в теме
69. user1278443 12.09.19 11:15 Сейчас в теме
(67)
ошибка возникает когда открывается менеджер тестирования
70. ripreal1 337 16.09.19 13:05 Сейчас в теме
(67)

Проблема в том, что ADD не находит путь к своимх плагинам. Путь к плагинам должен быть прописан в поле Каталог инструментов на вкладке Сервис.

Скорее всего вручную прописать его не получится (т.к. он и является плагином ЗагрузчикПользоательскихНастроек, который не может загрузиться). Лучше всего сбросить настройки ХранилищаСистемныхНастроек, где их хранить ADD.

Например, выполнить команду в базе
ХранилищеОбщихНастроек.Удалить("VanessaBehaviorUF",,ИмяПользователя());
Если не поможет, то лучше использовать другую баузу для тестов
71. Prometeus2011 88 01.10.19 18:26 Сейчас в теме
Здравствуйте!
Никогда не интересовался ранее сценарным тестированием, однако, появилась необходимость в оном на обычных формах.
В этой связи вопрос: среда позволяет производить тестирование на обычных формах или нет (дабы не копать вопрос глубже без необходимости).
Спасибо!
72. ripreal1 337 01.10.19 18:51 Сейчас в теме
(71)
В целом да, но пайплайн приведенный в туториале - нет. Тестирование обычных форм делается через дымовые тесты с помощью обработки xUnitFor1c. Но это большая тема для отдельной статьи.
73. nagaitseff 102 08.10.19 11:51 Сейчас в теме
День добрый!

Что только не делал по статье и ссылкам, вывод один и тот же:

File C:\Jenkins\workspace\erp_features\copy_etalon\drop_db.ps1 cannot be loaded
The file C:\Jenkins\workspace\erp_features\copy_etalon\drop_db.ps1 is not digitally signed. You cannot run this script on the current system.

Подскажите как запустить пожалуйста!
75. ripreal1 337 08.10.19 22:35 Сейчас в теме
(73)
Из описание видно, что ошибка связана с запуском powershell скрипта drop_db.ps1 . А точнее с политикой безопасности на компьютере. У меня такой никогда не было, но вопрос легко гуглится
http://tritoneco.com/2014/02/21/fix-for-powershell-script-not-digitally-signed/
https://stackoverflow.com/questions/9742775/why-is-my-locally-created-script-not-allowed-to-run-under-the-remotesigned-execu
76. nagaitseff 102 09.10.19 04:19 Сейчас в теме
(75) делал все вышесказанное и находил все еще вчера, никак.

Стоит Windows Server R2 2012, доменная политика.
77. nagaitseff 102 10.10.19 04:18 Сейчас в теме
(75) У нас, как выяснилось, даже имея админскую учетку, не возможно исполнить скрипт, запрещено групповой политикой.
Попросил админа, он подписал скрипт. Скрипт начал выполнятся, но теперь другая ошибка: Cannot open backup device 'C:\Jenkins\workspace\erp_features/build/temp_nagerp_b_20191001­000'. Operating system error 3(The system cannot find the path specified.).

Есть ли возможность самому указать куда делать бэкап и откуда его потом брать? Как это сделать?

Дело еще в том, что SQL сервер находится на другом класстере!
78. nagaitseff 102 10.10.19 06:22 Сейчас в теме
(75) добавил свой параметр в файл jenkins, по ветке отравил вам в репозиторий.

если база находится на другом класстере, то получается он автоматически ищет путь не на машине где дженкинс, а на сервере SQL.

теперь все работает. Единственно, что путь надо указать с обратным слешем не например: s:\BackupSQL, а s:/BackupSQL

Есть еще вопрос, а как сделать чтобы созданная нами нода автоматически запускалась при начале выполнения pipiline???
80. ripreal1 337 10.10.19 11:13 Сейчас в теме
(78)
Слейв ноды дженкинса должны запускаться не в момент запуска сборки пайплайна, а в момент старта самой машины и висеть как процесс постоянно.
83. nagaitseff 102 11.10.19 05:25 Сейчас в теме
(80) а если запуск производится по расписанию из Jenkins? Получается сначала должна запустится нода как процесс а потом задание, я правильно понял?
И почему-то скиншоты только черный квадрат малевича и все.
74. sapervodichka 1707 08.10.19 12:47 Сейчас в теме
Для простых проверок регулярных тараканов в новых обновлениях ЕРП я этим пользуюсь https://infostart.ru/public/1056811/. Сценарное тестирование делает фокус группа заказчика. Переписывать код своих интеграций в методологию 1С все равно приходится от релиза к релизу, т.к. группу разработчиков предыдущей ветки ЕРП 1С "расстреливает", на её смену приходит другая со своими новыми идеями и новой методологией.
79. nagaitseff 102 10.10.19 09:05 Сейчас в теме
Файлы архивов постоянно накапливаются (по сути они не нужны), как удалять сделанные архивы с помощью ваших инструментов?
81. ripreal1 337 10.10.19 11:20 Сейчас в теме
(79) Какие архивы? Имеете в виду бекапы баз? У нас на проде используется отдельная функция, которая удаляет бекапы на последнем этапе выполнения пайплайна. Вот такая:


// Удаляет бекапы из сетевой шары
//
// Параметры:
//  utils - экземпляр библиотеки Utils.groovy
//  backup_path - путь к бекапам
//
def clearBackups(utils, backup_path) {
    echo "Deleting file ${backup_path}..."
    returnCode = utils.cmd("oscript ${env.WORKSPACE}/one_script_tools/deleteFile.os -file ${backup_path}")
    if (returnCode != 0) {
        echo "Error when deleting file: ${backup_path}"
    }    
}
Показать




Но эту функцию я не включил в пайплайн, который в туториале.
82. nagaitseff 102 11.10.19 05:16 Сейчас в теме
(81)
ил в пайплайн, который в туториале.


да все верно, а как ее включить в пайплайн? подскажите пожалуйста, только начал во всем этом разбираться, пока никак не получается толком.

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

Как их реализовать?

Спасибо.
84. ripreal1 337 16.10.19 08:41 Сейчас в теме
(82)
Могу сказать что с дженкинсом все перечисленное можно реализовать. Нужно только почитать пару туториалов по синтаксису groovy в интернете.
Оставьте свое сообщение

См. также

CF & SQL : конструктор прямых запросов к БД 1С 133

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия MS SQL Абонемент ($m) Инструментарий разработчика Администрирование СУБД

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    3726    71    dmitrydemenew    18       

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

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

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

3 стартмани

04.09.2019    4726    10    Stepa86    35       

Просмотр и анализ структуры базы данных (отчет на СКД) 95

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Отчет для просмотра и анализа структуры базы данных с поддержкой файловых баз (ограниченный режим), а также баз на SQL Server и PostgreSQL.

2 стартмани

24.07.2019    4655    66    YPermitin    21       

Структура подчиненности с хронологией документов и кнопками проведения и удаления 76

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

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

1 стартмани

22.07.2019    3273    46    sapervodichka    15       

Модель объекта 6

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    2466    1    vadim1980    0       

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером 185

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

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

1 стартмани

13.05.2019    15338    90    Diversus    38       

Групповая проверка доработок 101

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика

Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем. Проверялась на Зарплата и управление персоналом КОРП 3.1.8.216, Управление торговлей 11, 1С:ERP Управление предприятием 2.4.7.141, Бухгалтерия предприятия КОРП 3.0.68.66.

2 стартмани

05.05.2019    6631    65    sapervodichka    23       

Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций 88

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

Расширение для конфигурации "1С:Автоматизированная проверка конфигураций", позволяющее проверять произвольный код.

1 стартмани

26.03.2019    9117    39    Bazil    22       

Настройка отладки на сервере 1С 93

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.

1 стартмани

26.03.2019    10067    49    frkbvfnjh    32       

Методика оптимизации программного кода 1С: проведение документов 83

Инструменты и обработки Программист Архив с данными v8 v8::УФ Абонемент ($m) Обработка документов Производительность и оптимизация (HighLoad) Инструментарий разработчика

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    14005    13    dmitrydemenew    83       

Отчет по подпискам на события 83

Отчеты и формы Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

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

1 стартмани

18.02.2019    4623    44    tomvlad    8       

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

Инструменты и обработки Программист Пользователь Архив с данными v8 v8::УФ Россия Windows Абонемент ($m) Пользователю системы Инструментарий разработчика

Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций. Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7). "Инструктор" не требует никакой установки и дополнительных библиотек! Это означает, что инструмент будет работать и на домашнем ПК и на "чужом ноутбуке" и на терминальном win-сервере у заказчика, где ваши права сильно ограничены. Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью...

1 стартмани

15.02.2019    6658    37    ROM_NN    8       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 512

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    25098    242    bonv    106       

Редактор объектов информационной базы 8.3 36

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРОбъектУпр) для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.31 от 02.10.2019

2 стартмани

23.01.2019    8516    126    ROL32    21       

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь полноценный оффлайн (обновление от 15.08.19)! 169

Инструменты и обработки Программист Архив с данными v8 v8::Mobile БУ УУ Android Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Абонемент ($m) Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    19834    208    informa1555    167       

Управление задачами в 1С - готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6 93

Инструменты и обработки no Архив с данными v8 Абонемент ($m) Инструментарий разработчика Управление бизнес-процессами (BPM) Управление проектом

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

2 стартмани

17.12.2018    9893    73    for_sale    36       

Навигатор по конфигурации базы 1С 8.3 100

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРНавигаторУпр) для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Небольшой набор сервисных функций для повседневной работы. Для программистов и пользователей. Платформа 8.3, управляемые формы. Версия 1.1.0.43 от 01.10.2019

3 стартмани

28.10.2018    14759    176    ROL32    43       

Go. Разбор лога технологического журнала. Достойная альтернатива perl'у 85

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

Началось все с того, что я познакомился с перловыми скриптами для парса ТЖ которые размещены на kb.1c.ru (например в этой статье https://kb.1c.ru/articleView.jsp?id=113). По началу мне дико понравилось то, что перл разбирал гигабайты логов за считанные минуты, но позитив мой угасал обратно пропорционально с тем, насколько глубже я погружался в "кроличью нору" ....

1 стартмани

24.10.2018    9812    4    lazarenko    39       

HTTP Сервисы: Путь к своему сервису. Часть 4 102

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

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 3». В предыдущих частях мы уже о многом поговорили. В этой части поговорим про размер сообщений, о файлах, о порциях и немножко, о регламентах.

1 стартмани

28.09.2018    12466    15    dsdred    11       

Консоль Внедренца v.3.3 113

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы.

1 стартмани

27.08.2018    9837    232    evvakra    23       

HTTP Сервисы: Путь к своему сервису. Часть 3 133

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

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    14830    29    dsdred    13       

Управляемая консоль запросов, отчетов 3.7.5 (расширение, внешняя обработка) 361

Инструменты и обработки Программист Архив с данными v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m) Консоль запросов

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Выполнение в фоне (с возможностью отмены), Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

1 стартмани

14.08.2018    49000    1100    Evg-Lylyk    418       

HTTP Сервисы: Путь к своему сервису. Часть 2 120

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf ERP2 УТ11 КА2 Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 1». В этой части будет "Микс" из OData+HTTP-Сервис(Get)+СКД. Наш пример будет работать как в браузере, так и в написанной нами обработке. Работать будем с разными версиями платформ.

1 стартмани

13.08.2018    16490    17    dsdred    0       

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции 63

Инструменты и обработки Программист Бизнес-аналитик Приложение (apk) v8 Windows Абонемент ($m) Инструментарий разработчика Практика программирования

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

5 стартмани

09.08.2018    14721    23    informa1555    26       

Консоль HTTP-запросов с генерацией кода 164

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Консоль запросов

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

1 стартмани

25.05.2018    14844    215    leongl    15       

Работа со схемой запроса 171

Статья Программист Конфигурация (md, cf) v8 v8::Запросы Абонемент ($m) Инструментарий разработчика Практика программирования

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

1 стартмани

24.04.2018    27188    72    kalyaka    34       

Тестирование: пример создания сценарного UI теста для платформы 1С 88

Статья Программист Архив с данными v8 ERP2 УТ11 Абонемент ($m) Инструментарий разработчика

В этой статье мы расскажем, как создать сценарный UI-тест. Опишем последовательность действий и покажем, как это сделать с использованием инструментария. Рассмотрим пример, максимально приближенный к боевому, покажем на примере конфигураций УТ11/ERP проверку бизнес-процесса "Продажа". Вы сможете убедиться, что создание сценарных тестов для платформы 1С на самом деле относительно быстрый и простой процесс.

1 стартмани

17.04.2018    13547    36    ivanov660    11       

Регистры правил [Расширение] 13

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 v8::Права УТ11 Абонемент ($m) Инструментарий разработчика Информационная безопасность

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

10 стартмани

15.03.2018    10145    27    33lab    0       

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX 105

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Работа с интерфейсом

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    19600    2    kraynev-navi    40       

Универсальный генератор отчетов СКД (Управляемые формы, тонкий клиент) 76

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::УФ v8::СКД 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика

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

3 стартмани

20.11.2017    16228    187    Boneman    17       

Программное формирование форматированной строки в стиле html+inline CSS 52

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом Инструментарий разработчика

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

1 стартмани

18.11.2017    19223    24    bonv    5       

Макет в СКД - пример всех возможных типовых вариантов 94

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

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    16449    78    freelancer    4       

Полезный код для программистов 1С (часть 1). Управление свойствами элементов формы. Хранение копии данных реквизитов 141

Статья Программист Архив с данными v8 Абонемент ($m) Инструментарий разработчика Практика программирования

У каждого программиста за время работы накапливается полезный инструментарий, которым он привык пользоваться. Естественно и у меня он тоже имеется. И вот решено было немного поделиться с сообществом. Возможно идеи не новые. Более того, допускаю, что реализованы они не самым оптимальным образом. Но ведь для этого сообщество и существует, чтобы делиться с ним, получая обратную связь.

1 стартмани

24.09.2017    31440    17    vandalsvq    79       

Тестирование: пример из семи шагов создания Unit-теста для платформы 1С 104

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 ERP2 УТ11 Абонемент ($m) Инструментарий разработчика

В этой статье мы расскажем, как создать Unit-тест. Опишем как это сделать с использованием Фреймворка xUnitFor1C. Рассмотрим пример максимально приближенный к боевому, покажем процесс отладки теста, поделимся советами и приложим несколько обработок-примеров. Вы сможете убедиться, что создание тестов на самом деле это относительно быстрый и простой процесс.

1 стартмани

29.08.2017    21690    17    ivanov660    46       

"Исследователь" планировщика 1С 80

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

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

1 стартмани

10.08.2017    21742    107    new_user    26       

Трансформатор 1С - SQL 233

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Обработка для представления SQL запросов в терминах 1С, с возможностью захвата SQL запросов трассировкой.  Поддерживается также форматирование текста запроса через интернет сервис. Работает в управляемых и обычных формах, в том числе на веб-клиенте.

1 стартмани

28.06.2017    26575    317    Synoecium    44       

OneStyle. Улучшенное форматирование кода в конфигураторе 118

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика

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

1 стартмани

19.06.2017    17390    24    Stepa86    45       

"Конвертация данных" + Git. Решение проблемы различий в файлах 112

Инструменты и обработки Программист Конфигурация (md, cf) v8 КД Абонемент ($m) Инструментарий разработчика Обмен через XML

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

1 стартмани

08.06.2017    16505    30    stas_ganiev    13       

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения 86

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

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

1 стартмани

28.05.2017    17411    144    Bassgood    10       

Набор подсистем "Умные таблицы" 64

Инструменты и обработки Системный администратор Программист Архив с данными v8 Беларусь Россия Казахстан Абонемент ($m) Инструментарий разработчика

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    22770    99    Silenser    33       

Регулярные выражения – это просто. Построитель и отладчик регулярных выражений 181

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

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

1 стартмани

13.03.2017    22324    112    romasna    47       

Добавляем http-ссылки на самописную систему учета задач 87

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика Практика программирования

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

1 стартмани

09.02.2017    15295    5    Stepa86    22       

1С: Gitter 1.1 (Хранилище 1С => Git) 114

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Развитие проекта gitter http://infostart.ru/public/273126/ . Позволяет выгружать хранилище 1С в репозиторий GIT.

1 стартмани

01.02.2017    19360    40    Stepa86    20       

Анализ сложности обновлений 8.3 87

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП3.0 Россия Абонемент ($m) Инструментарий разработчика

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

2 стартмани

23.01.2017    9795    72    PavelLapin    26       

Сценарное тестирование в помощь программисту 1С 186

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

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

1 стартмани

11.11.2016    22176    63    grumagargler    47       

Отладка/доработка модуля менеджера "на лету" 89

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

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

1 стартмани

23.10.2016    22717    19    json    22       

Несколько шаблонов для доработки типовых конфигураций 173

Инструменты и обработки Программист Конфигурация (md, cf) v8 v8::УФ Абонемент ($m) Практика программирования Инструментарий разработчика

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

1 стартмани

03.10.2016    27519    99    json    25       

Управление задачами: Канбан доска 235

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика БСП (Библиотека стандартных подсистем)

Конфигурация "Управление задачами" с использованием БСП. Канбан доска. Открытый код.Загрузка изменений из хранилища конфигураций 1С и связь с задачами. Проект выложен на github (ссылка в публикации). Управляемые формы. Рассылка уведомлений.

1 стартмани

02.10.2016    47362    465    BlizD    284       

Универсальный шаблонизатор HTML 69

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Инструментарий разработчика

Генерация HTML кода, на основе шаблонов в стиле шаблонизаторов AngularJS / Twig и подобных. Поддержка Windows / Linux

1 стартмани

19.09.2016    9728    45    ArchLord42    19