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

1. n_spb 05.12.17 11:32 Сейчас в теме
ЗУП 3.1, как изменить работу даты запрета изменений? Дата запрета сравнивается с первым числом месяца документа, а не с датой документа, как сделать чтобы дата запрета сравнивалась с датой документа?
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 05.12.17 11:42 Сейчас в теме
(1) не все данные привязываются к дате документа.
Там полно регистров, где документ двигает регистр по какому-то расчетному периоду. А расчетный период, это к примеру месяц. И если документ выписанный сегодня влияет, скажем, на начисление зарплаты, за январь месяц, то это тоже не должно меняться и отсекаться датой запрета.
Посмотрите движения нужного документа, и скорее всего вы увидите даты 1 число какого то там месяца, а не дату документа.

Все сложнее чем кажется на первый взгляд.
+
3. n_spb 05.12.17 12:00 Сейчас в теме
(2) Посмотрел движения документа начисление зарплаты и взносов, много движений с периодом первое число месяца. Есть решение у этой задачи?
+
4. Boneman 298 05.12.17 12:10 Сейчас в теме
(3) так и открывайте дату запрета, на начало учетного периода. Ведь именно в него вы вносите изменения, при проведении документа. Мыслите шире чем поля документа. Сам по себе документ мало что значит, значения имеют движения которые он делает, соответственно и периоды вам нужно открывать те - в которые вносите изменения.
+
5. n_spb 05.12.17 12:23 Сейчас в теме
(4) Есть возможность документы, которые созданы вчерашним днём и ранее открывать в режиме только просмотр?
+
6. гаврюша 2 05.12.17 14:03 Сейчас в теме
(5) Ставьте дату запрета ежедневно предыдущим днем... Только зачем это нужно? Определите пользователей, которым нельзя исправлять документы предыдущих периодов...
+
7. n_spb 05.12.17 14:28 Сейчас в теме
(6) В ЗУП так не работает. Дата запрета сравнивается с первым числом месяца документа, а не с датой документа.
+
8. ekaruk 4905 05.12.17 14:57 Сейчас в теме
(5) Смысл даты запрета в том, чтобы не менялись данные за периоды, которые уже выверены.
Зачем закрывать документы прошлого дня, если всё равно данные меняются более старые и текущими документами?
+
9. ekaruk 4905 05.12.17 15:00 Сейчас в теме
Вроде типовыми средствами никак. Только добавлять свою проверку.

Как вариант реализации могу порекомендовать https://infostart.ru/public/359597/
Указываете в настройках для каких документов, каким пользователям и по какому условию запрещать изменение документов. В Вашем случае по дате.
+
10. n_spb 06.12.17 10:22 Сейчас в теме
(9) А не типовыми, как можно сделать?
Посмотрел расширение по ссылке, получается для всех нужных документов придется указывать отдельную дату?
+
11. Boneman 298 06.12.17 10:43 Сейчас в теме
(10)
А не типовыми, как можно сделать?

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

Не надо этого делать !! В ЗУПе уже все сделано, так как должно быть. И когда кажется, что в нем что- то неправильно работает, и это требуется изменить, - то скорее всего, это вы (или ваш заказчик) не до конца понимает работу программы.
ekaruk; +1
12. n_spb 06.12.17 11:12 Сейчас в теме
(11) Ответа на вопрос зачем, у меня к сожалению нет, кроме того, что так нужно. Как грамотно обосновать, что этого делать не нужно?
+
13. Boneman 298 06.12.17 11:37 Сейчас в теме
(12)
Как грамотно обосновать, что этого делать не нужно?

Ну вам же уже объяснили, и Евгения и я.
Документ, который редактирует пользователь, это не все данные.
Данные, которые меняет документ введенный "сегодняшним днем", он может изменить и вчерашние, и позавчерашние.
Данные в программе хранятся не только в самих документах, но и в различных регистрах, регистрах сведений, регистрах накопления, и регистрах расчетов.
Данные в регистрах отражаются при проведении документов.
Даты (периоды) присущи как документам, так и регистрам. Именно поэтому, проводя документ датированный (сегодняшним днем), он вносит в регистр данные в другом периоде, и это не единичная ситуация,
там полным полно подобных регистров и документов, и все для чего-то нужны, и на что-то влияют, на отчеты, на остатки, в разных местах учета.

Механизм запрета изменения данных, и подразумевает - исключение возможности, попортить какие-либо данные до этой даты. Поэтому в нем проверяются не только физические даты документов, но и даты изменения в регистрах. Вот оно вам и не дает...не из за даты документа, а из за даты движений по регистру.
Если в том же документе (условно, т.к.не знаю деталей) вы выберете другой расчетный период (к примеру, расчет зарплаты будущего месяца), то этот же самый документ спокойно проведется.
Поэтому у вас речь идет не о дате запрете по документу, а о снятии даты запрета на расчетные периоды (т.е. в регистрах), что недопустимо - ибо потом не разгребете, особенно если у вас много сотрудников, и учет полноценно ведется.

На крайняк, если речь идет о периодах текущего месяца, то закрывайте не каждый день, а на последнее число предыдущего месяца. Тогда документы затрагивающие текущий месяц спокойно будут проводится, а если попытаются затронуть прошлый, то не получится. В регламентированных программах, что зуп, что бух, ставить дату запрета каждый день - не имеет смысла. Закрывают периоды.
Это в УТ-шке, так можно делать, но там по большому счету упр учет.
+
15. ekaruk 4905 06.12.17 12:47 Сейчас в теме
(12) Тут есть две отдельные задачи.
1. Защитить именно рассчитанные и выверенные результаты, чтобы ничего не сбилось, что уже рассчитано. Эту задачу решает механизм даты запрета редактирования. Он не позволяет менять именно движения рассчитанных периодов. Его логично использовать кратно расчетному периоду, т.е. сдвигать период после закрытия месяца. Именно эту задачу решает механизм закрытия периода.
2. Защитить текущие данные от корректировок. Это случаи, когда менеджеры вводят документы, а потом начинают их править задним числом. При этом по данным документам уже могут быть сформированы следующие по цепочке документы. Иногда удобнее запретить рядовым специалистам править старые исходные данные (документы), оставив это право ключевым специалистам. Т.е. рядовой пользователь может править только сегодняшние документы или только не проведенные или только те, по которым в цепочке нет следующих. Для этих задач механизм даты редактирования просто не предназначен. Это решается или правилами и инструкциями или дополнительными проверками.
+
14. ekaruk 4905 06.12.17 12:39 Сейчас в теме
(10) Да, для всех нужно указывать отдельную дату. Как вариант, можно указать не конструктором а кодом в виде ТекущаяДата()-1, если нужно не фиксированная дата, а каждый день разная.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот