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