gifts2017

Ограничение доступа к 70 счету для БП 3.0

Опубликовал Евгений О (Evgenij1990) в раздел Администрирование - Защита, права, пароли

Ограничение доступа к 70 счету для Бухгалтерии предприятия 3.0 через расширение.

Ограничение доступа к следующим отчетам по 70 счету и субконто "Работники организации" :

  • ОСВ по счету
  • Анализ счета
  • Карточка счета
  • Обороты счета
  • Карточка субконто
  • Анализ субконто
  • Отчет по проводкам

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

Расширение тестировалось на релизе 3.0.44.140 Платформа 8.3.8.2088

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Ограничение по 70 счету
.cfe 224,20Kb
18.10.16
5
.cfe 1.1 224,20Kb 5 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Капитан Немо (capitan) 19.10.16 21:45
А ничего, что 70 счет обязательно идет в корреспонденции ?
;)
2. Вадим Мориков (vadim1011985) 19.10.16 22:00
Популярная тема стала. Тоже статью накатал , правда она на модерации
3. Евгений О (Evgenij1990) 19.10.16 22:30
4. Вадим Мориков (vadim1011985) 19.10.16 22:35
(3) Evgenij1990, пользователь может сформировать карточку счета по 20.01 или 26 или 44 (короче, с счетом с которым корреспондирует счет 70) и увидеть движения , есть так же отчет по проводкам , анализ субконто и т.д.
5. Евгений О (Evgenij1990) 19.10.16 22:39
(4) vadim1011985, Они смогут увидеть обороты в целом по 70 счету, но детализация по сотрудникам будет недоступна, т.е. расшифровку суммы сформировать не смогут.
В карточке счета действительно можно увидеть суммы и сотрудников. Просто была задача ограничить пользователей в стандартных отчетах, которые дают возможность легко вычислить, что "А у Иванова почему премия больше?". Понятное дело, что можно сформировать карточку счета по 20-ке и найти нужную проводку, но предполагалось, что это крайняя мера.

На данный момент информацию по зп с детализацией по сотрудникам можно найти только в карточке корреспондирующего счета. Буду думать, как и там спрятать. Есть предложения?
6. Вадим Мориков (vadim1011985) 19.10.16 23:04
(5) Evgenij1990, Есть, и не только предположения, а реализация , сейчас статья на модерации , надеюсь завтра станет доступной.

Идея у тебя по сути правильная - надо изменять КомпоновщикНастроек но непосредственно перед инициализацией и для каждого отчета задавать свои ограничения , вот например для карточки счета

Если ИдентификаторОбъекта = "КарточкаСчета" тогда // Для карточки счета необходимо изменить Стандартный запрос для парметров СКД
			
			//СКД = ОтчетОбъект.СхемаКомпоновкиДанных; // Получим СКД	
			
			ОтборДтНайден = Ложь; // Флаги для поиска ранее установленных отборов
			ОтборКтНайден = Ложь; 
			
			//Для стандартного отчета Карточка счета нет возможности установить отбор по счетам. Для возможности добавления отбора необходимо 
			//поменять текст запроса для СКД ( в части настроек для СКД , т.е. основной текст запроса не меняется )  
			 
			Запрос = СКД.НаборыДанных.Проводки.Запрос; // получим текст запроса 
			Запрос = СтрЗаменить(Запрос,"Проводки.ПериодГруппировки}", "Проводки.ПериодГруппировки,"+Символы.ПС
			+ "Проводки.СчетДт.*,"+Символы.ПС+ "Проводки.СчетКт.*}"+Символы.ПС); // Изменяем текст для компоновщика добавляя поля СчетДт И СчетКТ 
			
			СКД.НаборыДанных.Проводки.Запрос = Запрос; // Устанавливаем новый текст Запроса 
			
			//Теперь в СКД нам доступны поля отбора СчетДт и СчетКт и по ним возможно устанавливать отбор. Попробуем найти ранее установленые отборы
			ОтборДтНайден = ПоискиУстановкаОтбора(НастройкаКомпоновкиДанных,"СчетДт",ВидСравненияКомпоновкиДанных.НеВСписке,СписокЗапрещенныхСчетов);
			
			ОтборДтНайден = ПоискиУстановкаОтбора(НастройкаКомпоновкиДанных,"СчетКт",ВидСравненияКомпоновкиДанных.НеВСписке,СписокЗапрещенныхСчетов);
						
			Если Не ОтборДтНайден тогда // Если указанный отбор не найден, то установим его  
				
				ДобавитьОтбор(НастройкаКомпоновкиДанных,"СчетДт",ВидСравненияКомпоновкиДанных.НеВСписке,СписокЗапрещенныхСчетов,Истина);
				
			КонецЕсли;
					
			Если Не ОтборКтНайден тогда // Если указанный отбор не найден, то установим его
				
				ДобавитьОтбор(НастройкаКомпоновкиДанных,"СчетКт",ВидСравненияКомпоновкиДанных.НеВСписке,СписокЗапрещенныхСчетов,Истина);
				
			КонецЕсли;
			
		КонецЕсли;  
...Показать Скрыть


Более подробно как все реализовано уже надо читать в статье.
7. Евгений О (Evgenij1990) 19.10.16 23:11
(6) vadim1011985, спасибо! Тогда буду ждать статью!
8. Вадим Мориков (vadim1011985) 20.10.16 10:09
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа