Доброго времени суток, коллеги.
Подскажите каким образом с наименьшими временными затратами ограничить доступ пользователя к данным по «чужому» юр.лицу. Т.е. у пользователя задана основная фирма, необходимо чтоб пользователь видел данные только по ней, не видя данных по чужим фирмам. Касается отчетов, документов, журналов. Пока ничего кроме как создать интерфейс для пользователя, права, и переписать конфу в части объектов в которых используется «Фирмы» лучше не придумал, но изменять придется почти все документы и часть отчетов..
Предлагаю примерно так.
Что бы документ нельзя было открыть в функцию глПроверкаРазрешенияРедактирования вставить строки:
ОсновнаяФирма = глЗначениеПоУмолчанию("ОсновнаяФирма");
Если ПустоеЗначение(ОсновнаяФирма) = 0 Тогда
Если Конт.Фирма <> ОсновнаяФирма Тогда
Предупреждение("Ай-ай-ай! Низзя!");
СтатусВозврата(0);
Возврат 0;
КонецЕсли;
КонецЕсли;
Показать
Что бы не видно было фирм в справочнике, в ПриОткрытии в форму справочника фирм:
ОсновнаяФирма = глЗначениеПоУмолчанию("ОсновнаяФирма");
Если ПустоеЗначение(ОсновнаяФирма) = 0 Тогда
СписокДоступныхФирм = СоздатьОбъект("СписокЗначений");
СписокДоступныхФирм.ДобавитьЗначение(ОсновнаяФирма);
ИспользоватьСписокЭлементов(СписокДоступныхФирм);
КонецЕсли;
Что бы в отчетах была только нужная фирма, в функцию глФильтрПоСправочнику дописываем:
ОсновнаяФирма = глЗначениеПоУмолчанию("ОсновнаяФирма");
Если ПустоеЗначение(ОсновнаяФирма) = 0 Тогда
Если ИмяПеремЗапроса = "Фирма" Тогда
глУсловиеПоФирмам = ОсновнаяФирма;
ТекстЗапроса = ТекстЗапроса+"Условие ("+ИмяПеремЗапроса+" в глУсловиеПоФирмам);";
ИначеЕсли Если ИмяПеремЗапроса = "ЮрЛицо" Тогда
глУсловиеПоЮрЛицам = ОсновнаяФирма.ЮрЛицо;
ТекстЗапроса = ТекстЗапроса+"Условие ("+ИмяПеремЗапроса+" в глУсловиеПоЮрЛицам);";
КонецЕсли;
КонецЕсли;
Скрытие документов из журналов отдельная тема, без ВК обычно не обходится. Ну и куча-куча всего, что бы затруднить копирование базы или манипулирование всякими внешними обработками. Гарантии с 7.7 ничего не даст, но затруднить инсайдерские атаки можно.
Есть большая пристройка у 7.7 ТиС где добавляются объект и правки гл модуля. позволяет на открытие проводить доп контроль согласно настройкам, сходу не удалось найти это решение , надо поискать на инфостарте, довольно аккуратно и толковое решение. Внедрение около 2х недель заняло, до сих пор работает
скажу по секрету, в 7.7 пользователи сносятся одним нажатием мышки. и пользователь получает доступ ко всей базе безо всяких ограничений. потом также сможет вернуть пользователей.
так что, скрывай, не скрывай другие фирмы, не поможет.
(11) Защита базы от доступа/удаления в обход 1С - это немного другой вопрос. Можно перевести базу на SQL. Можно организовать правильно настроенный терминал. Даже если база файловая и локально/по сети, можно так настроить права на папки, что простой пользователь не доберётся проводником до базы. Хотя, конечно, с защитой баз 1С всё сложно, если не сказать "невозможно".
(11) Shreki2015, конечно есть несколько способов сделать жизнь сложнее, там где есть чтение есть и обход всяческих ограничений ) использовать клюшку, взять users и брутить, в надежде вдруг у кого числовой или короткий пасс. я пока же делаю простое ограничение.
(19) Sanario, не сложно поднять виндовую аутенфикацию в 7.7. Там длина, теоретически, побольше. И средства защиты от брута имеются. Главная проблема - заставить пользователей делать нормальные пароли :)