Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=66879)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ 1С Розница 8 _ Отрицательный остаток в РН ТоварыНаСкладе в результате ошибок базы

Автор: Володька 14.01.22, 10:57

База файловая. Столкнулся с очередной магией. В декабре умер один узел Розницы, сразу оговорюсь, дата поломки 26.12. Отсутствовал чек. Его добавили, всё было хорошо, как тогда казалось. Сейчас увидел такую картину:
Выполняю запрос

ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.ПериодДень КАК День,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК КолНачОст,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход КАК Приход,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход КАК Расход,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот КАК Оборот,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КолКонОст,
    ТоварыНаСкладахОстаткиИОбороты.Регистратор КАК Док
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
ГДЕ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура = &Номенклатура

Результат


Вижу, что у меня на начало года остаток 0.

Выполняю запрос

Д1 = 01.01.2022 23:59:59
ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&Д1, ) КАК ТоварыНаСкладахОстатки
ГДЕ
    ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура



Получаю результат


Для остатков на любую дату (даже когда магазина не существовало) будет остаток -1.

Естественно регистратора нет, даты нет, строки нет. Что-то сломалось, что сделать для исправления? Можно как-то актуализировать виртуальные таблицы?


Автор: Володька 14.01.22, 12:31

Володька @ Сегодня, 11:57 * ,
Пересчет итогов исправляет ситуацию на копии базы. Но возникает другой вопрос. Быть уверенным в остатках нельзя? Как часто нужно делать пересчет итогов?

Автор: Vofka 14.01.22, 13:28

Цитата(Володька @ 14.01.22, 12:31) *
Как часто нужно делать пересчет итогов?

Если вы закрываете для изменения прошлые периоды (запрещаете изменять документы прошлых периодов), то имеет смысл делать пересчет итогов за закрытый период после закрытия. Если вы этого не делаете, то хз.

Автор: Володька 14.01.22, 14:56

Vofka @ Сегодня, 14:28 * ,
Если что, то пересчет итогов я делал через Конфигуратор. А Вы, наверное, имеете в виду через SQL? Через конфигуратор нельзя указать период пересчета.

Автор: Vofka 14.01.22, 18:25

Володька @ Сегодня, 14:56 * ,
Это можно и программно сделать:

РегистрыНакопления.ТоварыНаСкладах.ПересчитатьИтогиЗаПериод(НачалоПериода, КонецПериода);


У меня сейчас под рукой 1С нету, но мне казалось, что через конфигуратор тоже можно период как-то задать.

Автор: Batchir 18.01.22, 17:30

В режиме предприятия в разделе всех функций есть пункт "Стандартные", там есть управление итогами где можно пересчитывать итоги по разному для регистров

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua