Как правильно и быстро перенести начальные остатки из 1С:УПП 1.3 в 1С:Бухгалтерию предприятия

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

Переход с комплексной системы управления предприятием 1С:УПП 1.3 на более простую 1С:Бухгалтерию предприятия — задача нередкая. Обычно она возникает, когда компания отказывается от сложного производственного учета в пользу простой регламентированной отчетности. Самым сложным и трудоемким этапом этого процесса является перенос начальных остатков. Ввод всех данных вручную по каждому субсчету и субконто грозит колоссальными временными затратами и высоким риском человеческой ошибки.

В этой статье мы подробно разберем, как автоматизировать процесс переноса начальных остатков из УПП в Бухгалтерию, проанализируем основные технические подходы, разберем сложности сопоставления аналитики и предоставим готовые алгоритмы действий.

В чем сложность переноса остатков из УПП в БП?

Давайте проанализируем структуру хранения данных в обеих конфигурациях. Основная сложность заключается в том, что механизмы учета в этих программах существенно различаются:

  1. Документы ввода остатков: В 1С:УПП нет единого специализированного документа для ввода начальных остатков по всем разделам. Учет начинается с ввода оперативных документов по регистрам накопления и бухгалтерии. В то же время в 1С:Бухгалтерии (как в редакции 2.0, так и в актуальной 3.0) существует единый специализированный документ Документ.ВводНачальныхОстатков, который имеет разные табличные части и реквизиты в зависимости от раздела учета.
  2. Аналитика взаиморасчетов: На счетах учета расчетов с контрагентами (60, 62, 76) в Бухгалтерии третьим субконто практически всегда является документ расчетов. В УПП учет может вестись по договору в целом, без детализации по конкретным документам расчетов в бухгалтерском учете. При переносе остатков нам придется программно закрывать эту аналитику.
  3. Учет ТМЦ и партионный учет: В УПП себестоимость ТМЦ формируется в регистрах партионного учета или по регистру УчетЗатрат (при использовании РАУЗ). В Бухгалтерии стоимость жестко привязана к проводкам на счетах 10, 41, 43 с аналитикой по складам.

Рассмотрим основные способы решения этой задачи без ручного ввода данных.

Метод 1. Написание правил обмена в Конвертации данных 2.1

Это наиболее надежный, профессиональный и гибкий метод, который позволяет полностью автоматизировать перенос остатков со всеми необходимыми субконто. Суть метода заключается в том, что мы создаем в программе «1С:Конвертация данных 2.1» правила обмена. На стороне источника (УПП) мы пишем запрос, который собирает бухгалтерские остатки на нужную дату, а на стороне приемника (БП) формируем документы Ввод начальных остатков.

Разберем по шагам, как настроить такое правило в Конвертации данных:

  1. Создаем новое Правило конвертации объектов (ПКО) для документа ввода остатков. В качестве источника оставляем пустое значение (так как физического документа в УПП нет), а в качестве приемника выбираем ДокументСсылка.ВводНачальныхОстатков.
  2. В ПКО настраиваем правила для табличной части документа в зависимости от раздела учета.
  3. Создаем Правило выгрузки данных (ПВД). Выбираем способ выборки данных — Произвольный алгоритм.
  4. В обработчике ПВД Перед выгрузкой данных пишем запрос к виртуальным таблицам остатков регистра бухгалтерии Хозрасчетный в УПП.

Рассмотрим пример запроса для получения остатков по ТМЦ (счет 41, 10) в УПП для последующей передачи в Бухгалтерию:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
    |	ХозрасчетныйОстатки.Субконто2 КАК Склад,
    |	ХозрасчетныйОстатки.Организация КАК Организация,
    |	ХозрасчетныйОстатки.Счет КАК Счет,
    |	ХозрасчетныйОстатки.СуммаОстатокДт КАК Сумма,
    |	ХозрасчетныйОстатки.КоличествоОстатокДт КАК Количество
    |ИЗ
    |	РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет В ИЕРАРХИИ (&СчетУчета), , Организация = &Организация) КАК ХозрасчетныйОстатки";

Запрос.УстановитьПараметр("Период", ДатаОстатков);
Запрос.УстановитьПараметр("Организация", УстановитьОрганизацию);
Запрос.УстановитьПараметр("СчетУчета", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах); // Или СписокСчетов

РезультатЗапроса = Запрос.Выполнить();

После выполнения запроса мы обходим выборку программно и формируем входящие данные для выгрузки. Для каждого раздела учета (ОС, ТМЦ, Взаиморасчеты) необходимо написать свой запрос к остаткам и передать структуру данных в функцию ВыгрузитьПоПравилу:


Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
    // Формируем структуру данных для передачи в ПКО
    ВходящиеДанные = Новый Структура;
    ВходящиеДанные.Вставить("Организация", Выборка.Организация);
    ВходящиеДанные.Вставить("Дата", ДатаОстатков);
    ВходящиеДанные.Вставить("Счет", Выборка.Счет);
    
    // Заполняем табличную часть ТМЦ
    ТабличнаяЧасть = Новый ТаблицаЗначений;
    ТабличнаяЧасть.Колонки.Добавить("Номенклатура");
    ТабличнаяЧасть.Колонки.Добавить("Склад");
    ТабличнаяЧасть.Колонки.Добавить("Количество");
    ТабличнаяЧасть.Колонки.Добавить("Сумма");
    
    НоваяСтрока = ТабличнаяЧасть.Добавить();
    НоваяСтрока.Номенклатура = Выборка.Номенклатура;
    НоваяСтрока.Склад = Выборка.Склад;
    НоваяСтрока.Количество = Выборка.Количество;
    НоваяСтрока.Сумма = Выборка.Сумма;
    
    ВходящиеДанные.Вставить("Товары", ТабличнаяЧасть);
    
    // Выгружаем документ
    ВыгрузитьПоПравилу(,, ВходящиеДанные,, "ВводНачальныхОстатковТМЦ");
КонецЦикла;

Метод 2. Использование загрузки из табличного документа (Excel/XLS)

Если объемы данных не критически велики или программисту не хватает опыта работы с КД 2.1, можно использовать промежуточную выгрузку в файлы табличных документов. Для этого мы применяем обработку «Загрузка данных из табличного документа», которая доступна на дисках и портале ИТС, а также свободно распространяется на специализированных форумах 1С.

Рассмотрим алгоритм работы с этим инструментом:

  1. В базе УПП формируем отчет Оборотно-сальдовая ведомость по счету (например, по счету 41 или 60) с максимальной детализацией по всем субконто.
  2. Сохраняем сформированный отчет в формате .xls или .xlsx.
  3. В базе Бухгалтерии открываем обработку ЗагрузкаДанныхИзТабличногоДокумента.epf.
  4. Выбираем режим загрузки — Загрузка в табличную часть.
  5. Создаем вручную пустой документ Ввод начальных остатков по нужному разделу учета в БП, записываем его и выбираем в обработке в качестве объекта назначения.
  6. Настраиваем соответствие колонок файла Excel реквизитам табличной части документа (Номенклатура, Склад, Количество, Сумма и т.д.).
  7. Нажимаем кнопку Загрузить. Обработка автоматически создаст строки в табличной части нашего документа, сопоставит номенклатуру и контрагентов по наименованию или коду (в зависимости от настроек поиска) и заполнит числовые показатели.

Важное ограничение метода: Данный способ отлично подходит для относительно простых участков учета, таких как товары на складах, материалы или касса. Однако для сложных разделов учета (например, Основные средства, Расчеты по договорам с документами расчетов) этот метод потребует огромного объема ручной подготовки таблиц Excel. Кроме того, при загрузке по наименованию могут возникнуть дубли справочников, если базы велись несогласованно.

Особые разделы учета: подводные камни при переносе

Рассмотрим специфику переноса некоторых критически важных бухгалтерских счетов, о которых часто забывают при проектировании правил обмена.

Взаиморасчеты с контрагентами (счета 60, 62, 76)

В Бухгалтерии предприятия аналитический учет расчетов требует обязательного указания конкретного документа расчетов. В УПП такие документы на счетах БУ могут отсутствовать. Чтобы решить эту проблему при автоматическом переносе:

Основные средства и амортизация (счета 01, 02)

Для корректного отражения основных средств в Бухгалтерии недостаточно просто перенести сальдо по дебету счета 01 и кредиту счета 02. Чтобы программа в дальнейшем правильно начисляла амортизацию, при проведении документа ввода остатков ОС должны заполниться многочисленные регистры сведений:

Поэтому при выгрузке ОС через КД 2.1 обязательно настраивайте правила переноса так, чтобы они собирали данные не только из регистра бухгалтерии, но и из соответствующих регистров сведений УПП (ПараметрыАмортизацииОСБухгалтерскийУчет, СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет и других) и передавали их в документ ввода остатков Бухгалтерии.

Резюме и рекомендации

Выбор оптимального метода переноса остатков из УПП в Бухгалтерию зависит от сложности базы данных и квалификации специалиста:

И помните: перед выполнением свертки и переноса остатков в базе УПП необходимо обязательно выполнить экспресс-проверку ведения учета, закрыть последний отчетный период, исправить все отрицательные остатки ("красноту") по ТМЦ и взаиморасчетам. Чистая исходная база — залог быстрого и беспроблемного переноса данных!

← На главную