Как стать контрибьютором Vanessa Automation?
Разработка - Практика программирования
Как помочь проекту Vanessa-Automation и сделать Pull request?
Для начала нам потребуется установить:
- git
- Любой клиент Git (в примере я использую TortoiseGit)
Настройки
Для работы с удаленным репозиторием нам обязательно понадобится установить настройку:
core.autocrlf=true
Чтобы посмотреть текущее значения можно воспользоваться командой:
git config -l
Изменить значение можно с помощью команды:
git config --global core.autocrlf true
Более подробно про глобальные настройки можно почитать тут
Можно столкнуться с тем, что core.autocrlf мотет быть определен в нескольких местах. Посмотреть какие файлы отвечают за это можно при помощи команды:
git config -l --show-origin
Присоедениться к проекту можно по адресу: https://github.com/Pr-Mex/vanessa-automation сделав Fork в свой репозиторий на GitHub
Следующим шагом, после создания репозитория на на github, является создание локальной копии этого репозитория на своем компьютере.
Сделать это можно при помощи консольной команды:
git clone https://github.com/fenixnow/vanessa-automation.git
или в пустом месте проводника нажать правую кнопку мыши и выбрать “Git Клонировать...”
Итак, мы сделали настройки, форкнули репозиторий и клонировали себе на локальный компьютер.
Сборка проекта
Чтобы начать дорабатывать проект, нам нужны обработки. Их нужно сперва скомпилировать из исходных файлов. Для этого, в корне проекта, есть Compile.bat при нажатии сформируются все необходимые обработки в формате .epf
Первая сборка .epf может занять несколько минут - это нормально. Далее будут собираться и разбираться только изменённые файлы.
Внесение изменений
Например мы решили доработать поле запуска текстового редактора для редактирования фич, добавив кнопку выпадающего списка, а также формирование списка выбора с учетом установленных текстовых редакторов в системе.
Идем на страничку https://github.com/Pr-Mex/vanessa-automation/issues и создаем новое обсуждение Описываем наше предложение, уточняем детали, выясняем, не занимается кто-нибудь еще данной идеей. Если все "Ок", приступаем к разработке.
Удалим лишние команды и куски кода в форме
Добавим
Для заполнения списка выбора в событии формы “ПриОткрытии” добавим нашу процедуру КомандыЗапускаТекстовогоРедактораПоУмолчанию()
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ИнициализацияПеременныхМодуляФормы();
АсинхронноеПодключениеМодулей();
КомандыЗапускаТекстовогоРедактораПоУмолчанию();
КонецПроцедуры
&НаКлиенте
Процедура КомандыЗапускаТекстовогоРедактораПоУмолчанию()
МассивРедакторов = МассивТекстовыхРедакторов();
Для каждого Редактор Из МассивРедакторов Цикл
Файл = Новый Файл(Редактор.ИмяФайла);
ОписаниеОповещения = Новый ОписаниеОповещения("РезультатПроверкиНаСуществовониеФайла", ЭтаФорма, Редактор);
Файл.НачатьПроверкуСуществования(ОписаниеОповещения);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура РезультатПроверкиНаСуществовониеФайла(Результат, ДополнительныеПараметры) Экспорт
Если Результат Тогда
Элементы.КомандаОткрытияФичиВТекстовомРедакторе.СписокВыбора.Добавить(ДополнительныеПараметры.СтрокаЗапуска, ДополнительныеПараметры.ПредставлениеРедактора);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция МассивТекстовыхРедакторов()
МассивРедакторов = Новый Массив;
// Notepad++ (x64)
ПараметрыРедактора = Новый Структура("ПредставлениеРедактора, ИмяФайла, СтрокаЗапуска");
ПараметрыРедактора.Вставить("ПредставлениеРедактора", "Notepad++ (x64)");
ПараметрыРедактора.Вставить("ИмяФайла", "C:\Program Files\Notepad++\notepad++.exe");
ПараметрыРедактора.Вставить("СтрокаЗапуска", """C:\Program Files\Notepad++\notepad++.exe"" %Feature% -n%LineNumber%");
МассивРедакторов.Добавить(ПараметрыРедактора);
// Notepad++
ПараметрыРедактора = Новый Структура("ПредставлениеРедактора, ИмяФайла, СтрокаЗапуска");
ПараметрыРедактора.Вставить("ПредставлениеРедактора", "Notepad++");
ПараметрыРедактора.Вставить("ИмяФайла", "C:\Program Files (x86)\Notepad++\notepad++.exe");
ПараметрыРедактора.Вставить("СтрокаЗапуска", """C:\Program Files (x86)\Notepad++\notepad++.exe"" %Feature% -n%LineNumber%");
МассивРедакторов.Добавить(ПараметрыРедактора);
// VSCode (x64)
ПараметрыРедактора = Новый Структура("ПредставлениеРедактора, ИмяФайла, СтрокаЗапуска");
ПараметрыРедактора.Вставить("ПредставлениеРедактора", "VSCode (x64)");
ПараметрыРедактора.Вставить("ИмяФайла", "C:\Program Files\Microsoft VS Code\code.exe");
ПараметрыРедактора.Вставить("СтрокаЗапуска", """C:\Program Files\Microsoft VS Code\code.exe"" -g %Feature%:%LineNumber%");
МассивРедакторов.Добавить(ПараметрыРедактора);
// VSCode
ПараметрыРедактора = Новый Структура("ПредставлениеРедактора, ИмяФайла, СтрокаЗапуска");
ПараметрыРедактора.Вставить("ПредставлениеРедактора", "VSCode");
ПараметрыРедактора.Вставить("ИмяФайла", "C:\Program Files (x86)\Microsoft VS Code\code.exe");
ПараметрыРедактора.Вставить("СтрокаЗапуска", """C:\Program Files (x86)\Microsoft VS Code\code.exe"" -g %Feature%:%LineNumber%");
МассивРедакторов.Добавить(ПараметрыРедактора);
Возврат МассивРедакторов;
КонецФункции
При открытии обработки происходит проверка наличия установленных текстовых редакторов в системе и заполняется список выбора.
Автотесты внесенных изменений
Ванесса умет тестировать сама себя. Чтобы проверить, не сломали ли мы что нибудь внесенными нами изменениями нужно запустить внутренние тестирование. Сперва нужно подготовить базы запустив скрипт из каталога поставки VA
\tools\1 PrepareCheck.cmd
в папке \tools\ServiceBase будут созданы сервисные базы
т.к. разработку я веду на платформе 8.3.14 проверки выполню при помощи файла \tools\FastCheck_8314_UF.cmd
логирование операции проверки доступно на экране, а также в файле \tools\ServiceBases\log8314.txt
Результат проверки одного из сценариев
Технические данные:
ЗаголовокАктивногоОкна: ver 1.2.025 autotest: Vanessa Automation
ИмяАктивнойФормы: ВнешняяОбработка.VanessaAutomation.Форма.УправляемаяФорма
ИмяФайла: D:\vanessa-automation\features\Core\Allure\step_definitions\Issue-34-ОтчетAllure.epf
ИмяПроцедуры: ВПолеКаталогОтчетаАллюрЯУказываюПутьКОтносительномуКаталогу
ИмяРаннера: ______
ТипКлиентаТестирования: Тонкий
СтрокаСоединения: /F.\ServiceBases\v83ServiceBase8314
ВерсияVA: ver 1.2.025
ВерсияПлатформы: 8.3.14.1694
РежимСовместимостиTestManager: НеИспользовать
ДатаВремяОшибки: 12.07.2019 8:24:22
Сценарий: Проверка группирования структуры сценария, когда имя примера берётся из Description или Описание
12.07.2019 8:24:23. Шаг: Дано Я открыл новый сеанс TestClient или подключил уже существующий
12.07.2019 8:24:23. Шаг: И Я закрыл все окна клиентского приложения
12.07.2019 8:24:24. Шаг: Дано в Константе "ПутьКVanessaAutomation" указан существующий файл
12.07.2019 8:24:24. Шаг: Дано Я открыл новый сеанс TestClient или подключил уже существующий
12.07.2019 8:24:24. Шаг: И Я закрыл все окна клиентского приложения
12.07.2019 8:24:25. Шаг: Когда В панели разделов я выбираю "Основная"
12.07.2019 8:24:25. Шаг: И В панели функций я выбираю "Открыть vanessa automation"
12.07.2019 8:24:25. Шаг: Тогда открылось окно "* Vanessa Automation"
12.07.2019 8:24:26. Шаг: И я фиксирую текущую форму
12.07.2019 8:24:26. Шаг: И В открытой форме я перехожу к закладке с заголовком "Сервис"
12.07.2019 8:24:26. Шаг: И В открытой форме я устанавливаю флаг с заголовком "Проверка работы Vanessa-Automation в режиме test client"
12.07.2019 8:24:26. Шаг: И В открытой форме я перехожу к закладке с заголовком "Служебная"
12.07.2019 8:24:27. Шаг: И В поле с именем "КаталогИнструментовСлужебный" я указываю значение реквизита объекта обработки "КаталогИнструментов"
12.07.2019 8:24:27. Шаг: И я перехожу к закладке "Сервис"
12.07.2019 8:24:28. Шаг: И я перехожу к закладке "Настройки клиентов тестирования"
12.07.2019 8:24:28. Шаг: И В поле с именем "ДиапазонПортовTestclient" я указываю значение реквизита объекта обработки "ДиапазонПортовTestclient"
12.07.2019 8:24:28. Шаг: И я перехожу к закладке с именем "СтраницыСервисОсновные"
12.07.2019 8:24:29. Шаг: И я отменяю фиксирование формы
12.07.2019 8:24:29. Шаг: Когда В поле с именем "КаталогФичСлужебный" я указываю путь к служебной фиче "ФичаДляПроверкиОтчетаAllureСтруктура2"
12.07.2019 8:24:29. Шаг: И В открытой форме я перехожу к закладке с заголовком "Сервис"
12.07.2019 8:24:30. Шаг: И я перехожу к закладке "Отчет о запуске сценариев"
12.07.2019 8:24:30. Шаг: И В открытой форме я устанавливаю флаг "Формировать данные для отчета Allure"
12.07.2019 8:24:30. Шаг: И в поле каталог отчета аллюр я указываю путь к относительному каталогу "tools\Allure"
Шаг (И в поле каталог отчета аллюр я указываю путь к относительному каталогу "tools\Allure") не выполнен. Строка дерева №131
Failed: {ВнешняяОбработка.VanessaAutomation.Форма.УправляемаяФорма.Форма(3127)}: Элемента формы с именем <КаталогOutputAllure> не найдено.
Описание ошибки содержится в строке начинающейся на Failed:
Расследование ошибок
Если были найдены ошибки - нужно их расследовать, запуская тесты вручную.
- Создать пустую базу
- Загрузить конфигурацию из файлов идущих в поставке VA (..\lib\CF\83)
- Открыть конфигурацию в режиме отладки и установить константу "Путь к vanessa automation"
- Запустить обработку vanessa-automation.epf
- Выбрать файл фичи лежащий в том же каталоге, в котором лежит файл с обработкой
(в примере:
Файл фичи - D:\vanessa-automation\features\Core\Allure\Issue-34-ОтчетAllure.feature
Обработка с ошибкой - D:\vanessa-automation\features\Core\Allure\step_definitions\Issue-34-ОтчетAllure.epf) - В конфигураторе выбрать обработку с ошибкой и установить точку останова на интересующей строке
- Проанализировать и исправить ошибку
В следующих версиях VA заполнение константы "Путь к VA" будет реализовано автоматически и потребуется только контроль заполнения ее при первом открытии обработки
Также, по окончанию проверки можно построить отчет в форме Allure запустив \tolls\3 ViewAllureReport.cmd
Отправка изменений
Для отправки в удаленный репозиторий внесенные нами изменения, обработку требуется выгрузить обратно в файлы. Это обязательно нужно сделать при помощи файла Decompile.bat находящегося в корне проекта.
Внимание! Ошибкой будет использование стандартного действия - “Выгрузить в файлы…” из самой обработки.
Внимание! Чтобы наш коммит связался с обсуждением на сайтe GitHub в начало строки нужно написать #НомерОбсуждения Более подробно можно узнать тут
Для отправки изменений в удаленный репозиторий воспользуемся командами:
git add.
git commit -m `#Номер issue описание коммита`
git push origin develop
или в проводнике нажать правой кнопкой мыши, выбрать “Git Фиксировать ->”
написать комментарий к внесенным изменения и нажать “Фиксировать & Отправить”. После отправки наших изменений, в обсуждении на GitHub отразится информация по нашему коммиту.
Теперь попробуем предложить наш код на включение в основной проект.
На GitHub своем репозиторий. Выберем вкладку “Pull requests” и создадим новый запрос на слияние .
Убедимся, что ветка и изменения соответствуют внесенными нами и подтвердим создание.
У проекта есть живой канал для общения @testpro1c
Также канал с новостями @VanessaAutomation
Специальные предложения
См. также
Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо
Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!
29700 руб.
Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо
Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).
29700 руб.
Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив 266
08.08.2019 19869 ids79 31
Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо
Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.
4500/9500 рублей
Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо
Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.
7500 рублей
Подборка решений для взаимодействия со ФГИС «Меркурий» Промо
С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.
Как настроить правильную техподдержку (helpdesk, service desk на коленке) 39
24.04.2019 9374 siddy 0
Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо
Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.
29700 руб.
Преобразование EXCEL в таблицу значений без COM и других извращений 216
18.04.2019 15079 9 Eret1k 43
Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо
Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.
19700 руб.
Новогодние скидки на авторское ПО Промо
В преддверии праздника в Маркетплейсе на Инфостарт действует скидка на все платные авторские программы. Размер скидок начинается от 10%. Советуем не откладывать покупки, многие наши партнеры повышают цены на свои продукты именно в начале нового года.
Разработка и сценарное тестирование с Vanessa-ADD. Концепция, теория и сквозной пример создания сценария 228
09.01.2019 29989 Vladimir Litvinenko 69
Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке 511
14.11.2018 40058 GeterX 94
Программы для исполнения 488-ФЗ: Маркировка товаров Промо
1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.
Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С 129
10.11.2018 24078 ids79 40
Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git 282
18.10.2018 40315 stas_ganiev 72
Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо
Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!
29700 руб.
Готовые переносы данных из различных конфигураций 1C Промо
Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.
Программы для исполнения 54-ФЗ Промо
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.