Описание файлов:
Start1c.cf — небольшая конфигурация, которая должна использоваться в клиент-серверном режиме. Используется для управления списком пользователей и баз
EnterpriseStarter.exe — сама программа запуска 1С. Читает из заданной БД настройки доступных баз для текущего пользователя выводит их в список и даёт возможность запустить в нужном режиме
Settings.ini — файл, который должен быть вместе с программой — в нём прописана «ConnectionString» к базе из которой необходимо прочитать настройки. В данном случае представлен шаблон файла все данные в «[]» надо заменить на реальные значения (логин/пароль/имя базы)
Системные требования:
Конечно данная программа имеет смысл если у вас достаточно много пользователей и много баз. Соотвтетственно в этом случае вы используете сервер 1С и в организации есть AD, поэтому следующиее ограничения:
— Наличие AD
— Только для клиент-серверных БД
— Сервер СУБД — MSSQL.
— ОС — Windows
— наличие .NET Framework 4.5 (как правило присутствует во всех современных ОС)
Установка и настройка:
1) Создать новую серверную ИБ и загрузить туда конфигурацию Start.cf (плохой вариант).
или Интегрировать конфигурацию Start.cf в ваш Service Desk или систему учета ИТ которую вы используете (она же на 1С, да?) (хороший вариант). Start.cf содержит одну подсистему, и объекты её вряд ли пересекутся с объектами других конфигураций.
Подсистема выглядит следующим образом:
2) Задать ConnectionString в этой конфигурации (Сервис — Connection String)
Это строка типа: Provider=SQLOLEDB.1;Persist Security Info=True;User ID=[Пользователь SQL];Pwd=[Пароль пользователя SQL];Data Source=[Адрес или имя сервера SQL];Initial Catalog=[Название базы SQL]
3) Сервис — «Загрузить пользователей» — подгрузятся все пользователи из AD (не в справочник «пользователи» а в отдельный)
4) Сервис — «Создать представление» — должно появиться сообщение об успешно созданом представлении
5) Заполнить справочник «Серверы»:
Обратите внимание на указание исполняемого файла:
а) Тут можно прописать дополнительные параметры запуска
б) очевидно, что желательно чтобы исполняемый файл 1С был у всех расположен по одинаковому пути. Можно конечно использовать стандартные шаблоны: %ProgramFiles%… так наверное даже правильнее будет.
6) Заполнить справочник «Базы»:
Обратите внимание на возможность указать резервный сервер (!) В случае если не доступен основной сервер 1С база будет запущена с резервного сервера. Доступность при этом определяется просто возможностью сетевого подключения, поэтому «повисшие» процессы менеджера кластера скорее всего не отловит. Но это и хорошо, пожалуй, потому как при «зависшем» rpmngr.exe пользователи часто продолжают работать, а работа в одной базе с 2-х серверов 1С — это очень плохо. Но если основной сервер просто «упал»/выключен/не пингуется пользователи просто перезайдут в 1С и будут работать на резервном сервере. При этом они конечно вылетят из 1С, но сразу перезайдут и будут работать, а не «ждать погоды у моря», как в случае со штатным резервированием кластера серверов.
К базе, конечно можно сразу добавить пользователей, которые могут с ней работать, что чаще удобнее чем добавлять список баз пользователю.
7) Справочник «пользоватли баз» — настроить работу с базами:
В данном случае можно настроить не только базу, но сразу логин и пароль для её запуска (в случае если не используется AD аутентификация бывает очень полезным). Так же можно задать режим запуска (обычное или управляемое приложение).
8) Записать ConnectionString в файл «Settings.ini» и поместить его в каталог с исполняемым файлом программы
9) Сделать ярлык всем пользователям и сказать чтобы запускали только его:
Основные возможности:
1) Написано на .Net, поэтому в среде Windows полностью Portable
2) Возможность указывать резервный сервер для каждой базы
3) Возможность запускать разные базы с разных серверов на разных платформах (особенно актуально для перехода 8.3, т.к. стартер от 8.3 по какой то причине не запускает корректно базы 8.2)
4) Запус без определения версии платформы и использования штатного стартера экономит время
5) Если пользователю доступна только одна база то окно запуска не показывается — запускается сразу база
6) Все пользователи подтягиваются и синхронизируются с AD. Очень просто ни про кого не забыть.
Использование:
Над интерфейсом особо не трудился. Для пользователей он очень простой, думаю это лучший вариант. Утилита настройки написана на 1С, поэтому что хотите то можете и дописать. Конечно очень неплохо было бы написать импорт через COM из самих баз, но ввиду их различность мне лично оказалось проще отдать вбить руками….
Охбожымой, а что-ж интерфейс-то такой мерзкий? Ладно, простой — понятно, но зачем такой синий?
(1) Evil Beaver, Синий это у меня в WIndows цветовая схема синяя, ну и «классическая» :). В Win 2012 конечно намного симпатичнее выглядит
Правильно ли я понимаю, что при каждом запуске, стартер пакетно запрашивает список доступных баз пользователя?
(1) Evil Beaver, После желто-серой «стандартной» 1С-ной гаммы остальные цвета режут глаз? -:)
На самом деле, в таком цвете тоже можно найти плюсы: можно просто сказать пользователю, чтобы запустил «СИНИЙ 1С», — и не опасаться, что он с каким-то из стандартных 1С-ных спутает.
(0), (3), И у меня тот же самый вопрос.
Если каждый раз заново список из базы запрашивает, то… — насколько быстро стартует? Вряд ли очень шустро, по сравнению с локальным списком баз.
(5) kapustinag, По сравнению с локальным списком баз раза в 4 быстрее… т.е. нажали кнопку — появилось окошко…
(3) romign, Да, при старте запрашивает список баз. в % соотношении от времени старта судя по отладчику это занимает около 30% времени… Грубо говоря практически не заметно… На отрисовку формы тратится больше времени.
Мы у себя не стали заморачиваться с собственным загрузчиком, реализовали немного по другому.
Есть конфигурация со справочниками «Пользователи», «Информационные базы» и регистром сведений «Информационные базы пользователей».
В справочнике пользователей есть сведения о доменной учетке
В справочнике информационных баз наименование — это представление базы в списке. Плюс еще несколько реквизитов: строка подключения, GUID ИБ (генерируется автоматически при создании элемента) и доп. параметры.
При добавлении/удалении/изменении записи в РС «Информационные базы пользователей» генерируется файлик <Имя доменной учетки>.v8i
Все эти файлики помещаются в сетевую шару.
У пользователей при логине срабатывает скрипт, который прописывает для каждого пользователя путь к его списку информационных баз.
Таким образом, можно каждому пользователю можно формировать индивидуальные списки информационных баз. Базы у всех пользователей называются одинаково. И еще при таком подходе отсутствует существенный недостаток вашего метода: можно прописывать любые базы, не только клиент-серверные, но и файловые или опубликованные на веб-сервере. Еще приятный бонус — если включить настройку отображения списка ИБ в виде дерева, то все базы будут сгруппированы с учетом иерархии справочника «Информационные базы» 😉
(8) hulio, Ну вот от таких «костылей» и избавляет стартер, плюс к этому:
— решает проблему глюков 1cestart (особенно при переходе на 8.3)
— Решает проблему резервного сервера
— ускоряет запуск, бывает и в 2-3 раза как это не странно.
— уже не говорю о том что не надо ждать логина и т.п….
За файловые базы при наличии сервера — расстрел :).
(9)
Я не совсем понял, в чем костыли? Есть полный список всех существующих баз (в том числе файловых и опубликованных на веб-сервере), есть механизм для управления кому и какие базы нужно видеть и есть скрипт, прописанный в доменных политиках, который подсовывает каждому пользователю собственный файлик.
О каких глюках 1cestart идет речь? Никаких проблем вроде не замечали пока.
Ускоряет запуск чего? Входа в какую-то базу или загрузка списка баз?
P.S. Файловые базы — это как правило различные базы разработчиков и демонстрационные. Естественно, что весь продакшн на серверах 🙂
(10) hulio,
Есть такая кнопка «Поиск» :))) Счастливый человек если о них не знаете.
О_О
это норма? 🙂 Можно при логине скриптом ещё outlook открывать и отправлять письмо начальнику «я на работе»… чего я только не видел в этих скриптах… 🙂
Ну для этих баз есть совсем другой стартер…http://infostart.ru/public/201394/ как вариант
(9), (11) «За файловые базы при наличии сервера — расстрел» — ну это очень спорное утверждение. Файловая база или клиент-серверная — выбирается в зависимости от размера базы, количества одновременных пользователей, и т.д.
Я бы сказал, наоборот, гонять кластер 1С и sql-сервер ради небольшой базы с 2-5-10 пользователями — вот за это точно расстрел.
А насчет скрипта при логине пользователя, «который прописывает…» — если имеется в виду скрипт, автоматически исполняющийся при входе пользователя в домен AD — то это совершенно нормальное решение. В зависимости от членства пользователя в группах AD и от других реквизитов пользователя там в любом случае выполняются некоторые действия. Например, подключение сетевых дисков.
(12) kapustinag,
ууу… мы «щас подерёмся»… :))). Не будем разводить холивар на эту тему, вы меня не убедите, потому что то что вы написали я считаю полной чушью, а я вас не буду пытаться если сами не понимаете… Распинаться про архитекруру, файловую целостность, особенности сетевого взаимодействия, политики обслуживания и резервного копирования после этого не имеет смысла 🙂
какие скрипты… политиками это решается… GPO… матчасть матчасть…
(13) Делается у нас это групповыми политиками, да. Большая часть, или даже почти всё, идет через них. Но «парк пользователей» разнородный, на всех групп и политик не напасешься, поэтому кое-что сделано через скрипты. Возможно, это еще не переделанные хвосты, оставшиеся от предыдущего поколения админов.
Ну а остальное… Распинаться действительно не стоит, но не по тем причинам, что Вы написали в строках и между строк.
Но на самом деле, это мы уже в сторону ушли. Через групповые политики или через скрипты; файловые базы или клиент-серверные — оставим это. В Вашем решении список баз формируется «на лету», а hulio — формирует его один раз при авторизации пользователя в домене. Имеет право на жизнь.
(14) kapustinag,
Полностью согласен. И на свой вопрос вы же и ответили…
Я же не спорю что имеет права на жизнь… Я просто к тому что я бы не гордился таким решением…
Соглсен н все сто с оформлением программы — бррр….
А где остальные кнопки — допустим некоторым пользователям можно и в конфигуратор зайти.
Зачастую на сервере работают и разработчики, у которых тоже разные базы в доступе — учтите и их тоже.
(11), (13), (15) откуда столько сарказма?
Во-первых, про скрипт: вы пишете, что такие вещи должны определяться в политиках AD. Я выше и написал, что именно через групповые политики у нас и реализовано.
Во-вторых, про файловые базы я уже написал: какой смысл тащить на сервер все базы, включая нерабочие? Например, я для собственного удобства развернул демонстрационные базы всех имеющихся у нас типовых конфигураций. Зачем они мне на сервере, если они и нужны только для «посмотреть как работает в типовой» раз в полгода? Кроме того, вас ведь никто не заставляет использовать файловые базы. Просто такая возможность есть. Впрочем, как и использование ИБ, опубликованных на web-сервере
И в-третьих: при чем здесь гордость? Если бы я гордился, я бы накатал статью. Но я просто поделился на форуме нашим решением. Вас не критиковал, лишь описал альтернативный подход, у которого, я считаю, плюсов больше, чем минусов:
1. Существует единый список всех ИБ, которым можно управлять из одного интерфейса
2. Для каждого пользователя/группы пользователей из общего списка формируется собственный список ИБ
3. Сторонние приложения не используются, только 1С и групповые политики AD. Хоть вам и не нравится 1cestart.exe, я считаю, плюсом использование стандартных средств.
4. Отсутствуют специфические требования к серверу СУБД (да и вообще к наличию сервера СУБД), режиму работы ИБ (файл-сервер / клиент-сервер / web-сервер) или расположению исполняемых файлов 1С
(16) 7OH, Не… это принципиально не для разработчиков… разработчику нужно и кэш чистить и пароли в базу не авто вход должен быть.
Ну может дизайнер из меня не очень… Принципиально было чтобы интерфейс был с меньшим количеством кнопок…
(17) hulio, (13), (15) я не вам писал собственно, согласен что в контексте «без использования внешних средств» это наверное самое приличное решение… Если будете переходить на 8.3 не всеми базами ощутите всю «прелесть» 1cestart.exe
(4) Если нет сервера СУБД то в принципе это решение не нужно…
(19) у нас сейчас основная конфигурация на 8.2, но помимо нее активно используется Документооборот на 8.3 + планируем скоро бухгалтерию на ред. 3.0 переводить. Пока что не замечали каких-то проблем с запускалкой от 1С. Хотя по вашему совету я загуглил «1cestart.exe проблемы» и нашел ветку на мисте про то, что у кого-то не запускались базы на 8.2 после установки 8.3. Тем не менее, самому сталкиваться не приходилось
(20) hulio, Да ну? :))) У вас 8.2 запускается стартером 8.3? Я вас тогда поздравляю — вы такие единственные наверное :). И вообще наверное единственный у кого 1cestart работает :). Ну или у вас очень добрые и молчаливые пользователи…
Первая страница поиска по 1cestart по форуму: :)))
Там ещё люди молчат про время запуска, про то что дважды окно запуска отображается… привыкли уже 🙂
(21) хм, ну у меня нормально базы 8.2 стартером от 8.3 запускаются (платформы 8.2.18.104 и 8.3.4.437). Просто в свойствах базы указана версия 1С: Предприятия и все, полет нормальный )
К сожалению, у меня нет доступа к партнерскому форуму, поэтому указанные Вами ссылки не открываются. Если коротко, в чем основные проблемы?
UPD: ой нет, все не так просто. Оказывается, стартер все-таки от 8.2 («C:Program Files (x86)1cv82common1cestart.exe»), но при этом диалог выбора базы открывается «трешечный». Очень странно.
(21) из двух сотен пользователей все не могут быть слишком добрыми или молчаливыми.
Я же вас не обманываю 🙂
У нас установлены работает две версии платформы: 8.2.19.83 и 8.3.4.465
Запускаю ярлык «C:Program Files (x86)1cv8common1cestart.exe» — список баз открывается мгновенно (в моем списке — примерно 120-130 ИБ). Без проблем запускается любая конфигурация 8.2/8.3, файловая/серверная …
(22) mikhailovaew,
Это меньшая из странностей.
Ну вы просто сделайте не самый стандартный запуск — ярлык на v8i да и просто v8i запускаете и получите траблы.. При каких то условиях он наверное нормально запускается.. но не всегда. Чаще всего даже с прописаной версией платформы — «не совпадение версий клиента и сервера»… Бывает тонкий клиент запускает вместо толстого… бывает пытается обновить тонкий клиент, чаще всего это не получается… Притом стартер от 8.2 вы не запустите даже если сильно захотите 🙂
(23) hulio, Нуу… в зависимости от дрессировки. Если гос учреждения к примеру там и 3 и 5 сотен будут молчаливыми — просто всем пофиг :).
Я верю что стратер 1с в определенных условиях всё-таки работает, сам видел, чесслово. Не всегда получалось повторить, правда… Наверное от фазы луны это зависит, может ещё от ритма стука в бубен…
P.S. а 200 пользователей / 120 баз.. эээ у вас каждый в своей работает? :))))
(25)
нет конечно, я же вам писал, что для своего удобства я развернул демки всех типовых + разлиные копии + базы разработчиков + служебные (журналы изменений, СППР и т.д.) + халтура 😉
а рабочих ИБ меньше десятка
Основная масса пользователей работает вообще только 2-3 ИБ (учетная система, казначейство, документооборот)
Похоже тут собрались опытные люди…
Возможно кто-то сталкивался с такой проблемой: Стоит 1С 8.2. Работает без проблем.
Ставлю версию 1С 8.3. Под администраторами запускается в терминале без проблем.
У обычных пользователей запускается, появляются часы на пару секунд. и все.
Окно со списком баз не появляется.
Если удалить 1С 8.3, снова у всех запускается 1С 8.2
Профили 1С и временные файлы у пользователей чистил.
Похоже, что-то с правами, или с реестром..
Может кто знает, где копать?