Переход с комплексной системы управления предприятием 1С:УПП 1.3 на более простую 1С:Бухгалтерию предприятия — задача нередкая. Обычно она возникает, когда компания отказывается от сложного производственного учета в пользу простой регламентированной отчетности. Самым сложным и трудоемким этапом этого процесса является перенос начальных остатков. Ввод всех данных вручную по каждому субсчету и субконто грозит колоссальными временными затратами и высоким риском человеческой ошибки.
В этой статье мы подробно разберем, как автоматизировать процесс переноса начальных остатков из УПП в Бухгалтерию, проанализируем основные технические подходы, разберем сложности сопоставления аналитики и предоставим готовые алгоритмы действий.
Давайте проанализируем структуру хранения данных в обеих конфигурациях. Основная сложность заключается в том, что механизмы учета в этих программах существенно различаются:
Документ.ВводНачальныхОстатков, который имеет разные табличные части и реквизиты в зависимости от раздела учета.60, 62, 76) в Бухгалтерии третьим субконто практически всегда является документ расчетов. В УПП учет может вестись по договору в целом, без детализации по конкретным документам расчетов в бухгалтерском учете. При переносе остатков нам придется программно закрывать эту аналитику.УчетЗатрат (при использовании РАУЗ). В Бухгалтерии стоимость жестко привязана к проводкам на счетах 10, 41, 43 с аналитикой по складам.Рассмотрим основные способы решения этой задачи без ручного ввода данных.
Это наиболее надежный, профессиональный и гибкий метод, который позволяет полностью автоматизировать перенос остатков со всеми необходимыми субконто. Суть метода заключается в том, что мы создаем в программе «1С:Конвертация данных 2.1» правила обмена. На стороне источника (УПП) мы пишем запрос, который собирает бухгалтерские остатки на нужную дату, а на стороне приемника (БП) формируем документы Ввод начальных остатков.
Разберем по шагам, как настроить такое правило в Конвертации данных:
ДокументСсылка.ВводНачальныхОстатков.Произвольный алгоритм.Перед выгрузкой данных пишем запрос к виртуальным таблицам остатков регистра бухгалтерии Хозрасчетный в УПП.Рассмотрим пример запроса для получения остатков по ТМЦ (счет 41, 10) в УПП для последующей передачи в Бухгалтерию:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
| ХозрасчетныйОстатки.Субконто2 КАК Склад,
| ХозрасчетныйОстатки.Организация КАК Организация,
| ХозрасчетныйОстатки.Счет КАК Счет,
| ХозрасчетныйОстатки.СуммаОстатокДт КАК Сумма,
| ХозрасчетныйОстатки.КоличествоОстатокДт КАК Количество
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет В ИЕРАРХИИ (&СчетУчета), , Организация = &Организация) КАК ХозрасчетныйОстатки";
Запрос.УстановитьПараметр("Период", ДатаОстатков);
Запрос.УстановитьПараметр("Организация", УстановитьОрганизацию);
Запрос.УстановитьПараметр("СчетУчета", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах); // Или СписокСчетов
РезультатЗапроса = Запрос.Выполнить();
После выполнения запроса мы обходим выборку программно и формируем входящие данные для выгрузки. Для каждого раздела учета (ОС, ТМЦ, Взаиморасчеты) необходимо написать свой запрос к остаткам и передать структуру данных в функцию ВыгрузитьПоПравилу:
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
// Формируем структуру данных для передачи в ПКО
ВходящиеДанные = Новый Структура;
ВходящиеДанные.Вставить("Организация", Выборка.Организация);
ВходящиеДанные.Вставить("Дата", ДатаОстатков);
ВходящиеДанные.Вставить("Счет", Выборка.Счет);
// Заполняем табличную часть ТМЦ
ТабличнаяЧасть = Новый ТаблицаЗначений;
ТабличнаяЧасть.Колонки.Добавить("Номенклатура");
ТабличнаяЧасть.Колонки.Добавить("Склад");
ТабличнаяЧасть.Колонки.Добавить("Количество");
ТабличнаяЧасть.Колонки.Добавить("Сумма");
НоваяСтрока = ТабличнаяЧасть.Добавить();
НоваяСтрока.Номенклатура = Выборка.Номенклатура;
НоваяСтрока.Склад = Выборка.Склад;
НоваяСтрока.Количество = Выборка.Количество;
НоваяСтрока.Сумма = Выборка.Сумма;
ВходящиеДанные.Вставить("Товары", ТабличнаяЧасть);
// Выгружаем документ
ВыгрузитьПоПравилу(,, ВходящиеДанные,, "ВводНачальныхОстатковТМЦ");
КонецЦикла;
Если объемы данных не критически велики или программисту не хватает опыта работы с КД 2.1, можно использовать промежуточную выгрузку в файлы табличных документов. Для этого мы применяем обработку «Загрузка данных из табличного документа», которая доступна на дисках и портале ИТС, а также свободно распространяется на специализированных форумах 1С.
Рассмотрим алгоритм работы с этим инструментом:
Оборотно-сальдовая ведомость по счету (например, по счету 41 или 60) с максимальной детализацией по всем субконто..xls или .xlsx.ЗагрузкаДанныхИзТабличногоДокумента.epf.Ввод начальных остатков по нужному разделу учета в БП, записываем его и выбираем в обработке в качестве объекта назначения.Загрузить. Обработка автоматически создаст строки в табличной части нашего документа, сопоставит номенклатуру и контрагентов по наименованию или коду (в зависимости от настроек поиска) и заполнит числовые показатели.Важное ограничение метода: Данный способ отлично подходит для относительно простых участков учета, таких как товары на складах, материалы или касса. Однако для сложных разделов учета (например, Основные средства, Расчеты по договорам с документами расчетов) этот метод потребует огромного объема ручной подготовки таблиц Excel. Кроме того, при загрузке по наименованию могут возникнуть дубли справочников, если базы велись несогласованно.
Рассмотрим специфику переноса некоторых критически важных бухгалтерских счетов, о которых часто забывают при проектировании правил обмена.
В Бухгалтерии предприятия аналитический учет расчетов требует обязательного указания конкретного документа расчетов. В УПП такие документы на счетах БУ могут отсутствовать. Чтобы решить эту проблему при автоматическом переносе:
ДокументРасчетовСКонтрагентом (ввод в ручном режиме).60.01/60.02 или 62.01/62.02.Для корректного отражения основных средств в Бухгалтерии недостаточно просто перенести сальдо по дебету счета 01 и кредиту счета 02. Чтобы программа в дальнейшем правильно начисляла амортизацию, при проведении документа ввода остатков ОС должны заполниться многочисленные регистры сведений:
Поэтому при выгрузке ОС через КД 2.1 обязательно настраивайте правила переноса так, чтобы они собирали данные не только из регистра бухгалтерии, но и из соответствующих регистров сведений УПП (ПараметрыАмортизацииОСБухгалтерскийУчет, СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет и других) и передавали их в документ ввода остатков Бухгалтерии.
Выбор оптимального метода переноса остатков из УПП в Бухгалтерию зависит от сложности базы данных и квалификации специалиста:
И помните: перед выполнением свертки и переноса остатков в базе УПП необходимо обязательно выполнить экспресс-проверку ведения учета, закрыть последний отчетный период, исправить все отрицательные остатки ("красноту") по ТМЦ и взаиморасчетам. Чистая исходная база — залог быстрого и беспроблемного переноса данных!