INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Соседова Снежана Дмитриевна | Разработчик мобильных приложений | 1С-Рарус

«Как улучшить продукт и увеличить выручку в несколько раз (Немного про UX/UI, воронку AARRR и реальном опыте применения статистики в мобильном приложении)»

Поговорим о тиражных приложениях, и не только мобильных, и не обязательно на 1С :) В своем докладе я поделюсь нашим опытом разработки мобильного приложения Boss - как мы принимали решения о развитии приложения, на какие грабли наступали и какие выводы сделали: - "Ошибка выжившего" или почему фидбек от пользователей - это не всегда хорошо. - Сделаем продукт лучше! Добавим новые фичи! Или нет?) - Куда уходят пользователи? И так ли важно количество скачиваний приложения? - Статистика - что собираем, и главное Зачем? - Несколько реальных кейсов из нашего опыта - как мы увеличили выручку, не меняя функциональность приложения.

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

Программирование - Работа с интерфейсом

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

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

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

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

33

Утилита

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

Исходный код

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

См. также

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

Автору однозначно плюс, т.к. это хороший пендаль реализовать свою идею по дифференциации конфигураторов.
10. kraynev-navi 365 18.09.15 12:34 Сейчас в теме
(7) karapuzzzz, в свое время пытался сделать как раз цветом. Но моих познаний не хватило на изменение у конфигураторов. Менял цвет у тотал командера, но тоже как-то криво. Прекратил изыскания в связи с отсутствием времени.
18. kraynev-navi 365 02.03.16 11:47 Сейчас в теме
(4) Сделал свою программку с индикацией цветом http://infostart.ru/public/462685/
19. pinkz80 148 04.03.16 15:20 Сейчас в теме
(18) kraynev-navi, спасибо за развитие идеи.
5. DrAku1a 1284 16.09.15 10:55 Сейчас в теме
Несколько простых функций WinAPI...
6. dtripleh 16.09.15 11:14 Сейчас в теме
Можно было просто в свойствах базы поменять синоним
8. karapuzzzz 60 16.09.15 12:55 Сейчас в теме
(6) dtripleh, Это позволит отличить УТ от Розницы и бухгалтерии. А как отличить УТ рабочую от базы для разработки и еще кучи тестовых?
9. dj_serega 353 17.09.15 16:40 Сейчас в теме
(8) karapuzzzz, Когда 2 разработчика и в дополнение есть хранилище конфигурации :)
12. dtripleh 18.09.15 15:37 Сейчас в теме
(8) karapuzzzz, как вариант в тестовой базе поменять синоним на "УТ тестовая 1/2/3 и т.д"
16. karapuzzzz 60 30.09.15 11:33 Сейчас в теме
(12) dtripleh, Если все базы подключены к одному хранилищу, то поменять не получится.
11. saiten 223 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))}
Показать
При желании можно и иконку в панели задач поменять. На счет цвета не уверен, но, думаю, можно извратиться.
13. Muxomop 149 22.09.15 14:25 Сейчас в теме
Идея классная, считаю 1с должны сделать возможность установки заголовка конфигуратора базовой, по аналогии с режимом предприятия. У меня данный скрипт не работает, поскольку в командной строке вообще нет никаких параметров (Win7, x64)
14. pinkz80 148 23.09.15 16:19 Сейчас в теме
(13) Muxomop, командная строка в любом случае должна быть. Можно посмотреть с помощью утилиты procmon или far manager.
15. Muxomop 149 24.09.15 15:51 Сейчас в теме
(14) Я не говорил, что у меня нет командной строки. У меня в ней нет параметров, на основании которых работает ваш скрипт. Вот так у меня выглядит командная строка "C:\Program Files (x86)\1cv8\8.3.5.1517\bin\1cv8.exe" . Конфигуратор запущен обычным образом, без помощи запускалок, стартеров и т.д.
17. zqzq 17 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 Ответить
Оставьте свое сообщение