|
v7: Запрет проведения документов задним числом | ☑ | ||
---|---|---|---|---|
0
uuee76
02.09.16
✎
07:59
|
Коллеги,не являясь спецом по 7.7 и по ТиС,прошу помочь в решении проблемки.
Заказчик просит запретить изменять и проводить документы задним числом всем,кроме ну скажем с правами Администратора. Есть дата запрета,вроде подходит,но каждый день заказчику невозможно ее менять.Можно запретить править проведенные доки,и снять право отмены проведения,но есть непроведенные доки,которые можно править когда угодно любым числом и проводить.Как можно вывернуться типовым функционалом?Вариант послать уже обдумал.Дописывать в каждый документ условие проведения?Ето корежить всю конфу.Автоматом менять дату запрета?А как,при каком условии?Если было оперативное проведение,как в 8,но такого механизма вроде нет... |
|||
1
zak555
02.09.16
✎
08:01
|
Пусть меняет дату запрета робот
|
|||
2
uuee76
02.09.16
✎
08:06
|
(1) А как этого робота включить?Есть что-то,что запускается по расписанию автоматом?Где искать?Не знаю 7-ку,пните в правильном направлении.Администратор тем не менее тоже не может работать в закрытом периоде.Может без даты можно как то вывернуться?
|
|||
3
zak555
02.09.16
✎
08:08
|
(2) выделяем пользователя робота, атгоритм пишем в глобальнике, запускаем с помощью планировшика через пакетный режим
|
|||
4
uuee76
02.09.16
✎
08:13
|
(3) Понял куда рыть.Может еще мнения будут?
|
|||
5
zak555
02.09.16
✎
08:18
|
(4) перейти на 8ку
Там можно выставить дату запрета, как вчерашний день |
|||
6
uuee76
02.09.16
✎
08:22
|
(5) Ну просто замечательный вариант!))Он мне тоже нравится.
|
|||
7
Это_mike
02.09.16
✎
08:27
|
(5) а что мешает сделать так же в клюшках?
|
|||
8
Это_mike
02.09.16
✎
08:30
|
Если ДатаДок<ТекущаяДата() Тогда
Сообщить("нефик нафик!"); статусВозврата(0); Возврат; КонецЕсли; |
|||
9
Это_mike
02.09.16
✎
08:31
|
ну и опционально чонить типа:
Если Константа.ДатаЗапретаРедактироваия < ТекущаяДата()-1 тогда Константа.ДатаЗапретаРедактироваия=ТекущаяДата()-1; конецесли; |
|||
10
Это_mike
02.09.16
✎
08:32
|
только это все-таки не "заднее число", а вчерашнее.
заднее число - это уже утренний документ днем. Или документ 5-минутной давности... |
|||
11
Тихий омут
02.09.16
✎
08:32
|
Не нужен никакой робот. В ПриНачалеРаботыСистемы пишем что-то вроде
Константа.ДатаЗапретаРедактирования=ТекущаяДата()-1 Исполняется при входе любого пользователя, и всё. Ну и проверки при открытии документов, само собой |
|||
12
zak555
02.09.16
✎
08:32
|
(8) это в какую процедуру?
|
|||
13
Тихий омут
02.09.16
✎
08:33
|
(10) это уже детали
|
|||
14
zak555
02.09.16
✎
08:33
|
(11) пользователь не выходит из базы ночью
|
|||
15
Это_mike
02.09.16
✎
08:33
|
(12) в обработку проведения, вестимо.
или в глобальнике что-то типа глМожноПроводитьДокумент() есть |
|||
16
Это_mike
02.09.16
✎
08:35
|
(14) дык (9) в любой контроль записи/проведения
|
|||
17
Тихий омут
02.09.16
✎
08:35
|
(11)+ проверка в модуле формы доков примерно такая,в процедуре ПриОткрытии():
Если ДатаДок<=Константа.ДатаЗапретаРедактирования Тогда ТолькоПросмотр(1) КонецЕсли и усё |
|||
18
zak555
02.09.16
✎
08:35
|
(15) т.е. изменить документы можно, а провести нельзя?
|
|||
19
uuee76
02.09.16
✎
08:36
|
(11) Это понятно,а вот без константы никак нельзя вывернуться?Нетрадиционными способами)))?Суть задачи не дать возможность изменить данные не сегодняшние)).
|
|||
20
Тихий омут
02.09.16
✎
08:36
|
(14) ни разу не видел таких высоконагруженных систем, в которых безвылазно сидят пользователи и в течении суток ни один не зайдёт заново.
|
|||
21
Это_mike
02.09.16
✎
08:38
|
(18) ну, в глМожноРедактироватьДокумент() вставить.
Не суть важно. сказали жк человеку, куда копать... |
|||
22
Тихий омут
02.09.16
✎
08:38
|
(19) гм... от всех дураков защиту не поставишь. Например, особенно умные пользюки могут и дату компа поменять, чтобы сделать вид, что сегодня-ещё вчера, а то и раньше. Вот тут как раз робот на серваке актуален, спору нет
|
|||
23
Это_mike
02.09.16
✎
08:38
|
(19) см (8)
|
|||
24
zak555
02.09.16
✎
08:38
|
(20) когда много пользователей, то они обычно в терминале
и закрывают терминал "крестиком" рдп -- вот тебе и повисший сеанс |
|||
25
Это_mike
02.09.16
✎
08:39
|
(24) авотхрен.
|
|||
26
_stay true_
02.09.16
✎
08:39
|
Есть в семерке подписки на события?)))
|
|||
27
Это_mike
02.09.16
✎
08:39
|
(22) получать с сервера, если база сиквельная :-)
|
|||
28
Это_mike
02.09.16
✎
08:39
|
(26) в правильной семерке - есть
|
|||
29
Тихий омут
02.09.16
✎
08:40
|
(19) Собственно, ответ на вопрос - в процедуре ПриОткрытии модуля формы дока пишем любую нужную проверку типа
Если ДатаДок<=НекоеЗначениеДатыЗапрета Тогда ТолькоПросмотр(1) КонецЕсли здесь НекоеЗначениеДатыЗапрета - что угодно, пусть даже получение точного времени откуда-нибудь из инета |
|||
30
Это_mike
02.09.16
✎
08:42
|
(20) у кого работают высоконагруженные системы - такие вопросы не задают :-)
|
|||
31
uuee76
02.09.16
✎
08:43
|
(29) Товарищи,база не скульная,люди могут не выходить ночью,утром продолжать работать.
|
|||
32
Тихий омут
02.09.16
✎
08:45
|
(19) И кстати, если форма дока ну очень сильно переписанная, например, стандартная ТЧ заменена тз на форме, то ТолькоПросмотр(1) не пойдёт, там всё намного хитрее может оказаться.
(31) И что, за сутки прям реально ни один пользюк не зайдёт в базу, все сидят и сидят? Не верю. Ну даже если так - стучись из ПриОткрытии к поставщикам точного времени в инет, что тут тебе ещё сказать. |
|||
33
Это_mike
02.09.16
✎
08:46
|
(31) см. (8)+(9)+(15)
|
|||
34
Это_mike
02.09.16
✎
08:49
|
(32) Можно получать через WSH с сервера.
|
|||
35
Смотрящий
02.09.16
✎
08:58
|
(0) тАК ПРАВАМИ и разруливается - галка "Проведение документов задним числом"
Только заблокировать надо проведение документов будущей датой. Иначе ТА уедет "в завтра" и документы от сегодня система будет блокировать на редактирование - придется всех выгонять и откатывать ТА |
|||
36
varelchik
02.09.16
✎
11:55
|
(25)+100!
|
|||
37
varelchik
02.09.16
✎
11:55
|
пардон (35)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |