Имя: Пароль:
1C
1С v8
Периодические расчеты. Вытеснение не возвращается на место после отмены проведения.
0 camojiet
 
13.05.19
07:07
Доброго всем дня.

Товарищи, врубающиеся в периодические расчеты, подскажите пожалуйста как победить данную ситуацию.

Кратко:
При проведении документа, с вытесняющей записью, фактический период вытесняемой записи сокращается (всё правильно). Но при отмене проведения вытесняющего документа фактический период не увеличивается обратно. При проведении дока с вытесняемой записью фактический период увеличивается до нужного значения.
Причем необязательно проводить именно тот самый документ, который должен вытесниться. Достаточно провести любой другой, который будет выполнять запись по тем же измерениям и периодам.
Перерасчеты этот момент не отражают.

Некратко:
Я заношу информацию по использованию оборудования и мне нужно вытеснять ремонтом, использование. (Клиент не платит за время, когда оборудование было на ремонте)
Мне нужно знать за любой период (до дня) где было оборудование и что с ним было (будут ещё несколько элементов вида расчетов, с несложным вытеснением, но пока хочу разобраться на простом примере, что делать с таким поведением платформы.

Решение нетиповое. Все расчетные объекты мои.
Регистр.
Периодичность день. Базовый период - нет.
Измерения - Платформа
Ресурсы - нет (меня интересуют только данные графика) Пробовал вносить фиктивный "День" - ситуация не изменилась.
Реквизиты - Клиент

Запись - ПериодДействия,ПериодРегистрации, НачалоПериодаДействия, КонецПериодаДействия - всё начало дня регистрируемой записи.

График Дата,Дней. Все значения за большой период лет - дней = 1.

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

Данные о фактическом периоде действия снимаю через виртуальную таблицу ДанныеГрафика.

Пробовал удалять движения по-разному. И вручную и автоматически. Ничего не помогает. Как быть?
1 RomaH
 
naïve
13.05.19
07:18
(0) платформа?
2 camojiet
 
13.05.19
07:19
8.3.12.1714
3 RomaH
 
naïve
13.05.19
07:21
(2) я к тому, что косяк платформы исключил? - на 8.2 работает так же?
4 camojiet
 
13.05.19
07:23
На 8.2 не проверял. Есть смысл? Такая ситуация для РР - это ненормально?
5 RomaH
 
naïve
13.05.19
07:39
(5) сейчас проверил на ЗУП 2.5
там костыль приделан
Процедура ОбработкаУдаленияПроведения(Отказ)
    Движения.ОсновныеНачисленияРаботниковОрганизаций.мВыполнятьВспомогательныеРасчеты = Истина;
КонецПроцедуры

и вроде все корректно отрабатывает
6 camojiet
 
13.05.19
08:27
Жесть. Они записывают те записи, которые могли быть вытеснены удаляемыми записями.
Это же как-то по-китайски. Попробую в упрощённом виде сделать. Может ещё как. Безобразие.
7 camojiet
 
13.05.19
10:55
Не всё так просто.
мВыполнятьВспомогательныеРасчеты приводит к функции РасчетПериодаДоначисления, которая записывает доначисления в регистр сведений. Потом вызывается задача для пользователя, в которой он я так понимаю доначислить.
Не может же быть, что это единственное решение.
На платформе 8.3.12.1855 тоже самое.
8 camojiet
 
14.05.19
02:22
Подсказали на форуме партнёров 1с.
Баг платформы. Итого по моим изысканиям:

8.3.14.1694(последняя) проблема не наблюдается (в т.ч. в режиме совместимости с 8.3.12)
8.3.13.1809 - проблема не наблюдается (в т.ч. в режиме совместимости с 8.3.12)
8.3.12.1714 - проблема есть
8.3.12.1855 - проблема есть

Проверял в серверных режимах.
Всем спасибо за участие.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.