При работе с конфигурацией 1С:Бухгалтерия предприятия 3.0 (БП 3.0) пользователи и администраторы часто сталкиваются с необходимостью переноса данных между двумя одинаковыми информационными базами (например, из рабочей базы в тестовую или между филиалами). Одной из специфических задач является перенос данных по начислениям, которые имеют в интерфейсе пометку "Зарплата (ЗУП 2.5, ЗИК 7.7)". Сложность заключается в том, что этот документ бывает трудно найти в общем списке метаданных, а его структура отличается от современных аналогов.
В данной статье мы разберем, как правильно идентифицировать этот объект в системе, какими инструментами воспользоваться для переноса и на что обратить внимание, чтобы данные сохранились корректно.
Прежде всего, нам необходимо выяснить, какой именно объект конфигурации соответствует пункту меню "Зарплата (ЗУП 2.5, ЗИК 7.7)". Рассмотрим структуру метаданных БП 3.0, чтобы не допустить путаницы, так как в системе существует несколько похожих документов:
Проанализируем ситуацию: если вы не видите документ в общем списке "Все функции" (или "Функции для технического специалиста"), убедитесь, что вы ищете именно Документ.ОтражениеЗарплатыВУчете. В современных релизах БП 3.0 этот функционал считается архивным, поэтому он может быть скрыт из стандартных панелей навигации.
Для переноса данных между абсолютно идентичными конфигурациями (когда версии метаданных в базе-источнике и базе-приемнике совпадают) самым эффективным инструментом является универсальная обработка "Выгрузка и загрузка данных XML" (ВыгрузкаЗагрузкаДанныхXML.epf). Рассмотрим по шагам процесс работы с ней:
ОтражениеЗарплатыВУчете.Важное замечание по GUID: Данная обработка переносит объекты с сохранением их внутренних идентификаторов (GUID). Это гарантирует, что при повторной выгрузке документ обновится, а не создаст дубль. Однако, если справочники в базах создавались независимо (вручную), возможны дубликаты элементов справочников. Рассмотрим ситуацию: если сотрудник "Иванов" уже есть в обеих базах, но создан вручную, после переноса документа может появиться второй "Иванов" (из базы-источника).
В некоторых случаях, когда необходимо автоматизировать процесс или перенести данные программно (например, через COM-соединение или веб-сервис), удобно использовать механизмы Библиотеки стандартных подсистем (БСП) и XDTO-сериализацию. Разберем пример функций, которые позволяют преобразовать любой объект (включая наш документ) в строку XML и обратно.
Рассмотрим код для преобразования значения в строку XML:
Функция ЗначениеВСтрокуXML(Значение) Экспорт
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
// Используем СериализаторXDTO для корректной обработки ссылочных типов
СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Значение);
Возврат ЗаписьXML.Закрыть();
КонецФункции
Проанализируем данный код. Здесь используется объект СериализаторXDTO, который умеет раскладывать объект 1С на составляющие, понятные XML-структуре. Теперь рассмотрим обратную операцию — десериализацию:
Функция ЗначениеИзСтрокиXML(СтрокаXML) Экспорт
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(СтрокаXML);
// Восстанавливаем объект из XML-строки
Значение = СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
Возврат Значение;
КонецФункции
Выясним причину, почему эти функции считаются "хорошим тоном" в разработке на платформе 8.3. Они позволяют передавать данные между базами в текстовом виде, сохраняя при этом типизацию объектов. Если вы вызываете эти функции из одной базы в другую через внешнее соединение, платформа автоматически сопоставит типы ДокументОбъект.ОтражениеЗарплатыВУчете при условии идентичности конфигураций.
После того как мы успешно перенесли документ, мы можем обнаружить, что он "не виден" в стандартных журналах или не формирует нужные проводки. Выясним причину такого поведения. В 1С:Бухгалтерия 3.0 логика работы с зарплатой зависит от настроек учетной политики.
Проверим следующие настройки:
ОтражениеЗарплатыВУчете могут работать некорректно или быть заблокированы.После загрузки документов рекомендуется выполнить их групповое перепроведение. Это необходимо для того, чтобы документ сформировал движения по регистру бухгалтерии Хозрасчетный и специализированным регистрам накопления, так как при простой XML-загрузке движения могут не перенестись (зависит от настроек обработки).
Для успешного обмена между одинаковыми конфигурациями БП 3.0 в части зарплатных документов необходимо:
ОтражениеЗарплатыВУчете.СериализаторXDTO.Рассмотренные методы позволяют быстро и безопасно синхронизировать данные между базами, избегая ручного ввода и минимизируя риск ошибок в учете.