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

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

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

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

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

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

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

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

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

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

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

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

 

Версия 1.2.4.35. Обновление 23.10.2019

  1. Расширение доработано для работы на АПК версии 1.2.4.35.
  2. Добавлена простая навигация по ошибкам. Идею подсказал уважаемый pavlov_dv в комментариях.
  3. Из результата проверки ссылки на стандатры и правила перенесены в навигацию.

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

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

.cfe 609,59Kb
23.10.19
55
.cfe 1.2.4.35 609,59Kb 55 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. capitan 1672 26.03.19 12:07 Сейчас в теме
Не знаю дорасту ли до автоматизированной проверки, но плюс однозначно )
IntellXeon; Bajo; SirYozha; Leon29; Krio2; art.prm; trdm; Lo1jke; DoctorRoza; wowik; JohnConnor; rpgshnik; +12 Ответить
2. Scorpion4eg 308 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 482 27.03.19 19:10 Сейчас в теме
(7) В управляемом приложении?
8. a.chulkov@nrg-group.ru 27.03.19 15:22 Сейчас в теме
Как перемещаться по ошибкам модуля?
9. Bazil 482 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
user1273391; Bazil; gortol; Ghost_X; sm.artem; JohnyDeath; +6 Ответить
14. sm.artem 14 15.05.19 07:33 Сейчас в теме
Задумка хорошая, сам хотел такое реализовать когда-то.

Но, я так подозреваю, что большая часть проверок не работает, или что-то делаю не так.
При проверке возникают ошибки такого плана:

Возникли ошибки при проверке правилом <Проверка состава стандартных областей обработчиков событий>.
Описание ошибки: {БыстраяПроверкаКода Обработка.ЯдроПроверкиКода.МодульОбъекта(9918)}: Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(5,33)}: Процедура или функция с указанным именем не определена (СформироватьМассивРусскихИАнглийскихЗначений)


Версия АПК: 1.2.2.78

Я так подозреваю, что надо или использовать обработку "Ядро" из типовой, либо данные функции переопределить в обработке "ЯдроПроверкиКода" в расширении.
15. Bazil 482 15.05.19 10:06 Сейчас в теме
(14) Надо актуализировать расширение для работы с новым релизом АПК.
16. sm.artem 14 16.05.19 05:34 Сейчас в теме
(15) Доработал под себя немного Ваш код в модуле обработке. Сравнил и объединил с типовым кодом, пришлось добавить пору костылей на скорую руку. Проверил - работает на версии 1.2.
Журнал регистрации пока выдает только ошибку на проверку по правилу "Обеспечение обратной совместимости библиотек". Но так как в случае отдельной проверки кода - это правило не актуально, от слова "совсем", то его просто можно отключить.
19. shalimski 5 05.06.19 10:41 Сейчас в теме
23. Bazil 482 23.10.19 09:29 Сейчас в теме
Актуализировал расширение для работы с АПК 1.2.4.35. И добавил навигацию по ошибкам как предложено в (13) .
17. Viktor_Ermakov 16.05.19 17:57 Сейчас в теме
У меня АПК 1.2.2.78
добавил код модуля формы на проверку, нажал "Выполнить проверку кода"
открылась вкладка "Результат проверки"
на которой просто весь мой код раскрасился
Но никаких комментарий, ошибок нет.
На этой версии вообще не работают проверки что ли?
18. Viktor_Ermakov 24.05.19 09:23 Сейчас в теме
автор забил на свое детище походу)
20. Светлый ум 257 05.07.19 09:31 Сейчас в теме
24. Bazil 482 23.10.19 12:38 Сейчас в теме
21. Xershi 981 07.07.19 11:39 Сейчас в теме
У меня возникают проблемы, когда я УТ запускаю в ОФ. Обычная проверка не ловит ошибки передачи параметров с клиента на сервер. Это связано с тем, что разаработчики не ставят галку клиент обычное приложение.
Данную ошибку решение найдет?
25. Bazil 482 23.10.19 12:39 Сейчас в теме
(21) Нет, проверка выполняется только в контексте проверяемого модуля.
22. SmileDDD 30.09.19 06:15 Сейчас в теме
Автор можно выложить актуализированную версию расширения до АПК 1.2.4.25?
Оставьте свое сообщение

См. также

Эмулятор скриптов в 1С:Документооборот Промо

Документооборот и делопроизводство Инструментарий разработчика Документооборот и делопроизводство v8 ДО Платные (руб)

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

1000 руб.

13.12.2017    13221    91    0    

Отключение создания задачи ознакомления для бизнес-процесса "Согласование" в 1С: Документооборот

Практика программирования Документооборот и делопроизводство v8 v8::Бизнес-процессы ДО Абонемент ($m)

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

1 стартмани

30.11.2019    4240    6    pavelpribytkin96    4    

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

Информационная безопасность v8 ДО Абонемент ($m)

Расширение функционала документооборота. Реализована возможность использования ролей с объектами адресации. Конфигурация остается типовой (используется расширение)

5 стартмани

10.01.2019    7347    15    sulig    21    

Видеокурс-самоучитель "1С:Документооборот - ГУРУ" для самостоятельного внедрения

Пользователю системы Документооборот и делопроизводство v8 ДО Платные (руб)

Самый детальный и самый полный самоучитель по программе 1С:Документооборот, в котором Вы научитесь правильно работать, настраивать, администрировать и внедрять конфигурацию 1С:Документооборот. Все уроки курса построены на последовательном заполнении пустой базы 1С:Документооборот КОРП в клиент-серверном варианте.

89000 руб.

30.10.2018    21007    8    0    

Перенос документов и процессов между двумя базами 1С:Документооборота Промо

Обработка документов Перенос данных из 1C8 в 1C8 Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО УУ Платные (руб)

Обработка по переносу документов поможет перенести документы и процессы из одной базы 1С:Документооборот в другую. Версии двух баз должны совпадать, а релизы конфигураций 1С:Документооборот могут быть различными. Главное, чтобы была синхронизирована НСИ.

21000 руб.

09.06.2016    20248    8    4    

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

Практика программирования v8::Бизнес-процессы ДО УУ Бесплатно (free)

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

08.08.2018    6299    0    E_Babaylova    7    

Печать pdf документа со штампом ЭЦП

Печатные формы документов Документооборот и делопроизводство Документооборот и делопроизводство v8 v8::УФ ДО Абонемент ($m)

Печать pdf файла, прикрепленного к внутреннему документу, подписанному ЭЦП, с установкой отметки о подписании.

1 стартмани

24.05.2018    14272    94    App0st0l    14    

Нанесение штампа на PDF файл при регистрации (входящий номер и дата)

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

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

14.05.2018    14075    0    aabogachev    39    

Ограничения запуска процессов в 1С:Документооборот

Обработка документов Обработка справочников v8 ДО Платные (руб)

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

21000 руб.

03.04.2017    10883    33    0    

Управление договорами в 1С:Документооборот

Управление бизнес-процессами (BPM) Документооборот и делопроизводство Пользователю системы Бухгалтерский учет Документооборот и делопроизводство v8 ДО УУ Бесплатно (free)

В 1С:Документооборот в релизах 2.1.7 и 2.1.8 концепция учета договоров продолжила свое развитие (появились стороны договора). Это повлияло и на бизнес-процессы (теперь вместо процесса Утверждение надо пользоваться процессом Подписание для договоров). Рассмотрим основные моменты, на которые надо обратить внимание при внедрении управления договорами в 1С:Документооборот.

24.01.2017    33833    0    vlush78    0    

Блокировка повторного запуска комплексного процесса в 1С: Документооборот 2

Администрирование данных 1С Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Абонемент ($m)

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

2 стартмани

04.10.2016    19914    73    zabaluev    25    

Права доступа в 1С:Документооборот 2.1

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

В программе 1С:Документооборот ред 2.1 механизм системы прав доступа сильно изменился. С одной стороны, права доступа в данной версии стали проще и быстрее, с другой стороны - права по рабочим группам объектов теперь могут противоречить политикам доступа. Разберемся в данной статье как работает механизм прав доступа в 1с документообороте 2.1.

16.09.2016    71096    0    vlush78    0    

Новое в 1С:Документооборот ред. 2.1

Пользователю системы Управленческий учет (прочее) Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО УУ Бесплатно (free)

Фирма 1С не стоит на месте и продолжает радовать нас своими новыми версиями конфигурации 1С:Документооборот. В конце мая 2016 года вышла новая редакция 2.1, которая содержит как принципиально новые возможности, так и улучшение старых функций. В данной статье будут рассмотрены отличия конфигурации 1С:Документооборот редакции 2.1 по сравнению с редакцией 2.0.

15.06.2016    32276    0    vlush78    7    

Нагрузочное тестирование 1С:Документооборот

Производительность и оптимизация (HighLoad) Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Бесплатно (free)

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

28.12.2015    20897    0    vlush78    1