gifts2017

Enterprise Starter

Опубликовал Олег Филиппов (comol) в раздел Администрирование - Стартеры 1С

Устали объяснять пользователям какой ярлык 1С им запускать? Надоели собственные списки баз у каждого пользователя? Смена сервера 1С это история на неделю? "Глюки 1cestart.exe" стали любимой темой для беседы? Мне тоже это надоело, поэтому нашел в себе сил написать небольшое решение по запуску 1С. В отличие от аналогов оно ориентировано только на пользователей - только "одна кнопка" запуска. Список баз 1С ведётся централизованно.

Описание файлов:

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 из самих баз, но ввиду их различность мне лично оказалось проще отдать вбить руками....

Скачать файлы

Наименование Файл Версия Размер
Enterprise Starter 3
.rar 33,45Kb
16.06.14
3
.rar 33,45Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Андрей Овсянкин (Evil Beaver) 16.06.14 14:18
Охбожымой, а что-ж интерфейс-то такой мерзкий? Ладно, простой - понятно, но зачем такой синий?
2. Олег Филиппов (comol) 16.06.14 14:29
(1) Evil Beaver, Синий это у меня в WIndows цветовая схема синяя, ну и "классическая" :). В Win 2012 конечно намного симпатичнее выглядит
Прикрепленные файлы:
3. Игнат Романов (romign) 16.06.14 14:52
Правильно ли я понимаю, что при каждом запуске, стартер пакетно запрашивает список доступных баз пользователя?
4. Александр Капустин (kapustinag) 16.06.14 14:53
(1) Evil Beaver, После желто-серой "стандартной" 1С-ной гаммы остальные цвета режут глаз? -:)
На самом деле, в таком цвете тоже можно найти плюсы: можно просто сказать пользователю, чтобы запустил "СИНИЙ 1С", - и не опасаться, что он с каким-то из стандартных 1С-ных спутает.
5. Александр Капустин (kapustinag) 16.06.14 15:06
(0), (3), И у меня тот же самый вопрос.
Если каждый раз заново список из базы запрашивает, то... - насколько быстро стартует? Вряд ли очень шустро, по сравнению с локальным списком баз.
6. Олег Филиппов (comol) 16.06.14 16:48
(5) kapustinag, По сравнению с локальным списком баз раза в 4 быстрее... т.е. нажали кнопку - появилось окошко...
7. Олег Филиппов (comol) 16.06.14 16:52
(3) romign, Да, при старте запрашивает список баз. в % соотношении от времени старта судя по отладчику это занимает около 30% времени... Грубо говоря практически не заметно... На отрисовку формы тратится больше времени.
8. Антон Чарушкин (hulio) 17.06.14 07:31
Мы у себя не стали заморачиваться с собственным загрузчиком, реализовали немного по другому.
Есть конфигурация со справочниками "Пользователи", "Информационные базы" и регистром сведений "Информационные базы пользователей".
В справочнике пользователей есть сведения о доменной учетке
В справочнике информационных баз наименование - это представление базы в списке. Плюс еще несколько реквизитов: строка подключения, GUID ИБ (генерируется автоматически при создании элемента) и доп. параметры.
При добавлении/удалении/изменении записи в РС "Информационные базы пользователей" генерируется файлик <Имя доменной учетки>.v8i
Все эти файлики помещаются в сетевую шару.
У пользователей при логине срабатывает скрипт, который прописывает для каждого пользователя путь к его списку информационных баз.
Таким образом, можно каждому пользователю можно формировать индивидуальные списки информационных баз. Базы у всех пользователей называются одинаково. И еще при таком подходе отсутствует существенный недостаток вашего метода: можно прописывать любые базы, не только клиент-серверные, но и файловые или опубликованные на веб-сервере. Еще приятный бонус - если включить настройку отображения списка ИБ в виде дерева, то все базы будут сгруппированы с учетом иерархии справочника "Информационные базы" ;)
9. Олег Филиппов (comol) 17.06.14 08:51
(8) hulio, Ну вот от таких "костылей" и избавляет стартер, плюс к этому:
- решает проблему глюков 1cestart (особенно при переходе на 8.3)
- Решает проблему резервного сервера
- ускоряет запуск, бывает и в 2-3 раза как это не странно.
- уже не говорю о том что не надо ждать логина и т.п....

не только клиент-серверные, но и файловые
За файловые базы при наличии сервера - расстрел :).

10. Антон Чарушкин (hulio) 17.06.14 09:24
(9) comol,
Я не совсем понял, в чем костыли? Есть полный список всех существующих баз (в том числе файловых и опубликованных на веб-сервере), есть механизм для управления кому и какие базы нужно видеть и есть скрипт, прописанный в доменных политиках, который подсовывает каждому пользователю собственный файлик.
О каких глюках 1cestart идет речь? Никаких проблем вроде не замечали пока.
Ускоряет запуск чего? Входа в какую-то базу или загрузка списка баз?

P.S. Файловые базы - это как правило различные базы разработчиков и демонстрационные. Естественно, что весь продакшн на серверах :)
11. Олег Филиппов (comol) 17.06.14 10:23
(10) hulio,
О каких глюках 1cestart идет речь?
Есть такая кнопка "Поиск" :))) Счастливый человек если о них не знаете.

в чем костыли?
О_О
У пользователей при логине срабатывает скрипт, который прописывает
это норма? :) Можно при логине скриптом ещё outlook открывать и отправлять письмо начальнику "я на работе"... чего я только не видел в этих скриптах... :)

базы разработчиков и демонстрационные
Ну для этих баз есть совсем другой стартер... http://infostart.ru/public/201394/ как вариант
12. Александр Капустин (kapustinag) 17.06.14 11:45
(9), (11) comol, "За файловые базы при наличии сервера - расстрел" - ну это очень спорное утверждение. Файловая база или клиент-серверная - выбирается в зависимости от размера базы, количества одновременных пользователей, и т.д.
Я бы сказал, наоборот, гонять кластер 1С и sql-сервер ради небольшой базы с 2-5-10 пользователями - вот за это точно расстрел.

А насчет скрипта при логине пользователя, "который прописывает..." - если имеется в виду скрипт, автоматически исполняющийся при входе пользователя в домен AD - то это совершенно нормальное решение. В зависимости от членства пользователя в группах AD и от других реквизитов пользователя там в любом случае выполняются некоторые действия. Например, подключение сетевых дисков.
wolfsoft; hulio; +2 Ответить 1
13. Олег Филиппов (comol) 17.06.14 12:31
(12) kapustinag,
гонять кластер 1С и sql-сервер ради небольшой базы с 2-5-10 пользователями - вот за это точно расстрел.
ууу... мы "щас подерёмся"... :))). Не будем разводить холивар на эту тему, вы меня не убедите, потому что то что вы написали я считаю полной чушью, а я вас не буду пытаться если сами не понимаете... Распинаться про архитекруру, файловую целостность, особенности сетевого взаимодействия, политики обслуживания и резервного копирования после этого не имеет смысла :)
при входе пользователя в домен AD Например, подключение сетевых дисков
какие скрипты... политиками это решается... GPO... матчасть матчасть...
14. Александр Капустин (kapustinag) 17.06.14 14:06
(13) comol, Делается у нас это групповыми политиками, да. Большая часть, или даже почти всё, идет через них. Но "парк пользователей" разнородный, на всех групп и политик не напасешься, поэтому кое-что сделано через скрипты. Возможно, это еще не переделанные хвосты, оставшиеся от предыдущего поколения админов.

Ну а остальное... Распинаться действительно не стоит, но не по тем причинам, что Вы написали в строках и между строк.

Но на самом деле, это мы уже в сторону ушли. Через групповые политики или через скрипты; файловые базы или клиент-серверные - оставим это. В Вашем решении список баз формируется "на лету", а hulio - формирует его один раз при авторизации пользователя в домене. Имеет право на жизнь.
15. Олег Филиппов (comol) 17.06.14 14:29
(14) kapustinag,
Возможно, это еще не переделанные хвосты, оставшиеся от предыдущего поколения админов.
Полностью согласен. И на свой вопрос вы же и ответили...

Имеет право на жизнь.
Я же не спорю что имеет права на жизнь... Я просто к тому что я бы не гордился таким решением...
16. Семён Павлюков (7OH) 18.06.14 13:06
Соглсен н все сто с оформлением программы - бррр....
А где остальные кнопки - допустим некоторым пользователям можно и в конфигуратор зайти.
Зачастую на сервере работают и разработчики, у которых тоже разные базы в доступе - учтите и их тоже.
17. Антон Чарушкин (hulio) 18.06.14 14:25
(11), (13), (15) comol, откуда столько сарказма?
Во-первых, про скрипт: вы пишете, что такие вещи должны определяться в политиках AD. Я выше и написал, что именно через групповые политики у нас и реализовано.
Во-вторых, про файловые базы я уже написал: какой смысл тащить на сервер все базы, включая нерабочие? Например, я для собственного удобства развернул демонстрационные базы всех имеющихся у нас типовых конфигураций. Зачем они мне на сервере, если они и нужны только для "посмотреть как работает в типовой" раз в полгода? Кроме того, вас ведь никто не заставляет использовать файловые базы. Просто такая возможность есть. Впрочем, как и использование ИБ, опубликованных на web-сервере
И в-третьих: при чем здесь гордость? Если бы я гордился, я бы накатал статью. Но я просто поделился на форуме нашим решением. Вас не критиковал, лишь описал альтернативный подход, у которого, я считаю, плюсов больше, чем минусов:
1. Существует единый список всех ИБ, которым можно управлять из одного интерфейса
2. Для каждого пользователя/группы пользователей из общего списка формируется собственный список ИБ
3. Сторонние приложения не используются, только 1С и групповые политики AD. Хоть вам и не нравится 1cestart.exe, я считаю, плюсом использование стандартных средств.
4. Отсутствуют специфические требования к серверу СУБД (да и вообще к наличию сервера СУБД), режиму работы ИБ (файл-сервер / клиент-сервер / web-сервер) или расположению исполняемых файлов 1С
KapasMordorov; +1 Ответить 1
18. Олег Филиппов (comol) 18.06.14 17:57
(16) 7OH, Не... это принципиально не для разработчиков... разработчику нужно и кэш чистить и пароли в базу не авто вход должен быть.
Ну может дизайнер из меня не очень... Принципиально было чтобы интерфейс был с меньшим количеством кнопок...
19. Олег Филиппов (comol) 18.06.14 18:05
(17) hulio, (13), (15) я не вам писал собственно, согласен что в контексте "без использования внешних средств" это наверное самое приличное решение... Если будете переходить на 8.3 не всеми базами ощутите всю "прелесть" 1cestart.exe

(4) Если нет сервера СУБД то в принципе это решение не нужно...
20. Антон Чарушкин (hulio) 18.06.14 18:23
(19) comol, у нас сейчас основная конфигурация на 8.2, но помимо нее активно используется Документооборот на 8.3 + планируем скоро бухгалтерию на ред. 3.0 переводить. Пока что не замечали каких-то проблем с запускалкой от 1С. Хотя по вашему совету я загуглил "1cestart.exe проблемы" и нашел ветку на мисте про то, что у кого-то не запускались базы на 8.2 после установки 8.3. Тем не менее, самому сталкиваться не приходилось
21. Олег Филиппов (comol) 18.06.14 22:03
(20) hulio, Да ну? :))) У вас 8.2 запускается стартером 8.3? Я вас тогда поздравляю - вы такие единственные наверное :). И вообще наверное единственный у кого 1cestart работает :). Ну или у вас очень добрые и молчаливые пользователи...

Первая страница поиска по 1cestart по форуму: :)))

https://partners.v8.1c.ru/forum/message/1175207#m_1175207
https://partners.v8.1c.ru/forum/message/1151652#m_1151652
https://partners.v8.1c.ru/forum/message/1118767#m_1118767
https://partners.v8.1c.ru/forum/topic/1063698#m_1063698
https://partners.v8.1c.ru/forum/message/1128981#m_1128981
https://partners.v8.1c.ru/forum/message/1115225#m_1115225
https://partners.v8.1c.ru/forum/message/965377#m_965377
https://partners.v8.1c.ru/forum/topic/1204179#m_1204179
https://partners.v8.1c.ru/forum/topic/1063698#m_1063698

Там ещё люди молчат про время запуска, про то что дважды окно запуска отображается... привыкли уже :)
22. mikhailovaew (mikhailovaew) 19.06.14 12:36
(21) хм, ну у меня нормально базы 8.2 стартером от 8.3 запускаются (платформы 8.2.18.104 и 8.3.4.437). Просто в свойствах базы указана версия 1С: Предприятия и все, полет нормальный )
К сожалению, у меня нет доступа к партнерскому форуму, поэтому указанные Вами ссылки не открываются. Если коротко, в чем основные проблемы?

UPD: ой нет, все не так просто. Оказывается, стартер все-таки от 8.2 ("C:\Program Files (x86)\1cv82\common\1cestart.exe"), но при этом диалог выбора базы открывается "трешечный". Очень странно.
23. Антон Чарушкин (hulio) 19.06.14 13:31
(21) comol, из двух сотен пользователей все не могут быть слишком добрыми или молчаливыми.
Я же вас не обманываю :)
У нас установлены работает две версии платформы: 8.2.19.83 и 8.3.4.465
Запускаю ярлык "C:\Program Files (x86)\1cv8\common\1cestart.exe" - список баз открывается мгновенно (в моем списке - примерно 120-130 ИБ). Без проблем запускается любая конфигурация 8.2/8.3, файловая/серверная ...
24. Олег Филиппов (comol) 19.06.14 23:16
(22) mikhailovaew,
но при этом диалог выбора базы открывается "трешечный". Очень странно
Это меньшая из странностей.

Ну вы просто сделайте не самый стандартный запуск - ярлык на v8i да и просто v8i запускаете и получите траблы.. При каких то условиях он наверное нормально запускается.. но не всегда. Чаще всего даже с прописаной версией платформы - "не совпадение версий клиента и сервера"... Бывает тонкий клиент запускает вместо толстого... бывает пытается обновить тонкий клиент, чаще всего это не получается... Притом стартер от 8.2 вы не запустите даже если сильно захотите :)
25. Олег Филиппов (comol) 19.06.14 23:21
(23) hulio, Нуу... в зависимости от дрессировки. Если гос учреждения к примеру там и 3 и 5 сотен будут молчаливыми - просто всем пофиг :).

Я верю что стратер 1с в определенных условиях всё-таки работает, сам видел, чесслово. Не всегда получалось повторить, правда... Наверное от фазы луны это зависит, может ещё от ритма стука в бубен...

P.S. а 200 пользователей / 120 баз.. эээ у вас каждый в своей работает? :))))
26. Антон Чарушкин (hulio) 20.06.14 07:01
(25) comol,
P.S. а 200 пользователей / 120 баз.. эээ у вас каждый в своей работает? :))))

нет конечно, я же вам писал, что для своего удобства я развернул демки всех типовых + разлиные копии + базы разработчиков + служебные (журналы изменений, СППР и т.д.) + халтура ;)
а рабочих ИБ меньше десятка
Основная масса пользователей работает вообще только 2-3 ИБ (учетная система, казначейство, документооборот)
27. Alex Steiner (OrsoBear) 16.01.15 10:32
Похоже тут собрались опытные люди...
Возможно кто-то сталкивался с такой проблемой: Стоит 1С 8.2. Работает без проблем.
Ставлю версию 1С 8.3. Под администраторами запускается в терминале без проблем.
У обычных пользователей запускается, появляются часы на пару секунд. и все.
Окно со списком баз не появляется.
Если удалить 1С 8.3, снова у всех запускается 1С 8.2
Профили 1С и временные файлы у пользователей чистил.
Похоже, что-то с правами, или с реестром..
Может кто знает, где копать?