Управление списком баз 1С
В этой статье рассмотрим, как управлять списком баз 1С с использованием групп пользователей.
Шаг 1. Для начала необходимо создать базу или добавит в список уже существующие базы.
Шаг 2. Переходим в каталог нашего пользователя, папка AppData\Roaming\1C\1CEStart, и открываем файл ibases.v8i.
В нем видим настройки подключения созданных нами баз.
Шаг 3. На выбранном нами диске создаем папку для хранения файлов конфигурации v8i,
Отключаем в ней наследование прав
После чего в ней создаем файлов конфигурации v8i с понятными для нас названиями.
В которые поочередно копируем настройки каждой базы из файла конфигурации созданном на шаге 2, исключив ID, OrderInList и OrderInTree.
Шаг 4. Переходим в папку C:\ProgramData\1C\1CEStart, и открываем файл 1CEStart.cfg.
В нем мы прописываем путь до файлов конфигурации v8i созданные на 3 шаге.
Шаг 5. Создаем группы пользователей (созвучные с названием наших баз), добавляем в них пользователей, которым необходимо предоставить доступ к этим базам.
Шаг 6. Возвращаемся в папку с файлами конфигурации v8i (созданные на 3 шаге) и настраиваем права на чтение группам у которых должны быть доступны базы.
Шаг 7. Проверяем наши настройки. Для этого заходим под пользователем и убеждаемся в том, что в списке баз ему доступны только те базы, на которые мы выдали разрешение.
Управление общим списком баз 1С на терминальном сервере
Допустим, вам нужно добавить пользователям терминального сервера параметры информационных баз для запуска 1С, не подключаясь к сеансу пользователя и не зная пароля пользователя. Рассказываем, как это сделать.
В 1С все данные о списках баз хранятся в обычных текстовых, читаемых файлах с расширениями .cfg и .v8i, в кодировке utf-8. Как правило, у пользователей на компьютере 1С 8 хранит файлы списков баз в каталогах Профиль всех пользователей: C:\ProgramData\1C\1CEStart\ и Профиль пользователя: С:\Documents and Settings\%username%\Application Data\1C\1CEstart\ (или C:\Users\%username%\AppData\Roaming\1C\1CEStart\).
Содержимое профиля пользователя — два файла: 1CEStart.cfg и ibases.v8i. Содержимое директории профиля всех пользователей — только один 1CEStart.cfg.
При запуске 1С берёт список баз к представлению в файле пользователя, но предварительно читает настройки сначала из профиля всех пользователей C:\ProgramData\1C\1CEStart\1CEStart.cfg, а потом и из профиля пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg, и если в них есть ссылки на конфигурационные базы в сети, то добавляет их в этот файл.
Например, нам нужно, чтобы на терминальном сервере Windows Server 2012 R2 Standard обеспечивалась работа около 100 пользователей.
Создаём список баз:
Копируем созданный список баз в общую, доступную для всех пользователей, директорию – тот самый список баз в директории %AppData%\1C\1CEStart с именем ibases.V8I
Третьим шагом будет добавление в файл «C:\ProgramData\1C\1CEStart\1CEStart.cfg» пути к общему списку баз: CommonInfoBases=E:\BaseList\ibases.v8i
Готово. Теперь при входе в систему у пользователя будет одинаковый список баз. Не нужно объяснять пользователю, как добавить базу, уточнять параметры и ставить галочки — всё уже есть.
Если требуется массово изменить имя базы или имя сервера, или другой параметр базы, это делается в одном файле ibases.V8I один раз. В случае, когда принципиально нужно поставить на рабочий стол список баз, это можно сделать следующим образом:
- Открыть командную строку от имени администратора, запустить редактор локальной групповой политики: gpedit.
- В дереве выбрать «Конфигурация пользователя —> Конфигурация Windows —> Административные шаблоны —> Система —> Вход в систему —> Выполнять эти программы при входе в систему».
- Указать команду или путь к bat-файлу:
copy E:\BaseList\ibases.V8I %UserProfile%\Desktop\ibases.V8I
- И далее обновить политику: gpupdate /force.
Если нужно, чтобы список баз отображался в виде дерева (иерархией), действия следующие:
- Настраиваем список на отображение в виде дерева.
- Копируем файл %UserProfile%\AppData\Roaming\1C\1cv8\1cv8strt.pfl в общую директорию, например, туда же: E:\BaseList\1cv8strt.pfl.
- Открываем командную строку от имени администратора, запускаем редактор локальной групповой политики: gpedit.
- В дереве выбрать «Конфигурация пользователя —> Конфигурация Windows —> Административные шаблоны —> Система —> Вход в систему —> Выполнять эти программы при входе в систему».
- Указать команду или путь к bat-файлу:
copy E:\BaseList\1cv8strt.pfl %UserProfile%\AppData\Roaming\1C\1cv8\1cv8strt.pfl
Если же требуется лишь заменить строчку с настройкой дерева в указанном файле, то указать путь к bat-файлу:
Александр Рудницкий
Готово. Теперь при входе в систему у пользователя будет одинаковый список баз. Не нужно объяснять пользователю, как добавить базу, уточнять параметры и галочки, все уже есть.
Если требуется массово изменить имя базы или имя сервера, или другой параметр базы, это делается в одном файле ibases.V8I один раз.
Если принципиально нужно поставить на рабочий стол список баз, это можно сделать, например, следующим образом.
Открыть командную строку от имени администратора, запустить редактор локальной групповой политики:
gpedit
В дереве выбрать «Конфигурация пользователя —> Конфигурация Windows —> Административные шаблоны —> Система —> Вход в систему —> Выполнять эти программы при входе в систему».
Указать команду или путь к bat-файлу:
@echo off
mkdir %UserProfile%\Desktop
copy E:\BaseList\ibases.V8I %UserProfile%\Desktop\ibases.V8I
И обновить политику: gpupdate /force
Если нужно, чтобы список баз отображался в виде дерева (иерархией), действия следующие.
Настраиваем список на отображение в виде дерева.
Копируем файл %UserProfile%\AppData\Roaming\1C\1cv8\1cv8strt.pfl в общую директорию, например, туда же: E:\BaseList\1cv8strt.pfl
Открыть командную строку от имени администратора, запустить редактор локальной групповой политики:
gpedit
В дереве выбрать «Конфигурация пользователя —> Конфигурация Windows —> Административные шаблоны —> Система —> Вход в систему —> Выполнять эти программы при входе в систему».
Указать команду или путь к bat-файлу:
@echo off
mkdir %UserProfile%\AppData\Roaming\1C\1cv8
copy E:\BaseList\1cv8strt.pfl %UserProfile%\AppData\Roaming\1C\1cv8\1cv8strt.pfl
Если же требуется лишь заменить строчку с настройкой дерева в указанном файле, то указать путь к bat-файлу:
@echo off
setlocal enabledelayedexpansion
Set infile=%UserProfile%\AppData\Roaming\1C\1cv8\1cv8strt.pfl
Set find=<"B",0>,»AutoSortIBs»,
Set replace=<"B",1>,»AutoSortIBs»,
@echo off
setlocal enabledelayedexpansion
set COUNT=0
for /F «tokens=* delims=,» %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%find%=%replace%!
Echo !TMPR!>>TMP.TXT
)
del %infile%
move TMP.TXT %infile%
Примечание: если сервер в домене, то локальная политика не сработает, нужно делать доменную политику.
Как добавить базу в список баз 1с для всех пользователей
Накапливаются ошибки во временных файлах как правило в момент аварийного завершения работы с базой (произвольное отключение/перезагрузка компьютера, потеря соединения с базой в случае работы с базой по сети). Чаще всего по наблюдениям ошибки проявляют себя в некорректном отображении форм. При этом явным признаком наличия таких ошибок является тот факт, что они воспроизводятся только на одном конкретном рабочем месте. Так же инидикатором может служить ошибка с текстом "Ошибка формата потока" как при начале работы с базой, так и в процессе работы. Решить данную проблему достаточно легко — удалить базу из списка баз 1С 8 и снова добавить.
Немного забегая вперед: сначала будет рассмотрен пример для файловой базы. Т.к. для клиент-серверного варианта базы процедуа во многом идентична, то отличия будут рассмотрены после основного примера.
1. Сделать это можно с минимальными трудозатратами, если использовать некоторую хитрость. В списке баз перед тем как начать процедуру для удаляемой базы выделить внизу формы списка баз путь базы, выделив как это обычно делается в Windows и скопировать через контекстное меню в буфер обмена Windows, либо сочетанием клавиш Ctrl+C.
2. Удаляем базу из списка баз 1С 8 кнопкой "Удалить".
3. Соглашаемся с предупреждением перед удалением базы из списка баз 1С: Предприятия 8.
4. Удаление завершено. Теперь добавляем базу обратно в список баз. Для этого используется кнопка "Добавить".
5. В открывшемся окне "Добавление информационной базы/группы" на странице "Добавление информационной базы в список:" выбирается вариант "Добавление в список существующей информационной базы". Нажимаем кнопку "Далее".
6. На следующей странице необходимо указать параметры информационной базы. Если на первоначальном этапе в буфер успешно скопировался путь базы, то система сама подставит его в поле "Каталог информационной базы" (действует для последних релизов 1С: Предприятие 8.3). Иначе необходимо через контекстное меню или через сочетание клавиш Ctrl+V вставить путь, ранее скопированный перед удалением базы из списка. Наименование базы может отличаться от того, что было ранее установлено. Оно ни на что не виляет, кроме как только на личное ориентирование в списке баз. Нажимаем кнопку "Далее".
7. На последней странице, на которой указываются параметры запуска, ничего устанавливать или менять не нужно. Только нажимается кнопка "Готово".
8. База будет добавлена в список баз. На этом процесс закончен.
Частный пример устранения ошибки в 1С 8 "Ошибка совместного доступа к файлу 'ConfigCacheStorage' Процесс не может получить доступ" с помощью описанной выше последовательности действий для файловой базы можно посмотреть в приведенном ниже видео на RT или по ссылке на YT:
Небольшое отступление. Рассматриваемый выше пример был для файловой базы, т.е. когда путь к базе начинаетс с "File=". Если путь к базе начинаетс с "Srvr=", то процедура очень похожа, но есть оличия, рассмотрим с указанием номеров пунктов.
На п.1 так же выполняется копирование в буфер содержимого строки, того что содержится в "".
Далее пункты 2-5 идентичны.
Разинца в п.6. в том, что вставляем скопированные данные в поле "Кластер серверов". При этом чек-бокс "На сервере 1С: Предприятия" установится атоматически.
Имя информационно базы, в данном примере "1cbase8" вырезается и копируется в поле "Имя информационной базы"
Оставшее содержимое между кавычками и с кавычками удаляется из поля "Кластер серверов"
Завершаем процедуру по пунктам 7,8.
Частный пример устранения ошибки в 1С 8 "Ошибка формата потока" с помощью описанной выше последовательности действий для файловой базы можно посмотреть в приведенном ниже видео на RT или по ссылке на YT: