Как прописать всем пользователям общий список баз 1С
Программа 1С при запуске читает список баз из файла ibases.v8i в профиле самого пользоватлея, а после из профиля для всех пользователей. В нём содержится информация о наименовании базы на сервере 1С ([Название БД]), ИД базы, порядок в скписке баз (OrderInList=XXX), порядок в скписке древа (OrderInTree=XXX),место в древе каталога баз (Folder=/). И некоторые другие параметры, я их все описывать не буду.
Расположение ibases.v8i в Windows XP
Профиль для всех пользователей:
С:\Documents and Settings\All Users\Application Data\1C\1CEstart\
Профиль для авторизованного пользователя:
С:\Documents and Settings\%username%\Application Data\1C\1CEstart\
Расположение ibases.v8i в Windows 7 / 8 / 10
Профиль для всех пользователей:
C:\ProgramData\1C\1CEStart\
Профиль для авторизованного пользователя:
C:\Users\%username%\AppData\Roaming\1C\1CEStart\
Внимание! Если вы забыли пароль или утратили админские доступы к базе 1С, то вам будет полезна следующая статься: Как сбросить пароль от базы на SQL сервере.
Рассмотрим ситуацию, когда на терминальном сервере 1С необходимо прописать общий список баз 1С для всех пользователей. Когда одна база и штат небольшой, то проблема не велика, но когда одних только баз десяток другой, а штат постоянно обновляется, то тут уже нужно к вопросу подходить комплексно!
Добавляем общий список баз 1с. По пунктам
- Запускаем 1С и прописываем все базы (формируем свой ibases.v8i файл)
- Потом копируем C:\Users\%USERNAME%\AppData\Roaming\1C\1CEStart\ibases.v8i
- Для удобства сюда: C:\Users\Public\bases\ibases.v8i (так как это Public, то эта директория будет доступна всем)
- И редактируем следующий файл: C:\ProgramData\1C\1CEStart\1CEStart.cfg
Путь к 1CEStart.cfg
В файле дописываем строчку с указанием нашего списка баз:
CommonInfoBases=C:\all_bases\ibases.v8i

Добавляем в файл 1CEStart.cfg строчку CommonInfoBases с указанием расположения общего списка баз 1С.
Всё просто. После этого все пользователи будут видеть только что добавленный список баз.

Если посмотреть в настройках, то увидим что у всех прописан путь к списку баз.
Костыльный способ. Через ярлык.
Копируем ярлык для 1С в папку C:\Users\Public\Desktop. Таким образом он появится на всех рабочих столах вашего терминала. В свойствах файла, в поле Объект прописать запуск нужной базы.
"C:\Program Files (x86)\1cv8\common\1cestart.exe" ENTERPRISE /S "SERVERNAME/DATABASENAME" /AppAutoCheckVersion /AppAutoCheckMode

Свойства ярлыка 1С Предприятие.
Тогда программа сразу будет запускать нужную базу, минуя окно с выбором подключения.
Управление списками баз 1С
В 1С организовано всё, что касается списков баз, в обычных текстовых, читаемых файлах с расширениями .cfg и .v8i, в кодировке utf-8. Так что, как вы наверняка догадываетесь, можно всё делать то же самое без отрыва пользователя, открывая файл по сети обычным текстовым редактором и правкой на прямую.
Расположение файлов на стороне пользователя
У пользователя на компьютере 1С 8.2 хранит фалы списков баз в каталогах:
Для Windows XP: Профиль всех пользователей: С:\Documents and Settings\All Users\Application Data\1C\1CEstart\ Профиль пользователя: С:\Documents and Settings\%username%\Application Data\1C\1CEstart\ Для Windows 7: Профиль всех пользователей: C:\ProgramData\1C\1CEStart\ Профиль пользователя: C:\Users\%username%\AppData\Roaming\1C\1CEStart\
Содержимое профиля пользователя — два файла: 1CEStart.cfg, ibases.v8i.
Содержимое директории профиля всех пользователей — один лишь, 1CEStart.cfg.
При запуске 1С берёт список баз к представлению в файле пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i, но предварительно читает настройки сначала из профиля всех пользователей C:\ProgramData\1C\1CEStart\1CEStart.cfg, а потом и из профиля пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg, и если в них есть ссылки на конфигурационные базы в сети, то добавляет их в этот файл.
Описание файла 1CEStart.cfg
В профиле всех пользователей конфигурационный файл C:\ProgramData\1C\1CEStart\1CEStart.cfg имеет следующее содержание:
InstalledLocation=C:\Program Files (x86)\1cv82 InstallComponents=DESIGNERALLCLIENTS=1 THINCLIENTFILE=1 THINCLIENT=0 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU
InstalledLocation — содержит указание на каталог, в который выполнена установка 1С: Предприятие. По умолчанию это значение C:\Program Files (x86)\1Cv82.
CommonCfgLocation — указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром.
CommonInfoBases — указывает путь и имя файла (.v8i) со списком общих информационных баз.
DistributiveLocation — содержит указание на каталог, в котором будет производится поиск новой версии для автоматической установки.
InstallComponents — В локальном конфигурационном файле (1CEStart.cfg) содержит перечень установленных компонент с признаком нужно установить компонету — 1, или нет — 0.
Возможны следующие компоненты параметра InstallComponents:
DESIGNERALLCLIENTS — все клиенты и конфигуратор.
THINCLIENT — тонкий клиент для клиент-серверного варианта работы.
THINCLIENTFILE — тонкий клиент с возможностью работы с файловыми информационными базами.
SERVER — сервер 1С: Предприятия. Если программа установки запускается из программы запуска, то сервер будет установлен как приложение.
WEBSERVEREXT — компоненты расширения для веб-сервера.
CONFREPOSSERVER — сервер хранилища конфигураций 1С: Предприятия.
SERVERCLIENT — компоненты для администрирования кластера серверов 1С: Предприятия.
CONVERTER77 — конвертер информационных баз из версии 1С: Предприятия 7.7.
LANGUAGES — список языков интерфейса для установки. Если указано несколько языков, они перечисляются через ”,”. Пример: LANGUAGES=RU,UK,BG
В профиле пользователя конфигурационный файл C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg первоначально пустой. Короткое имя %AppData%\1C\1CEStart\1CEStart.cfg Но, если какие-то настройки необходимо сделать индивидуально для конкретного пользователя, то писать именно в него, и тут уже его ключи настроек будут иметь больший приоритет, но не все. Это отдельный вопрос, им я не буду сейчас захламлять голову.
Описание файла ibases.v8i
Второй важный файл информационных баз, который находится в профиле самого пользователя — C:\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i. В него и собирается конечный список баз. Пример его содержимого:
[PhoneBook] Connect=Srvr="1C-server:1551";Ref="phonebook"; ID=34891493-907f-4783-8a37-3cbc092a989a OrderInList=16640 Folder=/ OrderInTree=16640 External=1 ClientConnectionSpeed=Normal App=ThinClient WA=1 Version=8.2 [ITIL] Connect=File="\\Dvc-server\it\Equipment\Rarus\ITIL"; ID=2829c91a-137f-457c-93fe-9e74c8ec5ee4 OrderInList=16384 Folder=/ OrderInTree=256 External=1 ClientConnectionSpeed=Normal App=Auto WA=1 Version=8.2.14.540
[phonebook] – название базы 1С. Может быть как русскими буквами, так и английскими. Это то, что видит пользователь.

ID=34891493-907f-4783-8a37-3cbc092a989a — автоматически генерируемый уникальный код базы. Если у двух записей один и тот же ID, значит это одна база.
OrderInList=16640 — порядок в списке баз, когда базы представлены одним общим списком без подкаталогов; этот параметр из сетевого списка синхронизируется только в чистый ibases.v8i, если в ibases.v8i пользователя уже заполнен этой базой и этот параметр не будет перезаписываться, при его изменении в сети.
Folder=/ — задаёт место в дереве каталогов, если вид представления списка баз выставлен деревом; этот параметр имеет приоритет пользователя, и не меняется при изменении в сетевом конфиге.
OrderInTree=16640 — порядок в дереве, когда список баз представлен в виде иерархии подкаталогов; этот параметр имеет также приоритет пользователя, и синхронизируется только при первом добавлении базы, а далее подлежит изменению только локальным пользователем.
External=1 — внешняя подключаемая запись конфигурации или нет. Когда 0 тогда база присутствует только в этом файле. В данной ситуации эта запись импортируется из файла списка баз .v8i из сети. Это идентификатор, если это список баз расположенный в сети (расшаренный), то этот параметр можно вообще убрать из конфигурационного файла.
ClientConnectionSpeed=Normal — скорость соединения клиента. Опции могут быть “Nofmal” и “Low”. Логика ясна и без моих поиснений. Этот параметр интерактивный и при сетевом размещении синхронизируется при каждом запуске 1С.
App=Auto — тип соединения клиента. Бывает три типа:
— Auto — определяется сервером;
— ThinClient — тонкий клиент;
— ThickClient — толстый клиент.
Этот параметр интерактивный и синхронизируется при каждом запуске 1С.
WA=1 — этот параметр говорит о том, что система должна использовать windows авторизацию. Этот параметр интерактивный и синхронизируется при каждом запуске 1С.
Version=8.2 — используемая версия для этой базы. Если указать полностью конкретизируя какую платформу использовать, то будет использовать именно ту платформу, которую укажешь, как, например, во второй записи — Version=8.2.14.540. Этот параметр интерактивный и синхронизируется с сетевым конфигом при каждом запуске 1С.
Также есть ещё такой параметр как DefaultApp — тип соединения клиента по умолчанию, если в конфигурации для базы не задан, и DefaultVersion — используемая версия по умолчанию, если не задано в конфигурации для базы. Этот параметр пользовательский, и синхронизируется в чистый файл базы при первом запуске. Далее этим параметром управляет локальный пользователь.
Ссылки на конфигурационные файлы в сети
Прелесть всей этой схемы работы в том, что производители 1С предусмотрели возможность глядеть в конфигурационные файлы, расположенные в сети. Реализуется это путём правки:
- либо в конфигурационном файле всех пользователей C:\ProgramData\1C\1CEStart\1CEStart.cfg, если мы хотим показать базы для всех пользователей компьютера;
- либо в конфигурационном файле конкретного пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg, если мы хотим показать базы только определённому пользователю на компьютере.
А добавить можно параметры:
- либо CommonCfgLocation=\server\1C\config\bases.cfg — указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром. Название файла не играет принципиального значения, лишь бы расширение сохранялось;
- либо CommonInfoBases=\server\1C\config\buh_bases.v8i — указывает путь и имя файла (.v8i) со списком общих информационных баз. Название файла не играет принципиального значения, лишь бы расширение сохранялось;
- или в комбинации и тот и другой, и помногу строк.
Следует оговориться, что в сети мы должны разместить файлы с расширением .cfg и .v8i, и соответствующим наполнением.
Идея использования возможностей
Идея заключается в том, чтобы делать правки с наименьшим количеством повторений. Если настройки базы или её расположение на сервере поменялось, то, исправив запись один раз в одном месте, мы получим актуальную информацию на всех компьютерах.
Для этого необходимо сделать шару в сети: \server\1C. В этой шаре сделать, как минимум два каталога:
\\server\1C\bases\.. .. base1.v8i base2.v8i base3.v8i base4.v8i
В этом каталоге будут хранится файлы с расширением .v8i. Эти файлы будут иметь внутри себя настройки всего лишь одной базы для каждого файла. Причём указать следует только те параметры, настройки, которые критичны именно для этой базы, всё остальное автоматом подставится по умолчанию. Пример файла:
[Название базы] Connect= ClientConnectionSpeed=Normal App=Auto WA=1 Version=8.2
Следует избегать использования параметра ID, т.к. 1С разработчики используют для создания новой базы копипаст из имеющейся базы. А базы с одним ID будут конфликтовать.
\\server\1C\bases\.. .. buh.cfg fin.cfg managers.cfg
В этом каталоге будут храниться файлы с расширением .cfg. Эти файлы будут иметь внутри себя ссылки на базы в каталоге ..\bases. Пример файла:
CommonInfoBases=\\server\1C\bases\base1.v8i CommonInfoBases=\\server\1C\bases\base2.v8i
В это каталоге мы создаём индивидуальные для группы пользователей или же для конкретного пользователя списки баз. Именно на файлы из этой группы мы ссылаемся в конфигурационных файлах операционной системы пользователя.
При такой схеме мы выносим управление списками баз 1С пользователей в сеть для не администраторов. На сетевой каталог с конфигурационными файлами дать доступ 1С разработчикам и пусть играются как хотят.
А если необходимо изменить настройки какой-то базы, то мы правим её всего одни раз в файле \server\1C\bases\base.v8i, и это отразится у всех пользователей, т.к. все пользователи смотрят информацию о базе именно в этом файл.
Для того, чтобы каждый пользователь видел только доступный ему список баз. Делаем список баз, согласовываем с руководством матрицу доступа к базам. На основании матрицы создаем в Актив Директори группы доступа. Включаем туда пользователей. предоставляем доступ к целевым файлам v8i (базам). Делаем файл конфигурации в котором перечисляем все ссылки на файлы v8i. С помощью групповой политики копируем файл конфигурации в профиль пользователей. При запуске 1С пользователь увидит только те базы, к которым ему предоставлен доступ. Все названия баз будут одинаковыми у всех пользователей.
Результат
Результат такого построения конфигурационных файлов:
- Исправить название базы, место расположение, параметры запуска — всё можно сделать в одном месте и единожды.
- Унификация названия баз — все пользователи о базе знают по одному общему названию.
- Пользователь сам не сможет поломать конфигурационные настройки, т.к. они хранятся не на его компьютере.
- Процесс управления списком баз на компьютере пользователя можно вернуть обратно 1С специалистам.
- Возможность поправить конфигурационные файлы, даже если пользователь спит далеко за часовыми поясами, а компьютер на текущий момент выключен.
Совпадений по запросу » «
1C v8: Массовое добавление базы или списка баз для пользователей терминального сервера.
Подключение новой базы для кучи пользователей занятие довольно муторное. Так что при частом обновление списка баз лучше использовать общие список баз. Но даже разовое подключение общего списка 10+ пользователям — занятие не весёлое. Хорошо, что данный процесс можно автоматизировать парой команд на powershell. Ниже приведены примеры использования для добавления базы \ списка баз нескольким пользователям.
Обратите внимание данные команды АДЕКВАТНО НЕ РАБОТАЮТ С POWERSHELL ВЕРСИИ 2 И НИЖЕ. Так что для нормальной работе на Windows 7 и Windows Server 2008 нужно обновить версию powershell. Как обновить написано здесь: Windows Server 2008 R2: Обновить версию Powershell.
Вариант 1. Подключить базу для всех пользователей сервера.
Такой вариант подходит когда вам нужно разово подключить базу всем пользователям сервера. Список информационных баз конкретного пользователя хранится в файле:
C:\Users\\AppData\Roaming\1C\1CEStart\ibases.v8i
В файл нужно добавить информацию следующего вида:
Остальные записи добавляются автоматически.
Для удобства создаем файл Base.txt с нужной информацией. Добавить данные из base.txt в файлы всех пользователей можно командой powershell:
Add-Content -Path (Get-ChildItem C:\Users\*\AppData\Roaming\1C\1CEStart\ibases.v8i -Recurse -Force) (Get-Content .\Base.txt)
Команду нужно запустить с права администратора.
Вариант 2. Подключить базу для некоторых пользователей сервера.
Тоже самое что и вариант 1, только не для всех пользователей, а для определенного списка. Помимо файла Base.txt с информацией о базе создаем файл users.txt с именами пользователей. Powershell команда немножко изменится:
Get-Content -Path .\users.txt | foreach
Команду тоже нужно выполнить от имени администратора. Также нужно убедиться, что имя пользователя в файле совпадает с именем папки в пути к профилю. Если различаются, то в файл нужно писать имя папки.
Вариант 3. Подключить общий список баз всем пользователям на сервере.
Если нужно относительно часто изменять списки баз пользователей, на мой взгляд, удобнее использовать общий список баз. Общий список — общий файл v8i, информация в котором распространяется на всех пользователей, у кого подключен. Настройки общих списков хранятся в файле
C:\Users\\AppData\Roaming\1C\1CEStart\1CEStart.cfg
и имеет вид CommonInfoBases=
Powershell команда для подключения общего списка всем:
Add-Content -Path (Get-ChildItem C:\Users\*\AppData\Roaming\1C\1CEStart\1CEStart.cfg -Recurse -Force) «CommonInfoBases=<путь к файлу>«путь>
Запускать тоже с правами админа.
Вариант 4. Подключить общий список некоторым пользователям на сервере.
Чтобы подключить список для избранных пользователей, нужно аналогично варианту 2 создать файлик users.txt со списком пользователей. Powershell команда для добавления общего списка:
Get-Content -Path .\users.txt | foreach
Запускать тоже с правами админа.
Для удобства сохранил все команды в файлы .ps1. Скачать их можно отсюда.
Прописать список баз 1С для всех пользователей

Для того, чтобы прописать список баз 1С для всех пользователей домена или отдельного сервера (сервер терминалов/RDP) необходимо выполнить следующие операции:
- запустить 1С на тестовом ПК/сервере, прописать все необходимые базы
- скопировать файл из C:\Users\user_name\AppData\Roaming\1C\1CEStart\ibases.v8i (в нем хранится список баз по умолчанию для конкретного пользователя) в любое удобное место, например, C:\all_bases
- открыть файл C:\Users\All Users\1C\1CEStart\1CEStart.cfg и внести следующие изменения:
Готово, теперь у всех пользователей данного сервера будет один единый список баз 1С.
