Скрыть данные за прошлый период

1. alexbog80 27.08.18 10:09 Сейчас в теме
Добрый день, уважаемые программисты!
Есть задача по 1с но никак не могу найти решение.
Имеется база 1С БП 8.3(файловая) ведется 2014 года, нужно каким то образом скрыть данные прошлых лет оставив только текущий год, в идеале было бы не плохо сделать через права пользователей, одним доступно просмотр данных за прошлые года кому то не доступно.
Скажите пожалуйста это вообще реально сделать в 1с?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alex-l19041 8 27.08.18 10:14 Сейчас в теме
надо запретить просмотр документов прошлого периода ? Или данные регистра бухгалтерии тоже ?
4. alexbog80 27.08.18 10:19 Сейчас в теме
(2)Нужно запретить все и документы и отчеты.
8. alex-l19041 8 27.08.18 10:31 Сейчас в теме
(4) тогда проще сделать "свертку" базы. Доступ к базе прошлого периода дать только тем, кому надо
9. alex-l19041 8 27.08.18 10:42 Сейчас в теме
(4)если бы достаточно было запретить только просмотр документов прошлого периода, то в Функция ОбъектПриЧтенииНаСервере (где проверяется дата запрета) можно было бы заменить

Если ИзменениеЗапрещено(ПолноеИмя, ИдентификаторДанных, Ложь) Тогда
		Форма.ТолькоПросмотр = Истина;
	КонецЕсли;


на

Если ИзменениеЗапрещено(ПолноеИмя, ИдентификаторДанных, Ложь) Тогда
		Форма.Закрыть();
	КонецЕсли;
10. alexbog80 27.08.18 11:23 Сейчас в теме
(9) 1. Ну тогда это будет закрыта всем пользователям, а как можно сделать проверку пользователя по роли что ему будет доступно? Чтобы постоянно не изменять конфигурацию, для открытия и закрытия данных.
2. а в отчетах я тут подумал, есть календарь в котором есть периоды, можно в некого как то установить минимальную дату, типа валидатора чтобы он не давал ставить дату указанную например дату запрета и редактирования ниже?
11. alex-l19041 8 27.08.18 11:31 Сейчас в теме
(10)
будет закрыта всем пользователям
- добавить дополнительное условие на доступные пользователю роли...
14. alexbog80 27.08.18 11:53 Сейчас в теме
15. alex-l19041 8 27.08.18 11:57 Сейчас в теме
(14) используйте
РольДоступна(<Роль>)
Параметры:

<Роль> (обязательный)

Тип: Строка; ОбъектМетаданных: Роль.
Название роли как она задана в конфигураторе или объект описания метаданного роли.
17. alexbog80 27.08.18 12:08 Сейчас в теме
12. alex-l19041 8 27.08.18 11:32 Сейчас в теме
(10)
в отчетах
- тогда это надо делать в каждом отчете... а если отчет внешний???
13. alexbog80 27.08.18 11:53 Сейчас в теме
(12)Т.Е. объект период он ни как не иницилизируется? Что бы установить начальную дату, сейчас там можно поставить от 01.01.0001, и ни как ее не изменить?
16. alex-l19041 8 27.08.18 11:58 Сейчас в теме
18. alexbog80 27.08.18 12:14 Сейчас в теме
(16) каким образом формируется список дат, доступные года для отчетов, он же как то иницилизирется и заполняется от и до в объекте период (в файле)
Прикрепленные файлы:
19. Fox-trot 158 27.08.18 12:20 Сейчас в теме
20. alexbog80 27.08.18 13:35 Сейчас в теме
(19) Почти в любом отчете можно выбрать дату 01.01.0001, я просто думал что он где то хранит эти данные как массив с объектами даты, который можно урезать.
3. Timur.V 78 27.08.18 10:18 Сейчас в теме
Можно через дату запрета редактирования
ссылка
5. alexbog80 27.08.18 10:20 Сейчас в теме
(3)Но это только запрет редактирования или там можно и просмотр добавить?
6. Timur.V 78 27.08.18 10:22 Сейчас в теме
(5) только запрет редактирования.
7. alexbog80 27.08.18 10:25 Сейчас в теме
(6)К сожалению тогда не подойдет
21. Artemka20121 6 28.08.18 15:32 Сейчас в теме
как вариант сделать отдельную базу (управленческую) с доступом , а вторую базу рабочую каждый год переносить в управленческую и очищать по мере надобности, вопрос в том нужны ли остатки ... если да то сделать перенос остатков и каждый год из управленческой базы делать перенос остатков в рабочую.
24. alexbog80 28.08.18 21:51 Сейчас в теме
(21)Спасибо вариант, но к сожалению он тоже вряд ли подойдет, т.к. продакшен-версия состоит из 5-баз с разными ЮР-лицами, это будет довольно трудозатратно делать.
22. ZOMI 446 28.08.18 17:00 Сейчас в теме
Есть решение.
.
Распустить слух что каждый чих логируется.

Показательно выпороть пару человек лезущих в старые документы (поймать через ЖР)

Довести распоряжение о запрете просмотра старых периодов с угрозой штрафа под роспись .

P.S. Вознаграждение готов принять как через Яндекс так и через Сбербанк.
25. alexbog80 28.08.18 21:54 Сейчас в теме
(22)Ну да можно и так) но когда в компании директоров больше чем работяг, и сюжеты иногда похлеще чем в Игре Престолов, то к сожалению тоже не подойдет)
23. Sanek32 18 28.08.18 17:39 Сейчас в теме
при открытии программно устанавливать отбор на период и запрещать его менять, или программно прописать при смене даты периода, если она меньше определенной устанавливать минимальную.
26. alexbog80 28.08.18 21:56 Сейчас в теме
(23)Добрый день, но это нужно будет тогда в каждом отчете прописывать?

я не смог найти где программно можно найти и установить НачалоПериода глобально для всего, или есть где можно запрещать менять программно?
27. SoLRoN 29.08.18 09:24 Сейчас в теме
Я думаю вам поможет механизм РЛС, в некоторой роли в шаблонах доступа надо прописать что для поля "дата" показывать только данные до текущего года. Можно обратиться к константе, которую менять каждый год (иначе каждый год придется менять дату в шаблоне роли в конфигураторе).
30. alexbog80 29.08.18 11:42 Сейчас в теме
(27)Добрый день, спасибо за ответ! Можете немного пояснить, если я правильно понимаю то механизм РЛС - накладывается на определенную роль пользователей, в которой можно прописать в шаблонах доступа ограничение по дате - и это будет распространятся на все документы и данные регистра бухгалтерии?
38. SoLRoN 30.08.18 13:44 Сейчас в теме
(30) на все, на которые сама роль будет предоставлять доступ. Конечно стоит еще следить что бы не было у пользователя роли при этом, которая разрешает все. Ну и например если роль с РЛС дает ограниченный доступ на регистр 1, а другая роль дает полный доступ на регистр 2 - не стоит ожидать что регистр 2 будет ограничен.
39. alexbog80 31.08.18 07:04 Сейчас в теме
(38) Что у меня получилось сделать, дату решил сделать через параметр сеанса, как указано в документации объявил параметр при доступе к параметру устанавливаем значение:

ПараметрыСеанса.НачалоТекущегоГода = '2018.01.01';


Создал новую роль Текущий год, в шаблонах ограничений создал новый шаблон ОграничениеПоДате с текстом:

ГДЕ #Параметр(1) >= &НачалоТекущегоГода


На вкладке Права например в разделе Документы выбираем документ, например РеализацияТоваровУслуг и в окне Ограничение к доступам данных добавляем запись Поля: <Прочие поля>, в Ограничение доступа:

#ОграничениеПоДате("Дата")


Да так работает, пользователь с данной ролью получит только данные за текущий год в данной форме, если какая то возможно прописать так чтобы назначить сразу на все документы ну или по шаблону на бухдокументы?

Но отчеты в данном случае можно сформировать и за 2017 и раньше. Где прописать в отчетах ограничения чтобы данные были не доступны, не могу найти.
40. SoLRoN 03.09.18 09:05 Сейчас в теме
(39) Как во все документы как прописать не знаю, не встречал такого. Относительно удобнее это делается через окно "Все роли", которое открывается по ПКМ на корне дерева "Роли". А по отчетам полагаю что надо так же ограничивать доступ еще и к чтению из регистров.
28. Vitaly1C8 29.08.18 10:34 Сейчас в теме
По-человечески нужно просто сделать копию базы и дать к ней доступ избранным.
Если теоретически, тогда можно скопировать Организацию и сделать "Разделение данных"
29. alexbog80 29.08.18 11:36 Сейчас в теме
(28)
По-человечески
- это решение называется по по человечески?
Теоретически можно сделать так - но, если у пользователей сейчас 5-6 баз, и к тем кому нужен будет доступ к прошлым периодом +1 к каждой базе, тогда получится более десяти, может конечно и можно так сделать но это будет просто жуть как неудобно для пользователей.

сделать "Разделение данных" - это вы имеете ввиду Сверстки базы данных?
35. alex-l19041 8 29.08.18 12:18 Сейчас в теме
(29)
неудобно для пользователей.
- в списке баз создайте группу. И тем кому нужен доступ добавьте старые базы в эту группу. И у пользователей будет все "красиво"
37. alexbog80 29.08.18 12:35 Сейчас в теме
(35) нет все таки хочется найти более красивое решение, чтобы данные были все в одной БД.

Хочу попробовать сделать через RLS
33. alex-l19041 8 29.08.18 12:12 Сейчас в теме
(28)
скопировать Организацию и сделать "Разделение данных"
- можно подробнее?
41. Vitaly1C8 03.09.18 14:27 Сейчас в теме
31. config 187 29.08.18 11:55 Сейчас в теме
Красивого решения что-то не сообразить.

Может через расширение? Этакое мега-расширение с импортированными формами с запретом, своей созданной ролью и пр.
Но его надо будет каждый раз обновлять вслед за 1Сниками. Зато конфа на поддержке останется.
В 2.0 часто делали так - создавали интерфейс для ТехКомуДоступНеНужен, а в этом интерфейсе открывали "свои" формы списка с отбором по периоду.

РЛС тоже неплохо, но этот вариант затормозит работу ВСЕХ ради тех нескольких человек, кому доступ к старым периодам нужен.
32. alex-l19041 8 29.08.18 12:10 Сейчас в теме
(31)
в этом интерфейсе открывали "свои" формы списка с отбором по периоду.
- как это может помочь в ограничении доступа к данным в отчетах
36. config 187 29.08.18 12:24 Сейчас в теме
(32)
как это может помочь в ограничении доступа к данным в отчетах

Отчеты сами "рисовали" с ограничениями. У пользователей с ограниченными возможностями их было немного
34. alex-l19041 8 29.08.18 12:14 Сейчас в теме
(31)
затормозит работу ВСЕХ
- согласен
42. Linx-p 01.09.21 13:31 Сейчас в теме
(34) почему всех? только с данной ролью (на которой хитрый rls)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот