1С — различия между версиями

Материал из Корпоративная wiki Администрации города Волгодонски
Перейти к: навигация, поиск
(Расположение файлов на стороне пользователя)
 
(не показано 6 промежуточных версий этого же участника)
Строка 17: Строка 17:
  
 
После этого можно создавать групповую политику и назначать приложение. Дополнительных манипуляций с добавлением .mst файлов трансформации не требуется, он уже интегрирован в административную установку.
 
После этого можно создавать групповую политику и назначать приложение. Дополнительных манипуляций с добавлением .mst файлов трансформации не требуется, он уже интегрирован в административную установку.
 +
 +
== Подключение информационным баз пользователям ==
 +
 +
=== Теория устройства конфигурационных файлов ===
 +
 +
В 1С организовано всё, что касается списков баз, в обычных текстовых, читаемых файлах с расширениями .cfg и .v8i, в кодировке utf-8.
 +
 +
=== Расположение файлов на стороне пользователя ===
 +
 +
У пользователя на компьютере с ОС Windows Vista и старше 1С 8 хранит файлы списков баз в каталогах:
 +
 +
%ProgramData%\1C\1CEStart\1CEStart.cfg
 +
%AppData%\1C\1CEStart\1CEStart.cfg
 +
%AppData%\1C\1CEStart\ibases.v8i
 +
 +
При запуске 1С берёт список баз к представлению в файле пользователя
 +
%AppData%\1C\1CEStart\ibases.v8i
 +
и читает настройки последовательно
 +
%ProgramData%\1C\1CEStart\1CEStart.cfg
 +
%AppData%\1C\1CEStart\1CEStart.cfg
 +
и если в них есть ссылки на конфигурационные базы в сети, то добавляет их в этот файл.
 +
 +
=== Описание файла 1CEStart.cfg ===
 +
 +
В профиле всех пользователей конфигурационный файл %ProgramData%\1C\1CEStart\1CEStart.cfg имеет следующее содержание:
 +
InstalledLocation=C:\Program Files\1cv82
 +
InstallComponents=DESIGNERALLCLIENTS=1 THINCLIENTFILE=1 THINCLIENT=0 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU
 +
 +
Где:
 +
* InstalledLocation — содержит указание на каталог, в который выполнена установка 1С. По умолчанию это значение %ProgramFiles%\1Cv8?.
 +
* CommonCfgLocation — указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром.
 +
* CommonInfoBases — указывает путь и имя файла (.v8i) со списком общих информационных баз.
 +
* DistributiveLocation — содержит указание на каталог, в котором будет производится поиск новой версии для автоматической установки.
 +
* InstallComponents — В локальном конфигурационном файле (1CEStart.cfg) содержит перечень установленных компонент с признаком нужно установить компоненту — 1, или нет — 0.
 +
 +
В профиле пользователя конфигурационный файл %AppData%\1C\1CEStart\1CEStart.cfg первоначально пустой. Но, если какие-то настройки необходимо сделать индивидуально для конкретного пользователя, то писать именно в него, и тут уже его ключи настроек будут иметь больший приоритет, но не все. Это отдельный вопрос, им я не буду сейчас захламлять голову.
 +
 +
=== Описание файла ibases.v8i ===
 +
 +
Второй важный файл информационных баз, который находится в профиле самого пользователя — %AppData%\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С. Может быть как русскими буквами, так и английскими. Это то, что видит пользователь.
 +
Connect=Srvr="1C-server:1551";Ref="phonebook"; - место хранения базы.
 +
        |      |      |          |
 +
        |      |      |          |- наименование базы на сервере 1С.
 +
        |      |      |------------- порт подключения, если отличается от стандартного.
 +
        |      |--------------------- адрес сервера.
 +
        |----------------------------- тип подключения может быть: Srvr, File, ws - вэб-сервер.
 +
 +
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 — используемая версия по умолчанию, если не задано в конфигурации для базы. Этот параметр пользовательский, и синхронизируется в чистый файл базы при первом запуске. Далее этим параметром управляет локальный пользователь.
 +
 +
=== Ссылки на конфигурационные файлы в сети ===
 +
 +
Реализуется это путём добавления в файл 1CEStart.cfg параметров:
 +
 +
CommonCfgLocation=\\server\1C\config\bases.cfg — указывает путь и имя общего конфигурационного файла.
 +
 +
и/или
 +
 +
CommonInfoBases=\\server\1C\config\buh_bases.v8i — указывает путь и имя файла (.v8i) со списком общих информационных баз.
 +
 +
Допускается наличие нескольких строк с обоими параметрами. Имя файла не играет принципиального значения, лишь бы расширение сохранялось.
 +
 +
=== Идея использования возможностей ===
 +
 +
Идея заключается в том, чтобы делать правки с наименьшим количеством повторений. Если настройки базы или её расположение на сервере поменялось, то, исправив запись один раз в одном месте, мы получим актуальную информацию на всех компьютерах.
 +
Для этого необходимо сделать сетевой каталог:
 +
\\server\1C\bases\
 +
..
 +
base1.v8i
 +
base2.v8i
 +
base3.v8i
 +
...
 +
basen.v8i
 +
 +
В этом каталоге будут хранится файлы с расширением .v8i. Эти файлы будут иметь внутри себя настройки всего лишь одной базы для каждого файла. Причём указать следует только те параметры, настройки, которые критичны именно для этой базы, всё остальное автоматом подставится по умолчанию. Пример файла:
 +
 +
[Название базы]
 +
Connect=
 +
ClientConnectionSpeed=Normal
 +
App=Auto
 +
WA=1
 +
Version=8.2
 +
 +
Следует избегать использования параметра ID, т.к. 1С разработчики используют для создания новой базы копипаст из имеющейся базы. А базы с одним ID будут конфликтовать.
 +
 +
 +
\\server\1C\bases\groups\
 +
..
 +
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, и это отразится у всех пользователей, т.к. все пользователи смотрят информацию о базе именно в этом файле.
 +
 +
Результат такого построения конфигурационных файлов:
 +
* Исправить название базы, место расположение, параметры запуска — всё можно сделать в одном месте и единожды.
 +
* Унификация названия баз — все пользователи о базе знают по одному общему названию.
 +
* Пользователь сам не сможет поломать конфигурационные настройки, т.к. они хранятся не на его компьютере.
 +
* Процесс управления списком баз на компьютере пользователя можно вернуть обратно 1С специалистам.
 +
* Возможность поправить конфигурационные файлы, даже если пользователь спит далеко за часовыми поясами, а компьютер на текущий момент выключен.
  
 
== Ссылки ==
 
== Ссылки ==
  
 
* [http://shserg.ru/posts/deployment_1c_v82_group_policy/ Установка 1с v 8.2 в корпоративной среде при помощи групповых политик]
 
* [http://shserg.ru/posts/deployment_1c_v82_group_policy/ Установка 1с v 8.2 в корпоративной среде при помощи групповых политик]
 +
* [https://habrahabr.ru/post/179405/ Управление списками баз 1С 8.2]
 +
* [https://habrahabr.ru/post/250287/ Легкое управление списками баз 1С]
 
* [http://sergey-s-betke.blogs.csm.nov.ru/msi-gpo/1c-msi/7-7/1cmsi-2 MSI пакет для 1С-Предприятия 7.7: WiX нам в помощь]
 
* [http://sergey-s-betke.blogs.csm.nov.ru/msi-gpo/1c-msi/7-7/1cmsi-2 MSI пакет для 1С-Предприятия 7.7: WiX нам в помощь]
 +
* [https://safenet-sentinel.ru/helpdesk/ ТП по продуктам Sentinel]

Текущая версия на 16:56, 17 января 2018

Создание точки административной установки

set adm_install=%путь до каталога точек административной установки%
cd %каталог с дистрибутивом%
msiexec /a "1CEnterprise 8.msi" TARGETDIR=%adm_install%\%каталог с именем 1С\номер версии% THICKCLIENT=1 THINCLIENT=1 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU TRANSFORMS=%каталог с дистрибутивом%\1049.mst

Где:

  • DESIGNERALLCLIENTS – все клиенты и конфигуратор.
  • THINCLIENT – тонкий клиент для клиент-серверного варианта работы.
  • THINCLIENTFILE – тонкий клиент с возможностью работы с файловыми информационными базами.
  • SERVER – сервер «1С:Предприятия». Если программа установки запускается из программы запуска, то сервер будет установлен как приложение.
  • WEBSERVEREXT – компоненты расширения для веб-сервера.
  • CONFREPOSSERVER – сервер хранилища конфигураций «1С:Предприятия».
  • SERVERCLIENT – компоненты для администрирования кластера серверов «1С:Предприятия».
  • CONVERTER77 – конвертер информационных баз из версии «1С:Предприятия 7.7».
  • LANGUAGES – список языков интерфейса для установки. Если указано несколько языков, они перечисляются через «,».

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

Подключение информационным баз пользователям

Теория устройства конфигурационных файлов

В 1С организовано всё, что касается списков баз, в обычных текстовых, читаемых файлах с расширениями .cfg и .v8i, в кодировке utf-8.

Расположение файлов на стороне пользователя

У пользователя на компьютере с ОС Windows Vista и старше 1С 8 хранит файлы списков баз в каталогах:

%ProgramData%\1C\1CEStart\1CEStart.cfg
%AppData%\1C\1CEStart\1CEStart.cfg
%AppData%\1C\1CEStart\ibases.v8i

При запуске 1С берёт список баз к представлению в файле пользователя

%AppData%\1C\1CEStart\ibases.v8i

и читает настройки последовательно

%ProgramData%\1C\1CEStart\1CEStart.cfg
%AppData%\1C\1CEStart\1CEStart.cfg

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

Описание файла 1CEStart.cfg

В профиле всех пользователей конфигурационный файл %ProgramData%\1C\1CEStart\1CEStart.cfg имеет следующее содержание:

InstalledLocation=C:\Program Files\1cv82
InstallComponents=DESIGNERALLCLIENTS=1 THINCLIENTFILE=1 THINCLIENT=0 WEBSERVEREXT=0 SERVER=0 CONFREPOSSERVER=0 CONVERTER77=0 SERVERCLIENT=0 LANGUAGES=RU

Где:

  • InstalledLocation — содержит указание на каталог, в который выполнена установка 1С. По умолчанию это значение %ProgramFiles%\1Cv8?.
  • CommonCfgLocation — указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром.
  • CommonInfoBases — указывает путь и имя файла (.v8i) со списком общих информационных баз.
  • DistributiveLocation — содержит указание на каталог, в котором будет производится поиск новой версии для автоматической установки.
  • InstallComponents — В локальном конфигурационном файле (1CEStart.cfg) содержит перечень установленных компонент с признаком нужно установить компоненту — 1, или нет — 0.

В профиле пользователя конфигурационный файл %AppData%\1C\1CEStart\1CEStart.cfg первоначально пустой. Но, если какие-то настройки необходимо сделать индивидуально для конкретного пользователя, то писать именно в него, и тут уже его ключи настроек будут иметь больший приоритет, но не все. Это отдельный вопрос, им я не буду сейчас захламлять голову.

Описание файла ibases.v8i

Второй важный файл информационных баз, который находится в профиле самого пользователя — %AppData%\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С. Может быть как русскими буквами, так и английскими. Это то, что видит пользователь.

Connect=Srvr="1C-server:1551";Ref="phonebook"; - место хранения базы.
        |       |       |           |
        |       |       |           |- наименование базы на сервере 1С.
        |       |       |------------- порт подключения, если отличается от стандартного.
        |       |--------------------- адрес сервера.
        |----------------------------- тип подключения может быть: Srvr, File, ws - вэб-сервер.

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 — используемая версия по умолчанию, если не задано в конфигурации для базы. Этот параметр пользовательский, и синхронизируется в чистый файл базы при первом запуске. Далее этим параметром управляет локальный пользователь.

Ссылки на конфигурационные файлы в сети

Реализуется это путём добавления в файл 1CEStart.cfg параметров:

CommonCfgLocation=\\server\1C\config\bases.cfg — указывает путь и имя общего конфигурационного файла.

и/или

CommonInfoBases=\\server\1C\config\buh_bases.v8i — указывает путь и имя файла (.v8i) со списком общих информационных баз.

Допускается наличие нескольких строк с обоими параметрами. Имя файла не играет принципиального значения, лишь бы расширение сохранялось.

Идея использования возможностей

Идея заключается в том, чтобы делать правки с наименьшим количеством повторений. Если настройки базы или её расположение на сервере поменялось, то, исправив запись один раз в одном месте, мы получим актуальную информацию на всех компьютерах. Для этого необходимо сделать сетевой каталог:

\\server\1C\bases\
..
base1.v8i
base2.v8i
base3.v8i
...
basen.v8i

В этом каталоге будут хранится файлы с расширением .v8i. Эти файлы будут иметь внутри себя настройки всего лишь одной базы для каждого файла. Причём указать следует только те параметры, настройки, которые критичны именно для этой базы, всё остальное автоматом подставится по умолчанию. Пример файла:

[Название базы]
Connect=
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.2

Следует избегать использования параметра ID, т.к. 1С разработчики используют для создания новой базы копипаст из имеющейся базы. А базы с одним ID будут конфликтовать.


\\server\1C\bases\groups\
..
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, и это отразится у всех пользователей, т.к. все пользователи смотрят информацию о базе именно в этом файле.

Результат такого построения конфигурационных файлов:

  • Исправить название базы, место расположение, параметры запуска — всё можно сделать в одном месте и единожды.
  • Унификация названия баз — все пользователи о базе знают по одному общему названию.
  • Пользователь сам не сможет поломать конфигурационные настройки, т.к. они хранятся не на его компьютере.
  • Процесс управления списком баз на компьютере пользователя можно вернуть обратно 1С специалистам.
  • Возможность поправить конфигурационные файлы, даже если пользователь спит далеко за часовыми поясами, а компьютер на текущий момент выключен.

Ссылки