1с скрипт добавить 1с базу
Преамбула: Статья была написано от лица программиста 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)
Очеть много пользователей и предприятий что бы всем платформу менять или доступ к фаилам прописывать!
Просто видел скрипт, где указываешь какую кнопку щелкнуть, в какое поле что написать.
Таким образом я бы высылал скрипт пользователям и база сама добавлялась!
(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, то вам нужно включить просмотр скрытых папок и файлов.
Алгоритм такой:
- На сетевую шару выгружается файл имя домена.логин.v8i с персональным списком баз 1С
- Данный файл нужно копировать при входе пользователя на рабочую станцию или терминал в расположение C:\Users\логин\AppData\Roaming\1C\1CEStart\
- Если папки 1CEStart нет, то создать ее
- Создать или заменить файл 1cestart.cfg
- Прописать в файле 1cestart.cfg путь до файла со списком баз: CommonInfoBases=C:\Users\логин\AppData\Roaming\1C\1CEStart\файл имя домена.логин.v8i
- Создать на рабочем столе файл 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 перед другими сценариями входа"
Залогинившись, открыв "1C Предприятие" я вижу список нужных мне баз. Пройдя в каталог AppData. я наблюдаю два нужных мне файла.
Открыв 1cestart.cfg я вижу путь до моего файла.
Так же я создал EXE файл обновляющий в ручную список баз, заново копирующий нужный мне файл. Что самое интересное, что не требуется административных прав и понижение политики безопасности. Как конвертировать PS1 в EXE я уже рассказывал.
Периодически - как правило, это происходит после переустановки операционной системы на сервере, требуется подключать ранее созданные базы к SQL Server и подключать их к оснастке 1С Предприятия.
Обработка предназначена как раз для решения такой задачи. Она ищет в указанном каталоге файлы с расширением mdf и
1) Генерирует текст запроса для выполнения его в SQL Server Managment Studio. Запрос подключает эти базы к СУБД
2) Добавляет базы в оснастку 1С Предприятие. Имена созданных баз совпадают с именами файлов (без расширения).
Открывать обработку следует на сервере, где находятся файлы.
Обработка сделана под управляемое приложение. Тестировалась на платформе 8.3.13.1513.
Автоматическое добавление баз в оснастку 1с предприятие и подключение из в SQL Server:Специальные предложения
но мне не нужно, Классная штука, жаль нет монетки)
Один раз можно и ручками все добавить, а это скорее для тех, кто переносит сервера постоянно или переустанавливает, или количество баз под сотню.
Можно так добавлять?
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. Расскажу что у нас получилось.
Читайте также: