Дата запрета редактирования

15.07.11

Разработка - Универсальные функции

Очень часто необходимо постоянно закрывать период для редактирования документов. Вот как я вышла из этой ситуации.

Очень часто необходимо постоянно закрывать период для редактирования документов. Вот как я вышла из этой ситуации:

Я создала в базе константу ДнейЗапрета, в которую занесла количество последних рабочих дней, за которые можно редактировать документы. В процедуру ПриНачалеРаботыСистемы() Поместила следующий отрывок программы:

ДатаЗапретаНадо = РабочаяДата();
Выходных = 0;
Для н = 1 по Константа.ДнейЗапрета + Цел(Окр(Константа.ДнейЗапрета/5)*2) Цикл
ПредДата = ДатаЗапретаНадо - 1;
Если НомерДняНедели(ПредДата) > 5 Тогда
Выходных = Выходных + 1;
КонецЕсли;
Если н < Константа.ДнейЗапрета + 1 Тогда
ДатаЗапретаНадо = ДатаЗапретаНадо - 1;
ИначеЕсли н - Выходных < Константа.ДнейЗапрета + 1 Тогда
ДатаЗапретаНадо = ДатаЗапретаНадо - 1;
КонецЕсли;
Если (н = Константа.ДнейЗапрета) и (Выходных = 0) Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Константа.ДатаЗапретаРедактирования = ДатаЗапретаНадо;

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

См. также

Библиотека процедур и функций для технологической платформы "1С: Предприятие 7.7"

Универсальные функции Платформа 1С v7.7 Россия Абонемент ($m)

В библиотеку собраны различные функции по работе с документами, журналами, типами данных, строками, датой и временем, таблицами значений, Excel, файлами, XML, JSON, Http-сервисами, SMTP серверами и т.п.

1 стартмани

22.12.2023    656    9    user706545_kseg1971    0    

4

1С 7.7 и новый 1С:Контрагент

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    1816    zhenyat    7    

6

Печать таблицы значений в 1С 7.7 при отладке

Универсальные функции Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    4398    Zoltan_Black    11    

2

Установка принтера по умолчанию для 1С 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    13284    4    alsen    3    

4

Формирование строки json в 1С: 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 1С:Комплексная 7.7 Абонемент ($m)

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    10092    malovandrey    1    

18

Как создать индикатор в 1С:Предприятии 7.7

Универсальные функции Работа с интерфейсом Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    18672    2    HAMMER_59    6    

2
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
0. natalika1601 149 15.07.11 15:32 Сейчас в теме
Очень часто необходимо постоянно закрывать период для редактирования документов. Вот как я вышла из этой ситуации.

Перейти к публикации

1. platon_ 10 15.07.11 15:32 Сейчас в теме
Я бы через календарь сделал. 5-Дневку с праздниками.
3. afk 90 15.07.11 16:18 Сейчас в теме
(1) тогда будет нужна компонента Расчет
4. Арчибальд 2706 15.07.11 16:52 Сейчас в теме
(3) Совсем не обязательно. В бухии можно иметь календарь http://infostart.ru/public/84425/
5. kompas-dm 780 15.07.11 17:45 Сейчас в теме
(3)У archy , как всегда, хорошо. Я же работаю с полным аналогом календаря компоненты "Расчет" , только в Бухгалтерии.
Арчибальд; +1 Ответить
2. kompas-dm 780 15.07.11 15:43 Сейчас в теме
6. natalika1601 149 18.07.11 09:32 Сейчас в теме
Спасибо за совет и за поддержку, календарь посмотрю
7. twilight5023 339 26.07.11 00:40 Сейчас в теме
Проблема алгоритма в том, что он не анализирует предыдущего состояния константы ... Т.е. если у кого-то часы в 2020 году - то константа посчитается от этого года, если в 1980-ом, то она снимется ... я бы сделал так:

СтараяДатаЗапрета = Константа.ДатаЗапретаРедактирования;
< ... ваш текст ... >
Константа.ДатаЗапретаРедактирования = Макс(СтараяДатаЗапрета,ДатаЗапретаНадо);

Тогда если кто-то особенно умный захочет зайти в 1980 году для снятия константы - это вряд-ли получится. А вот если у кого-то часы в будущем, тогда придется снимать ее вручную. Такой подход он более правильный на мой взгляд.
11. vladimir_makarov 105 03.08.11 03:37 Сейчас в теме
(7)Девушка писала из расчёта на самых-самых бухов... недочёты есть. Я и в твоём предложении найду косяк: если я хочу зайти, а меня "не пускают", так я себе открою дорогу, а "слишком ВУМНЫМ" закрою, да так, что замучаются начальству объяснять, что с БД случилось, особенно, если оставить доступ всем пользователям, кроме таких админов... Продолжаю настаиваь на своём: не надо изобретать велосипед с квадратными колёсами, надо ПРАВИЛЬНО использовать возможности программы, изобретать только тогда, когда таких возможностей нет. Так, для начала, надо выучить то, что есть! В конце концов, если кому-то доверяешь такие вещи, дай полные права, и всё!
8. Tarlich 115 26.07.11 15:19 Сейчас в теме
-=За малым минус не поставил
9. gutentag 253 28.07.11 10:36 Сейчас в теме
У Автора нет подбной внешней обработки для 1С:Бухгалтерия 8.2 ред.2.0 ?
10. vladimir_makarov 105 03.08.11 03:24 Сейчас в теме
Я плюсанул (хотя на практике не проверял, просто идея понравилась). А теперь вопросик: а как при этом в принципе используется нормальная константа? Ответ - никак!!! Ибо, она для этого и существует, чтобы назначить ТАБУ! А если надо задним числом поковыряться, во-первых, объясни админу, по какой причине: сразу видно тех, кто косячит на работе. Более того, я ВСЕМ запрещал не только проводить задним числом, но и текущим (перепроводить). В этом случае к комментарию документа добавлялся новый автор (запоминая старого), т.е. я, не лазия по журналу регистрации сразу видел, кто, когда документ переписывал. Это не понравилось некоторым менеджерам, которые привыкли все "косяки" сваливать на трещёток. ИБО: стало видно, кто реально поучавствовал в косяке... Итог: виновные сами подходили и просили исправить ошибки, а "косячить" уже никто не мог.
На практике это применялось в ТиС.
Иваныч; +1 Ответить
13. Иваныч 23 27.02.24 13:12 Сейчас в теме
(10)Вот за это вам лично плюс кину. Хотя у себя ограничил ДатуЗапрета в прошедшую. (ТекущаяДата-1), примерно так.
12. pro-specs 30.03.15 14:08 Сейчас в теме
Оставьте свое сообщение