Переход с редакции 1.6 на 2.0 в «1С:Бухгалтерии предприятия» — это процесс, который часто сопровождается техническими сложностями, особенно если исходная база подвергалась существенным доработкам. Одной из наиболее распространенных проблем является сбой на этапе выгрузки данных штатными правилами конвертации. В этой статье мы подробно разберем ситуацию, когда система выдает ошибку о невозможности найти соответствие для таких значений, как Федеральный бюджет, Региональный бюджет или Налог на прибыль и аналогичные платежи.
Давайте разберем, почему стандартная обработка переноса данных внезапно «запинается» на перечислениях. Сообщение об ошибке выглядит следующим образом:
«Не найдено соответствие для значения Источника: Источник = Федеральный бюджет, ТипИсточника = Уровни бюджетов».
Проанализируем ситуацию: механизм обмена в 1С основан на использовании правил конвертации данных (XML-файла). В этих правилах жестко прописано, какие элементы в базе 1.6 соответствуют элементам в базе 2.0. Ошибка возникает в тот момент, когда в информационной базе 1.6 обнаруживается значение перечисления или аналитика, которая не предусмотрена в таблице сопоставления внутри правил.
Основная причина кроется в изменении плана счетов пользователем или программистом в исходной базе. Например, если на счете 68.04.2 (Расчет налога на прибыль) были добавлены дополнительные виды субконто с типом ПеречислениеСсылка.УровниБюджетов или ПеречислениеСсылка.ПрибылиИУбытки, штатная выгрузка не будет знать, как интерпретировать эти данные в новой редакции, так как структура хранения аналитики в БП 2.0 существенно изменилась.
Рассмотрим метод, предложенный автором темы, который позволяет обойти ошибку без глубокого погружения в «Конвертацию данных». Этот способ подходит, если вам нужно срочно перенести данные и вы готовы к ручным корректировкам после загрузки.
Пошаговый алгоритм действий:
68.04.2. Это необходимо, чтобы не потерять информацию о том, какие значения были установлены в субконто.68.04.2 и временно удаляем те виды субконто, на которые ругается выгрузка (например, «Уровни бюджетов»).Нужно учитывать, что этот метод является трудоемким, если объем данных велик. Рассмотрим более профессиональный подход.
Более правильным и технологичным решением является корректировка самих правил обмена. Это позволит выгрузить данные «как есть», не ломая структуру плана счетов в исходной базе. Выясним, где найти эти правила и как их изменить.
Разберем, где физически находятся правила переноса 1.6 -> 2.0. Обычно они встроены в саму обработку выгрузки, которая поставляется вместе с дистрибутивом обновления БП 2.0, либо находятся в справочнике Конвертации из информационных баз в редакции 2.0. Файл часто называется BP16_20.xml.
Процесс правки правил:
Конвертация данных 2.0.УровниБюджетов и ПрибылиИУбытки.Этот метод гарантирует, что все ссылки будут перенесены корректно, и вам не придется вручную перебивать проводки в новой базе.
Проанализируем ситуацию глубже: почему именно счет 68.04.2 вызывает такие проблемы? В редакции 2.0 методология учета налога на прибыль была пересмотрена. Алгоритмы закрытия месяца и регламентные операции теперь жестко привязаны к предопределенной структуре субконто.
Если вы, как автор темы, вернете субконто вручную, обязательно проверьте следующие моменты:
Рассмотрим пример кода, который часто используется в обработчиках ПередВыгрузкой или ПриВыгрузке в правилах конвертации, чтобы принудительно подставить нужное значение, если стандартный поиск не срабатывает:
// Пример обработчика в правилах конвертации (ПКО или ПКС)
Если Источник = Перечисления.УровниБюджетов.ФедеральныйБюджет Тогда
Значение = "ФедеральныйБюджет";
ИначеЕсли Источник = Перечисления.УровниБюджетов.РегиональныйБюджет Тогда
Значение = "РегиональныйБюджет";
КонецЕсли;
Такой подход позволяет жестко сопоставить значения, если идентификаторы в разных конфигурациях различаются (например, из-за использования префиксов или разного написания в метаданных).
Если база 1.6 сильно кастомизирована, мы рекомендуем придерживаться следующей стратегии:
ТииС (Тестирование и исправление) в базе 1.6. Это поможет устранить «битые» ссылки и ошибки кэша конфигурации, которые также могут провоцировать ошибки сопоставления.Выясним причину, почему использование старых релизов иногда помогает. Как было замечено в обсуждении, правила обмена часто оптимизируются под конкретные версии конфигураций. Если вы используете один из последних релизов БП 2.0 для загрузки из старой 1.6, попробуйте найти версию правил от более раннего релиза 2.0 (например, 2.0.53) — иногда в них таблицы сопоставления более лояльны к старым структурам данных.
Подводя итог, можно сказать, что ошибка сопоставления — это всегда сигнал о несоответствии структуры данных ожиданиям правил конвертации. Либо мы приводим данные в базе 1.6 к типовому виду (путем удаления лишней аналитики), либо учим правила понимать нашу структуру (через редактирование в КД 2.0).