1с скрипт добавить 1с базу

Обновлено: 07.07.2024

Преамбула: Статья была написано от лица программиста 1С для программистов 1С, которые отвечают за формирование списка ИБ 1С.

Цель: Сделать выбор необходимой пользователю ИБ 1С более простой и универсальной. Снизить необходимость участия системных администраторов при настройки системы формирования списка ИБ. Упростить настройку силами программистов 1С системы формирования списка ИБ в условиях изменения сетевой и серверной инфраструктуры.

Дано: Имеется главный офис и несколько обособленных подразделений (далее "ОП"), в каждом из которых есть свой контролер домена (далее "КД") и свой сервер "1С Предприятия". Между офисами постоянно перемещаются и работают в локальных РИБах сотрудники с личных или рабочих лэптопов. Системные администраторы гарантируют выбор локального КД при авторизации.

Задача: При авторизации пользователя в домене ему необходимо подключить список РИБов, развёрнутых в том ОП, в КД которого произошла авторизация.

Неудачное решение: Такие варианты решения, как указывать все РИБы в одном списке или делать на рабочем столе разные v8i списки баз для каждого ОП приводят пользователей к путанице и периодическим ворчанием вида:

"Ваша 1С [главного офиса] тормозит в ОП1"

"- Я всегда работал в этой 1С, а в ОП2 эта 1Ска тормозит.

- Какую другую 1Ску запускать? Вы меня запутали."

Оптимальное (на мой взгляд) решение:

Для автоматического изменения (по факту - пересоздания) файла "1CEStart.cfg" был сделан скрипт Set1CBases.cmd, который размещается в папке "\\КонтролерДоменаГл\netlogon\". Чтобы этот скрипт запускался при входе пользователя в систему была создана [глобальная] групповая политика для конфигурации пользователя (единственное требуемое от системных администраторов действие).

Вместо текущего КД "%LogonServer%\Sysvol\%UserDnsDomain%" можно указать сам домен "\\%UserDnsDomain%\Sysvol\%UserDnsDomain%", который переправит на ближайший КД, но по личному опыту - не советую.

Необходимо пользователю(лям) добавлять в список баз в 1С новую базу чуть ли не каждый день!

Выхожу из ситуации высылая фаилы 1CEStart.cfg и ibases.v8i
И BAT фаил типо:
xcopy "ibases.v8i" "%userprofile%\Application Data\1C\1CEStart" /y
xcopy "1CEStart.cfg" "%userprofile%\Application Data\1C\1CEStart" /y

Но таким образом пользователь получает весь список баз, а это не всегда нужно

Есть ли возможность записи скрипта, который записывает клики, что именно введено в поле. А при запуске воспроизводит ранее записанную запись.

Ранее видел программы подобие автоустановщиков, может кто посоветует названия? Или иной выход из ситуации.

Это не подходит.
Удобно было бы скриптом добавлять в уже существующий список, указав название базы, сервер и префикс.

конкретному пользователю? или у всех юзеров список одинаков?
(4)
у всех пользователей список разный, у некоторых одинаковый
научить добалять базы самим, высылай им по почте инфу
В 8.3 стартер уже может на веб-сервис ходить за списком баз. Поставь 8.3, а в свойствах базы укажи, что нужно запускать 8.2.
сделай сетевую папку, на каждую БД свой скрип запуска, и рули правами на эти файлики
(8)(10)
Очеть много пользователей и предприятий что бы всем платформу менять или доступ к фаилам прописывать!

Просто видел скрипт, где указываешь какую кнопку щелкнуть, в какое поле что написать.

Таким образом я бы высылал скрипт пользователям и база сама добавлялась!

(12) Помоему в этом случае легче написать свой стартер баз 1с. Если прикинуть, это не так и сложно.

(13) Смотри параметры запуска из командной строки.

/AddInList
параметр, показывающий, под каким именем добавлять базу в список, если не указан, база не будет добавлена в список. Если не указано имя, используется умолчание, аналогичное интерактивному созданию информационной базы.

(14) Почему велосипед, в ней можешь организовать удобное администрирование, раскидывание кому и какие базы видны

Можно просто высылать отдельные ярлыки, где прописана конкретная база

ПолныйПутьДо1С\1cv8.exe createinfobase File=C:\newBase\ /AddInList NewDB

Базы сидят на SQL через 1С консоль (1С сервер), а тут как я понял только локаль можно прописать

Описание инфраструктуры

И так предположим, что у вас есть большое количество сотрудников, кто в своей работе использует программу 1С 8. Вам периодически приходится подключать им базы данных, тратя на это много времени. У части пользователей может быть локальный клиент 1С, кто-то может работать на RDS ферме, по удаленке. Вы хотели бы, чтобы каждому пользователю подключались его персональные базы 1С при входе в компьютер или терминал, а так же при необходимости простого ручного обновления в виде ярлыка, который запускает сценарий, невидимый для пользователя. Мои коллеги 1С написали скрипт, который на сетевую шару, выгружает файл "Имя домена-Логин пользователя.v8i" со списком персональных баз пользователя. Данный файл нам нужно будет подкладывать при входе сотрудника в его рабочее окружение.

Реализация подгрузки баз 1С

Когда пользователь открывает "1C Предприятие", то при отсутствии в конфигурационном файле путей до базы данных, он увидит картину:

Список информационных баз пуст. Добавить в список информационную базу

Список информационных баз пуст

За список баз данных, отвечают два файла:

  • 1cestart.cfg - в данном файле прописываются некоторые параметры и путь до файла .v8i
  • ibases.v8i - тут прописываются параметры подключения к базам данных.

Располагаются они в локальном профиле пользователя по пути:

Если вы не видите папку AppData, то вам нужно включить просмотр скрытых папок и файлов.

Алгоритм такой:

  1. На сетевую шару выгружается файл имя домена.логин.v8i с персональным списком баз 1С
  2. Данный файл нужно копировать при входе пользователя на рабочую станцию или терминал в расположение C:\Users\логин\AppData\Roaming\1C\1CEStart\
  3. Если папки 1CEStart нет, то создать ее
  4. Создать или заменить файл 1cestart.cfg
  5. Прописать в файле 1cestart.cfg путь до файла со списком баз: CommonInfoBases=C:\Users\логин\AppData\Roaming\1C\1CEStart\файл имя домена.логин.v8i
  6. Создать на рабочем столе файл exe, который в случае предоставления пользователю новых прав на другие базы данных 1С, запустит скрипт локально и скопирует новый файл со списком баз, что сотруднику не пришлось производить выход из системы.

Код скрипта монтирования баз 1С

Для решения моей задачи, я написал скрипт PowerShell, который буду использовать при логине пользователя, ниже его текст с объяснениями.

if ((! (Test-Path "$path_1c83" -PathType Container -ErrorAction SilentlyContinue)) -and (! (Test-Path "$path_1c82" -PathType Container -ErrorAction SilentlyContinue)) `
-and (! (Test-Path "$path_1c82x64" -PathType Container -ErrorAction SilentlyContinue)) -and (! (Test-Path "$path_1c83x64" -PathType Container -ErrorAction SilentlyContinue)))
Write-Output "Paths $path_1c83 and $path_1c82 don't exist"
Break
>

Далее создаем групповую политику. В политике нужно настроить два момента:

  • Первое, это немедленное выполнение скрипта при входе, без 5-ти минутной задержки.
  • Второе, это в ветке "Конфигурация пользователя - Политики - Конфигурация Windows - Сценарии входа/выхода". Далее открываем вкладку "Сценарии powerShell", выбираем наш скрипт и обязательно выставите пункт "Запускать сценарии оболочки Windows PowerShell перед другими сценариями входа"

Монтирование баз 1с через PowerShell

Залогинившись, открыв "1C Предприятие" я вижу список нужных мне баз. Пройдя в каталог AppData. я наблюдаю два нужных мне файла.

Монтирование баз 1с при входе в компьютер

Открыв 1cestart.cfg я вижу путь до моего файла.

Автоматическое подключение баз 1С через powershell

Так же я создал EXE файл обновляющий в ручную список баз, заново копирующий нужный мне файл. Что самое интересное, что не требуется административных прав и понижение политики безопасности. Как конвертировать PS1 в EXE я уже рассказывал.

Периодически - как правило, это происходит после переустановки операционной системы на сервере, требуется подключать ранее созданные базы к SQL Server и подключать их к оснастке 1С Предприятия.

Обработка предназначена как раз для решения такой задачи. Она ищет в указанном каталоге файлы с расширением mdf и

1) Генерирует текст запроса для выполнения его в SQL Server Managment Studio. Запрос подключает эти базы к СУБД

2) Добавляет базы в оснастку 1С Предприятие. Имена созданных баз совпадают с именами файлов (без расширения).

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

Обработка сделана под управляемое приложение. Тестировалась на платформе 8.3.13.1513.

Автоматическое добавление баз в оснастку 1с предприятие и подключение из в SQL Server:

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

хорошая вещь наверно :) для сисадминов
но мне не нужно, Классная штука, жаль нет монетки)
Один раз можно и ручками все добавить, а это скорее для тех, кто переносит сервера постоянно или переустанавливает, или количество баз под сотню.

Можно так добавлять?

CHCP 1251
"%ProgramFiles(x86)%\1cv8\<версия>\bin\1cv8.exe" createinfobase Srvr="habr" Ref="HabraBD" SQLSrvr="habr" SQLDB="HabraBD" SQLUID="sa" SQLPwd="123" /AddInList "ХабраХабр ООО" /UseTemplate "X:\tmplts\ЧёрнаяБухгалтерия.cf"

Просмотры 3936

Загрузки 0

Рейтинг 7

Создание 24.09.19 22:55

Обновление 24.09.19 22:55

№ Публикации 1127005

Конфигурация Конфигурации 1cv8

Операционная система Не имеет значения

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Да

Интенсив предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С. DevOps для 1С. Онлайн-интенсив проходит с 22 ноября по 21 декабря 2021 года.

См. также

Универсальный редактор данных (УРД) Промо

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021 5999 124 Adeptus 51

Доп. панель Alt+Z

Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.

2 стартмани

24.06.2021 8119 100 sapervodichka 57

Оптимизация размера изображений из присоединенных файлов УТ 11.4

5 стартмани

10.07.2020 8819 6 Neti 4

Работа с базами данных 1С в SQL Server Management Studio (Расширение для SSMS)

Расширение позволяет просматривать связи объектов метаданных и таблиц БД, сгруппированные данные (по группам метаданных) об используемом дисковом пространстве и выполнять трансляцию SQL текста запроса в термины 1С. И бонусом - при наведении курсора мыши на таблицу или поле показывает назначение объекта в терминах 1С.

10 стартмани

27.11.2019 17342 46 akpaevj 46

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. Промо

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018 54206 533 Eugen-S 35

Конфигурация для администраторов "Центр управления базами" для 8.3 УФ

Конфигурация предназначена для централизованного управления информационными базами предприятия. Разработана на БСП версии 2.4.4.76. В работе использует COM-соединение.

3 стартмани

09.10.2019 10778 36 WhiteOwl 17

Информация о программных лицензиях 1С (Ring GUI)

Обработка, представляющая из себя обертку функций Утилиты лицензирования 1С (ring) в понятном для обычного человека виде. По сути, это GUI утилиты RING

5 стартмани

18.09.2019 9628 34 MaxxG 6

Обновление конфигурации 1С из cf по расписанию

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

1 стартмани

09.09.2019 4119 1 sivin-alexey 2

DroidRAC2 - консоль администрирования кластера серверов 1С:Предприятие 8.3 под Android Промо

DroidRAC2 - клиент для RAS-сервиса кластера серверов платформы 1С:Предприятие 8.3 под Android.

1 стартмани

24.02.2017 27580 12 user700211_a.straltsou 20

Кто уложил 1С, или мониторинг загрузки кластера в разрезе пользователей с помощью Grafana

Мониторингом различных параметров работы кластера 1С в zabbix сейчас уже никого не удивишь. Собственно потребление памяти, процов и места на серверах обычно настраивают первыми. Потом идет мониторинг в разрезе rphost'ов и различные метрики функционирования SQL сервера. Но вот когда уже все это есть, то временами возникает вопрос - какой же конкретно нехороший человек пытается съесть все (ну не все, но много) ресурсы сервера? Можно смотреть в консоль кластера и ловить редиску там. Можно анализировать журнал регистраций, включать технологический журнал или накапливать статистку в специализированных базах 1С. Но, "настоящим" сисадминам проще как-то с внешними скриптами, базами данных и, например, Grafana. Расскажу что у нас получилось.

Читайте также: