При организации рабочего места с фискальным регистратором нередко возникает ситуация, когда одну онлайн-кассу (ККТ) необходимо использовать нескольким сотрудникам — например, двум кассирам или бухгалтерам. В современных версиях программы «1С:Бухгалтерия предприятия 3.0» предусмотрен механизм касс с общим доступом, однако при попытке ограничить круг допущенных лиц администраторы и специалисты сталкиваются с нелогичным поведением: после внесения кассиров в список программа выдает ошибку о том, что у них нет доступа к оборудованию, а при очистке списка — касса начинает работать.
Разберем детально, почему так происходит, выясним причину сбоя и рассмотрим практические способы настройки совместной работы.
Проанализируем механику работы подключаемого оборудования. По задумке разработчиков подсистемы Библиотеки подключаемого оборудования (БПО), оборудование с общим доступом должно поддерживать разграничение прав: администратор указывает конкретных пользователей, которым разрешено выполнять фискальные операции на данном экземпляре ККТ («белый список»).
Однако в определенных релизах конфигурации «Бухгалтерия предприятия» и БПО встречается ошибка инверсии условия в программном коде. В процедуре проверки прав вхождение текущего пользователя информационной базы в табличную часть ограничений трактуется с обратным знаком:
Посмотрим, какими методами можно быстро и корректно решить эту задачу на практике.
Разберем по шагам наиболее предпочтительный и стандартный метод устранения программной ошибки. Поскольку некорректная логика проверки прав на уровне оборудования признается разработчиками типовой ошибкой, фирма «1С» выпускает для нее точечные исправления.
EF_), относящихся к подключаемому оборудованию.Если официальный патч для используемого релиза еще не установлен или конфигурация обновляется по собственному графику, исправим логику проверки программно. Для этого не требуется снимать конфигурацию с поддержки — достаточно создать компактное расширение.
Рассмотрим пример перехвата процедуры проверки прав на оборудование в общем модуле подсистемы БПО. Подключим метод с аннотацией &Вместо или &ИзменитьИПрисоединить:
&Вместо("ПроверитьДоступПользователяКОборудованию")
Функция Расш1_ПроверитьДоступПользователяКОборудованию(Оборудование, Пользователь)
// Если табличная часть пользователей пуста — доступ открыт для всех
Если Оборудование.Пользователи.Количество() = 0 Тогда
Возврат Истина;
КонецЕсли;
// Проверяем явное наличие пользователя в разрешающем списке
Отбор = Новый Структура("Пользователь", Пользователь);
Строки = Оборудование.Пользователи.НайтиСтроки(Отбор);
// Доступ разрешен только тем, кто явно внесен в табличную часть
Возврат (Строки.Количество() > 0);
КонецФункции
Такая доработка возвращает механизму исходный смысл: кассой могут пользоваться только те сотрудники, которые прямо указаны в настройках подключаемого устройства.
Если нет возможности править код конфигурации или устанавливать расширения, разберем организационно-технический обход проблемы:
RLS (ограничение доступа на уровне записей), настроим видимость и доступность конкретных касс ККМ через группы доступа с отбором по кассам.Организуя доступ нескольких бухгалтеров к одному фискальному аппарату, обратим внимание на важные технические нюансы: