Переход на новую редакцию 1С:Зарплата и управление персоналом 3.1 при сохранении учетной системы на платформе 1С:Предприятие 7.7 создает серьезный технический разрыв. Основная сложность заключается в том, что в ЗУП 3.1 полностью отсутствует план счетов и механизм формирования проводок в том виде, в котором он существовал в версии 2.5. Рассмотрим подробнее, как преодолеть это ограничение и настроить корректный перенос данных.
Проанализируем ситуацию с технической точки зрения. В старой версии ЗУП 2.5 документ Отражение зарплаты в регламентированном учете содержал информацию о счетах дебета и кредита, а также о субконто. Фактически, программа имитировала бухгалтерские проводки. В ЗУП 3.1 концепция изменилась: программа теперь оперирует только способами отражения. Это справочник, содержащий лишь текстовое наименование (например, "Основной состав" или "Администрация"), без указания конкретных счетов бухгалтерского учета.
Счета учета теперь назначаются на стороне принимающей конфигурации (обычно это 1С:Бухгалтерия 3.0). Поскольку штатных правил обмена для связки "ЗУП 3.1 — БП 7.7" фирма 1С не предоставляет, программисту необходимо самостоятельно реализовать механизм сопоставления этих способов с планом счетов "семерки".
Этот способ можно считать наиболее простым с точки зрения трудозатрат на программирование. Разберем по шагам логику этого процесса:
Отражение зарплаты в бухучете, который уже содержит готовые проводки.Преимущество этого метода в том, что мы сохраняем типовой механизм формирования проводок и минимизируем риск ошибок в расчете налогов и взносов.
Если необходимо реализовать прямой обмен без промежуточных баз, рассмотрим вариант с использованием COM-соединения. Проанализируем техническую сторону: нам нужно из базы 1С 8.3 подключиться к базе 7.7 и создать там документ Операция или записи в журнале проводок.
Пример логики подключения к 7.7 из кода 8.3:
ПутьКБазе = "C:\Bases\Buh77\";
Пользователь = "Администратор";
Пароль = "123";
V7 = Новый COMОбъект("V77.Application");
Открыта = V7.Initialize(V7.RMTrade, "/D" + ПутьКБазе + " /N" + Пользователь + " /P" + Пароль, "NO_SPLASH_SHOW");
Если Открыта Тогда
// Создаем документ Операция в 7.7
ДокОперация = V7.CreateObject("Document.Операция");
// Логика заполнения проводок...
КонецЕсли;
Важный нюанс: если ваш сервер 1С:Предприятие 8.3 является 64-битным, вы не сможете напрямую создать объект V77.Application, так как 7.7 — это 32-битное приложение. В этом случае выгрузку необходимо запускать только с клиентского компьютера через 32-битный тонкий или толстый клиент.
Разберем вариант создания собственной обработки выгрузки в текстовый файл (или XML/CSV), который затем будет прочитан в 7.7. Чтобы решить проблему отсутствия счетов в ЗУП 3.1, воспользуемся механизмом Дополнительных реквизитов.
Способы отражения зарплаты в бухгалтерском учете добавим дополнительные реквизиты: СчетДт77, СчетКт77, Субконто1 и т.д.Отражение зарплаты в бухучете, обращаться к способу отражения и считывать из его доп. реквизитов счета для 7.7.При реализации любого из методов необходимо учитывать специфику платформы 7.7:
Операция.Windows-1251, иначе в старой программе вместо названий подразделений и статей затрат появятся "иероглифы".Выясним причину возможных расхождений: часто они возникают из-за разницы в округлении копеек при сворачивании проводок. Рекомендуется в алгоритм загрузки в 7.7 добавить проверку баланса (Дебет = Кредит) по каждой операции и автоматическую корректировку на 1-2 копейки за счет округления.
Подводя итог, можно сказать, что наиболее стабильным и долгосрочным решением является использование промежуточной базы БП 3.0, так как это избавляет от необходимости жестко прописывать счета в коде обработки или поддерживать сложные правила конвертации данных при каждом обновлении ЗУП 3.1.