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

23.07.20

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
Расширение "Проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций 1.2.4.35:
.cfe 609,59Kb
91
91
1 SM
Скачать Купить за 1 850 руб.

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

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

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

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

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

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

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

 

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

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

 

Версия 1.2.5.16. Обновление 23.07.2020

  1. Версия для работы на АПК версии 1.2.5.16. выложил в открытый доступ https://github.com/Bazil1c/acc-check-code. Расскраска кода заменена на более симпатичную, взята вот отсюда //infostart.ru/public/994455/. Но в новом варианте не работает переход по строкам.

 

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

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    139743    767    391    

800

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    11405    30    6    

60

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    7174    26    4    

50

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

5400 руб.

17.05.2024    13269    29    27    

74

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 руб.

14.01.2013    181683    1103    0    

876

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    15950    3    12    

38

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    101069    242    97    

302

Инструментарий разработчика Перенос данных 1C Программист Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы. Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение для 1С, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    24461    17    15    

34
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. capitan 2545 26.03.19 12:07 Сейчас в теме
Не знаю дорасту ли до автоматизированной проверки, но плюс однозначно )
fmfedotov2000; IntellXeon; Bajo; SirYozha; Leon29; Krio2; art.prm; trdm; Lo1jke; DoctorRoza; wowik; JohnConnor; rpgshnik; +13 Ответить
2. Scorpion4eg 425 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 6 27.03.19 10:43 Сейчас в теме
На версии 1.2.2.56 много проверок не срабатывает.
7. a.chulkov@nrg-group.ru 27.03.19 15:19 Сейчас в теме
Не работает смена реквизита "Тип модуля".
Ошибки нет, но чтобы не выбрать, будет выбрано "Модуль обычного приложения".
10. Bazil 560 27.03.19 19:10 Сейчас в теме
(7) В управляемом приложении?
8. a.chulkov@nrg-group.ru 27.03.19 15:22 Сейчас в теме
Как перемещаться по ошибкам модуля?
9. Bazil 560 27.03.19 19:06 Сейчас в теме
(8) Навигации по ошибкам нет.
11. pavlov_dv 28.03.19 11:39 Сейчас в теме
Автору огромная благодарность!

Скачал, используем у себя. У нас АПК используется как web-сервис для проверок, так что из предложенной функциональности выдрал только кусок оформления результата в html.
Но все равно очень удобно и, главное, наглядно!
Заодно запилил туда навигацию по ошибкам - очень полезная штуковина.
12. Lyolik 9 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 16 15.05.19 07:33 Сейчас в теме
Задумка хорошая, сам хотел такое реализовать когда-то.

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

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


Версия АПК: 1.2.2.78

Я так подозреваю, что надо или использовать обработку "Ядро" из типовой, либо данные функции переопределить в обработке "ЯдроПроверкиКода" в расширении.
15. Bazil 560 15.05.19 10:06 Сейчас в теме
(14) Надо актуализировать расширение для работы с новым релизом АПК.
16. sm.artem 16 16.05.19 05:34 Сейчас в теме
(15) Доработал под себя немного Ваш код в модуле обработке. Сравнил и объединил с типовым кодом, пришлось добавить пору костылей на скорую руку. Проверил - работает на версии 1.2.
Журнал регистрации пока выдает только ошибку на проверку по правилу "Обеспечение обратной совместимости библиотек". Но так как в случае отдельной проверки кода - это правило не актуально, от слова "совсем", то его просто можно отключить.
19. shalimski 6 05.06.19 10:41 Сейчас в теме
(15) Когда актуализируешь?
23. Bazil 560 23.10.19 09:29 Сейчас в теме
Актуализировал расширение для работы с АПК 1.2.4.35. И добавил навигацию по ошибкам как предложено в (13) .
17. Viktor_Ermakov 367 16.05.19 17:57 Сейчас в теме
У меня АПК 1.2.2.78
добавил код модуля формы на проверку, нажал "Выполнить проверку кода"
открылась вкладка "Результат проверки"
на которой просто весь мой код раскрасился
Но никаких комментарий, ошибок нет.
На этой версии вообще не работают проверки что ли?
18. Viktor_Ermakov 367 24.05.19 09:23 Сейчас в теме
автор забил на свое детище походу)
20. Светлый ум 407 05.07.19 09:31 Сейчас в теме
24. Bazil 560 23.10.19 12:38 Сейчас в теме
36. Светлый ум 407 05.07.22 06:52 Сейчас в теме
(24) Потестил - наконец-то кошка появилась.
Да все работает.
Не сразу дошло, что нужно скачать саму конфигурацию и развернуть ее DT:
Ссылка на полный дистрибутив АПК с сайта 1С
21. Xershi 1504 07.07.19 11:39 Сейчас в теме
У меня возникают проблемы, когда я УТ запускаю в ОФ. Обычная проверка не ловит ошибки передачи параметров с клиента на сервер. Это связано с тем, что разаработчики не ставят галку клиент обычное приложение.
Данную ошибку решение найдет?
25. Bazil 560 23.10.19 12:39 Сейчас в теме
(21) Нет, проверка выполняется только в контексте проверяемого модуля.
22. SmileDDD 30.09.19 06:15 Сейчас в теме
Автор можно выложить актуализированную версию расширения до АПК 1.2.4.25?
26. MVK80 22.07.20 12:36 Сейчас в теме
(0), планируется ли обновление расширения? Хочу качнуть, но не хочется самому адаптировать под АПК 1.2.5.37 :).
27. Bazil 560 23.07.20 23:33 Сейчас в теме
(26) Выложил на github в открытый доступ, версия работает и на 1.2.5.37.
pavlov_dv; N!ghtmare; artbear; MVK80; +4 Ответить
28. пользователь 24.07.20 08:46
Сообщение было скрыто модератором.
...
29. serg33rus 29 31.01.21 23:10 Сейчас в теме
Упорно пишет "поле Текст модуля не заполнено". А туда код вставлен и визуально отображается. Версия АПК 1.2.6.20
Это я что-то начудил или с этой версией не работает. Расширение собирал с github.
30. begemot 269 08.02.21 11:42 Сейчас в теме
(29)
"поле Текст модуля не заполнено"


Нужно исправить ошибку в тексте:

В обработке ПроверкаКода в модуле формы в процедуре ВыполнитьПроверкуКода() нужно строки поменять местами:
Было:
	
	Если Не ПроверитьЗаполнение() Тогда
		Возврат;
	КонецЕсли; 
	ТекстМодуля = ПолучитьТекстМодуля();

Стало:
	
	ТекстМодуля = ПолучитьТекстМодуля();
	Если Не ПроверитьЗаполнение() Тогда
		Возврат;
	КонецЕсли; 
31. serg33rus 29 08.02.21 13:49 Сейчас в теме
(30) Принято. Спасибо. Попробую.
32. serg33rus 29 08.02.21 14:03 Сейчас в теме
(30) Заработало, спасибо. Словил кучу ошибочек. Буду дошлифовывать.
33. Bazil 560 08.02.21 17:29 Сейчас в теме
34. Bazil 560 08.02.21 18:08 Сейчас в теме
Забросил это расширение. Есть более лучший продукт решающий эту задачу Phoenix BSL Олега Тымко.
35. serg33rus 29 09.02.21 16:01 Сейчас в теме
(34) Ява конечно не очень улыбает, но спасибо за наводку, попробуем. Ставил sonarQube, но как же он память жрет гад, как не в себя. Вот и искал инструмент попроще, но зато менее ресурсоемкий.
37. Светлый ум 407 06.07.22 09:11 Сейчас в теме
+1
По итогу, разработали свой блок проверок кода - под стандарт конторы. Самопроверка весчь.
38. vasilev2015 2728 25.07.23 12:06 Сейчас в теме
Здравствуйте, Николай !

Спасибо, очень нужное расширение. Самопроверка необходима.

Подскажите, 1С:АПК проверяет внешние отчеты (обработки) ?

Планируете делать доработку для проверки внешних отчетов (обработок) ?
39. Bazil 560 25.07.23 15:36 Сейчас в теме
(38) Доработок не планируется.
40. vasilev2015 2728 25.07.23 17:27 Сейчас в теме
(39) Правильно понимаю, что файлы внешних отчетов (обработок) невозможно проверить,
пока они не включены в конфигурацию ? Или я что-то упускаю ?
41. Bazil 560 26.07.23 14:31 Сейчас в теме
Оставьте свое сообщение