Главная » 1С Предприятие » СПРАВОЧНИК ПраваРасчетчика

0

Реквизиты и  свойства справочника задаются в  соответствии  с рис. 8.7, а описание реквизитов см. в табл. 8.1.

Рис. 8.7. Свойства и реквизиты справочника ПраваРасчетчика

Таблица 8.1

Реквизиты  справочника ПраваРасчетчика

Реквизит

Описание

Примечание

имяПользователя

Имя, с которым  расчетчик входит

в систему. Задается в конфигурации

Строка длиной в  15 символов

подразделение

Подразделение, с которым может работать расчетчик. Вводится  как группа справочника Сотрудники_2

Имеет разновидность типа Справочник.Сотрудники_2

Правами  ввода и  редактирования данных  справочника  обладает  только  администратор  системы.

Редактирование данных  осуществляется в  форме  списка, и  после заполнения справочник будет содержать отображенные на рис.’8.8 сведения.

Рис. 8.8. Имена пользователей предприятия и обслуживаемые ими подразделения

Чтобы   в   справочнике  Сотрудники_2  можно   было  выбирать группы  (подразделения), в  модуль  формы ФормаДляВыбора мы добавили  следующий  код:

// Предопределенная процедура ПриОткрытии процедура ПриОткрытии()

ВыборГруппы(1); конецПроцедуры // ПриОткрытии-

Сами    же    имена    пользователей   определим    в     конфигурации    в    соответствии с рис. 8.9, задав им одинаковые права, интерфейс  и рабочий каталог.

Рис. 8.9. Задание имен пользователей и их прав в конфигурации системы

8.2.4.   МЕНЮ И ПРАВА ПОЛЬЗОВАТЕЛЕЙ

В   меню   пользователя    Ученик  добавим  возможность    вызова  вновь   созданного справочника  ПраваРасчетчика, оставив иные пункты  меню  без  изменений. Для  работника,  отвечающего   за  кадры,  создадим  интерфейс  Кадры,  меню   которого построим в соответствии  с рис. 8.10.

Рис. 8.10. Меню для лица, регистрирующего кадровые изменения

Также  работнику  отдела  кадров  доступен  справочник Дети, подчиненный  справочнику Сотрудники_2. В отношении  указанных в  меню  объектов  пользователь  под именем Кадры имеет полные  права.

Расчетчик сможет работать с объектами, показанными на рис. 8.11.

Рис. 8.11. Меню расчетчика

Причем справочник Сотрудники_2 доступен  расчетчику только  в режиме чтения.

Замечание.  Колонка Операции  меню  системы отключается в  обоих  создаваемых пользовательских меню.  Порядок ее отключения иллюстрирует рис.  1.4.

Иные  введенные нами  операции, такие, как  удаление помеченных объектов,  модификация констант, редактирование справочников  ПраваРасчетчика, хозяйственных  операций и ХозОпДляВР, управление календарями и праздниками, возложим на лицо, выполняющее функции  администрирования  системы. Для  этих  целей  у нас  имеется интерфейс  Ученик. В то же время необходимо ограничить права этого лица по отношению  к  данным,  создаваемым  в  отделе  кадров  и  расчетном отделе.  Эти  данные  должны  быть доступны  ему только  в режиме просмотра.

Суть  вносимых изменений отражена  в  разд.  8.5.1.  Однако, прежде  чем  заняться кодированием, несколько слов  придется сказать  об изменениях  интерфейса  ЖЗ.  Вопервых, если работает расчетчик, то нужно  отключить возможность  вывода ЖЗ  с применением  закладок  отбора  01/1,01/2 , 01/3 ,  02  Цех  и  03 Цех (см.  рис. 7.26).  Дело втом, что  ограничить доступ  к закладке  отбора  встроенными  средствами  1С нельзя.  Это  выясняется,  когда  пытаешься  применить  предопределенную  процедуру  модуля формы  ПриВыбореЗакладки:  она работает  лишь с атрибутом формы  Закладки,  имеющим тип Список значений. Метод ЗакладкиОтбора  этот атрибут не изменяет. Так,  после применения метода

ЗакладкиОтбора("Родитель");

формирующего  в случае ЖЗ вышеперечисленные  закладки отбора, процедура  Сообщить(ТипЗначения(Форма. Закладки));

напечатает в окне  сообщений  0 число, выдаваемое встроенной  функцией ТипЗначения для неопределенного типа данных.

Во-вторых,  нужно  позаботиться  о том,  чтобы  не изменились функции радиокнопок с идентификатором кто группы Режим расчета.

Таким образом, переменная закл при входе расчетчика должна  быть равна единице,  но закладки отбора  отображаться не должны  и,  конечно же, должны  быть в  соответствии  со  справочником  ПраваРасчетчика  введены ограничения  на  рабочее  про-

странство   расчетчика.   Если  в   систему  входит пользователь  с  правами   Ученика,  то  ее функционирование  должно отвечать  привычной,  изложенной в  разд.  7.4.3  схеме.

Озвученные  изменения  поддерживаются   следующим  кодом :

// Определяем сПраваРасч, расч, значениеОтбора и флагРасч как переменные модуля  перем сПраваРасч, расч, значениеОтбора, флагРасч;

// Следует  уже  имеющийся  в  модуле  код  (разд.  7.4.4.1)

// Предопределенная процедура модуля  формы ЖР

// Эта процедура добавляется в модуль формы  списка ЖЗ Зарплата_2

// Интерактивно отбор управляется иконками

// (основной и для выбора) справочника Сотрудники_2 процедура  ПриСменеИерархии(иерарх)

Предупреждение("Доступ к списку всех сотрудников  невозможен."); конецПроцедуры // ПриСменеИерархии

процедура ПриОткрытии()                     //               Предопределенная процедура

// Этот  оператор нужен  в форме списка для выбора (разд.  8.5.2);

// в основной форме списка его нужно опустить ВыборГруппы(1);

// Если работает расчетчик, то отображаем справочник Сотрудники_2

// в виде иерархического списка если флагРасч =  1  тогда

ИерархическийСписок(1);

// Позиционируемся в первой разрешенной для расчетчика/?асч группе ИспользоватьРодителя(родитель);

конецЕсли;

конецПроцедуры // ПриОткрытии

// А это оператор основной программы модуля формы списка справочника

// Переменная модуля флагРасч получит значение 1, если в системе расчетчик,

// или О-в противном случае. Функция ЕстьЛиРасчетчик включена в глобальный модуль флагРасч = ЕстьЛиРасчетчик(расч, сПраваРасч, родитель);

Замечание.   Процедуру ПриСменеИерархии  лучше  изъять из  кода, а в  предопределенной  процедуре  ПриОткрытии   метод   ИерархическийСписок   вызвать  следующим образом:

если флагРасч = 1 тогда

//

Нельзя менять  режим отображения

ИерархическийСписок(1, 0);

//справочника               Сотрудники_2

// Позиционируемся в первой разрешенной для расчетчика расч группе

ИспользоватьРодителя(родитель); иначе

ИерархическийСписок(1, 1);               //         Можно менять  режим отображения  конецЕсли;

Когда  второй  параметр метода  ИерархическийСписок равен нулю, смена  режима  отображения справочника (в нашем случае переход  к неиерархическому списку) невозможна.

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии