В процессе работы с программой «1С:Зарплата и Управление Персоналом», редакция 2.5, можно столкнуться со специфической проблемой: у одного из пользователей при попытке сформировать личную карточку работника (форма Т-2) отчет длительное время висит (формирование может занимать до получаса или часа), после чего завершается сбоем. При этом у соседних пользователей с аналогичными правами доступа и на тех же информационных базах отчет открывается моментально — за 1 секунду.
Разберем подробнее причины возникновения подобного поведения, проанализируем стек вызовов ошибки и рассмотрим проверенные способы решения этой проблемы.
При длительном ожидания вывода результата система генерирует следующую ошибку контекста:
{Отчет.УнифицированнаяФормаТ2.МодульОбъекта(86)}: Ошибка при вызове метода контекста (Вывести)
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
по причине: Ошибка вывода результата
по причине: Ошибка при выводе результата
по причине: Ошибка получения данных
по причине: Ошибка создания набора данных "Данные"
по причине: Ошибка при исполнении запроса набора данных
по причине: Ошибка выполнения запроса
по причине: Недостаточно памяти для получения результата запроса к базе данных
Выясним причину такого поведения. Отчет «Унифицированная форма Т-2» построен на основе Схемы компоновки данных (СКД) и собирает информацию из десятков кадровых регистров сведений (сведения о стажах, образовании, составе семьи, воинском учете, кадровых перемещениях). Когда у конкретного пользователя сохранены индивидуальные варианты настроек, отборов или группировок, механизм СКД динамически перестраивает SQL-запрос.
Если в настройках пользователя присутствует искажение или специфический отбор, запрос к СУБД начинает порождать дублирование строк (декартово произведение) при соединении таблиц. Это приводит к критическому росту объема временных таблиц в оперативной памяти и превышению допустимых лимитов рабочего процесса 1С.
В большинстве случаев проблема кроется не в локальном кэше компьютера или повреждении базы данных, а в повреждении структуры сохраненных настроек отчета у конкретной учетной записи.
Рассмотрим по шагам, как восстановить корректную работу отчета:
После сброса настроек СКД генерирует стандартный, оптимизированный запрос, и отчет начинает формироваться в штатном режиме за доли секунды.
Если сброс настроек внутри отчета не помог, проанализируем альтернативные варианты решения:
AppData\Local\1C\1Cv82 и AppData\Roaming\1C\1Cv82).УнифицированнаяФормаТ2 у данного пользователя.