Перенос данных из современной конфигурации 1С:Зарплата и управление персоналом 3 (ЗУП 3) в устаревшую, но все еще используемую в некоторых организациях 1С:Бухгалтерия предприятия 2.0 (БП 2.0) — задача нетривиальная. Особенно остро встает вопрос интеграции в части оценочных обязательств (резервов) по отпускам. В этой статье мы подробно разберем методологические аспекты, структуру проводок и технические решения для реализации этого переноса.
Проанализируем конфигурацию БП 2.0. В отличие от современных решений (например, «Бухгалтерии предприятия 3.0»), в ней полностью отсутствует специализированный документ для учета резервов (такой как Резервы по оплате труда). Из-за этого напрямую перенести документ начисления оценочных обязательств невозможно.
Для решения этой проблемы мы можем использовать один из двух подходов к проектированию правил обмена в Конвертации данных 2.0:
Рассмотрим, какие именно проводки должны формироваться в БП 2.0 при переносе обязательств.
1. Ежемесячное начисление оценочных обязательств
Документ-источник в ЗУП 3 рассчитывает суммы обязательств и формирует проводки в дебет счетов затрат (в зависимости от настроек учета организации) и кредит субсчетов счета 96:
2. Использование (списание) резервов при уходе сотрудника в отпуск
Когда сотрудник фактически отправляется в отпуск, в ЗУП 3 создается документ Отражение зарплаты в бухучете, где суммы проходят по вкладке «Выплата за счет резервов». При переносе в БП 2.0 должны сформироваться следующие проводки списания:
Важный нюанс: Если накопленного резерва по сотруднику (или организации) недостаточно, оставшаяся часть отпускных должна списываться стандартным образом напрямую на счета затрат: Дт 20 (26, 44) — Кт 70.
Выясним, как настроить субконто на счете 96 в БП 2.0. Это зависит от принятой в вашей организации учетной политики:
96 и 70 включена аналитика по субконто «Работники организаций». В этом случае в правилах конвертации данных необходимо настроить сопоставление справочника Физические лица (по ИНН или СНИЛС). Если физлицо не найдено в БП 2.0, обработка переноса должна автоматически создать его, иначе документ в БП 2.0 не проведется.Если вы планируете использовать старые правила обмена или скачанные из интернета обработки, обратите внимание на версию ЗУП 3. Начиная с релизов 3.1.23.165, фирма 1С полностью изменила логику работы с резервами в ЗУП:
Начисление оценочных обязательств по отпускам устарел и больше не используется.Резервы по оплате труда.Следовательно, код внешней обработки или правила обмена необходимо переписать так, чтобы источником данных выступали табличные части нового документа Резервы по оплате труда.
При интеграции современных версий ЗУП 3 с устаревшей БП 2.0 вы обязательно столкнетесь с методологическим тупиком. В ЗУП 3 страховые взносы рассчитываются по единому тарифу и отражаются по кредиту счета 69.09. Однако в старом плане счетов БП 2.0 счета 69.09 попросту нет.
Для решения этой проблемы применим один из двух вариантов:
69.09 в план счетов БП 2.0, настраивает субконто, после чего перенос выполняется напрямую «один в один».Рассмотрим пример алгоритма, который можно разместить в обработчике события ПриЗагрузке или ПередВыгрузкой правил обмена, чтобы перенаправить данные резервов из документа ЗУП в проводки документа ОперацияБух в БП 2.0:
// Пример заполнения структуры для документа ручной операции в БП 2.0
Если Источник.Метаданные().Имя = "РезервыПоОплатеТруда" Тогда
// Создаем или находим документ ОперацияБух в приемнике
ДокументОбъект = Документы.ОперацияБух.СоздатьДокумент();
ДокументОбъект.Дата = Источник.Дата;
ДокументОбъект.Организация = ПолучитьСоответствиеОбъекта(Источник.Организация);
ДокументОбъект.Содержание = "Отражение оценочных обязательств по отпускам";
// Записываем документ для получения ссылки
ДокументОбъект.Записать();
// Формируем набор записей регистра бухгалтерии
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(ДокументОбъект.Ссылка);
Для Каждого СтрокаРезерва Из Источник.ОценочныеОбязательстваВыплата Игloop Цикл
Движение = НаборЗаписей.Добавить();
Движение.Регистратор = ДокументОбъект.Ссылка;
Движение.Период = Источник.Дата;
Движение.Организация = ДокументОбъект.Организация;
// Определяем счета учета
Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("44.01"); // Пример для торговой организации
Движение.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("96.01.1");
// Заполняем субконто кредита (Оценочные обязательства)
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОценочныеОбязательства] = Справочники.Резервы.НайтиПоНаименованию("Ежегодный отпуск");
// Если ведется учет по сотрудникам
Если ВедетсяУчетПоСотрудникам На Счете 96 Тогда
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций] = ПолучитьСоответствиеОбъекта(СтрокаРезерва.ФизЛицо);
КонецЕсли;
Движение.Сумма = СтрокаРезерва.СуммаРезерва;
КонецЦикла;
НаборЗаписей.Записать();
КонецЕсли;
Используя предложенные схемы проводок и учитывая изменения в структуре метаданных ЗУП 3, вы сможете настроить стабильный и корректный перенос данных по оценочным обязательствам в соответствии с требованиями вашей бухгалтерии.