В процессе обновления, переносов данных из других конфигураций и даже в процессе повседневной работы возможны технические сбои при выполнении системных операций. В большинстве случае такие сбои выявляются и успешно обрабатываются, но в некоторых случаях они все-таки приводят к ошибкам. Такие ошибки чаще всего проявляются при обращении к итоговым данным. Например, в оборотно-сальдовой ведомости «не сходится» сальдо начальное, оборот и конечное сальдо или итоги. Для исправления данной ситуации требуется пересчет итогов.
Пересчет итогов может быть выполнен в режиме конфигуратора (Меню Администрирование - Тестирование и исправление).
В случае, если нет возможности запустить конфигуратор, то пересчет итогов может быть выполнен и из пользовательского режима. Для этого следует сделать следующие действия.
- Определить дату первого проведенного документа в информационной базе. Для этого можно воспользоваться «Журналом операций» (раздел Учет, налоги, отчетность). В списке следует снять все отборы. Например, 31.12.2011.
- Откроем форму Управление итогами и агрегатами (Раздел Администрирование - панель действий Сервис).
По кнопке «ОК» начнется пересчет итогов. После завершения пересчета итогов стандартные отчеты будут формироваться без ошибок.
Понравилось? Поделись с друзьями
Консультации по работе с программой 1С
Сервис открыт специально для клиентов, работающих с программой 1С разных конфигураций или находящихся на информационно-техническом сопровождении (ИТС). Задайте свой вопрос, и мы с удовольствием на него ответим! Обязательным условием для получения консультации является наличие действующего договора ИТС Проф. Исключением являются Базовые версии ПП 1С (8 версия). Для них наличие договора не обязательно.
) а разработчики платформы тут не причем, это довольно известное архитектурное решение, не удалять "нулевые" записи. Я бы даже сказал что это давняя "священная война".
Тут самое главное понять что запись с нулевым количеством в итоге, совершенно не означает что эта запись не нужна.
При проектировании реляционных СУБД считается (считалось) что операции CRUD (Create, Read, Update, Delete) по затратам ресурсов распределяются следующим образом
1. Легкие: Read, Update
2. Средние: Create
3. Тяжелая: Delete
И исходя из логики поведения объекта Регистр, который меняется часто; и из-за больших затрат на удаление записей, существует позиция что:
запись итога не имеет смысла удалять синхронно в момент возникновения нулевого итога, потому что "ноль" не означает "NULL" и потому что велика вероятность того что следующая транзакция "захочет" увеличить или уменьшить итог и он станет ненулевым и нам необходимо будет понести затраты еще и на операцию вставки.
отсюда и посыл, что записи с нулевым итогом имеет смысл удалять асинхронно, то есть в определенный момент времени - но опять же неизвестно как определить этот самый "определенный момент". Такое определение должно лежать на ответственных за приложение - чаще всего как мы знаем пересчет итогов возникает в один момент времени при закрытии периодов учета и подается как некая подготовительная процедура. Вот тут и кроется проблема о которой давно известно - бизнес-задача Закрытие периода не является задачей обеспечения технической стабильности и бизнес иногда может на неё "забить".
У меня в практике была таблица с 400 миллионами записей с нулевым итогом.
И вот тут я могу сказать что разработчики платформы слегка "недочлись" (от слова "недочет") - дело в том что согласно вышеописанному архитектурному решению явно становится понятно, что:
Удалять записи с нулевым итогом нужно по тем ключам (комплектам измерений), по которым длительное время не было операций UPDATE. А этого функционала в платформе нет - есть только глобальный пересчет. В крупных конторах это решается SQL Job"ом выполняющем примерно следующую работу:
1. найти 1 комплект ключей (измерений) по которому не было движений за последний месяц и которые на данный момент нулевые
2. по данному комплекту измерений удалить запись из таблицы итогов
обычно данный Job запускается раз в 10 секунд, выбирается TOP 1 чтобы уменьшить время блокировки на затратную операцию удаления. Естественно в такие базы уже встроены и планы обслуживания по пересчету статистики и перестроению дефрагментированных индексов. В случаях когда таких "ненужных" записей очень много - то обычно уменьшают период запуска Job, либо отказываются от Регистра Итогов - потому что если у вас много ключей уходит в "ноль" и больше не используется, скорее всего у вас по данным ключам 2 операции движения "пришел" и "ушел" - зачем хранить такую информацию в регистре итогов совершенно не ясно.
Ну и про статистику тут тоже все изъезжено - масcовые операции CREATE И DELETE, а также UPDATE ключевого столбца ведут к нарушению дерева поиска по индексу (диапазона распределений ключа по страницам данных) - ну то есть в поисковом диапазоне 1..10 вполне себе может оказаться ключ со значением 23 - так SQL было удобней, потому страница данных была рядом со страницей ключа 7, а ключ 6 заместо которого встал ключ 23 окажется в диапазоне 100..134 - что тоже было удобней исходя из страниц данных. Пример на пальцах - но думаю суть отражает.
Вообще про статистику в момент массовых операций удобно понять следующее: когда вы делается массовую вставку данных SQL пытается вам помочь и оперирует близостью страниц данных для оптимизации вставки и совершенно забывает про оптимизацию операций чтения, где параметром является статистика (диапазоны поиска ключа в таблице - распределение ключа), поэтому чтобы после массовых вставок операции чтения были тоже быстрыми - необходимо восстановить работоспособность инструмента оптимизации чтения выполнив UPDATE STATS.
Да и еще забыл сказать - массовое удаление ведет к массовому возникновению фантомных записей: запись числится удаленной но место занимает - такая ситуация ведет к снижению производительности операций выборок типа SCAN (просмотр).
Ганс; Anikrion; Albert_2008; Niberu; ser6702; MarchTomCat; olezhe; user598655_ilia-bers; klaus38; LordKim; lmnlmn; spenser123; Monte Carlo; acanta; zaharknyaz; Aggressorak; vesd; Ilya$n; Waanneek; SkyJack; letarch; aegoncharov; user777757; [email protected]; mytg; Gang031; ice-net; Goga1979; ChessCat; RegrZ; 1cprogr_nsk; Irwin; Paradise.87; KAV2; корум; Roman100; for_questions; ragimi; EugeneMIPT; kai nk; kitaevay; crosby; Noxie41; Alex_grem; nixel; new_user; tdml; NeviD; RimidalV; reboot; denis_aka_wolf; Flashill; marchenko.y; freya-khv; asg.aleks; denis13; adm134; TIS_08; mtv:); soulsteps; shalimski; Anesk; pisarevEV; Silenser; kwazi; engineer74; vadimlp77; Артано; dgolovanov; pchela751; aexeel; artbear; jif; Dmitryiv; Rego1337h; slavap; WizaXxX; IvanBoychuk123; fishca; Evil Beaver; Dach; RodinMax; sanches; mdmdvd; zakakvo; Krio2; jacksonp; adeich; afedor; MaximStav; DoctorRoza; Serg0FFan; sanfoto; kinazarov; Bukaska; theshadowco; oitnur; JesteR; detec; audion; laeg; morok1983; krv2k; Di-dog; sparklemal; awa; KAPACEB.AA; Chif13; sa1m0nn; CratosX; AllexSoft; galich; vlad.frost; igorynets; tormozit; vasiliy_b; vladir; meuses; Poopkeen; Andreynikus; Prad2002; dicwork; JohnyDeath; An-Aleksey; It-developer; rgrisha; Bronislav; 7o2uYXg; HolodZar; адуырщдв; AzagTot; Рамзес; DenisCh; PONOM; rеd80; w-divin; metmetmet; CheBurator; PressaLod; Diversus; sevushka; Aleksey.Bochkov; yuraos;
Как остаточные, так и оборотные регистры накопления физически состоят из двух таблиц: таблицы движений и таблицы итогов. Таблица итогов содержит агрегированные по измерениям данные из таблицы движений, для более быстрого доступа к этим данным. Итоги по умолчанию существуют по месяцам, на первое число каждого месяца; для регистров остаточных отдельно хранятся еще и актуальные итоги, то есть итоги текущего месяца. Для каждого отдельно взятого регистра текущие итоги могут быть отключены.
В момент проведения документа-регистратора, формируется как запись в таблице движений, так и запись в таблице итогов, причем, если документ проводится прошедшим месяцем - то записей будет сделано по числу прошедших месяцев. То есть все прошлые итоги обновляются.
Для измерений регистра можно отключать использование итогов, это положительно сказывается на быстродействии базы:
Также, заметим, что есть две альтернативы - использование итогов либо использование агрегатов ; второй вариант более гибкий.
Вопрос 12.30 экзамена 1С:Профессионал по Платформе. Итоги для регистров накопления остатков:
- Не хранятся
- Хранятся. Они не ограничены периодом рассчитанных итогов, так как рассчитываются системой автоматически при открытии следующего периода
- Могут храниться, но ограничены периодом рассчитанных итогов. Если их не рассчитывали, то и не хранятся. Управлять рассчитанными итогами можно в режиме 1С:Предприятие
- Верны ответы 2 и 3, так как автоматический расчет промежуточных итогов может быть задан в режиме конфигуратора
Правильный ответ третий.
Вопрос 12.32 экзамена 1С:Профессионал по Платформе. При работе с регистром накопления с видом "Остатки" выключение итогов приводит к тому, что:
- можно получить только оперативные остатки
- можно получить остатки на любой момент времени, но скорость их получения увеличиться
Правильный ответ второй. В случае включенных итогов, остатки доступны с периодичностью Месяц.
Вопрос 12.33 экзамена 1С:Профессионал по Платформе. При пересчете текущих итогов пользователем:
- будут пересчитаны текущие итоги только для текущего сеанса
- будут пересчитаны все текущие итоги
- будут пересчитаны текущие итоги для текущего или для всех сеансов в зависимости от настроек регистра
Правильный ответ второй, понятие итогов "текущего сеанса" не существует. А собственно пересчет итогов - это процедура перезаполнения таблиц итогов, т.к. со временем естественным путем в ней накапливаются строки с нулевыми значениями, что снижает быстродействие системы.
Вопрос 12.34 экзамена 1С:Профессионал по Платформе. При пересчете итогов пользователем:
- будут пересчитаны итоги только для текущего сеанса
- будут пересчитаны итоги для текущего или для всех сеансов в зависимости от настроек регистра
- будут пересчитаны все итоги
- можно выбрать, для каких сеансов будут пересчитаны итоги
Правильный ответ третий, см. предыдущий вопрос.
Вопрос 12.35 экзамена 1С:Профессионал по Платформе. При записи данных в регистр накопления существует возможность:
- отказаться от использования итогов (повышается параллельность записи наборов записей)
- отказаться от использования текущих итогов (повышается параллельность записи наборов записей)
- верны ответы 1,2
Правильный ответ третий - чем меньше таблиц, тем быстрее работает система. Отключение итогов производится программно:
РегистрХозрасчетный = РегистрыБухгалтерии.Хозрасчетный; РегистрХозрасчетный.УстановитьИспользованиеИтогов(Ложь);
Вопрос 12.36 экзамена 1С:Профессионал по Платформе. При работе с регистром накопления выключение текущих итогов приводит к тому, что:
- уменьшится скорость получения любых остатков
- можно получить остатки на любой момент времени, но скорость получения оперативных остатков увеличиться
- не влияет на скорость получения остатков, а влияет на скорость получения оборотов
См. вопрос 12.32.
Вопрос 12.37 экзамена 1С:Профессионал по Платформе. В режиме конфигуратора может быть выбрана следующая периодичность таблицы итогов регистра накопления:
- В пределах дня
- В пределах месяца
- В пределах квартала
- Непериодический
- Любой из вышеуказанных вариантов
- Не может быть выбрана
Правильный ответ шестой - итоги всегда рассчитываются помесячно, на первой число следующего месяца.
Вопрос 12.39 экзамена 1С:Профессионал по Платформе. Как система 1С:Предприятие 8 может хранить итоги для оборотного регистра накопления?
- Только с помощью таблицы итого
- Только с помощью таблицы агрегатов
- Одновременно в таблицах итогов и агрегатов
- Либо в таблице итогов, либо в агрегатах
Правильный ответ четвертый, итоги и агрегаты это альтернативные режимы работы.
Вопрос 12.40 экзамена 1С:Профессионал по Платформе. Выберите верное утверждение по отношению к регистрам накопления
- Для одного регистра накопления может использоваться несколько таблиц итогов
- Для одного регистра накопления может использоваться только одна таблица агрегатов
- Для одного регистра накопления может использоваться несколько таблиц агрегатов
- Верны варианты 1 и 2
- Верны все варианты
Правильный ответ третий - таблица итогов строго одна для регистра. Таблиц агрегатов может быть создано множество.
Вопрос 12.44 экзамена 1С:Профессионал по Платформе. Что может отображаться в таблицах итогов регистров накопления?
- Данные измерений
- Данные ресурсов
- Данные реквизитов
- Верны все варианты
- Верны варианты 1 и 2
Правильный ответ пятый, итоги - это основная таблица регистра, свернутая по измерениям.
Вопрос 12.45 экзамена 1С:Профессионал по Платформе. Какая часть активных записей может не отображаться в таблицах итогов регистров накопления?
- Данные измерений
- Данные реквизитов
- Данные ресурсов
- Верны все варианты
- Верны варианты 1 и 2
Правильный ответ пятый. Реквизиты в итогах не отображаются. Измерений у регистра может и не быть, а вот ресурс обязателен.
Вопрос 12.46 экзамена 1С:Профессионал по Платформе. Какая часть не активных записей может не отображаться в таблицах итогов регистров накопления?
- Данные измерений
- Данные реквизитов
- Данные ресурсов
- Верны все варианты
- Верны варианты 1 и 2
Правильный ответ четвертый, неактивные записи не отображаются вообще.
Вопрос 12.47 экзамена 1С:Профессионал по Платформе. Какая часть активных записей никогда не отображается в таблицах итогов регистров накопления?
- Данные измерений
- Данные реквизитов
- Данные ресурсов
- Верны все варианты
- Верны варианты 1 и 2
Для выполнения полного пересчета бухгалтерских итогов следует выбрать кнопку "Полный пересчет итогов" . При этом выполняется пересчет всех бухгалтерских итогов с наиболее ранних операций (по дате), и до установленного в данном режиме квартала - границы поддержки итогов.
Полный пересчет итогов может потребоваться в двух случаях.
Во-первых , при изменениях настроек валютного, аналитического или количественного учета по бухгалтерским счетам система предлагает выполнить пересчет итогов немедленно. Однако, если требуется выполнить изменения сразу у нескольких счетов, то от немедленного пересчета целесообразно отказаться. В этом случае система не может поддерживать в корректном состоянии бухгалтерские итоги до тех пор, пока не будет выполнен полный пересчет итогов в режиме "Управление бухгалтерскими итогами" . Система будет сигнализировать об этом при обращении к итогам и при запуске программы.
Во-вторых , полный пересчет итогов может быть выполнен в случае, если происходили сбои компьютера при работе с программой и текущее состояние итогов могло нарушиться. В этом случае полный пересчет итогов позволяет восстановить целостность всех итогов.
При полном пересчете выполняется также проверка существующих проводок и в них производятся исправления в случае обнаружения несоответствия значений проводок настройкам валютного, аналитического и количественного учета по счетам, а также признаков забалансового учета.
Внимание!
Полный пересчет итогов может занять продолжительное время при большом количестве бухгалтерских операций в информационной базе
.
Использование режима "Управление бухгалтерскими итогами"
Режим управления бухгалтерскими итогами носит, скорее, административный характер. Обращение к нему выполняется достаточно редко, обычно при изменении настроек счетов или при переходе к следующему кварталу.
При использовании сетевой версии 1С:Предприятия все действия в данном режиме могут выполняться только в монопольном режиме запуска программы. Эта особенность определяется важностью выполняемых действий при пересчете бухгалтерских итогов.
В разделенном режиме может быть выполнен только просмотр текущей установки границы поддерживаемых итогов.