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

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

Программирование - Инструментарий

Стандарты проверка кода code review Автоматизированная конфигураций

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

Известные мне инструменты проверки кода на соответствие стандартам разработки работают в режиме off-line, т.е. код помещается в базу/хранилище, после этого конфигурация выгружается в файлы и анализируется. А хотелось бы еще до помещения кода в хранилище проверять его на соответствие стандартам.

Возникла идея, сделать простой инструмент для онлайн-проверки, так чтобы вставил код, нажал на кнопку и сразу результат. В качестве платформы выбрана конфигурация 1С:Автоматизированная проверка конфигураций (АПК) . Если вы не знакомы с инструментом "Автоматизированная проверка конфигураций", то познакомиться и получить практику применения можно в отличной статье Владимира Литвиненко. АПК доступна, бесплатна, несомненный плюс еще в том, что есть возможность добавлять свои проверки. Механизм реализован в виде расширения, конфигурация остается неизменной.

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

Для визуализации добавил раскраску кода (с ИТС) в результат проверки, поэтому он формируется в html-документе. 

Ошибки привязываются к номерам строк, можно сразу перейти к описанию стандарта на ИТС или к нарушенному требованию/правилу.

Работает в как в обычном приложении, так и в управляемом (тонкий и web-клиент). Базу с расширение можно опубликовать, веб-интерфейс выглядит так себе (у конфигурации режим совместимости интерфейса "Версия 8.2"), но если изменить его на "Такси", то будет выглядеть более лучше. Как минус веб-клиента это криво работающая раскраска кода.

Не так уныло как в обычном приложении.

 

Для запуска расширения необходима 1С:Автоматизированная проверка конфигураций, редакция 1.2 (1.2.1.53).

65

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

Наименование Файл Версия Размер
Расширение "Проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций:
.cfe 581,46Kb
26.03.19
22
.cfe 1.0.0.1 581,46Kb 22 Скачать

См. также

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

Комментарии
Избранное Подписка Сортировка: Древо
1. capitan 1155 26.03.19 12:07 Сейчас в теме
Не знаю дорасту ли до автоматизированной проверки, но плюс однозначно )
art.prm; trdm; Lo1jke; DoctorRoza; wowik; JohnConnor; nytlenc; rpgshnik; +8 Ответить
2. Scorpion4eg 227 26.03.19 19:08 Сейчас в теме
То что надо! Огромное спасибо
3. N!ghtmare 27.03.19 08:58 Сейчас в теме
Отличная идея! А если ещё сделаете веб сервис/ http .будет идеально)
4. Lo1jke 27.03.19 10:00 Сейчас в теме
(3) Если сделают веб-сервис, то скорее всего он "ляжет":)
5. ogoneksergei 3 27.03.19 10:34 Сейчас в теме
Норм. Нужно еще сделать навигацию по ошибкам. Если проверять модуль на несколько тысяч строк, то долго искать где же ошибка.
6. shalimski 5 27.03.19 10:43 Сейчас в теме
На версии 1.2.2.56 много проверок не срабатывает.
7. a.chulkov@nrg-group.ru 27.03.19 15:19 Сейчас в теме
Не работает смена реквизита "Тип модуля".
Ошибки нет, но чтобы не выбрать, будет выбрано "Модуль обычного приложения".
10. Bazil 405 27.03.19 19:10 Сейчас в теме
(7) В управляемом приложении?
8. a.chulkov@nrg-group.ru 27.03.19 15:22 Сейчас в теме
Как перемещаться по ошибкам модуля?
9. Bazil 405 27.03.19 19:06 Сейчас в теме
(8) Навигации по ошибкам нет.
11. pavlov_dv 28.03.19 11:39 Сейчас в теме
Автору огромная благодарность!

Скачал, используем у себя. У нас АПК используется как web-сервис для проверок, так что из предложенной функциональности выдрал только кусок оформления результата в html.
Но все равно очень удобно и, главное, наглядно!
Заодно запилил туда навигацию по ошибкам - очень полезная штуковина.
12. Lyolik 8 31.03.19 08:57 Сейчас в теме
(11) Это замечательно. Может поделитесь?
13. pavlov_dv 01.04.19 07:28 Сейчас в теме
(12) Нет проблем!

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

Опишу вкратце:

1) в функцию ДобавитьОшибку() на тег <TABLE...> с описанием ошибки добавляем атрибут id с порядковым номером.
В итоговом html-документе получается что-то типа этого:
<TABLE id=""Anchor1"" width=""100%"".....
<TABLE id=""Anchor2"" width=""100%"".....
...
<TABLE id=""AnchorN"" width=""100%"".....
где "Anchor" - произвольный идентификатор; N - количество ошибок.

2) на форму добавляем команды навигации, использующие метод getElementById():
ИДТега = "Anchor" + НомерОшибкиПП;
Элементы.РезультатТекст.Документ.getElementById(ИДТега).scrollIntoView();


Так как количество ошибок N нам известно, остается добавить инкремент/декремент НомерОшибкиПП для навигации вверх-вниз.

У метода scrollIntoView() есть параметры, использую такой набор: "{ "behavior": "smooth", "block": "start", "inline": "start" }"
Более подробно здесь: Описание метода scrollIntoView
JohnyDeath; +1 Ответить
Оставьте свое сообщение