|
Запрет на проведение документов старше месяца | ☑ | ||
---|---|---|---|---|
0
prilforreal
01.08.18
✎
09:59
|
Доброго, Миста! Нужно запретить проводить любые документы старше месяца, можно ли сделать это не прописывая в каждом документе в процедуре ПередЗаписью отказ по условию, или хотя бы задать в модуле приложения эту процедуру и вызывать ее перед записью?
Процедурка такая: Процедура ПроверкаДатыДокумента(Отказ, РежимЗаписи, РежимПроведения) ТекДата=ТекущаяДата(); Если не СокрЛП(ПараметрыСеанса.ТекущийПользователь) = "Администратор" Тогда Если ЭтотОбъект.Дата<=ТекДата - 2592000 Тогда Если ЭтотОбъект.Проведен И РежимЗаписи=РежимЗаписиДокумента.Проведение Тогда Отказ=Истина; Предупреждение("Отказано в проведении, документ старше месяца!"); Возврат; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
1
Lexey_
01.08.18
✎
10:06
|
(0) используй подписку на событие
|
|||
2
leonidk
01.08.18
✎
10:10
|
(0) Подписки на события. И да, пользователи очень быстро научаться обходить этот код путем распроведения документов :)
|
|||
3
prilforreal
01.08.18
✎
10:11
|
(2) Тогда уберу условие Если ЭтотОбъект.Проведен и им ничто не поможет =)
|
|||
4
prilforreal
01.08.18
✎
10:12
|
(2) Можно и распроводить запретить
|
|||
5
prilforreal
01.08.18
✎
10:12
|
(1) Ни разу с подписками на события не сталкивался
|
|||
6
strange2007
01.08.18
✎
10:12
|
(0) Подписка перед записью и всё решено. После десятка таких разов, сам захочешь сделать небольшой модуль по автоматизации всех этих кусочков, чтобы потом вообще в конфигурации ничего не менять.
Да, в моих конфах уже стоит перед записью регистров, перед и при записи документов и справочников, при проведении документов и интерфейсные обработчики. И да, перед записью если ставить контроль, то и распровести не смогут |
|||
7
Lexey_
01.08.18
✎
10:12
|
(5) пришло время
|
|||
8
Гобсек
01.08.18
✎
10:14
|
(1) +100
|
|||
9
prilforreal
01.08.18
✎
10:18
|
(1) (2) Спасибо!
|
|||
10
prilforreal
01.08.18
✎
10:28
|
(6) Создал новый общий модуль, но недопонимаю синтаксис, почему то ругается на переменную ЭтотОбъект, процедуру использую ту же:
Процедура ПроверкаДатыДокумента(Отказ, РежимЗаписи, РежимПроведения) Экспорт ТекДата=ТекущаяДата(); Если не СокрЛП(ПараметрыСеанса.ТекущийПользователь) = "Администратор" Тогда Если ЭтотОбъект.Дата<=ТекДата - 2592000 Тогда Если ЭтотОбъект.Проведен И РежимЗаписи=РежимЗаписиДокумента.Проведение Тогда Отказ=Истина; Предупреждение("Отказано в проведении, документ старше месяца!"); Возврат; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
11
ildary
01.08.18
✎
10:29
|
(10) вы бы доку для начала почитали, а если как всегда некогда и надо трясти - почитайте существующие подписки на события.
|
|||
12
prilforreal
01.08.18
✎
10:34
|
(11) Я первую создаю=D
|
|||
13
ildary
01.08.18
✎
10:35
|
(12) Гугл я понимаю Вам тоже заблокировали? Предпочитаете свой позор незнания на форум носить?
|
|||
14
prilforreal
01.08.18
✎
10:47
|
(13) Нет, уже разобрался) Нетерпение и спешка овладели.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |