Обмен конфигурациями рабочих мест с помощью стандартных
скриптов и системы Solex
Система передачи правил пользователей используется для
автоматизации обмена настройками правил доступа для групп пользователей
между центральным складом и аптечными пунктами. Описанная здесь система
строится на генераторе и приемщике списков правил в виде ZIP-пакета,
встроенном в Solaris, а также на системе обмена файлами Solex.
Алгоритм работы:
- Сформировать файлы с помощью процедуры встроенного
скриптера ExportPolicies(Const OutputDirs :string).
Скрипт выглядит таким образом:
export_policies_to_ap.pas
// export_policies_to_ap.pas - скрипт экспорта правил
доступа для solaris.
// Устанавливается в офисе, прописывается в меню программы.
// сформированный пакет считывается солярисом автоматически скриптом
import_policies_in_ap.pas,
// настроенным на сканер каталогов в солярисе.
const OutputDirs =
'c:\mail\out\Dir1;c:\mail\out\Dir2'; // Каталоги, куда
передается файл. Перечисляются через точку с запятой.
begin
with
TMyWait.create('Идет формирование пакета с данными') do
try
exportpolicies(outputdirs);
CreateHInt('Операция передачи
правил завершена.');
finally
free
end;
end.
Данный файл может быть включен в офисе в дополнительном меню в
программе, подключаемой к центральной базе. Запускается оператором
после изменений правил для групп пользователей. Экспортируемыми
каталогами являются соответствующие подкаталоги в c:\mail\out (к
примеру), сканируемом системой solex на предмет автопочты. Нужно
перечислить все подкаталоги, для каждого аптечного пункта, через точку
с запятой. Система Solex подхватит при этом все эти файлы и перешлет
в пункты.
- Аптечный пункт принимает файл policies.zip почтой Solex и
выкладывает в каталог c:\mail\out (к примеру), указанный в
параметрах автопочты.
- Скрипт импорта принимает данный файл в систему, обновляя
тем самым систему доступов в программе.
import_policies_in_ap.pas
// Скрипт импорта правил пользователей (policies.zip)
// DirName должно быть определено одним из следующих
способов
// const DirName = 'c:\mail\in\'; // на случай
жесткого запуска по таймеру
var DirName :string; // Имя базового
каталога, в котором происходит поиск, если настроено через сканирование
каталогов
begin
importpoliciesfromdir(dirname);
end.
Данный скрипт указывается в аптечных пунктах в системе автосканирования
каталогов, которая запустит его и через параметр DirName передаст имя
каталога, в котором произойдут изменения. Нужно указать тот каталог,
который используется системой Solex для экспорта (c:\mail\in).
Таким образом программа автоматически примет переданные из Solex
конфигурации рабочих мест.