понедельник, 30 апреля 2012 г.

Лаунчер для терминала

Вводная: Есть несколько разных баз данных, запускаемых на терминальном сервере. Для каждого компьютера должна использоваться только одна база. Пользователи могут работать за разными компьютерами, от пользователя выбор базы не зависит. Запускать надо все по одному ярлыку. То есть на рабочем столе один ярлык "1С", который запускает пользователь и в зависимости от имени компьютера, с которого он зашел на терминал, запускается конкретная база.

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

Что должен делать лаунчер -
  1. Узнать имя компьютера
  2. Найти его в списке. 
  3. Выполнить команду прописанную для этого компьютера
  4. Если нет, то выполнить команду "по умолчанию
Немного про готовую программу -
Параметр "Имя компьютера" (ComputerName) - отвечает за полученное "Имя клиента". Работает только в терминале! Не допускается два одинаковых имени. Если ничего не найдено, выполняется команда, привязанная к компьютеру с именем "*" (без кавычек).
Параметр "Программа" (Command) отвечает за выполняему комманду. Рекомендуется указывать полный путь до программы или пользоваться кнопкой "Обзор".
Параметр "Аргумент" (Argument) используется для указания аргумента запуска программы.

Можно использовать 1C_Terminal_launch_Config.exe для создания конфигурационного файла (имя config.xml, должен лежать в одной папке с лаунчером) или сделать его вручную. Если делается руками, то файл должен быть следующего формата -

<?xml version="1.0" standalone="yes"?>
<DataSet1 xmlns="http://tempuri.org/DataSet1.xsd">
  <ConfigTable>
    <ComputerName>SYSADMIN</ComputerName>
    <Command>C:Program Files1cv81bin1cv8.exe</Command>
    <Argument>ENTERPRISE /S SRV-1CTestBD</Argument>
  </ConfigTable>
  <ConfigTable>
    <ComputerName>*</ComputerName>
    <Command>C:Program Files1cv81bin1cv8.exe</Command>
    <Argument />
  </ConfigTable>
</DataSet1>

Не забывайте про параметры для * - это компьютер "по умолчанию", то что будет запускаться, если не находит в списке.

Ссылка на скачивание файла (сам лаунчер, программа-конфигуратор, пример xml-файла и исходные коды) - http://dl.dropbox.com/u/10168286/Programmers/1C_Terminal_launch.rar

Комментариев нет:

Отправить комментарий