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

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С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

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

24900 руб.

20.08.2024    54877    299    147    

274

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

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

16500 руб.

02.09.2020    236701    1287    419    

1104

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

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

15000 руб.

25.08.2025    32927    72    12    

85

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

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

22200 руб.

06.10.2023    32697    83    30    

108

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    46021    161    63    

200

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

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

17000 руб.

10.11.2023    22512    82    42    

97

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36000 руб.

28.08.2025    4518    1    2    

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

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

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

ссылка на оригинал (и уведомление автора оригинала) - как раз для "справедливости"...
wowik; z585; +2 Ответить
3. gzharkoj 582 30.11.18 11:18 Сейчас в теме
(2) Я вам плюс поставил к статье. У вас же все описано, откуда взяли, кто, что делал, все ссылки приведены. Все сделано правильно. Я имел ввиду в комментарии свой опыт на инфостарте.
4. nixel 1467 30.11.18 16:56 Сейчас в теме
(2) вместо передачи тз с клиента на сервер разве нельзя было использовать реквизит формы/обработки?
З.ы. Код не смотрел, извиняюсь.
8. azhilichev 216 03.12.18 09:17 Сейчас в теме
(1)Нужна не ревизия кода, а связка авторов Infostart с Github.
9. gzharkoj 582 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. 315 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 1584 21.01.19 13:01 Сейчас в теме
(6) наш плагин SonarQube 1C (BSL) Plugin в составе сервера SonarQube красиво показывает дубликаты кода

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

https://silverbulleters.org/sonarqube

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