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

14.09.15

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

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

Утилита

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

Наименование По подписке [?] Купить один файл
Утилита меняющая заголовок
.7z 415,95Kb ver:1.0
36
36 Скачать (1 SM) Купить за 1 850 руб.

Исходный код

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

Наименование По подписке [?] Купить один файл
Исходный код скрипта для AutoIT
.au3 2,70Kb ver:1.0
23
23 Скачать (3 SM) Купить за 2 450 руб.

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

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

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

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

См. также

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

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

6000 руб.

16.01.2015    62986    44    59    

82

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

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

2400 руб.

29.06.2020    18855    26    6    

41

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

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

1500 руб.

06.10.2020    10224    7    7    

10

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    16802    mrXoxot    43    

121

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    7353    smielka    37    

100

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

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

27.12.2023    14789    913    elcoan    47    

117

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

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

2 стартмани

10.04.2023    11913    162    acces969    31    

124
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dj_serega 393 14.09.15 16:02 Сейчас в теме
А можно обойтись без "test, copy" и тд? Что бы всегда подменяло заголовок конфигуратора?
Допустим на "Синоним базы, имя кластера, имя базы" ?
2. pumbaE 14.09.15 16:45 Сейчас в теме
(1) Да достаточно 70 и 81 строку закоментировать.
3. Поручик 4692 14.09.15 17:01 Сейчас в теме
Хорошая вещь. Вот будут лишние мани, скачаю исходник.
DAnry; Sherwood; +2 Ответить
4. kraynev-navi 681 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 681 18.09.15 12:34 Сейчас в теме
(7) karapuzzzz, в свое время пытался сделать как раз цветом. Но моих познаний не хватило на изменение у конфигураторов. Менял цвет у тотал командера, но тоже как-то криво. Прекратил изыскания в связи с отсутствием времени.
18. kraynev-navi 681 02.03.16 11:47 Сейчас в теме
(4) Сделал свою программку с индикацией цветом http://infostart.ru/public/462685/
19. pinkz80 150 04.03.16 15:20 Сейчас в теме
(18) kraynev-navi, спасибо за развитие идеи.
5. DrAku1a 1745 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 393 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 25 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 70 09.10.18 10:42 Сейчас в теме
Есть просьба - поправьте пожалуйста так, чтобы после смены возвращало содержимое буфера обмена назад.
21. sulfur17 66 30.11.20 12:45 Сейчас в теме
в версии 8.3.17 уже не работает, т.к. в строке запуска не передается имя базы?
22. sulfur17 66 30.11.20 18:19 Сейчас в теме
(21)оказалось все работает под админскими правами
Оставьте свое сообщение