Добрый день. Поставили такую задачу: необходимо пользователю ограничить выбор бух.счетов в оборотно-сальдовой ведомости и остальных отчетах, скажем чтобы пользователь мог сделать отчет по 311, 361, но не мог сделать отчет по 661. Подскажите, пожалуйста, возможно ли такое сделать программно? Спасибо за ответ.
Конфигурация
"Управление торговым предприятием для Украины", редакция 1.2. (1.2.45.2), Обычные формы
1С:Предприятие 8.3 (8.3.10.2561)
Vofka @ Сегодня, 9:46 необходимо зарегистрироваться для просмотра ссылки
,
А как лучше реализавать? Через планы видов характеристик или может есть попроще вариант?
avel1976, задача сводится к тому, что надо написать какую-то проверку или при выборе счета или при формировании отчета
Если ... Тогда
Сообщить("...");
Возврат;
КонецЕсли;
Что написать в Если вам виднее: либо это какая-то настройка пользователя будет, либо проверка на наличие/отсутствие какой-то роли, либо любой другой нужный конкретно в вашем случае сценарий.
Задача решена. Делюсь, может кому пригодится. В модуле формы "Список" и в модуле формы "Выбор" создаем процедуру "ПередОткрытием" и пишем следующий код:
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Если РольДоступна("ВашаРоль") Тогда
ЭтаФорма.Отбор.Код.ВидСравнения = ВидСравнения.ВСписке;
СЗ = Новый СписокЗначений;
СЗ.Добавить("311");
СЗ.Добавить("361");
СЗ.Добавить("69");
СЗ.Добавить("6431");
СЗ.Добавить("6432");
СЗ.Добавить("6412");
ЭтаФорма.Отбор.Код.Значение = СЗ;
ЭтаФорма.Отбор.Код.Использование = ИСТИНА;
//Запретим пользователю менять установленные счета
ЭлементыФормы.Список.НастройкаОтбора.Код.Доступность = Ложь;
КонецЕсли;
КонецПроцедуры
И еще в догонку в процедуре при изменении счета
Процедура СчетПриИзменении(Элемент)
Если РольДоступна("ВашаРоль") Тогда
Если Счет.Код = "311" Тогда
ОбработкаИзмененияСчета();
ОбновитьПанельНастроек();
ИначеЕсли Счет.Код = "361" Тогда
ОбработкаИзмененияСчета();
ОбновитьПанельНастроек();
ИначеЕсли Счет.Код = "362" Тогда
ОбработкаИзмененияСчета();
ОбновитьПанельНастроек();
ИначеЕсли Счет.Код = "69" Тогда
ОбработкаИзмененияСчета();
ОбновитьПанельНастроек();
ИначеЕсли Счет.Код = "683" Тогда
ОбработкаИзмененияСчета();
ОбновитьПанельНастроек();
Иначе
Предупреждение("Рахунок " + Счет + " для перегляду заборонено! ");
Счет = "";
Возврат;
КонецЕсли;
КонецЕсли;
ОбработкаИзмененияСчета();
ОбновитьПанельНастроек();
КонецПроцедуры
Продвинутый пользователь помимо 661-го счета может еще полюбопытствовать зарплатными регистровыми отчетами, просто пройтись по регистрам по взаиморасчётам с сотрудниками, по расчетам по налогам (там есть база налогообложения), по регистрам расчетов и, наконец, открыть универсальный отчет или консоль запросов.
Да, еще можно открыть зарплатную ведомость через платежное поручение.
Помню, мне приходилось заваривать все эти отверстия.
Moloko @ Сегодня, 23:49 необходимо зарегистрироваться для просмотра ссылки
,
Интерфейс пользователя написан только с теми документами и отчетами которые ему нужны. До оборотно-сальдовой, к регистрам у него нет доступа, кнопки "Операции", "Сервис" и "Переключение интерфейса" убраны.
avel1976 @ Yesterday, 21:46 необходимо зарегистрироваться для просмотра ссылки
,
А если набрать с клавиатуры в поле?
Petre @ 30.10.18, 10:08 необходимо зарегистрироваться для просмотра ссылки
,
А там вторая часть кода, которая проверяет.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.