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

11.03.25

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

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

Файлы

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

Наименование Скачано Купить файл
Контроль дублей кода (Копипастомер) для Управляемых форм 8.3.х + БСП
.epf 15,56Kb ver:1.0.4.0828
33 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    225881    1228    415    

1071

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

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

14400 руб.

20.08.2024    48068    269    138    

243

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

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

9900 руб.

25.08.2025    22246    57    9    

60

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

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

22200 руб.

06.10.2023    29233    77    30    

104

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

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

16000 руб.

10.11.2023    20658    84    42    

95

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

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

9500 руб.

17.05.2024    41274    151    57    

190

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

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

6000 руб.

07.02.2018    109506    250    100    

315
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gzharkoj 576 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 576 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 576 03.12.18 09:43 Сейчас в теме
(8) Но тогда как качать за sm?
rpgshnik; +1 Ответить
13. azhilichev 216 22.01.19 11:48 Сейчас в теме
(9) Хороший вопрос. Но, думаю, это тоже решаемо.
5. Scorpion4eg 470 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 470 01.12.18 12:29 Сейчас в теме
(6) подключить в cicd для расчета дублей кода. А отчетов для вывода полно
10. artbear 1583 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 1583 21.01.19 13:01 Сейчас в теме
(0) Спасибо за специальное упоминание меня и моей статьи по выступлению на ИС :)
Для отправки сообщения требуется регистрация/авторизация