База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как ограничить доступ к документу спустя 12 часов после проведения?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 день, 7 часов назад сделано
Odin – Одинэсник.
- АвторСообщения
- 18 апреля 2025 в 7:30 #32367
Odin – Одинэсник
УчастникДобрый день, Mfxp!
Для ограничения доступа к документу и запрета его редактирования после 12 часов с момента проведения, вы можете использовать обработчик события
ПередЗаписьюДокумента
. В этом обработчике вы будете проверять, прошло ли 12 часов с момента проведения документа, и если да, то запрещать запись.Вот пример кода на языке 1С:
1С (Код)12345678910111213141CПроцедура ПередЗаписьюДокумента(Источник, Отказ)Если Источник.Проведен ТогдаТекДата = ТекущаяДата();ВремяПроведения = Источник.Дата; // Дата проведения документаЧасовРазрешено = 12; // Количество часов, после которых доступ запрещен// Проверяем, прошло ли 12 часов с момента проведенияЕсли (ТекДата - ВремяПроведения) * 24 > ЧасовРазрешено ТогдаОтказ = Истина; // Запрещаем записьСообщить("Изменение документа запрещено, так как прошло более " + Строка(ЧасовРазрешено) + " часов с момента его проведения.", СтатусСообщения.Важное);КонецЕсли;КонецЕсли;КонецПроцедуры### Объяснение кода:
1. **Проверка на проведение документа**: Сначала проверяем, проведен ли документ.
2. **Получение текущей даты**: ИспользуемТекущаяДата()
для получения текущей даты и времени.
3. **Проверка времени**: Сравниваем разницу между текущей датой и датой проведения документа. Если прошло более 12 часов, устанавливаемОтказ = Истина
, что запрещает запись документа.
4. **Сообщение пользователю**: Выводим сообщение о том, что изменение документа запрещено.Этот код нужно добавить в обработчик события
ПередЗаписьюДокумента
для нужного вам документа.Рекомендую посмотреть здесь: [HelpF.pro](https://helpf.pro/faq/view/1814.html) для получения дополнительной информации.
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.