Перенос данных между конфигурациями 1С:Комплексная автоматизация 1.1 (КА) и 1С:Бухгалтерия предприятия 3.0 (БП) — это сложная техническая задача, требующая глубокого понимания структуры обеих баз. Поскольку КА 1.1 построена на обычных формах и использует партионный учет на регистрах накопления, а БП 3.0 работает на управляемых формах с упором на бухгалтерские регистры, прямой перенос «документ в документ» невозможен. Рассмотрим подробно, как организовать процесс переноса остатков с использованием конфигурации Конвертация данных 2.1 (КД 2.1).
Прежде чем приступать к написанию правил в КД 2.1, мы должны убедиться, что данные в исходной базе корректны. Проанализируем состояние учета. В КА 1.1 данные по складам и взаиморасчетам дублируются: они есть и на бухгалтерских счетах, и в регистрах накопления. Разберем основные этапы подготовки:
ПартииТоваровНаСкладах и остатков на счетах 10, 41, 43. Если по регистру числится 10 единиц товара, а по счету — 15, в БП 3.0 данные перенесутся некорректно, так как БП 3.0 требует жесткой увязки партий и бухгалтерских итогов.Контрагенты и Номенклатура. Рекомендуем воспользоваться стандартной обработкой «Поиск и замена дублей», чтобы в целевую базу БП 3.0 попала уже чистая аналитика.В отличие от простого переноса документов, перенос остатков требует создания специфических объектов. В Бухгалтерии предприятия 3.0 для этого предназначен универсальный документ Документ.ВводНачальныхОстатков. Проанализируем его структуру: в зависимости от выбранного режима (раздела учета), документ меняет состав своих реквизитов и табличных частей.
При настройке правил в КД 2.1 мы будем создавать Правила Выгрузки Данных (ПВД), которые будут генерировать различные экземпляры этого документа для разделов:
Обычное сопоставление объектов «один к одному» здесь не сработает. Выясним причину: нам нужно собрать данные из виртуальных таблиц остатков КА 1.1 и «упаковать» их в документ БП 3.0. Для этого в КД 2.1 будем использовать ПВД с произвольным алгоритмом.
Рассмотрим пример логики выборки данных в обработчике ПередВыгрузкой для получения остатков по счету 41 (Товары):
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.Счет КАК Счет,
| ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
| ХозрасчетныйОстатки.Субконто2 КАК Склад,
| ХозрасчетныйОстатки.КоличествоОстаток КАК Количество,
| ХозрасчетныйОстатки.СуммаОстаток КАК Сумма
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСреза, Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Товары)), , ) КАК ХозрасчетныйОстатки";
Запрос.УстановитьПараметр("ДатаСреза", ДатаНачала);
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
// Формируем структуру для передачи в ПКО документа ВводОстатков
ДанныеДляВыгрузки = Новый Структура("Дата, Организация, ОтражатьВБНУ, Подразделение");
ДанныеДляВыгрузки.Дата = ДатаНачала;
// ... заполнение остальных реквизитов ...
ВыгрузитьПоПравилу(ДанныеДляВыгрузки, , , , "ВводНачальныхОстатков_Запасы");
КонецЦикла;
Проанализируем наиболее трудоемкие участки переноса, которые часто вызывают ошибки.
Учет НДС (Счет 19)
Просто перенести сальдо по счету 19 недостаточно. В БП 3.0 учет НДС ведется в специализированных регистрах накопления, таких как НДСПредъявленный. Если мы не заполним эти данные при вводе остатков, программа не позволит принять НДС к вычету в будущем. Рекомендуем тянуть информацию из регистра накопления НДСПредъявленный исходной базы КА 1.1, сопоставляя ее с остатками на счете 19.
Основные средства (ОС)
Для корректного начисления амортизации в БП 3.0 нам потребуются данные, которых нет на плане счетов. Посмотрим на список регистров сведений в КА 1.1, которые нужно обязательно обработать:
ПараметрыАмортизацииОСБухгалтерскийУчет (срок полезного использования, способ начисления).ПервоначальныеСведенияОСБухгалтерскийУчет.СостоянияОСВРемонте и другие.При переносе ОС необходимо создать единый объект ВводНачальныхОстатков, где в табличной части будут указаны не только стоимости (счета 01 и 02), но и все параметры эксплуатации.
Взаиморасчеты (Счета 60, 62)
В БП 3.0 аналитика на счетах расчетов требует указания документа расчетов. Поскольку мы не переносим всю историю документов, выясним, как поступить. Нам нужно программно создавать в целевой базе технические документы ДокументРасчетовСКонтрагентом (ручной учет). В КД 2.1 это реализуется через ПКО (Правила Конвертации Объектов) с созданием объекта «на лету» или через заполнение соответствующего реквизита в документе ввода остатков.
Разберем, как избежать дублирования данных при повторных загрузках. В ПКО для справочников Номенклатура и Контрагенты настроим правила поиска:
ИНН и КПП. Это надежнее, чем поиск по внутреннему идентификатору (GUID), особенно если база БП 3.0 не пустая.Артикул + Наименование.Коду (ОКЕИ), чтобы не плодить одинаковые «шт» или «кг».Когда данные загружены, наша работа не заканчивается. Проведем комплексную проверку:
000 должно быть равно нулю. Если там «висит» остаток, значит, активы не сошлись с пассивами, и нужно искать пропущенный счет.Таким образом, мы рассмотрели полный цикл переноса остатков. Главный секрет успеха при использовании Конвертации данных 2.1 заключается не только в правильном написании кода, но и в тщательной предварительной подготовке данных в исходной системе Комплексная автоматизация 1.1.