Как изменить размер системного окна «Удаление помеченных объектов» в 1С 7.7?

Программист 1С v7.7 IT и автоматизация бизнеса
← На главную

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

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

Способ 1. Изменение размеров окна через редакторы ресурсов (для продвинутых специалистов)

Все элементы стандартного интерфейса платформы 1С 7.7 (диалоги, меню, панели инструментов) хранятся в виде скомпилированных Win32-ресурсов. Русскоязычный интерфейс зашит в динамическую библиотеку локализации 1crcrus.dll, которая располагается в каталоге установки платформы (по умолчанию это путь C:\Program Files\1Cv77\BIN\ или аналогичный каталог, куда установлена исполняемая часть 1С).

Для того чтобы изменить размеры системного окна программным путем, нам понадобится специализированный софт — редактор ресурсов. Отлично подойдут такие классические утилиты, как Restorator, Resource Hacker (ResHacker) или ультралегкий eXeScope. Также можно воспользоваться плагином Resource Browser для консольного менеджера файлов FAR Manager.

Выполним процедуру изменения размеров по шагам:

  1. Создание резервной копии. Перед любым вмешательством в системные файлы платформы обязательно скопируйте оригинальный файл 1crcrus.dll в безопасное место. Если что-то пойдет не так, вы всегда сможете восстановить работоспособность программы простым возвратом исходного файла.
  2. Запуск редактора ресурсов. Откройте программу Restorator или ResHacker от имени Администратора. Откройте в ней файл 1crcrus.dll.
  3. Поиск нужного диалога. В дереве ресурсов найдите ветку Dialog. Системные формы не всегда имеют понятные текстовые названия — чаще всего они идентифицируются числовыми идентификаторами (ID). Окно «Удаление помеченных объектов» визуально легко узнать в режиме WYSIWYG-предпросмотра. Ориентируйтесь на наличие специфических управляющих элементов: кнопок «Контроль», «Удалить», «Включить все» и «Выключить все».
  4. Определение других полезных ID окон. Раз уж мы зашли в библиотеку ресурсов, полезно знать идентификаторы и других часто используемых окон, которые тоже можно настроить «под себя»:
    • Dialog 1056 — стандартное окно выбора информационной базы при запуске 1С;
    • Dialog 1116 — окно выбора элемента из общего «Списка Значений»;
    • Dialog 1138 — редактор слоев форм в Конфигураторе;
    • Dialog 1145 — диалог настройки порядка обхода элементов на форме;
    • Dialog 1157 — окно настройки параметров журнала документов;
    • Dialog 1186 — окно вывода результатов глобального поиска по конфигурации;
    • Dialog 1511 — окно интерактивного выбора строки в Таблице Значений (вызывается из кода методом Табл.ВыбратьСтроку()).
  5. Редактирование размеров. Перейдите в режим редактирования свойств формы (обычно это делается двойным кликом на форму или через контекстное меню свойств). Измените параметры ширины (Width) и высоты (Height) на более комфортные (например, увеличьте их в 1.5–2 раза). Также вы можете перетащить или растянуть элементы управления (списки, кнопки) мышкой прямо на макете формы, чтобы они пропорционально заполнили увеличившееся пространство.
  6. Сохранение изменений. Сохраните измененный файл 1crcrus.dll. Запустите 1С:Предприятие и проверьте работу окна удаления объектов.

Важное предупреждение о рисках:

Модификация исполняемых файлов платформы — неофициальный и неподдерживаемый метод. Неаккуратное изменение координат элементов может привести к их наложению друг на друга или к «исчезновению» кнопок за границами видимости. Кроме того, при любой переустановке или обновлении релиза платформы ваш кастомный файл 1crcrus.dll будет заменен оригинальным, поэтому всегда держите резервную копию вашей модифицированной библиотеки под рукой.

Способ 2. Использование внешних обработок (рекомендуемый и безопасный вариант)

Если вы не хотите рисковать стабильностью платформы и заниматься «хакингом» системных DLL, существует гораздо более профессиональная альтернатива. Мы можем полностью отказаться от стандартного системного инструмента удаления и заменить его внешней обработкой с расширением .ert.

Рассмотрим, какие готовые решения доступны для разработчиков:

Преимущества работы через внешние обработки:

  1. Безопасность системы. Файлы платформы 1С остаются нетронутыми. Исключены любые сбои интерфейса Конфигуратора или режима предприятия.
  2. Работа в немонопольном режиме. Некоторые продвинутые внешние обработки (использующие возможности внешних компонент, например, 1С++) умеют выполнять удаление объектов без перевода базы данных в монопольный режим. Это позволяет не выгонять пользователей из базы для проведения рутинной очистки, что критически важно для работающих круглосуточно предприятий.
  3. Удобство переноса. Внешнюю обработку достаточно один раз скопировать в каталог ExtForms вашей информационной базы, и она будет доступна всем администраторам без необходимости модифицировать файлы на каждом клиентском компьютере.

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

← На главную