постараюсь объяснить на примере двух организаций - так проще, а количество организаций в реальности можно увеличить по аналогии.
так вот, существуют 2 организации - ЗАО Тест - г. Нью Йорк и ООО Тест г. Урюпинск. Берем для примера четверых пользователей - два в NY и два в Урюпинске. Причем босс в NY должен иметь доступ к полной информации - т.е. в режиме реального времени отслеживать ситуацию и там, и там. пользователи для NY - Вася Пупкин (Босс) и Лена Пупкина - Главбух. Для Урюпинска - Коля Сидоров - грузчик/кладовщик/директор, Ляля Сидорова - главбух.
Для наглядности возьмем первые 6 символов фамилии и один - имени для формирования логинов. Итого для NY: PupkinV и PupkinE. Для Урюпинска: SidoroN и SidoroL
Первостепенной задачей является заполнение поля DESGR во всех таблицах, где оное существует. Список таблиц получается вот таким запросом:
select X$FIles.XF$NAME from X$FIles, X$Fields where (('DESGR'==X$Fields.XE$NAME and X$Fields.XE$FILECODE==X$FILES.XF$CODE));
Для NY ставим значение DESGR равным NYC, для Урюпинска - URU.
Если задача в том, чтобы разделить одну базу на две части, принадлежащими отдельным организациям, по раздел документов можно произвести отталкиваясь от поля DESCR - дескриптор пользователя. Проводки, сальдо и пр - от плана счетов. Планов счетов, кстати, можно вести сколько угодно. У нас используется 6 - по три на организацию - план счетов 2001, Налоговый учет и GAAP. Для тех бухгалтеров, которым мешают "лишние" записи в плане счетов поставлен фильтр по условию, чтоб не путались. В ОС, НМА и пр. тоже есть поле DESGR, но в 7.10 фильтр по группе не работает (и не заполняется из интерфейсов Галактики)
Можно обойтись фильтром по условию по DESGR, а можно использовать различия в нумерации, добавляя букву в номер, например. Таким же образом обходится проблема нумерации документов - она ведется в разрезе центров ответственности.
После заполнения поля DESGR необходимо изменить тип настроек:
Организация, Руководитель, Главный бухгалтер, банковские настройки, код инспекции, КПП и т.д. - по необходимости. Как это сделать, я писал ранее. После этого на каждого пользователя заполняются значения измененных настроек. Каждому своё.
Создаём группы пользователей (NYC и URU).
Затем каждому пользователю необходимо присвоить свою группу. (Настройка/Пользователь/Группа дескрипторов).
Далее ограничиваем пользователям доступ к документам по группе дескрипторов (Настройка/Документы/Доступ к документам - все права в рамках группы), а для PupkinV - все права.
Таким образом все пользователи, кроме PupkinV будут видеть (и создавать) документы (проводки - при правильной настройке ТХО)только своей организации.
Если PupkinV требует возможности создавать документы от имени Урюпинской организации, то ему можно создать отдельный логин, например - PupkinV_URU, оставив "домашний" логин без изменений, а в "чужом" настроив соответствующую группу пользователей, либо разрешив выбор группы при создании документов.
Теперь о том, как ведет себя система при, например, печати документов.
Печатаем накладную на продажу (расходную). Как тут уже упоминалось, поля "своя организация" в Галактике не существует.
Однако, своя организация указана в настройках (в нашем случае - в измененных). Интерфейс редактирования накладной формирует несколько переменных - MyOrg, Директор, Главбух и т.д, получая их значения из настроек. Таким образом для группы NYC они получатся: ЗАО Тест, Василий Пупкин, Елена Пупкина (мы назначали пользователям эти значения в настройках). А для Урюпинска - ООО Тест, Николай Сидоров, Ляля Сидорова (аналогично). И т.д. в ДО (счетах на оплату), ордерах, счетах-фактурах и пр. и др. Сальдовые остатки МЦ на складах фильтруются аналогично. Те МЦ, движение которых производилось только в одной из организаций, в другой организации даже жирным не подсвечены.
Для ARD-отчетов мы придумали простой интерфейс-переключатель с выбором группы, который возвращает определенное нами значение. А в отчетах достаточно добавить в блок where (( ..... ... and 'NYC'==TABLE1.DESGR)) или соответствующую переменную вместо значения.
Если что-то пропустил, пишите.
Best regards,
Alexei Vishnevsky,
CMSA CIS.
___________________________
Aut viam inveniam, aut faciam