Имя: Пароль:
1C
 
ЗУП 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) если уж быть совсем точным то вот тут:

- документ "Увольнение" кадровик не может провести, расчетчик соответственно не может ни рассчитать, ни утвердить;

должно быть вот так:

- документ "Увольнение" кадровик может только записать, расчетчик может его рассчитать, утвердить и тоже только записать. Для проведения необходимо открыть период.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн