|
Единый список баз у всех пользователей 1С 7.7 и немного о 8.1 | ☑ | ||
---|---|---|---|---|
0
Mosson
06.03.09
✎
08:14
|
У меня пользователи работают только на терминальных серверах с win2003 (4 штуки), все делалось применительно к этому, но в целом пойдет (с незначительными доработками) и для других вариантов сети.
Начну с простого - 8.1. Список баз пользователя храниться в файле, поэтому сильно не заморачиваемся: 1. Настраиваем желаемый список у одного пользователя 2. находим файлик "C:\Documents and Settings\loninia\Application Data\1C\1Cv81\ibases.v8i" и раскидываем его по всем компутерам, на которых стоит 1С8, примерно вот сюда: "C:\Documents and Settings\Default User\Рабочий стол\1С8_Все_Базы.v8i". Папки с остальными настройками пользователя будут нормально создаваться при обращении к нужной базе. Процесс раскидывания можно и автоматизировать через netlogon, но у меня всего четыре машины и я раскидал ручками. 3. удалить все штатные ярлычки для запуска 1С8 что-бы шаловливые пальчики юзверей не тыкались куда не надо :) наслаждаемся. В 7.7. все гораздо хуже. У кого этих баз больше трех (у меня до 2009 года было далеко за 20... %) ), я думаю, меня поймут :). Каждому новому юзеру необходимо их прописывать ручками, а иногда, вместе с профилем, они ещё и слетают... При настройке переносимого профиля и одновременной работе пользователя на нескольких терминальных серверах с разными базами в 7.7 вообще караул... Нас это порядком достало, в результате родилось следующее: 1. понадобиться какой не то домен с батником запускаемым при логоне. У меня самба, там все просто, а для виндового домена не знаю как делать :(, извиняйте. в smb.conf добавим (если такого нет естесно) logon script = %U.bat и создадим шару <pre>[netlogon] comment = Network Logon Service path = /var/spool/samba/netlogon guest ok = yes writeable = no</pre> все остальные файлики будут создаваться/редактироваться в этой-же папке. 2. Создаем в этой папке файлики <имя пользователя>.bat следующего содержания либо просто добавляем в имеющиеся файлы красную строчку. @echo off net time /workgroup:apksouz -y /set net use h: \\samba\homes net use o: \\samba\pub net use t: \\samba\temp <span style="color: #ff0000;">cscript \\samba\netlogon\StartInitBases.vbs</span> 3. Теперь создаем скрипт StartInitBases.vbs <pre>'===============================Скрипт инициализации баз 1с========================= '====Удаляет все базы в файле Del1cBases_<Имя машины>.txt==== '====В зависимости от машины добавляет все базы из файла Add1cBases_<Имя машины>.txt==== '===================================Сам скрипт==================================== 'Создадим объекты const HKEY_CURRENT_USER = &H80000001 Set WshNetwork = CreateObject("WScript.Network") set WSHShell = WScript.CreateObject("WScript.Shell") Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") Set objFSO = CreateObject("Scripting.FileSystemObject") 'Откроем файл только для чтения Set Del1cBasesStream = objFSO.OpenTextFile("\\samba\netlogon\Del1cBases_" + ucase(Trim(WshNetwork.Comp uterName)) + ".txt", 1, True) 'Откроем файл только для чтения Set Add1cBasesStream = objFSO.OpenTextFile("\\samba\netlogon\Add1cBases_" + ucase(Trim(WshNetwork.Comp uterName)) + ".txt", 1, True) '========= Удаляем все базы которые есть в файлике ========= Do While Not Del1cBasesStream.AtEndOfStream strTxtLine = Del1cBasesStream.ReadLine + "\" 'msgbox "Del "+ strTxtLine On Error Resume Next WshShell.Run "REG DELETE HKCU\Software\1C\1Cv7\7.7\Titles /v """ & strTxtLine & "\"" /f", 0, True Loop '========= Добавляем все базы которые есть в файлике ========= Do While Not Add1cBasesStream.AtEndOfStream strTxtLineNameBase = Add1cBasesStream.ReadLine strTxtLinePathBase = Add1cBasesStream.ReadLine + "\" 'msgbox "Add "+ strTxtLineNameBase On Error Resume Next WshShell.Run "REG ADD HKCU\Software\1C\1Cv7\7.7\Titles /v """ & strTxtLinePathBase & "\"" /t REG_SZ /d """ & st rTxtLineNameBase & """ /f", 0, True Loop</pre> 4. Теперь создаем файлы для каждого сервера. приведу пример самого короткого :) 4а. Del1cBases_XEON4.txt - в нем может быть больше строк что-бы зачистить старые базы созданные когда-то. \\Fdir2\ASKID C:\1CBases\Base2006 C:\1CBases\Base2005 C:\1CBases\Plateshi C:\1CBases\Base2007AVZM7 \\Fdir\ASKID C:\1CBases\Base2008 4б. Add1cBases_XEON4.txt - а здесь только то, что должно появиться у пользователя. По две строки на одну базу. В первой название, во второй путь. Кодировка CP-1251. Комплектация 2006-2007 C:\1CBases\Base2006 Комплектация 2005 C:\1CBases\Base2005 Платежи C:\1CBases\Plateshi !Карты коннтроля \\Fdir2\ASKID Комплектация 2008 C:\1CBases\Base2008 Комплектация 2009 C:\1CBases\Base2009 Комплектация Атест C:\1ctemp\BaseAttestacia Выгоняем всех пользователей. Пускаем обратно и наслаждаемся :) <span style="color: #ff6600;">Есть Очень важный момент: у меня рабочий стол появляется раньше, чем успевает отработать скрипт!!! Если пользователь быстро тычит в значек 1С, то список баз может быть пустым или неполным. <span style="color: #000000;">Лечиться: logoff/logon и объяснить юзверю, что надо подождать 5-10 секунд перед запуском 1С.</span> </span> |
|||
1
Mosson
06.03.09
✎
08:18
|
блин как обычно забыл :(. довесок:
ссылка на оригинал http://www.itdepartament.ru/index.php/archives/86 сори за теги HTML. хотел как лучше, а они не сработали :) Автор VB скриптов DGorgoN, остальное от меня. |
|||
2
Если
06.03.09
✎
08:20
|
Возьми стартер Ромикса, там список баз в ини файле хранить можно, плюс еще несколько хороших вещей типа выгонялки для пользователей, и ждать не надо.
|
|||
3
Mosson
06.03.09
✎
08:23
|
(2) а ссылкой можно?
|
|||
4
Если
06.03.09
✎
08:26
|
(3) Счас пошукаю.
|
|||
5
Если
06.03.09
✎
08:27
|
http://x-romix.narod.ru/
Там есть |
|||
6
Mosson
06.03.09
✎
08:41
|
по порядку:
1. MD_FREE (с) Romix можно и отдельно прикрутить (я себе поставил) 2. дело вкуса использовать отдельную прогу или ставить скрипт по редактированию реестра ;). пусть народ знает оба способа. |
|||
7
Если
06.03.09
✎
08:42
|
(6) Согласен, это я так.:)
|
|||
8
revolt
06.03.09
✎
09:15
|
очень удобно, штатные возможности винды, ничего лишнего ставить не нужно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |