|
1с 8.2 Р-р накопления (остатки). Разные остатки в ВТ Остатки и ОстаткиИОбороты | ☑ | ||
---|---|---|---|---|
0
NatalySH
18.04.16
✎
14:04
|
База: сильно переписанная БП 3.0.23.8. Платформа 1с 8.2.19.80, sql server 2012.
Регистр остатков РасчетыАП имеет два изменения ААА и ППП. Делаем отбор без ограничения периода по ППП = Вася, получаем такую картину по регистру (колонка с расчетом сальдо добавлена вручную): Период Регистратор Приход/ Расход ААА (Измерение) ППП (измерение) Сумма Сальдо 15.01.2016 23:59:59 Док 1 1 Организация 1 Вася 9 000,00 9 000,00 21.01.2016 23:59:59 Док 2 1 Организация 1 Вася 12 000,00 21 000,00 29.01.2016 23:59:59 Док 3 1 Организация 1 Вася 7 000,00 28 000,00 31.01.2016 23:59:59 Док 4 -1 Организация 1 Вася 1 680,00 26 320,00 04.02.2016 23:59:59 Док 5 1 Организация 1 Вася 50 000,00 76 320,00 05.02.2016 23:59:59 Док 6 1 Организация 1 Вася 17 500,00 93 820,00 24.02.2016 23:59:59 Док 7 -1 Организация 1 Вася 26 320,00 67 500,00 24.02.2016 23:59:59 Док 8 -1 Организация 1 Вася 63 000,00 4 500,00 26.02.2016 23:59:59 Док 9 1 Организация 1 Вася 50 000,00 54 500,00 29.02.2016 23:59:59 Док 10 -1 Организация 1 Вася 7 050,00 47 450,00 01.03.2016 23:59:59 Док 11 1 Организация 1 Вася 10 000,00 57 450,00 10.03.2016 23:59:59 Док 12 -1 Организация 1 Вася 47 450,00 10 000,00 31.03.2016 23:59:59 Док 13 -1 Организация 1 Вася 600,00 9400,00 Случай 1: для запроса назначаем параметры: «ППП» = Вася, «Дата» = Граница (включая) 01.03.2016 0:00:00 Если получать остатки по виртуальной таблице РегистрНакопления.РасчетыАП.Остатки(&Дата, ППП = &ППП), получаем РасчетыАП Остатки.СуммаОстаток = 47 450,00 – это правильно Если получать остатки по виртуальной таблице РегистрНакопления.РасчетыАП.ОстаткиИОбороты(, &Дата, , , ППП = &ППП), получаем РасчетыАПОстаткиИОбороты.СуммаКонечныйОстаток = 47 450,00 – это правильно Случай 2 (с ошибкой): для запроса назначаем параметры: «ППП» = Вася, «Дата» = Граница (включая) 01.03.2016 0:00:01 Если получать остатки по виртуальной таблице РегистрНакопления.РасчетыАП.Остатки(&Дата, ППП = &ППП), получаем РасчетыАП Остатки.СуммаОстаток = -15 550,00 - это неправильно Если получать остатки по виртуальной таблице РегистрНакопления.РасчетыАП.ОстаткиИОбороты(, &Дата, , , ППП = &ППП), получаем РасчетыАПОстаткиИОбороты.СуммаКонечныйОстаток = 47 450,00 – это правильно Получается, что при формировании временной таблицы РегистрНакопления.РасчетыАП.Остатки в секунде между 01.03.2016 0:00:00 и 01.03.2016 0:00:01 откуда-то берется «фиктивное» расходное движение на 63 000,00. Если смотреть регистр в режиме пп, то ни в феврале, ни в марте «подходящих» движений нет (с отбором по ППП = Вася все движения регистра представлены в таблице выше; отбор по сумме 63 000,00 с отключенными другими отборами показывает только движения документа Док 8). Что делали: пересчитывали итоги по регистру; распроводили документ Док 8; переносили Док 8 «вперед» в середину марта – результат остается тот же: вьюшка РегистрНакопления.РасчетыАП.Остатки упорно «видит» лишний расход на 63 000. Посмотрели физическую sql таблицу регистра – там тоже «левых» записей не видно. Вопрос: как еще можно побороться с этой ситуацией, где и как поискать эту «лишнюю несуществующую» запись? |
|||
1
vicof
19.04.16
✎
08:13
|
Используйте границу вместо даты в остатках
|
|||
2
NatalySH
19.04.16
✎
09:41
|
(1) так и делаю, читайте внимательно сабж.
|
|||
3
aleks_default
19.04.16
✎
09:59
|
может ТИИ?
|
|||
4
NatalySH
19.04.16
✎
11:45
|
(3) ТИИ в тестовой копии пробовали без меня - сожрало место на сервере, накрылись вообще все рабочие базы, и само ТИИ пришлось остановить (а другими серваками не располагаем). А так-то оно бы помогло, поскольку:
Пришлось действовать методом научного тыка: сначала удалила вообще все движения регистра без отбора (путем получения регистраторов регистра и удаления их движений) - ошибка ушла. Тогда удалила движения регистра только с марта по апрель 2016 - ошибка ушла. Дальше повезло: оказалось, что "битую запись" делал первый же мартовский документ (в движениях которого значение измерения ППП было совсем не то, по которому глюк). Просто распроведение этого документа ошибку не устраняло: надо было (а) программно удалить его движения по регистру и (б) перепровести документ. Проблема решена. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |