Запрет редактирования документа задним числом на RLS #245179


#0 by shachneff
Нужно дать полный доступ к документу (проведение, снятие и т.п.) в течение текущего дня. Вчерашние изменяться не должны. Хотелось бы узнать, можно ли это по RLS сделать? Программно могу, просто осваиваю новые горизонты.
#1 by ТелепатБот
#2 by IronDemon
Ну так в типовой УТ так и сделано
#3 by Defender aka LINN
Можно. Добавляешь параметр сеанса "ТекщаяДата" и в RLS на изменение что-то вроде
#4 by afnsv_jul
У меня тоже такая беда с регулярным "лазением задним числом с исправлениями" можно подробней как это релизовать?
#5 by afnsv_jul
Ау!
#6 by Salvador Limones
Так в всё сказано. Вот только что ставить в ПС.ТекущаяДата - это нужно подумать. ТекущуюДату или РабочуюДату, или еще что.
#7 by vde69
Уже все реализованно, см датаЗапретаРедактирования,
#8 by afnsv_jul
Эту дату запрета редактирования КТО-ТО все время должен ручками переставлять. А если это Кто-то забудет?
#9 by vde69
так тебе осталось только автоматизировать этот процесс, а это совсем не сложно :) например архивы ночью делаешь, сделай и общее закрытие смены, делов-то на 30 минут
#10 by IronDemon
Чтобы КТО-ТО не забывал.
#11 by afnsv_jul
Вот автоматизацией-то я и интересуюсь! И прошу совета у специалистов, чтобы меня потом не побили.
#12 by afnsv_jul
Мама дорогая! Вот это супер!
#13 by vde69
делаешь процедуру по изменении даты запрета, ставишь ее в глобальный модуль, в нем-же в процедуре приЗапуске ставишь проверку параметра (который передаеться через "S" ) и ночью в скрипте запускаешь 1с, для этого даже монопольный режим не нужен, по этому вообще все просто
#14 by afnsv_jul
Простите за глупый вопрос: "Это в модуль каждого документа?"
#15 by afnsv_jul
Вопрос снят
#16 by vde69
тебе-же сказали, что все это уже реализованно, тебе надо только устанавливать даты запрета и все!!!!
#17 by shachneff
Ну вот теперь все понял. Для роли добавляем в право Изменение для каждого документа условие на сравнение ГДЕ Дата = &ТекущаяДата. Теперь осталось узнать, как передать в RLS этот параметр :-)
#18 by shachneff
У меня задача не в типовой.
#19 by IronDemon
Посмотри в типовой УстановитьПараметрГраницыЗапретаИзмененияДанных
#20 by shachneff
Там реализовано сравнение со значением регистра сведений. А как передать значение через параметр?
#22 by vde69
сейчас посмотрел: не "S" а "C"
#23 by shachneff
ты это к чему написал? Я ж хочу в RLS передать значение параметра, как, например, в запрос.
#24 by IronDemon
RLS есть обычный запрос. РеализацияТоваровУслуг ИЗ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГраницыЗапретаИзмененияДанных КАК ГраницыЗапретаИзмененияДанных ГДЕ (РеализацияТоваровУслуг.Дата >= ГраницыЗапретаИзмененияДанных.ГраницаЗапретаИзменений            ИЛИ ГраницыЗапретаИзмененияДанных.ГраницаЗапретаИзменений ЕСТЬ NULL )
#25 by shachneff
Ну почему вы все мне как маленькому объясняете то, что я и так могу в УТ посмотреть? Если ваш пример сидит внутри права Изменение, как установить значение параметра &ОбластьДанныхМенеджераПоПродажам например? Дайте мини-пример!!!
#26 by IronDemon
Параметры сеанса.
#27 by Defender aka LINN
Если сделаешь именно так - то откроешь для изменения только одну секунду :)
#28 by shachneff
Я знаю, написал для наглядности. Помню аки Отче наш о формате хранения времени в 1С
#29 by Гений 1С
Бог мой, выросло новое поколение наступателей на грабли. Уж сколько раз твердили, что из всех РЛСов от 1С имеет право на жизнь только РЛС на чтение, остальные - от лукавага. Окстись...
#30 by Гений 1С
В РЛС нельзя видеть предыдущую версию объекта, например... короче лажа этот ваш РЛС.
#31 by Neco
Ну и зачем в РЛС на чтение видеть предыдущую версию объекта?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С