Имя: Пароль:
1C
1С v8
дата запрета редактирования
0 I_learn_1c
 
15.12.17
16:34
УТ 10.3, файловая

В глобальном модуле обычного приложения в процедуре ПриНачалеРаботыСистемы написан этот код, чтобы в регистре ГраницыЗапретаИзмененияДанных менять даты на вчерашнюю. Есть записи типа "Организация - Все пользователи - 14.12.17"

Даты собственно в регистре и меняются, но при этом спокойно можно поменять какой-то старый док.. что может такое быть?

При установке через Сервис-Установка даты запрета изменения данных для одного пользователя интерактивно установить не дает, пишет ошибку типа такая запись в регистре уже есть (та которая с "все пользователи")

Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ГраницыЗапретаИзмененияДанных.Организация,
                   |    ГраницыЗапретаИзмененияДанных.ГраницаЗапретаИзменений
                   |ИЗ
                   |    РегистрСведений.ГраницыЗапретаИзмененияДанных КАК ГраницыЗапретаИзмененияДанных
                   |ГДЕ
                   |    ГраницыЗапретаИзмененияДанных.ГраницаЗапретаИзменений < &ГраницаЗапретаИзменений";

    ГраницаЗапретаИзменений =  ТекущаяДата() - 86400;  //60*60*24=86400 1день, 60*60*48=172800 2 дня, 60*60*72=259200 3 дня
    Запрос.УстановитьПараметр("ГраницаЗапретаИзменений", ГраницаЗапретаИзменений);
    
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    
    Если Не РезультатЗапроса.Пустой() Тогда
    
        Пока Выборка.Следующий() Цикл
            Сообщить(""+Выборка.Организация);
        КонецЦикла;
        
        НаборЗаписей = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьНаборЗаписей();

        НаборЗаписей.Прочитать();
        Для каждого Запись Из НаборЗаписей Цикл
            Запись.ГраницаЗапретаИзменений = ГраницаЗапретаИзменений;
        КонецЦикла;
        НаборЗаписей.Записать();
    КонецЕсли;
1 hhhh
 
15.12.17
16:47
(0) наверно забываете в базу перевойти
2 yavasya
 
15.12.17
16:52
(0) Возможно хранится в параметрах сеанса поэтому  +(1)
3 I_learn_1c
 
15.12.17
16:57
(2) но тогда хотя бы за позавчерашний день должна быть дата же? а я за 2008 год могу менять документы.

и как проверить эти параметры сеанса? что там хранится
4 I_learn_1c
 
15.12.17
16:57
такое ощущение что в регистре то оно записывается, но по факту не применяется, может я не дописала что то важное еще куда то?
5 hhhh
 
15.12.17
17:01
(3) может полные права? на них не распространяется
6 I_learn_1c
 
15.12.17
17:10
(5) я же запуталась.. про полные права знаю, под кассиром заходила. а сейчас этот кусок вставила в чистую ДЕМО УТ 10.3.45.2 и под менеджером например вообще не заходит, ошибка:

{МодульОбычногоПриложения(295)}: Ошибка при вызове метода контекста (Записать)
        НаборЗаписей.Записать();
по причине:
Нарушение прав доступа!

логично впринципе, но почему тогда заходило в рабочей базе, не демо, видимо там изменены права как то..

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