что произошло, отключили остатки по хозрасчетному (как не важно), необходимо было включить. Начали включать стандартным методом Хозрасчетный.УстановитьИспользованиеИтогов(истина);. Но пересчет итогов длился 15 часов, так и не закончился. Понятно, что люди не могут работать, у всех паника, откат — востановление из бэкапа либо что-то надо было придпринимать. Что сделали.
1. Закрыл доступ для пользователей. Чтоб не мешались.
2. Удалил все итоги из таблиц Хозрасчетного командой truncate [имя таблицы]. Тут быть внимательными, т.к. надо именно таблицы итогов очистить. И не очистить случайно основные таблицы Хозрасчетного. Список таблиц итогов:
_AccRgAT013261 РегистрБухгалтерии.Хозрасчетный ИтогиПоСчетам
_AccRgAT113271 РегистрБухгалтерии.Хозрасчетный ИтогиПоСчетамССубконто1
_AccRgAT213272 РегистрБухгалтерии.Хозрасчетный ИтогиПоСчетамССубконто2
_AccRgAT313273 РегистрБухгалтерии.Хозрасчетный ИтогиПоСчетамССубконто3
_AccRgCT13274 РегистрБухгалтерии.Хозрасчетный ИтогиМеждуСчетами
3. Нашли таблицу в скуле _AccRgOpt — таблица настроек хранения итогов одна на все регистры бухгалтерии.
Нашел нужную запись соотвествующую рег.Хозрасчетного, в поле _useTotals, стояла — 2, изменили на 0 — т.е. включили итоги.
4. Запустили пользователей. Они счастливые стали проводить документы, работать дальше. Понятно, что таблицы итогов Хозрасчетного были очищены, поэтому все запросы использующие итоги выводили не правильные результаты.
5. Написал меленькую обработку из одной команды
РегистрыБухгалтерии.Хозрасчетный.УстановитьПериодРассчитанныхИтогов(Период);
и стали ее запускать по квартально двигая итоги от самого начала, соответственно все записи в регистрах итоговых создались. ушло время примерно 2 часа с нашей базой
6. На все работы потратили примерно 3 часа. И все работает.
Можно было упростить схему, но не стали рисковать, как упростить. Не очищать таблицы итогов, просто включить итоги, посмотреть на какую дату последними итоги и в таблицу _AccRgOpt в поле _Period вписать эту дату.
Всем спасибо. Может кому в помощь пригодится.
Спасибо за хорошую идею.
http://its.1c.ru/db/metod8dev/content/1798/hdoc
Заодно обнаружила, что в описании от 1С есть какая-то лажа.
Цитирую
«_Period — периодичность хранения итогов. Не используется;» — что значит «не используется», если это и есть «точка актуальности» итогов?
«_MinPeriod — минимальный период, с которого нужно пересчитывать итоги;» — это вообще какая-то волшебная непонятная субстанция. И везде стоит 3999 год, чего она вдруг «минимальная»?
Написано правильно и по делу.
Только заголовок вводит в заблуждение. Очистка таблиц — это одно, а восстановление/создание итогов средствами SQL — это другое.
Пересчет за период — с ним нужно быть внимательным, т.к. алгоритм расчета первого месяца подразумевает использование предыдущего рассчитанного. Если не захватить и не рассчитать итоги на самые первые движения, то могут быть сюрпризы.
Огромное спасибо за статью… Очень помогла.