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

26.05.20

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

Зачастую у программиста возникает желание работать с кодом модулей конфигурации средствами встроенного языка: так, как мы сейчас работаем с данными. Как результат реализации данной потребности и родилась данная обработка. Она предназначена для минимизации ручного труда при внесении однотипных изменений в модули конфигурации. Она представляет из себя расширение глобального поиска и замены в конфигураторе. Отличие в предоставлении ряда дополнительных возможностей, таких, как: наложение условий И, ИЛИ, НЕ; поиск только в названии процедуры / функции, либо в теле определенной процедуры / функции; управление поиском в комментариях и др.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Глобальный поиск и замена в модулях конфигурации
.epf 107,75Kb ver:1
27
27 Скачать (1 SM) Купить за 1 850 руб.

Обработка "Глобальный поиск в модулях конфигурации"

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

  1. Возможность наложения условий И, ИЛИ, НЕ.
  2. Возможность поиска только в процедуре/функции с указанным именем.
  3. Возможность поиска только в названии процедуры / функции.
  4. Не осуществлять поиск в комментариях.
  5. Возможность замены на текстовый блок (с переносами строк).
  6. Использование переменных при поиске и замене.
  7. Возможность пакетного поиска.

Пример задачи, которую можно выполнить с помощью данной обработки: Во всех отчетах, в конце каждой процедуры СформироватьОтчет() добавить вызов функции ОбщегоНазначения.УстановитьСчетчикВызововОбъекта(Метаданные().ПолноеИмя()). Кроме тех процедур, в которых вывод табличного документа осуществляется вызовом общей функции ТиповыеОтчеты.СформироватьТиповойОтчет() (т. к. в ней уже есть вызов счетчика).

Предварительно.

Перед использованием необходимо «Выгрузить файлы конфигурации» в каталог на диске. Имеющаяся в 8.3 команда «Конфигурация –> Выгрузить конфигурацию в файлы» не подходит. Необходимо использовать команду «Выгрузить файлы конфигурации».

Важно! Из конфигуратора в платформе 8.3 исключены команды «Выгрузить файлы конфигурации» и «Загрузить файлы конфигурации». Однако, с помощью настройки главного меню можно отобразить эти команды в меню и пользоваться ими.   

После замены загрузка измененных модулей / макетов конфигурации осуществляется через меню: "Конфигурация -> Загрузить файлы конфигурации".

Ограничения.

  1. Предназначено для использования на обычных формах.
  2. Поиск осуществляется лучше всего в модулях и макетах СКД.
  3. Невозможно использование скобок при наложении условий И, ИЛИ.

 

Порядок использования.

Краткое описание порядка поиска.

  1. Указать каталог, в котором находятся заранее выгруженные файлы конфигурации.
  2. Указать операцию. Возможные варианты: стандартный поиск, пакетный поиск, замена.
     

    Закладка "Стандартный поиск"

  3. В табличной части "Строки поиска" указать строку или строки, которую необходимо найти в модулях конфигурации.
    Самая первая строка является ключевой строкой поиска, многие настройки поиска отталкиваются от нее, например, возможность поиска остальных строк рядом с ней.
    Возможные настройки:
    • Операция - логическое условие, соединяющее условие в текущей строке с предыдущим. Не используется для 1 строки. Возможные значения: И, ИЛИ. 
    • Строка поиска - искомый текст
    • Комментарий - краткое пояснение смысла строки
    • Пространство поиска:
      • Процедура - имя процедуры/функции, в которой осуществлять поиск. Если не указано, то поиск осуществляется в любой процедуре/функции или вне нее.
      • В процедуре целиком - флаг, указывающий, что поиск нужно осуществлять в тексте той процедуры/функции, в которой найдена 1 строка поиска. Не актуален для 1 строки поиска.
      • В названии процедуры - флаг, указывающий, что Строку поиска нужно искать только в названиях процедур и функций. Не рекомендуется использовать одновременно с заполнением ячейки в колонке "Процедура" (противоречие по сути поиска).
      • До строки поиска - количество строк до номера найденной по 1 условию строки. В пределах указанного количества строк выполняется поиск текущей строки поиска. Не актуально для 1 строки поиска. Если 0, то поиск осуществляется только в той же самой строке.
      • После строки поиска - количество строк после номера найденной по 1 условию строки. В пределах указанного количества строк выполняется поиск текущей строки поиска. Не актуально для 1 строки поиска. Если 0, то поиск осуществляется только в той же самой строке.
  4. В табличной части "Исключать найденные строки, если рядом встретилось (операция НЕ):" указать строку, при нахождении которой рядом с искомой, та исключается из результатов поиска.
    Возможные настройки:
    • Операция - логическое условие, соединяющее условие в текущей строке с предыдущим. Не используется для 1 строки. Возможные значения: И, ИЛИ. 
    • Строка поиска - исключаемый текст
    • Комментарий - краткое пояснение смысла строки
    • Пространство поиска:
      • В процедуре целиком - флаг, указывающий, что поиск нужно осуществлять в тексте той процедуры/функции, в которой найдена 1 строка поиска. Не актуален для 1 строки поиска.
      • В названии процедуры - флаг, указывающий, что Строку поиска нужно искать только в названиях процедур и функций. Не рекомендуется использовать одновременно с заполнением ячейки в колонке "Процедура" (противоречие по сути поиска).
      • До строки поиска - количество строк до номера найденной по 1 условию строки. В пределах указанного количества строк выполняется поиск текущей строки поиска. Не актуально для 1 строки поиска. Если 0, то поиск осуществляется только в той же самой строке.
      • После строки поиска - количество строк после номера найденной по 1 условию строки. В пределах указанного количества строк выполняется поиск текущей строки поиска. Не актуально для 1 строки поиска. Если 0, то поиск осуществляется только в той же самой строке.
  5. Нажать кнопку "Найти строки". Результат поиска будет отображен на закладке "Найденные строки".
     

    Полное описание порядка поиска.

  6. Поиск в комментариях. Управляет порядком поиска в комментариях. Возможные значения: включать, исключать, только в комментариях. По умолчанию установлено значение "Исключать", при котором поиск в комментариях не осуществляется. Все настройки поиска должны выполняться до нажатия кнопки "Найти строки".
  7. Учитывать регистр - указывает, что искать нужно строки в точном соответствии с регистром или искать с любым регистром. Аналог типового флага в глобальном поиске в конфигурации.
  8. Искать слово целиком - флаг указывает, что строка поиска не должна быть часть другого слова, а должна быть отдельным словом (перед и после нее должен быть пробел/перевод строки/начало или конец строки и т.д.)
  9. Заменить спецсимволы в XML. В xml некоторые знаки заменяются спецсимволами, например, >, <. Это затрудняет поиск, т.к. делает невозможным поиск "А < B". Если флаг установлен, то спецсимволы перед поиском преобразуются в привычный нам вид. Но при этом становится невозможна замена найденной строки, поэтому данный режим недоступен для операции "Замена".
  10. Ограничить пространство поиска процедурой, в которой найдена строка поиска (первая - для ТЧ Строки поиска). При установке данного флага поиск всех строк в табличных частях "Строки поиска" и "Исключать найденные строки..." осуществляется в той же процедуре/функции, в которой найдена 1 строка поиска.
  11. Параметры предварительного просмотра. Они не имеют отношения к поиску и управляются настройками просмотра текста модуля рядом с найденными строками.
  12. Использовать переменную - при установке данного флага предоставляется возможность использования переменной для поиска и замены. А именно: найденное рядом с 1 строкой поиска слово записывается в переменную. Затем эту переменную можно подставить в строку замены.
    • Переменная - имя переменной, в которую будет записано слово. Придуманное имя должно быть уникальным и иметь нулевую вероятность встретиться в тексте модуля. Впоследствии сохраненное в переменной значение можно будет посмотреть в таблице найденных строк в колонке "Значение переменной".
    • Расположение справа или слева от строки поиска
    Пример. Строка поиска: "Организация В (&Организации)", Переменная "&&&Перем", Расположение слева от строки поиска. При таких настройках будут найдены все условия из запросов с данной строкой поиска. В колонке "Значение переменной" для каждой найденной строки будет содержаться имя таблицы, например, "ОсновныеНачисления".
    На закладке "Замена" можно в поле "Заменить на:" использовать эту переменную, например, так: "Организация В (&Организации) или &&&Перем.Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"

    Настройки и результаты поиска можно сохранять как стандартными средствами сохранения реквизитов формы 1С, так и в отдельные файлы - для загрузки их в других базах.z88;

    Закладка "Замена".

  13. Заменить на - строка, на которую будет выполнена замена искомой строки, расположенной в 1 строке табличной части "Строки поиска"
  14. Кнопка "Выполнить замену всех найденных строк - выполняет замену
  15. Кнопка "Удалить лишние файлы" - выполняет физическое удаление ранее выгруженных в каталог модулей конфигурации: тех из них, в которых не была найдена искомая строка.
     

    Закладка "Пространство поиска".

    На данной закладке расположены настройки отбора модулей конфигурации, участвующих в поиске, а именно:
  16. Отбор по расширению модулей. Возможные значения: .txt (модули), .xml (СКД), .mxl (макеты), .bin (произвольный тип: картинки, данные и др.).
  17. Отбор по подсистеме
  18. Кнопка "Отобрать" - выполняет поиск модулей конфигурации, удовлетворяющих отборам
  19. Кнопка "Разрешить редактирование" - позволяет вручную отредактировать список найденных модулей.
  20. Кнопка "Исключить старые объекты" - если кнопка нажата, то при отборе модулей исключаются те объекты, в имени, синониме или комментарии которых присутствует подстрока "старый", "не используется" и их вариации.
     

    Закладка "Найденные строки".

    На данной закладке расположены найденные в результате поиска строки. По двойному щелчку можно открыть модуль на найденной строке и внести изменения вручную. Найденные строки можно классифицировать: откладывать с указанием комментария, исключать из последующих поисков.
  21. Табличная часть "Найденные строки".
  22. Кнопка "Отложить" - позволяет отложить найденные строки. При этом она будет перенесена в табличную часть "Отложено" на одноименной закладке. При этом перемещена будет текущая строка, если текущая колонка - №, Текст строки, Значение переменной, № стр. в модуле. Если текущая колонка - Процедура, то будут перемещены все найденные строки с той же процедурой (в том же модуле). Если текущая колонка - имя или класс объекта метаданных, то будет перемещен весь объект метаданных (все найденные строки из него). Если текущая колонка - модуль объекта метаданных, то будут исключены все строки из этого модуля объекта метаданных.
  23. Кнопка "Исключить" - позволяет исключить текущую найденную строку. При этом она будет перенесена в табличную часть "Исключено" на одноименной закладке. При этом исключена будет текущая строка, если текущая колонка - №, Текст строки, Значение переменной, № стр. в модуле. Если текущая колонка - Процедура, то будут исключены все найденные строки с той же процедурой (в том же модуле). Если текущая колонка - имя или класс объекта метаданных, то будет исключен весь объект метаданных. Если текущая колонка - модуль объекта метаданных, то будут исключены все строки из этого модуля объекта метаданных.
     

    Закладка "Отложено".

    На данной закладке расположены найденные строки, которые пользователю временно не нужны, и которые он отложил по кнопке "Отложить".
  24. Кнопка "Открыть файл" - позволяет открыть файл.
  25. Переместить в исключено - перемещает текущую строку на закладку "Исключено".
     

    Закладка "Исключено".

    На данной закладке расположены найденные строки, которые пользователю не нужны, и которые он исключил по кнопке "Исключить".
  26. Кнопка "Открыть файл" - позволяет открыть файл. 
  27. Кнопка "Удалить файлы" - выполняет физическое удаление файлов, соответствующих модулям, представленным в табличной части "Исключено".

     

    Закладка "Файлы".

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

 

Тестирование производилось на платформе 8.3.9.1818.

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

См. также

SALE! %

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

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

12000 10000 руб.

02.09.2020    161263    893    399    

872

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

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

8400 руб.

20.08.2024    8563    66    29    

76

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

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

22200 руб.

06.10.2023    15682    39    8    

73

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

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

9360 руб.

17.05.2024    23840    70    45    

119

SALE! %

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

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

15000 10000 руб.

10.11.2023    10662    38    27    

63

SALE! %

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

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

4800 3840 руб.

14.01.2013    188491    1142    0    

913

SALE! %

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

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

20000 15000 руб.

07.10.2021    17555    6    32    

42

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

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7829    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. 300_po_vstrechke 2102 24.05.21 12:18 Сейчас в теме
Спасибо за хорошую обработку!
user1518039; +1 Ответить
2. chum1roma 16 11.12.21 10:58 Сейчас в теме
Либо не очевидно, либо как идея для доработки, возможность исключения поиска строки в тексте запроса.
Иногда требуется найти что-то, но не в запросах, так как там повторяется много раз одно и то же, и сложнее для понимания и поиска непосредственно кода на встроенном языке
3. keifaya 193 17.12.21 19:57 Сейчас в теме
(2) Надо добавить в разделе "Исключать найденные строки, если рядом встретилось (операция НЕ):" строку, в которой в поле "Строка исключения" указать "|"
Прикрепленные файлы:
Оставьте свое сообщение