helpf.pro
Регистрация

v8.3: Как добавить запись в регистр сведений?

ulka5659
21.10.2015 09:23Прочитано: 890

Доброго дня. Вопрос такой. Есть документ в котором пользователю назначаются права доступа к ресурсам. Например Иванов А.А. доступ (истина) к db1, db2, db3 все хорошо: документ создали в регистр записали. Далее через неделю, например, опять служебка у Иванова доступ к db 1 забрать, а дать к db8, к db2 и db3 оставить как есть. 

Вот тут вопрос, не могу сообразить, как сделать?

1. Сказать пользователю открывать существующий документ и менять там? Тогда пользователю его как-то искать придется ну поставлю фильтрацию и т.п., найдет перепроведет с новыми данными? Корректно ли это? 

2. Или все таки правильнее новый документ создать в котором что-то делать. Сейчас естественно при попытке в новом документе перезаписать новое значения доступа система выдает ошибку, что запись уже существует.

Есть ли какое то решение. Или первым способом все оставить не смертельно?

Yandex
Возможно, вас также заинтересует
Реклама на портале
ulka5659
21.10.2015 09:24Ответ № 1

заявки

IBReiter
21.10.2015 09:31Ответ № 2

Регистр очищать нужно перед записью, если это из одного документа делается, он подчинен регистратору?

IBReiter
21.10.2015 09:33Ответ № 3

Регистр как выглядит: Сотрудник | База | Разрешить/Запретить, или просто Разрешить?

И еще, нужна ли история доступов сотрудника?

ulka5659
21.10.2015 09:40Ответ № 4

Да, все в одном документе. Регистр Сотрудник, База - измерения, Доступ-булево-Ресурс

Да, история нужна.

IBReiter
21.10.2015 09:51Ответ № 5

Первый способ не смертельно, но тогда с историей нужно думать

Делайте отдельными документами, если подчинен регистратору, ошибок при записи не возникнет

Ну и очистку регистра проверьте перед при проведении документа

ulka5659
21.10.2015 11:20Ответ № 6

Отдельными документами, только очистку регистра надо добавить я правильно понимаю?

IBReiter
21.10.2015 11:26Ответ № 7

Я имею ввиду очистку движений текущего документа при проведении, перед заполнением набора записей

Ошибка на дублирование записей была скорее всего из-за того, что вы сразу к текущим движениям новые добавляли

ulka5659
21.10.2015 11:32Ответ № 8
Код 1C v 8.х
 // регистр ДоступКИБ
Движения.ДоступКИБ.Очистить(); //---------------> вот так?
Движения.ДоступКИБ.Записать();
Движения.ДоступКИБ.Записывать = Истина;
Для Каждого ТекСтрокаТЧ_ИБ_СписокБазДляЗаполнения Из ТЧ_ИБ_СписокБазДляЗаполнения Цикл
Движение = Движения.ДоступКИБ.Добавить();
Движение.База = ТекСтрокаТЧ_ИБ_СписокБазДляЗаполнения.База;
Движение.Пользователь = ПользовательКому;
Движение.Доступ = ТекСтрокаТЧ_ИБ_СписокБазДляЗаполнения.Доступ;
КонецЦикла;


IBReiter
21.10.2015 11:38Ответ № 9

Ну да, так

ulka5659
21.10.2015 11:43Ответ № 10

все равно дает ошибку дублирования

ulka5659
21.10.2015 11:56Ответ № 11

А нет, вру. 

ulka5659
21.10.2015 11:56Ответ № 12
ulka5659
21.10.2015 13:02Ответ № 13
ulka5659
21.10.2015 13:03Ответ № 14

Прошу прощенья за пустые сообщения промазала

Теперь нормально все... Вроде.. Еще вопрос есть. А если надо отменить назначение прав. Создать новый объект конф. ДокументОтменаПрав (например) и там назначенным правам ставить ложь, ну в смысле галочку снимать с доступа?? Не важно как. Я про то что другим доком придется отъем прав делать? Или можно, как то в этом документе это провернуть?

IBReiter
21.10.2015 13:32Ответ № 15

Делайте одним документом, указать база и доступ = истина или ложь

Если истина -  даете, если ложь - отнимаете, период - дата документа.

При проверке прав проверяете срезпоследних регистра, если  истина есть если ложь соответственно нет

ulka5659
21.10.2015 13:33Ответ № 16

Спасибо)

God1c
31.10.2015 01:01Ответ № 17
Вопрос закрыт!
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.