Работа с комментариями в тексте модулей — XDTO

Цель:
— Быстрое удаление комментариев из группы файлов и возврат их обратно (в случае необходимости).
— Изучение механизма XDTO

  При обновлении конфигурации от 1С в случае использования определенных режимов обновления  в текст модуля добавляется строки комментариев с символами MRG. Понятно что если речь идет о модуле документа или формы то эти  строки должны анализироваться программистом и могут удаляться в ручную, но если речь идет о шаблоне ограничения доступа по ролям то там эти коментарии могут накапливаться и в дальнейшем создавать неудобства при анализе данного ограничения. Поэтому можно выгрузить данные шаблоны через пункт меню Выгрузить Файлы Конфигурации, убрать комментарии с помощью данной обработки и затем загрузить обработанные файлы обратно в конфигурацию. Единственно формат обрабатываемых файлов должен быть .txt, если выгруженные файлы находятся в формате .xml то просто переименуйте их перед обработкой.

   Обработка позволяет находить в тексте модулей, которые предварительно выгружены из конфигурации стандартной процедурой, строки с комментариями, содержащими определенную маску. Ваша фамилия , какой- то идентификатор .. или просто символы комментария.  
При необходимости эта строка или подстрока может быть вырезана из текста модуля. По результатам работы создается файл — легенда с расширением xml, в котором сохраняются все вырезанные фрагменты с необходимыми параметрами (номер строки, позиция в строке и т.д.) В дальнейшем на основании этого файла можно произвести вставку вырезанных фрагментов обратно в соответствующий файл. Естественно между этими операциями не должно производится изменение текста модуля. Обработанные файлы копируются в новый подкаталог. При записи чтении файла xml используется механизм XDTO. Обработанные файлы модулей (уже без комментариев) можно загрузить обратно в конфигурацию, стандартной процедурой.
 Как видно на изображении, есть три режима работы, про которые сказано выше. Дополнительные параметры:

  — Маска: — Набор символов для поиска. Если вы не озаглавливаете свои комментарии определенной маской, это не для вас.
 
 — Настройка операции: — Здесь мы задаем, обрабатывать файл или каталог или взять список файлов из файла.

 — Источник: — Непосредственно файл или каталог.

 — Файл — легенда:  — Здесь программа пропишет имя и путь xml файла после обработки.

 — Внешняя схема:  — По умолчанию включено. Говорит о том, что схема (xsd) хранится в самой обработке. Вы можете импортировать эту схему в конфигурацию и использовать, при этом флаг надо сбросить

Чтобы просто удалить комментарии необходимо в качестве маски указать  // . 

   По результатам работы в режимах Найти или Вырезать в каталоге источнике создается подкаталог ProFiles в котором будут находиться обработанные файлы модулей, удовлетворяющие условиям поиска. При этом в режиме Найти  — эти файлы будут пустые, а для режима Вырезать эти файлы будут содержать полный код модуля , за исключением строк или подстрок, содержащих искомую маску. В поле Файл — легенда пропишется путь к файлу TsgLines.xml, содержащему результаты выполненных действий.
При работе в режиме Вставить в качестве источника надо указывать каталог, в котором находятся файлы без маски, т.е. ProFiles Также указать путь к файлу xml. В результате работы в каталоге источнике будет создан подкаталог UnProFiles в котором будут находится обработанные файлы со вставленными комментариями.

В файл xml прописывается параметры конфигурации, в которой производилась операция Вырезать, при Вставке эти параметры должны совпадать. 

Можно обработать любые текстовые файлы.

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

Update v.2.2

 — Добавлены дополнительные настройки на вкладке Настройки, смысл их интуитивно понятен.  

Флаги: {Удалять пустые строки все} и {Удалять пустые обработанные строки} не должны включаться, если в дальнейшем планируется вставка вырезанных фрагментов обратно.

—  Изменения в интерфейсе.

2 Comments

  1. Makushimo

    извините, но так и не понял, как ей пользоваться.

    Reply
  2. Serggray

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *