Контроль дублей кода (Копипастомер)

11.03.25

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

Обработка для поиска повторов строк кода - находит одинаковые строки в разных текстовых файлах. Легко настраиваются следующие параметры: Минимальный порог одинаковых строк, выбор файла по типу или маске, Поиск по вложенным под-каталогам, выбор кодировки UTF-8 / ANSI ... Удобное отражение кода 1С в привычной "раскраске" и открытие файлов в одно нажатие в любом редакторе, таких как NotePad++, Visual Studio Code...или стандартных Блокноте, или Word-е Текст обработки - открыт для доработок.

Файлы

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

Наименование Скачано Купить файл
Контроль дублей кода (Копипастомер) для Управляемых форм 8.3.х + БСП
.epf 15,56Kb ver:1.0.4.0828
32 1 850 руб. Купить
КопиПастоМер_82 ( обычные формы 8.2.х)
.erf 18,36Kb ver:1.0.0.1115
8 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Обработка для поиска повторов строк.

Обработка находит одинаковые строки в разных текстовых файлах.

Контроль файлов - только с сервера или с указанием имени компьютера в сети !
\\ИмяКомпьютера\Каталог\...


В обработке можно менять следующие параметры:
* Количество одинаковых строк (10-50),
* любой тип файла: txt, xml, bsl, os, md, js... или все файлы *.*
* Поиск по вложенным под-каталогам
* выбор текстовой кодировки UTF-8, ANSI...
удобное открытие файлов в одно нажатие в выбранном Вами редакторе Блокнот, Word, WordPad, NotePad++, Visual Studio Code или любой другой редактор.


Копировать текст целыми блоками в коде программы - нужно в разумных пределах. Иногда это нужно, для структуры или запроса, но надо знать и контролировать такие моменты.

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


Обработка находит набор одинаковых строк (с порогом срабатывания по количеству одинаковых строк - не менее 10-50 для кода 1С).

Чтобы исключить "правильные лесенки" строк окончания условий вида:      

          КонецЕсли;
       КонецЕсли;
    КонецЕсли;
КонецЕсли;

НО, если повторяются более 100 строк... такой "лесенки" быть не может?! Надо уже как то от такого избавляться! Выносить общие блоки в отдельные функции например. Менять структуру объектов, заняться Рефакторингом.
В приведённом ниже примере 2 документа имеют более 121 одинаковых строк,
поэтому порог срабатывания - надо подбирать под себя.

Возможности отбора:

  • по одной или всем вложенным папкам (дереву) выбранной папки
  • фильтр по типу(расширению)-txt, xml, bsl, os, md, js...
  • использование кодировки текста: UTF-8 / ANSI(Windows) / OEM (DOS) / Системная

Файлы *.os  и *.bsl - откуда они и зачем?
Воодушевленный статьями про синхронизацию 1С-хранилища и GIT, такими как:

получаются файлы с типами  *.bsl  или вообще без расширения... которые "автоматически" получаются после разложение хранилища конфигурации в "нормальную структуру папок" с помощью gitsync, за что отдельное спасибо Артуру Аюханову (artbear),  (обязательно всем смотреть его статью //infostart.ru/public/811452/) 

Файлы с типом *.os - написаны на 1С... точнее на языке OneScript (описание от автора: Андрей Овсянкина (Evil Beaver)  - см. //infostart.ru/public/548028/)  и для них тоже захотелось использовать копипастамер.

Данная обработка является "наследницей" обработки 2014г //infostart.ru/public/294285 (автор в курсе) с существенными улучшениями, доработкой и переводом на управляемые формы для 8.3 Пришлось переделывать передачу таблиц значений клиент-сервер (статья про это //infostart.ru/public/240022/)

Код открыт, дорабатывайте кому как нравится.

обработка для 8.2 - открываются через Файл - Открыть...

для 8.3 - можно использовать как внешнюю обработку для БСП любой версии 3.1.х

+++ Изменения +++

28.08.2024 добавлена возможно загрузки внешней обработки для любой версии БСП - 3.1.Х.XXX
улучшен интерфейс обработки для платформы 1С 8.3.25.

15.11.2019 улучшен файл для Обычных форм (совместима с 1С 8.2):

* отбор по любой маске файла... а не только типу файла,
* для анализа - в таблице сразу отражаются файл1, файл2, и номера строк повтора в файлах.
* Улучшен результат показывает число повторов, среднюю длину повторов, % повторяющихся строк.

Вступайте в нашу телеграмм-группу Инфостарт

дубли строк дублирование повторы одинаковые строки gitsync onescript bsl xml кодировка КопиПаст поиск одинаковый код рефакторинг улучшение статистика кода

См. также

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

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    213595    1170    413    

1050

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    40888    223    115    

212

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

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

16000 руб.

10.11.2023    18883    76    39    

92

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    26729    67    30    

97

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

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

9500 руб.

17.05.2024    37815    134    55    

176

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше.<br/> Далее в публикации:<br/> MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    4363    8    10    

15

Инструментарий разработчика 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

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

3600 руб.

27.12.2024    3728    7    0    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gzharkoj 539 30.11.18 09:34 Сейчас в теме
Вот на инфостарте бы внедрить систему ревизии кода, а то копируют обработки, добавляют одну строку и перевыкладывают.
Трактор; rpgshnik; Aspire1C; Артано; +4 Ответить
2. Serg O. 314 30.11.18 10:53 Сейчас в теме
(1) если вы камень в мой огород... то не по адресу...

Переделка старой 14го года обработка под УФ на 8.3 - не просто копирование... а переделка...
например, 8.3 не умеет Таблицу значений с сервера на клиент передавать?! и много так сервер-клиент обмен...
по 2 функции надо

+ новые функции, которых не было в оригинале... поиск во всем дереве подпапок, сразу выбрать тип и кодировку, сразу открыть... мне так удобнее, переделывал для себя - выложил, кому может надо под 8.3 или по любым файлам (текстовым)

ссылка на оригинал (и уведомление автора оригинала) - как раз для "справедливости"...
wowik; z585; +2 Ответить
3. gzharkoj 539 30.11.18 11:18 Сейчас в теме
(2) Я вам плюс поставил к статье. У вас же все описано, откуда взяли, кто, что делал, все ссылки приведены. Все сделано правильно. Я имел ввиду в комментарии свой опыт на инфостарте.
4. nixel 1463 30.11.18 16:56 Сейчас в теме
(2) вместо передачи тз с клиента на сервер разве нельзя было использовать реквизит формы/обработки?
З.ы. Код не смотрел, извиняюсь.
8. azhilichev 216 03.12.18 09:17 Сейчас в теме
(1)Нужна не ревизия кода, а связка авторов Infostart с Github.
9. gzharkoj 539 03.12.18 09:43 Сейчас в теме
(8) Но тогда как качать за sm?
rpgshnik; +1 Ответить
13. azhilichev 216 22.01.19 11:48 Сейчас в теме
(9) Хороший вопрос. Но, думаю, это тоже решаемо.
5. Scorpion4eg 468 01.12.18 10:39 Сейчас в теме
Теперь на оскрипт бы тоже самое...
6. Serg O. 314 01.12.18 11:17 Сейчас в теме
(5) в принципе... время будет... может сделаю, oscript позволяет с ТаблицамиЗначений работать... тут на выходе 2 таких... которые можно и в 1 слить, но не вполне понятно что с этой инфой дальше делать?

+ средняя оценка повторяемости сильно зависит от мин.числа строк... на моих мини-текстах oscript это 10 строк, на реальной базе 1С УТ - файлы bsl - куски кода более 200 строк повторяются... движения документов повторы от 10 до 100 строк...

для меня не очень понятно как в скрипте это потом анализировать... это "видеть" человек должен... а просто цифра - 10 повторений со средней длиной 123,23 строки... не понятно плохо это или не очень
7. Scorpion4eg 468 01.12.18 12:29 Сейчас в теме
(6) подключить в cicd для расчета дублей кода. А отчетов для вывода полно
10. artbear 1571 21.01.19 13:01 Сейчас в теме
(6) наш плагин SonarQube 1C (BSL) Plugin в составе сервера SonarQube красиво показывает дубликаты кода

И есть возможности настройки

https://silverbulleters.org/sonarqube

Ну и т.к. это веб-сервер, все данные, замечания хранятся и можно посмотреть с любого устройства.
12. WizaXxX 365 22.01.19 07:47 Сейчас в теме
(10) Ваш плагин и правда отлично справляется со своей задачей, но к сожалению стоит сильно больше одного стартмани :)
Andreeei; +1 Ответить
11. artbear 1571 21.01.19 13:01 Сейчас в теме
(0) Спасибо за специальное упоминание меня и моей статьи по выступлению на ИС :)
Для отправки сообщения требуется регистрация/авторизация