Запускалка баз 1с 7.7

Опубликовал Дмитрий Воробьев (vde69) в раздел Администрирование - Стартеры 1С

Позволяет исключить ввод паролей пользователями (использует Win логины), автоматически предоставлять пользователю список актуальных баз (именно актуальных, то есть в те которые он имеет право на вход). Ведет 2 списка баз "основные" "дополнительные". Версия 2.0 содержит дополнительный функционал авто блокировки баз для всех пользователей, и сканер файловой безопасности.

в связи с борьбой за лицензионную чистоту:
Не изменяет файлы 1с!!! (и вообще не меняет ни одного файла, полностью Portable, не работает в адресном пространстве 1с).

В Авто блокировке используется безопасная с точки зрения "зависания" технология для закрытия входа в базу для всех пользователей кроме админов 1с, встроен свой "сервер блокировок" (который при активайии распологаеться в трее)

Известные ошибки:

1. в сканере безопасности не отображаються локальные учетки (правильно работают только доменные)

буду исправлять

2. сканер безопасности ничего не показывает для определенных вариантов установки 1с.

исправлять пока не планирую, есть обходное решение: на файл MD необходимо настроить полный доступ от своей доменной учетной записи (права локального администратора - для этого не подходят)

3. очень долго обрабатывается базы в которых висит окно авторизации, причина в блокировке файла пользователей, как исправить не знаю.

кто подскажет путь - исправления этого бага - тому респект. 

--------------------------------------------------

версия 2.0 переписана на использование DLL_Info77.dll (входит в дистрибутив), менять функционал и версию этой DLL планирую с сохранением совместимости, по этому более свежие релизы буду выкладыввать или здесь или у себя на сайте.

В отдельных случаях могу предоставить интефейс этой DLL (на свое усмотрение)

Скачать файлы

Наименование Файл Версия Размер
2.1
.zip 357,29Kb
28.07.11
333
.zip 357,29Kb 333 Скачать
1.0
.1226038413 260,03Kb
25.09.09
556
.1226038413 260,03Kb 556 Скачать
2.0
.1234191861 527,70Kb
04.08.10
133
.1234191861 527,70Kb 133 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Дуб (Дуб) 69 07.11.08 09:26 Сейчас в теме
2. Дуб (Дуб) 69 07.11.08 09:29 Сейчас в теме
+(1) фиг с ними, со скриншотами, и так ясно.. А почему из реестра не цепляет? Нафига файлы плодить?
3. Дуб (Дуб) 69 07.11.08 09:35 Сейчас в теме
Понял. Мне не нужно, но прикольно. Плюсую.
4. Дмитрий Воробьев (vde69) 863 07.11.08 09:46 Сейчас в теме
есть сотня баз, и две сотни пользователей, которые ходят с места на место.
"Запускалка баз 1с 7.7" позволяет держать все настройки на сервере и не париться, что у кого-то база не прописана,

кроме того они не забудут пароль, и не передадут его (пароль на вин редко передают, ведь в личном профиле личные данные, напр аська и по этому звери виндовый пароль не передают)
причем если например у пользователя "отвалился" сетевой диск, то все базы с этого диска у него пропадут из списка выбора 10

Есть еще всякие вкусные мелочи которые поймешь когда начнешь работать :) все расписывать - долго, вещь простая и понятная

последнее:
есть различия между двумя списками, для "дополнительных" баз можно подключаться если списка пользователей нету вообще, это удобно например для копий (поднял, и снес файлик), такая база появиться у всех кто имеет файловый доступ
5. Леонид (minele) 13.11.08 09:14 Сейчас в теме
А надо ли это? пароль и создан для того чтобы все было зашито (см приказ Пу от 2007 г). А так удали папку с пользователями и заходи как хочешь. Сейчас проблема как блокировать удаление этой папки, без вреда для работы с ней.
6. Дмитрий Воробьев (vde69) 863 13.11.08 09:28 Сейчас в теме
ты просто не прочитал, там все написано.
Для "Основного" списка баз 1с не будет запускаться если вин логина нету списка пользоватей
Для "Дополнительного" списка - это нормально (список для всяких копий, тестов и т.д.)

каталог usrdef, так-же как *.md для всех пользователей кроме админа базы необходимо сделать "только для чтения", по моему это делать обязательно ВСЕГДА и для ВСЕХ баз
7. A. Pantyukhov (k0ketbi4) 13.11.08 13:04 Сейчас в теме
Не пойму что нужно писать под параметром сеператор.... Допустим у меня пользователь в конфигураторе указан администратор, что мне нужно в ини файле прописать помимо местонахождения базы данных и платформы...?
8. Дмитрий Воробьев (vde69) 863 13.11.08 14:27 Сейчас в теме
to (7)
1. если не использовать доп контроль по различным доменам/рабГрупам, то этот параметр не нужен
2. я рекомендую пользователя "Администратор" оставлять с паролем в конфигураторе, и писать его в список исключений (что-бы под ним ни кто не входил)
3. например в винде у меня логин "DV" тогда достаточно создать пользователя в конфигураторе с логином "DV" и дать ему права на папку
9. Дмитрий Воробьев (vde69) 863 13.11.08 23:43 Сейчас в теме
Кстати кто кинет пример получения по логину наличия прав на открытие конфигуратор (но только именно парсинг файла, без всяких внешних DLL),
прикручу авто доступность конфигуратора и монитора и сделаю отчет по всем базам на предмет безопасности.

просто я себе компоненту в дельфи тогда сделаю, пока у меня собрано там: список пользователей, SQL параметры, права на доступ к файлам, работа с AD, Реестр стартапа 1с. (не хватает списков ролей и прав)

10. Дмитрий Воробьев (vde69) 863 28.11.08 10:44 Сейчас в теме
11. Pavlo (pavlo) 16.01.09 18:19 Сейчас в теме
я так понимаю, работает только если отдельно зверь заходит в терминал?
просто у нас по ярлыкам терминальным
а компы в домене
12. Дмитрий Воробьев (vde69) 863 16.01.09 20:12 Сейчас в теме
(11) работает и в терминале и без, главное, что-бы у каждого пользователя была отдельная учетка (в принцепе может и вообще по локальным учеткам, но тогда надо все компы внести в список доменов)

то-есть в терминал должны входить под доменными учетками а не все под одной, да и вообще так правильнее делать, может чуток больше гемора при регистрации пользователя, но зато можно права на папки нарезать
13. Дмитрий Воробьев (vde69) 863 16.01.09 20:19 Сейчас в теме
(12) с опубликованными приложениями не знаю как будет работать, даже не думал на эту тему! может и будет а может и нет... Для нас это было не актуально
14. Pavlo (pavlo) 17.01.09 12:27 Сейчас в теме
тоесть а пароли запоминает, в каком формате? ;)
15. Дмитрий Воробьев (vde69) 863 17.01.09 15:39 Сейчас в теме
она пароли вообще не запоминает, и не сравнивает
посмотри модуль который надо в конфу интегрировать, все поймешь.

Можно общий пароль поставить для всех пользователей и всех конфигураций, но это скорее не нужно
16. Дмитрий Воробьев (vde69) 863 09.02.09 18:06 Сейчас в теме
добавлен сканер файловой безопасности, подробности в документации
17. Дмитрий Воробьев (vde69) 863 19.02.09 17:52 Сейчас в теме
хочу поинтересоватся, на сколько будет интересен коммерческий интерес если доделаю:

1. вместо списков, деревья
2. файл с настройками будет зашифрован и конфигурирование будет в диалоге
3. типовые шаблоны для авто установки файловых прав
4. возможность вставить перед запуском базы произвольный кусок реестра в ветку для выбраной базы
5. отправку почты всем пользователям базы
6. автоматическое добавление кода в гл модуль
7. временное отключение базы из списка выбора

ну и т.д. рюшечки (может кто еще чего посоветует)
18. Дуб (Дуб) 69 20.02.09 08:04 Сейчас в теме
(17) а целевая аудитория в этом случае - кто?
19. Дмитрий Воробьев (vde69) 863 20.02.09 10:00 Сейчас в теме
(19) целевая аудитория будут "правильные" конторы с большим количеством баз.
Эта штука прилично экономит время на всякие подключения юзеров и должна поднимать безопасность.

тем конторам которые ставят всем пользователям полные права на все - конечно она не нужна
20. pilot56 (ACE$) 03.03.09 15:45 Сейчас в теме
мыслишка интересная... проверим у себя. Единственно, у нас не один терминал. В данном случае настроек нужно будет тоже хранить на всех серверах?
21. Дмитрий Воробьев (vde69) 863 03.03.09 16:44 Сейчас в теме
(20) у нас серверов то-же много, но все настройки лежат в одном месте, конкретное решение будет зависить от Вашей топологии.

А вот базы с кривыми путями (типа \\комп\1с\) делать не желательно, ибо будет тормозить запуск.
22. Юлия (Julchik) 12.05.09 12:14 Сейчас в теме
Интересная идея по закрытию. Правда у меня 1c+.exe выдает при запуске конкретной базы то есть файл настроек уже пройден выдает "Не удается найти указанный файл". Могу предположить что это файл запуска, но путь стандартный скопирован из обычной запускалки. Может для запуска ещё библиотечки нужны ?
23. Дмитрий Воробьев (vde69) 863 12.05.09 15:40 Сейчас в теме
(22) для 1с+ никаких библиотек не нужно
для самой 1с нужна административная установка на сервер

другие базы с этого компа запускаются?
24. Юлия (Julchik) 13.05.09 07:21 Сейчас в теме
(23) Да при стандартном запуски 1с запускается и через "запускалки" при запуске 1c+.exe выдает только ошибку. Она ищет исполняемый файл? Административная установка не помогла. Может быть разница что запуск с рабочей станции без серверного ПО ?
25. Юлия (Julchik) 13.05.09 07:22 Сейчас в теме
(23) Да при обычном запуске кстати, процедура отлично отрабатывает полностью проходя проверку отладчиком, но очень понравилась идея только с базами доступными для пользователя, поэтому есть желание посмотреть через 1c+.exe
26. Дмитрий Воробьев (vde69) 863 13.05.09 11:31 Сейчас в теме
(25) собственно проблемма решилась, путь к exe содержал пробел :)
27. Дмитрий Воробьев (vde69) 863 04.09.09 15:52 Сейчас в теме
новенькое: блокировка базы от пользователей
X.Leshiy; +1 Ответить
28. Дмитрий Воробьев (vde69) 863 25.11.09 08:42 Сейчас в теме
интересна версия с возможность указания глобальных параметров для каждой базы отдельно?

типа для каждой базы можно указать свой путь к екзешнику и т.д.
29. Pavlo (pavlo) 22.01.10 14:56 Сейчас в теме
хотел попробовать и толку нет вовсе не показывает ничего, просто пустота, однако и user1 прописал в базе и в настройках путь до базы и файла запуска указал.
кстати, описание более полное чем сам конф файл.
30. Дмитрий Воробьев (vde69) 863 22.01.10 16:39 Сейчас в теме
31. Pavlo (pavlo) 22.01.10 20:04 Сейчас в теме
32. Дмитрий Воробьев (vde69) 863 22.01.10 22:24 Сейчас в теме
(31)

убери вообще строку
Separator=_

и не должно быть пробелов в строке
Root=C:\Program Files\1Cv77\BIN\1cv7s.exe
33. Дмитрий Воробьев (vde69) 863 22.01.10 22:26 Сейчас в теме
если сепаратор не убирать то в конфигураторе имя пользователя должно быть
user1_PHOTOLAND

и еще в файле win все букы должны быть в верх. рег "kirilenko" - не пойдет
34. Pavlo (pavlo) 23.01.10 09:59 Сейчас в теме
1. ну так написано же что если старые имена то без домена
2. про имя большими буквами не слова в документации :)
3. сама программа 1с лежит в таком каталоге и в другой перемещать у нас нельзя так как очень много на него подвязано.
35. Дмитрий Воробьев (vde69) 863 23.01.10 11:28 Сейчас в теме
(34)
1. про большие буквы для старых имен - не обязательно, для имен доменов - обязательно
3. сделай административную установку платформы на сервере и все будет работать
36. Pavlo (pavlo) 23.01.10 20:58 Сейчас в теме
всмысле административную?
37. Евгений Мартыненков (JohnyDeath) 291 21.04.10 15:09 Сейчас в теме
(32) А может можно как-нибудь подправить исходники, чтобы понимал пути с пробелами?
Ведь не сложно же.
Буду очень благодарен.
38. Дмитрий Воробьев (vde69) 863 21.04.10 15:46 Сейчас в теме
(37) будет настроение - сделаю, там еще одно решение почти готово - использование разных каталогов EXE файла для разных баз.
39. Евгений Мартыненков (JohnyDeath) 291 21.04.10 16:47 Сейчас в теме
(38) Не хочу показаться наглым, но можно узнать когда у тебя будет настроение?

Просто сегодня озадачился такой проблемой и решил попробовать сам написать подобную программу. Но я в нормальных языках практически не шарю, поэтому я бы делал такое решение долго. Потом решил поискать аналоги и наткунлся на твою разработку и понял, что лучше я точно не сделаю.

Может хотя бы фикс с пробелами выложишь? Там ведь просто кавычки добавить (или я вообще ламер?)
40. Дмитрий Воробьев (vde69) 863 21.04.10 18:10 Сейчас в теме
(38) может на этой неделе сделаю, мне там нужно доделать использование разных EXE а выкладывать старый билд профиксеный я особого смысла не вижу.
Кроме того кавычки разные бывают :D и надо будет потестить на длинных каталогах (эта не явная проблемма старых систем которая не возникает сейчас, по сколько слитные имена каталогов в 500 знаком не делаюи, а вот с пробелами - бывает).
41. Евгений Мартыненков (JohnyDeath) 291 22.04.10 11:03 Сейчас в теме
(40) Уговорил :D
А можешь еще такую фичу добавить:
Создать в ini-файле раздел [UsersAliases], в котором бы давались соответствия между именами пользователей Виндовс и 1С.

Т.е. у меня, например, есть пользователь Виндовс с именем "Симпатяжкина", но в 1С она входит под логином "Оператор". При наличии в файле настроек строчек:
[UsersAliases]
Симпатяжкина=Оператор

стартер бы искал пользователя в 1С уже не по "Симпатяжкина", а по "Оператор"
zynics; Tolpinski; +2 Ответить
42. Дмитрий Воробьев (vde69) 863 03.08.10 13:44 Сейчас в теме
версия 2.1, профиксино:

1. предупреждение если не найден исполняемый файл
2. вывод в центр активного окна а не рабочего стола (были проблеммы с двумя мониторами и т.д.)

добавлено:
1. индикатор заполнения списка баз
2. сохранение лога времени создания списка баз
3. возможность для каждой базы определить отдельный исполняемый файл (директорию) 1с
43. Александр Орефков (orefkov) 1421 09.08.10 09:06 Сейчас в теме
Блин, когда уже люди прочистят мозги от шаблонов, навязанных 1С?
Доколе можно издеваться над юзерами этим мерзким флажком "Монопольно" ?
Трудно разве сделать ДВЕ отдельные кнопки - "Предприятие" и "Монопольно"?
Прикрепленные файлы:
44. Дмитрий Воробьев (vde69) 863 09.08.10 09:23 Сейчас в теме
(43) дело вкуса, на мой взгляд флажек лучше чем кнопка, ибо нужно кликнуть 2 раза и значит вероятность ошибки меньше.

а делалось именно максимально приближенно к внешнему виду штатной 1с
45. Дмитрий Воробьев (vde69) 863 11.08.10 08:07 Сейчас в теме
чутор исправил версию 2.1, исправление только одно - увеличил размер окна на 5 пикселей, а то на висте появлялись скролы.
46. Вадим Кара (vadimkara) 26.09.11 17:22 Сейчас в теме
Перед до мной тоже стала проблема безопасности попробуем ланчер
47. Вадим Кара (vadimkara) 26.09.11 17:24 Сейчас в теме
Вобщем стала передо мной такая задача массовая смена паролей для всех пользователей подойдет данный ланчер для этого или нет?
53. Дмитрий Воробьев (vde69) 863 26.09.11 18:48 Сейчас в теме
(47) нет, она предназначена для полного отказа от паролей
54. Сергей (Che) Коцюра (CheBurator) 3366 15.10.11 20:41 Сейчас в теме
(43) а это у тебя какая запускалка?
55. Александр Орефков (orefkov) 1421 16.10.11 00:14 Сейчас в теме
(54)
Это моя личная, местечковая была запускалка.
56. Тимур Иванов (stepman3) 7 19.10.11 13:08 Сейчас в теме
хотелка:
1. отключение режима работы по логин 1с = логин вынь
2. + простая блокировка отдельных баз - просто ставим типа галочки напротив базы - и все не запускает

п.с. мне нужна просто как блокировка запуска определенных баз (на время обновления конфигурации , чтобы юзвери не ломились).
57. Serguey Mir (mstick) 1 16.11.11 03:31 Сейчас в теме
stepman3 пишет:

хотелка:

1. отключение режима работы по логин 1с = логин вынь

2. + простая блокировка отдельных баз - просто ставим типа галочки напротив базы - и все не запускает



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


п.2 для меня тоже актуален.

Понимаю, что не по теме, но подскажите, пожалуйста, какой-нибудь "выгонятор" пользователей. "Выгонятор" - обработка, которая, например, по всему списку соединенных пользователей посылала сообщение о прекращении функционирования программы через пять минут, советовала сохранить данные и выйти из программы. Непослушных по прошествии отведенного времени отрубить от базы.
Спасибо!
58. Сергей (Che) Коцюра (CheBurator) 3366 27.09.12 19:49 Сейчас в теме
как же.. разбежались делать хотелки...
59. Дмитрий Воробьев (vde69) 863 09.11.12 09:38 Сейчас в теме
раз уж все равно интерфейс просочился в инет, выкладываю :)
использование с обязательным указанием авторства.


// описание интерфейса библиотеки DLL_Info77.dll версия 1.0.1.0
//
// vde69@mail.ru
//
//
//************************************************************
//
// ПРИМЕР ИСПОЛЬЗОВАНИЯ
//
//************************************************************
type

TVariantBase77 = (Files, SQL, None);
PItemConfigUserBase77 = ^TItemConfigUserBase77;
PItemConectUserBase77 = ^TItemConectUserBase77;

TItemConfigUserBase77 = record
Base77UserName: String;
Base77UserPage: String;
Base77UserFullName: String;
Base77UserPass: String;
end;

TItemConectUserBase77 = record
Base77UserName: String;
RunMode: String;
IsMono: Boolean;
DateTime: String;
ComputerName: String;
end;

TFunctionGetStr = Function: String;
TFunctionGetList = Function: TList;
TFunctionGetVariantBase77 = Function: TVariantBase77;
TProcedureItitializate = procedure (Path:string);
TProcedure = procedure;
THandle = Integer;


var
HandleDLL: THandle;
GetSQLServer,
GetSQLBase,
GetSQLUser,
GetSQLPass,
GetFilePath,
GetFileNameMD,
GetFileNameLinks,
GetFileNameUsers,
GetFileNameDBA: TFunctionGetStr;
GetVariantBase: TFunctionGetVariantBase77;
GetListUserConfig,
GetListActiveUsers: TFunctionGetList;
LoadSetConfig: TProcedureItitializate;
LoadActiveUsers: TProcedure;

procedure TMainForm.FormCreate(Sender: TObject);
begin
HandleDLL := LoadLibrary('DLL_Info77.dll');
if Handle <> 0 then
begin

@GetSQLServer := GetProcAddress(Handle, 'GetSQLServer');
@GetSQLBase := GetProcAddress(Handle, 'GetSQLBase');
@GetSQLUser := GetProcAddress(Handle, 'GetSQLUser');
@GetSQLPass := GetProcAddress(Handle, 'GetSQLPass');
@GetFilePath := GetProcAddress(Handle, 'GetFilePath');
@GetFileNameMD := GetProcAddress(Handle, 'GetFileNameMD');
@GetFileNameLinks := GetProcAddress(Handle, 'GetFileNameLinks');
@GetFileNameUsers := GetProcAddress(Handle, 'GetFileNameUsers');
@GetFileNameDBA := GetProcAddress(Handle, 'GetFileNameDBA');
@GetVariantBase := GetProcAddress(Handle, 'GetVariantBase');
@GetListUserConfig := GetProcAddress(Handle, 'GetListUserConfig');
@GetListActiveUsers := GetProcAddress(Handle, 'GetListActiveUsers');
@LoadSetConfig := GetProcAddress(Handle, 'LoadSetConfig');
@LoadActiveUsers := GetProcAddress(Handle, 'LoadActiveUsers');

//
// по хорошему тут еще надо проверить полученные адреса на корректность
// if @GetSQLServer <> nil then
//
end;
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
if Handle <> 0 then FreeLibrary(Handle);
end;
60. poyson (poyson) 27.02.13 13:08 Сейчас в теме
Интересный вариант реализации. спасибо. +1
61. Pupok46 13.09.15 10:51 Сейчас в теме
Приветы, есть 3000 хочу потратить на доработку под себя.
ICQ: 482199220
Skype: Svoboden46
E-mail: ir-da@yandex.ru
:)
62. Pupok46 13.09.15 10:52 Сейчас в теме
Забыл подписаться на ответы этой темы ))