|
ЗУП 3.1 Дата запрета редактирования | ☑ | ||
---|---|---|---|---|
0
pavlika
04.01.19
✎
17:26
|
Пол дня мучаюсь не могу воспроизвести вот это https://its.1c.ru/db/updinfo#content:586:1:issogl1_9
Например, кадровик создал увольнение с датой документа 31.07.18, датой увольнения 03.08.18, период регистрации указал август. После установки даты запрета концом июля расчетчик не может рассчитать такое увольнение, хотя ожидается что должен. В версии 3.1.8 поведение в очередной раз изменено. Теперь кадровые и кадрово-расчетные документы "закрываются" не по дате документа, а по максимальной дате из даты документа и даты события. Т.е. в предыдущем примере такой датой будет 03.08.18, и она не попадает по дату запрета 31.07.18. Ставлю отсрочку закрытия 5-дней. Создаю под кадровиком увольнение - дата документа 31.12.2018, дата увольнения 14.01.2019, период январь. Убираю отсрочку закрытия периода. Захожу под расчетчиком в документ увольнения - он закрыт. Что я делаю не так? Релиз 3.1.8.214 |
|||
1
pavlika
04.01.19
✎
18:39
|
В общем модуле "ЗарплатаКадрыБазовый" в процедуре "ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения" для документа "Увольнение" вижу, что ограничение настроено по дате документа для раздела "Кадровый учет"
ДатыЗапретаИзменения.ДобавитьСтроку(ИсточникиДанных, "Документ.Увольнение", "Дата", "КадровыйУчет", "Организация"); Чукча, к сожалению, аналитик - на большее его не хватает. Буду признателен за подсказку каким образом реализовано сказанное в (0). |
|||
2
hhhh
04.01.19
✎
21:52
|
(1) наверно, как обычно. декабрь закрыт. значит документ от 31.12 тоже закрыт.
|
|||
3
Фрэнки
04.01.19
✎
22:26
|
По параметрам видим "Документ.Увольнение", "Дата"
"Дата" это наименование поля у этого объекта, не какая-то иная дата увольнения, а конкретно дата самого документа. Без каких-то отсрочек. Как минимум, в этой строке о наличии отсрочки ничего не говорит. |
|||
5
pavlika
05.01.19
✎
08:59
|
(2) (3) Вижу, понимаю. Но 1С говорит, что "в версии 3.1.8 поведение в очередной раз изменено. Теперь кадровые и кадрово-расчетные документы "закрываются" не по дате документа, а по максимальной дате из даты документа и даты события". Как это проверить то?
|
|||
6
Фрэнки
05.01.19
✎
10:45
|
Вариантов несколько, но их проверка потребует запуска конфигуратора и просмотра кода, которого может оказаться довольно много.
Как бы сделал я: - получил в режиме пользователя (еще до запуска конфигуратора) устойчивую ситуацию "закрытого" документа нужного вида. - в конфигураторе непосредственно перед выдачей сообщения, что документ "закрыт" включить замер производительности - получить сообщение и тут же в конфигураторе выключить замер. - конфигуратор отобразит отработавшие строки кода, по которым можно будет понять была проверка каких-то условий "поведение в очередной раз изменено" з.ы. По сути, кмк, это будет тестирование заявленного функционала, которое 1С должна была сама провести. |
|||
7
pavlika
05.01.19
✎
14:28
|
(6) Попробовал - не осилил, сообщения ведь нет, документ просто открывается для просмотра. Ковыряю документ "Увольнение". Вижу что в модуле менеджера вызывается процедура ЗаполнитьДатуЗапретаРедактирования(ОбъектДокумента, ИмяРеквизитаДатаСобытия). По описанию она заполняет реквизит ДатаЗапрета максимальным значением реквизитов документа Дата и реквизита с именем равным значению параметра ИмяРеквизитаДатаСобытия. Т.е. фактически это описание новшества 3.1.8. Осталось только найти как на значение этого реквизита завязывают право редактирования.
|
|||
8
pavlika
05.01.19
✎
16:46
|
В общем обманула 1С с примером, все немного не так как говорится в https://its.1c.ru/db/updinfo#content:586:hdoc:issogl1_9
В кадровые и кадрово-расчетные документы добавлен реквизит "Дата запрета" - при записи документа туда пишется максимальное из значений реквизитов документа "Дата" и реквизита с именем равным значению параметра "ИмяРеквизитаДатаСобытия". Последний определяется для каждого документа индивидуально. После этого в общем модуле "ЗарплатаКадрыБазовый" и "ЗарплатаКадрыРасширенный" в процедуре "ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения" для каждого объекта определяется как идет проверка даты запрета редактирования - по периоду регистрации, дате документа, реквизиту "Дата запрета" и т.д. Например, для документа "Увольнение" стоит проверка по дате документа, а для документа "Увольнение списком" проверка уже идет по реквизиту "Дата запрета". Пример. Ставим дату запрета изменения данных для всех пользователей = 31.12.2018 (конец прошлого месяца без отсрочки). Делаем увольнение сотрудника: дата документа увольнения = 28.12.18, период = январь 2019, дата увольнения = 14.01.2019. Результат: - документ "Увольнение" кадровик не может провести, расчетчик соответственно не может ни рассчитать, ни утвердить; - документ "Увольнение списком" проводится кадровиком, расчетчик его спокойно рассчитывает и утверждает. За такое описание изменений и примеры от 1С хочется сильно ругаться. |
|||
9
pavlika
05.01.19
✎
16:52
|
+(8) если уж быть совсем точным то вот тут:
- документ "Увольнение" кадровик не может провести, расчетчик соответственно не может ни рассчитать, ни утвердить; должно быть вот так: - документ "Увольнение" кадровик может только записать, расчетчик может его рассчитать, утвердить и тоже только записать. Для проведения необходимо открыть период. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |