Программный обход даты запрета изменения данных #660637


#0 by Random4Fun
Нужно, чтобы определенный документ изменялся даже, если он подпадает под запрет изменения данных. Как это можно реализовать?
#1 by palpetrovich
вставить примерно такой код Если НЕ ТакиЭтотМоментНаступил Тогда // тут оригиналmysq код на провнрку датызапрета :)
#2 by Нуф-Нуф
10000 руб.
#3 by Random4Fun
Думаю, что должны быть средства для обхода даты запрета.
#4 by Maxus43
обменданныит.загрузка = истина
#5 by Maxus43
или под полными правами
#6 by palpetrovich
если для полных тоже не запрещено
#7 by Random4Fun
Роль полные права нестандартная в моей базе, не прокатывает.
#8 by Maxus43
ну допиши механизм до типового вида, чтоб пропускал роль полные права, там обычная проверка на РольДоступна
#9 by Random4Fun
а поподробнее?
#10 by Serg_1960
Как вариант, я так думаю, можно временно изменять ПараметрыСеанса.ГраницыЗапретаИзмененияДанных при открытии формы и проведении документа.
#11 by Random4Fun
У ПараметрыСеанса.ГраницыЗапретаИзмененияДанных тип значения "Хранилище значений". Как туда дату, скажем, 00010101 засунуть?
#12 by Classic
Зачем именно такую дату? Достаточно дату на день меньше, чем дата документа
#13 by Random4Fun
"обменданными.загрузка = истина" не канает
#14 by Random4Fun
Ну как засунуть любую дату?
#15 by samozvanec
вообще лучше как в . если так делать лень, открываешь СП и ищешь там, как создать ХранилищеЗначения. если и это лень - тогда 1сник должен быть ленивым, но в свою пользу...
#16 by samozvanec
+ это если там в хранилище ожидается именно дата, а не Граница
#17 by Serg_1960
Можно проще - временно присвоить значение Неопределено.
#18 by samozvanec
свалится на сравнении, не?
#19 by Serg_1960
Нет. В типовых для полных прав этот параметр может быть Неопределено. Если дата запрета не действует на полные права.
#20 by Maxus43
куда ещё подробней то? в процедуре где проверяется дата запрета пишешь Если РольДоступна("МояГлавнаяРоль") Тогда
#21 by Serg_1960
Это откроет доступ ко всем документам, а автору нужно только к определенному документу. Ну не создавать же отдельную роль для этого случая.
#22 by BiBijke
+ к Процедура находится в подписке ПередЗаписьюДокументаДатаЗапретаРедактирования и ведет в общий модуль НастройкаПравДоступа.ПередЗаписьюДокументаПроверкаДоступностиПериода туда вписываешь код из
#23 by BiBijke
+, Для определенного вида или документа можно сделать переменную (или параметр сеанса, как угодно) и вставить код типа Если Не ИспользоваМеханизмЗакрытыхПериодов Тогда возврат Конец
#24 by Serg_1960
Тьфу на вас :) Вы всё усложняете. Не надо забывать, однако, что проверка на дату запрета "встроена" не только в форму документа и его проведение, но и в некоторые регистры "непосредственно".
#25 by sivalor
Через дополнительные свойства это можно реализовать. Настроить алгоритмы проверки игнорировать даты запрета для документов, которым установлено определенное свойство. Перед проведением документа устанавливать свойство.
#26 by samozvanec
я так понял у него не типовая
#27 by samozvanec
нужно для всех пользователей на один документ? убери проверку и все
#28 by Serg_1960
Да ладно вам :) Не настолько уж она "не типовая". Иначе бы автор не спрашивал тут, как обойти типовой функционал типовой конфигурации :))
#29 by samozvanec
+ если как в , тогда наоборот в проверку напиши, что по такому регистратору не палить
#30 by samozvanec
ну мало ли) что же у него, только ПолныеПрава нетиповые?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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