Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Часто задаваемые вопросы (FAQ) :  ИРБИС Irbis
Исключительно важный раздел форума, который необходимо прочитать всем, кто только начинает работать с Ирбисом. Если ваши знания не так широки, как вам хотелось бы, тогда обязательно прочитайте этот раздел. Если вы не нашли, что искали, то воспользуйтесь поиском по форуму, и, скорее всего, вы найдете ответ на свой вопрос среди существующих сообщений. 
Каталогизатор. Запрет на редактирование отдельных полей
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 31, July, 2007 14:25

Часто возникает вопрос, как запретить отдельным пользователям редактировать отдельные поля.
Стоит сказать, что если вы хотите кому-то конкретно что-то по умолчанию изменить на что-то не по умолчанию, то это однозначно личный ини-файл.
Есть 2 способа:
1. В последних версиях есть возможность просто заблокировать поле в рабочем листе. Там где-то нужно поставить толи минус, толи знак восклицания. К сожалению описание этой возможности спрятано где-то глубоко в релизах, так что искать ее совсем не хочется. Методом тыка выяснить не удалось.
2. Метод второй был в Ирбисе еде со времен Адама и Евы, по этому он надежен как никогда и работает в любом случае. Заключается он в следующем:
В личном ини-файле прописывается личный список рабочих листов для редактирования записей. Как называется соответствующий параметр ини-файла тут и далее писать не буду (если только что-то вспомню по памяти), ибо полный их перечень есть в документации. Как-то что-то вроде wsmnu. Личный список - это копия файла, который был указан по умолчанию, переименованная что-то вроде <старое имя>_moe.mnu. В этом файле вы так прописываете личные рабочие листы. Соответственно их нужно так создать как копии тех, что по умолчанию. Далее работа идет по настройке этих (личных) рабочих листов.
Вы открываете их редактором Рабочих листов и справочников (см. АРМ Администратор - Инсрументы) и удаляете из этого рабочего листа все поля, которые должны быть закрыты для пользователя.
Если вы сейчас проверите из Каталогизатора, что у вас получилось, то увидите, что в основной области скрытых полей нет. Но они теперь появились на самой последней закладке рабочего листа "Добавочные".
Это служебная закладка и предназначена для показа тех полей, которые в записи присутствуют, но не включены в перечень полей рабочего листа. Вот как раз настройками этой служебной закладки мы сейчас и будет играть.
Лезем опять в личный ини-файл и находим параметр AccessLevel. Он по умолчанию вроде 0. Далее со значениями этого параметра могу напутать ибо в документацию лезть не хочется, смотрите там сами.
Так вот.
Если AccessLevel=0, то закладка "Добавочные" видна и все поля на ней можно редактировать.
Если AccessLevel=1, то закладка "Добавочные" видна, но все поля на ней редактировать нельзя.
Если AccessLevel=2, то закладка "Добавочные" вообще скрыта.

Вот и весь секрет.
Может этот вариант и сложнее, чем первый, но про первый, я очень надеюсь, поведает нам тут Александр Иосифович. Тем более что первый вариант более эстетичен и красив.

Re: Каталогизатор. Запрет на редактирование отдельных полей
Пользователь: Alio (IP-адрес скрыт)
Дата: 31, July, 2007 14:58

Панев Максим написал(а):
-------------------------------------------------------
.....
> Может этот вариант и сложнее, чем первый, но про
> первый, я очень надеюсь, поведает нам тут
> Александр Иосифович. Тем более что первый вариант
> более эстетичен и красив.

Для того чтобы сделать поле НЕРЕДАКТИРУЕМЫМ, необходимо в РЛ в качестве метода ввода для этого поля указать
!0

Re: Каталогизатор. Запрет на редактирование отдельных полей
Пользователь: ADS (IP-адрес скрыт)
Дата: 02, April, 2008 12:00

Панев Максим написал(а):
-------------------------------------------------------
> Стоит сказать, что если вы хотите кому-то
> конкретно что-то по умолчанию изменить на что-то
> не по умолчанию, то это однозначно личный
> ини-файл.
Тут возникает проблема с РЛ по умолчанию. Чтобы измененный РЛ (например, с именем new.ws) был по умолчанию, мы должны отредактировать ws31.opt и fmt31.mnu. Т.к. делаем это не для всех, то делаем с них копию, и прописываем в личном ini-файле что-то вроде "WsOpt=WS31-new.OPT".
Но когда этот же пользователь переходит в другой ЭК(из RDR в book,например), в соответсвии с ws31-new(которого нет в этом каталоге) выбирается несуществующий РЛ.
Ладно, эту проблему можно решить - создаем в каждом ЭК свой ws31-new. НО: если завтра у меня появится РЛ new2(уже в другом ЭК) - придется плодить копии стандартного ws31.opt. А если возникнет необходимость запретить редактирование в RDR и BOOK, но оставить ввод в 3-м каталоге - придется создавать ws31-new3.opt, а не указывать для rdr ws31-new book, а для ws31-new2.
Может, существует другое решение, чем то что я описал? Если нет, то нужна возможность явно указывать РЛ по умолчанию(точнее, файл-для-оптимизированного-формата) для каждого ЭК.

Re: Каталогизатор. Запрет на редактирование отдельных полей
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 02, April, 2008 13:26

Если у вас версия выше 6.1, то, возможно (не проверял), выходом из ситуации будет положить этот рабочий лист в каталог Deposit

Re: Каталогизатор. Запрет на редактирование отдельных полей
Пользователь: ADS (IP-адрес скрыт)
Дата: 02, April, 2008 14:11

Ирбис 2007.1
Где можно прочитать про Deposit: что это такое, с чем его едят и т.д.?

Re: Каталогизатор. Запрет на редактирование отдельных полей
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 02, April, 2008 14:47

С версии 6.1 (вроде) в Ирбис появилась директория (IRBIS64\DATAI\Deposit), куда можно складывать общие для всех баз файлы.
Первоначально эта технология была применена в веб-ирбис, однако позже оказалась востребованной и в АРМах. По этому я не могу утверждать 100%но, что эта штука у вас будет работать, но проверить можно.

Re: Каталогизатор. Запрет на редактирование отдельных полей
Пользователь: ADS (IP-адрес скрыт)
Дата: 02, April, 2008 15:10

Спасибо, обязательно попробую!
Однако это не решает второй(основной) проблемы: возможность указать РЛ по умолчанию(или задать оптимизированный формат) для каждого ЭК
Точнее, сейчас этот вопрос не является проблемой, но в будущем - кто знает :)



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.