Меню

Сабсистемс Сабсистемс Мегапрайс Мегапрайс Разработки Разработки Форум Форум Поддержка Поддержка Отзывы Отзывы Об Авторе Об Авторе Новости Новости
Регистрация Войти
Страницы: 1
Ответить
RSS
Автоматическая установка даты запрета редактирования
 
Описание добавления в программу способа, позволяющего автоматически устанавливать дату запрета редактирования.
Данный метод раз и навсегда позволяет уйти от проблемы контроля даты запрета редактирования.


Наверно все знают что такое дата запрета редактирования. Знают как устанавливается и где. Вопрос только в том, что кому то надо постоянно за ней следить, устанавливать.
Как правило для большинства пользователей программа должна автоматически
каждый день запрещать менять что-либо задним числом.
В восьмерке основная проблема, что дата запрета должна ставится до начала работы пользователей,
иначе после установки она не будет применена в силу пока пользователи не перезайдет в программу.
Тоесть кто-то с утра, самый первый, должен зайти и сразу поставить запрет.
Представляете что это будет?
Итак решение (внимание, действия должны выполнятся специалистом)
Общий Модуль - Полные Права - Процедура
Процедура УстановитьПараметрГраницыЗапретаИзмененияДанных() Экспорт


В начало процедуры код:

//Мания1С
Попытка
СоответствиеГраницЗапрета = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить();
ГраницаПериода = СоответствиеГраницЗапрета["ОбщаяДатаЗапретаРедактирования"];
Вчера = НачалоДня(НачалоДня(ТекущаяДата())-1);
ПозаВчера = НачалоДня(НачалоДня(Вчера)-1);
Если ГраницаПериода < ПозаВчера Тогда
Рег = РегистрыСведений.ГраницыЗапретаИзмененияДанных;
Набор = Рег.СоздатьНаборЗаписей();
ТекущиеДанные = Рег.Выбрать();
Пока ТекущиеДанные.Следующий() Цикл
Если ЗначениеЗаполнено(ТекущиеДанные.Организация) Тогда
Продолжить;
КонецЕсли;
Запись = Набор.Добавить();
Запись.Организация = ТекущиеДанные.Организация;
Запись.Пользователь = ТекущиеДанные.Пользователь;
Запись.ГраницаЗапретаИзменений = ПозаВчера;
КонецЦикла;
Набор.Записать();
КонецЕсли;
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

Всё. После добавления этого кода, каждый день при входе первого пользователя программа автоматически устанавливает дату запрета редактирования для всех последующих пользователей. (в моем примере дата автоматически устанавливается для всех пользователей на позавчерашний день).
 
все прекрасно работает на версии УТ 10.3 (10.3.17.4)  и не хочет работать на УТ 10.3 (10.3.29.1) , возможно такое, что код не подходить для обновленной версии?
 
Должно работать, но если есть проблема надо проверить.
Страницы: 1
Ответить
Читают тему
Форма ответов
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Отправить Отменить