Изменение заголовка окна конфигуратора 1С

14.09.15

Разработка - Работа с интерфейсом

Небольшой скрипт, меняющий заголовок окна 1С в режиме конфигуратора.

Утилита

Наименование Файл Версия Размер
Утилита меняющая заголовок
.7z 415,95Kb
35
.7z 1.0 415,95Kb 35 Скачать

Исходный код

Наименование Файл Версия Размер
Исходный код скрипта для AutoIT
.au3 2,70Kb
21
.au3 1.0 2,70Kb 21 Скачать

При запуске нескольких копий конфигуратора бывает сложно на лету понять, какая база открыта в данный момент. Это приводит к потере времени и даже к ошибкам. Во избежание подобных проблем, был написан скрипт на AutoIT. Данный скрипт выбирает все процессы 1cv8.exe, анализирует командную строку запуска и, если запущен конфигуратор и в названии базы есть слова "test, copy, тест, копия", меняет заголовок окна на строку "Тестовая база" + %имя базы%.

Прилагается скомпилированный файл и текст скрипта. Для установки распакуйте exe файл и поместите его в папку автозагрузки Windows.

P.S. Данная утилита не противоречит лицензионному соглашению с 1С, т.к. не вносит какие-либо изменения в код ПРОГРАММНОГО ПРОДУКТА, содержимое баз данных и других наборов данных, в которых система хранит информацию.

Заголовок окно конфигуратор.

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

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

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61797    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

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

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

5000 руб.

14.01.2016    54403    16    21    

42

Управление дашбордами

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

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

2400 руб.

29.06.2020    16698    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10737    750    elcoan    45    

106

Конструктор HTML, CSS и javascript

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

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

2 стартмани

10.04.2023    9615    151    acces969    31    

118

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3665    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12080    1    5    

10
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dj_serega 390 14.09.15 16:02 Сейчас в теме
А можно обойтись без "test, copy" и тд? Что бы всегда подменяло заголовок конфигуратора?
Допустим на "Синоним базы, имя кластера, имя базы" ?
2. pumbaE 14.09.15 16:45 Сейчас в теме
(1) Да достаточно 70 и 81 строку закоментировать.
3. Поручик 4670 14.09.15 17:01 Сейчас в теме
Хорошая вещь. Вот будут лишние мани, скачаю исходник.
DAnry; Sherwood; +2 Ответить
4. kraynev-navi 647 15.09.15 08:50 Сейчас в теме
Вот если бы цвет окна менялся, то было бы существенно интереснее. Ибо цветовая дифференциация штанов конфигураторов работает без "подключения головы", когда требуется переключение между окнами. ТС, может сбацаешь?
Stepa86; gigapevt; dj_serega; elizarovs; dmspb; 1cprogr_nsk; pt_olga; +7 Ответить
7. karapuzzzz 63 16.09.15 12:53 Сейчас в теме
(4) kraynev-navi, первое впечатление об AutoIT говорит об использовании WinAPI. А она, в свою очередь, "может все". Но сама WinAPI представляет собой бездонный набор функций, документацию на которые очень сложно искать. MSDN, конечно, содержит все что надо, но кто пользовался знает, что ситуацию это не спасает.

Автору однозначно плюс, т.к. это хороший пендаль реализовать свою идею по дифференциации конфигураторов.
10. kraynev-navi 647 18.09.15 12:34 Сейчас в теме
(7) karapuzzzz, в свое время пытался сделать как раз цветом. Но моих познаний не хватило на изменение у конфигураторов. Менял цвет у тотал командера, но тоже как-то криво. Прекратил изыскания в связи с отсутствием времени.
18. kraynev-navi 647 02.03.16 11:47 Сейчас в теме
(4) Сделал свою программку с индикацией цветом http://infostart.ru/public/462685/
19. pinkz80 150 04.03.16 15:20 Сейчас в теме
(18) kraynev-navi, спасибо за развитие идеи.
5. DrAku1a 1679 16.09.15 10:55 Сейчас в теме
Несколько простых функций WinAPI...
6. dtripleh 16.09.15 11:14 Сейчас в теме
Можно было просто в свойствах базы поменять синоним
8. karapuzzzz 63 16.09.15 12:55 Сейчас в теме
(6) dtripleh, Это позволит отличить УТ от Розницы и бухгалтерии. А как отличить УТ рабочую от базы для разработки и еще кучи тестовых?
9. dj_serega 390 17.09.15 16:40 Сейчас в теме
(8) karapuzzzz, Когда 2 разработчика и в дополнение есть хранилище конфигурации :)
12. dtripleh 18.09.15 15:37 Сейчас в теме
(8) karapuzzzz, как вариант в тестовой базе поменять синоним на "УТ тестовая 1/2/3 и т.д"
16. karapuzzzz 63 30.09.15 11:33 Сейчас в теме
(12) dtripleh, Если все базы подключены к одному хранилищу, то поменять не получится.
11. saiten 246 18.09.15 13:22 Сейчас в теме
Так это делается на пауэршелле:
$Api = Add-Type -MemberDefinition @'
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, String lParam);
'@ -Name 'Api' -PassThru

$WM_SETTEXT = 0x000C
$Expr = "Конфигуратор"
$NewExpr = "Something"


get-process|where{$_.mainWindowTItle -match $Expr}|%{$Api::SendMessage($_.MainWindowHandle,$WM_SETTEXT,0,($_.mainWindowTItle -replace $Expr,$NewExpr))}
Показать
При желании можно и иконку в панели задач поменять. На счет цвета не уверен, но, думаю, можно извратиться.
Mingrel; agdam_m; +2 Ответить
23. user953718 26.01.23 09:54 Сейчас в теме
(11)
$Api = Add-Type -MemberDefinition @'
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, String lParam);
'@ -Name 'Api' -PassThru

$WM_SETTEXT = 0x000C
$Expr = "Конфигуратор"
$NewExpr = "Something"


get-process|where{$_.mainWindowTItle -match $Expr}|%{$Api::SendMessage($_.MainWindowHandle,$WM_SETTEXT,0,($_.mainWindowTItle -replace $Expr,$NewExpr))}


Хорошее начало, но не совсем то.
1) Если открыто 2 конфигуратора, то у обоих заменит заголовок на $NewExpr.
2) В заголовке конфигуратора не всегда пристуствует искомое слово $Expr, так как заголовок меняется в зависимости от того какой объект или модуль открыт в конфигураторе
13. Muxomop 155 22.09.15 14:25 Сейчас в теме
Идея классная, считаю 1с должны сделать возможность установки заголовка конфигуратора базовой, по аналогии с режимом предприятия. У меня данный скрипт не работает, поскольку в командной строке вообще нет никаких параметров (Win7, x64)
14. pinkz80 150 23.09.15 16:19 Сейчас в теме
(13) Muxomop, командная строка в любом случае должна быть. Можно посмотреть с помощью утилиты procmon или far manager.
15. Muxomop 155 24.09.15 15:51 Сейчас в теме
(14) Я не говорил, что у меня нет командной строки. У меня в ней нет параметров, на основании которых работает ваш скрипт. Вот так у меня выглядит командная строка "C:\Program Files (x86)\1cv8\8.3.5.1517\bin\1cv8.exe" . Конфигуратор запущен обычным образом, без помощи запускалок, стартеров и т.д.
17. zqzq 23 02.11.15 14:16 Сейчас в теме
Переписал кусок кода, чтобы только имя базы выводил, без "Тестовая база" и без левых параметров типа путь автозапускаемой обработки, режимы разрешения и пр. мусора (в исходном скрипте заменить строки 67-83):
				 For $i = 1 To $aList[0][0]
			$CLine = StringUpper( _WinAPI_GetProcessCommandLine($aList[$i][1]) )
			If StringInStr( $CLine, "DESIGNER", $STR_NOCASESENSE) Then
			   ;ConsoleWrite($CLine & @CRLF)
			   $ArrCL = StringSplit( $CLine, '/IBNAME"' ,$STR_ENTIRESPLIT )
			   If $ArrCL[0] >= 2 Then
				  ;ConsoleWrite($ArrCL[2] & @CRLF)
				  $ArrFin = StringSplit( $ArrCL[2], '"' ,$STR_ENTIRESPLIT )
				  If $ArrFin[0] >= 1 Then
					 $NewTitle = $ArrFin[1]
					 ;ConsoleWrite($NewTitle & @CRLF)
					 $ID =($aList[$i][1])
					 WinSetTitle(_GetHwnd($ID),"",$NewTitle)
				  EndIf
			   EndIf
			EndIf
	  Next
Показать

Суть: выводит строку между /IBNAME" и " -- синоним базы.
bogdan_sukonnov; pinkz80; +2 Ответить
20. 7OH 69 09.10.18 10:42 Сейчас в теме
Есть просьба - поправьте пожалуйста так, чтобы после смены возвращало содержимое буфера обмена назад.
21. sulfur17 59 30.11.20 12:45 Сейчас в теме
в версии 8.3.17 уже не работает, т.к. в строке запуска не передается имя базы?
22. sulfur17 59 30.11.20 18:19 Сейчас в теме
(21)оказалось все работает под админскими правами
Оставьте свое сообщение