Переход с редакции 2.0 на 3.0 — это сложная процедура, которая требует не только строгого соблюдения последовательности действий, но и «стерильного» состояния исходной информационной базы. Часто в процессе обновления мы сталкиваемся с тем, что система не может записать константы, такие как ВедетсяУчетЗарплатыКадров или УчетЗарплатыИКадровВоВнешнейПрограмме. Давайте разберем, почему это происходит и как привести базу в рабочее состояние.
Первое, что необходимо сделать при возникновении ошибок вида «Превышено максимальное количество видов субконто», — это проанализировать структуру вашего Плана счетов. Чаще всего проблема кроется в том, что в базе были созданы дополнительные пользовательские субсчета, особенно на счетах учета МПЗ (например, счет 10 «Материалы»).
Механизм обновления 1С жестко ориентирован на типовую структуру метаданных. Если вы или ваши предшественники добавляли субсчета, система при конвертации данных не сможет корректно «уложить» их в новую структуру редакции 3.0. Чтобы решить проблему, выполните следующие действия:
Плане счетов Хозрасчетный.Часто ошибки возникают из-за попытки использовать стандартный файл обновления .cfu, который предназначен для обновления внутри редакции 3.0. Для перехода с 2.0 на 3.0 существует специальный дистрибутив. Ищите его в разделе обновлений с названием типа Accounting_3_0_ХХ_ХХ_updstp_20.zip.
Помните, что обновление необходимо запускать только из конфигуратора, предварительно установив данный дистрибутив в каталог шаблонов. Использование обычного обновления в данном случае приведет к тому, что процедуры конвертации данных просто не запустятся.
Для успешного выполнения всех процедур обновления у пользователя должны быть полные права. Особое внимание уделите назначению специальной роли: Администратор системы (для перехода на ред. 3.0). Без этой роли некоторые методы, отвечающие за перенос данных, будут блокироваться системой безопасности.
Также важно:
РегламентныеЗадания и фоновые процессы, которые могут создавать блокировки таблиц базы данных.Если вы видите ошибку в духе:
Ошибка при вызове метода контекста (Установить): В данной транзакции уже происходили ошибки!
Настройку поддержки в конфигураторе. Убедитесь, что никто не нажимал кнопку «Включить возможность изменения», если в этом не было крайней производственной необходимости. Стандартная схема «редактируется с сохранением поддержки» является предпочтительной.Многие задаются вопросом, почему штатная утилита Тестирование и исправление информационной базы не решает проблему. Дело в том, что «Тестирование» исправляет физические ошибки в файлах базы данных или логические ошибки в данных (ссылочная целостность), но оно не исправляет архитектурные изменения метаданных, выполненные разработчиком вручную. Если вы изменили структуру плана счетов, это считается «законным» изменением конфигурации с точки зрения платформы, и исправлять это нужно вручную через Конфигуратор.
Если после всех предпринятых действий обновление все равно прерывается, самым надежным способом остается перенос данных в «чистую» типовую базу 3.0 с помощью правил обмена, входящих в поставку конфигурации. Это позволит начать работу в новой редакции без накопленных ошибок прошлых лет.