Почему не заполняется документ Ведомость на выплату зарплаты при переносе из ЗУП 2.5 в БП 3.0?

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет
← На главную

При организации обмена данными между устаревшими и современными редакциями программ 1С, такими как Зарплата и Управление Персоналом 2.5 и Бухгалтерия предприятия 3.0, пользователи часто сталкиваются с ситуацией, когда стандартная выгрузка данных проходит без видимых ошибок, но целевые документы в приемнике не создаются или остаются пустыми. Разберем подробно, почему это происходит и как найти «невидимую» причину сбоя.

Анализ основной причины: Рассинхронизация реквизитов организации

Рассмотрим наиболее распространенный сценарий, который часто упускают из виду: несовпадение ключевых идентификаторов организации. В процессе загрузки данных Бухгалтерия предприятия пытается сопоставить организацию из файла выгрузки с объектом в справочнике Организации. Если сопоставление по внутреннему идентификатору (GUID) не сработало, система переходит к поиску по полям: ИНН и КПП.

Проанализируем ситуацию: если в базе ЗУП 2.5 КПП указан с учетом обособленного подразделения или просто был изменен, а в БП 3.0 остался старый вариант, программа не сможет найти владельца для загружаемой ведомости. В результате данные о выплате зарплаты игнорируются, так как система «не понимает», к какой организации их отнести. Выясним, как это проверить:

  1. Откроем карточку организации в обеих информационных базах.
  2. Тщательно сверим поля ИНН и КПП. Обратите внимание даже на лишние пробелы в начале или конце строки — для программного поиска это разные значения.
  3. Если обнаружено расхождение, приведем данные к единообразию и повторим процедуру выгрузки.

Настройка параметров учета в Бухгалтерии предприятия 3.0

Даже если реквизиты совпадают, документ может не создаться из-за методических настроек в программе-приемнике. Проанализируем настройки учета зарплаты. Перейдем в раздел Зарплата и кадры — Настройки зарплаты.

Разберем важный нюанс: в пункте «Учет расчетов по заработной плате и кадровый учет ведутся:» обязательно должно быть выбрано значение «Во внешней программе». Если переключатель стоит в положении «В этой программе», БП 3.0 ожидает, что все расчеты и ведомости будут создаваться непосредственно в ней, и может блокировать запись документов из внешних источников.

Также проверим детализацию расчетов. Если в ЗУП учет ведется по каждому сотруднику, а в БП установлена настройка «Сводно по всем работникам», структура документа ВедомостьНаВыплатуЗарплаты может быть несовместима с входящими данными, что приведет к ошибке заполнения табличной части.

Технический анализ XML-файла и работа с отладчиком

Если визуальная сверка настроек не дала результата, перейдем к техническим методам. Посмотрим на структуру формируемого файла выгрузки. Для этого откроем сформированный xml любым текстовым редактором и найдем узел, отвечающий за ведомость. Проверим наличие данных внутри тегов, соответствующих табличной части Зарплата.

Если данные в файле есть (как в нашем случае), но они не попадают в базу, нам поможет отладчик. Помните, что в современных версиях 1С загрузка данных часто выполняется как фоновое задание. Чтобы «поймать» момент записи, выполним следующие шаги:

  1. Включим в настройках параметров запуска флаг «Отладка фоновых заданий».
  2. Установим точку останова в модуле загрузки (обычно это обработка ЗагрузкаДанныхИзЗУП или соответствующие общие модули обмена).
  3. Проанализируем коллекцию Объект перед вызовом метода Записать(). Если в коллекции отсутствуют строки табличной части, значит, алгоритм сопоставления объектов (физлиц или сотрудников) отсек их как некорректные.

Посмотрим на пример логики, которую можно использовать в консоли отладки для проверки наличия данных:


// Проверяем количество строк в загружаемом объекте Ведомость
Если ТипЗнч(ЗагружаемыйОбъект) = Тип("ДокументОбъект.ВедомостьНаВыплатуЗарплаты") Тогда
    Сообщить("Количество сотрудников в ведомости: " + ЗагружаемыйОбъект.Зарплата.Количество());
КонецЕсли;

Проблемы сопоставления физических лиц

Разберем еще одну причину: перенос или дублирование физических лиц в ЗУП 2.5. В этой конфигурации справочники Физические лица и Сотрудники разделены. Если ведомость в источнике ссылается на сотрудника, у которого «разорвана» связь с физическим лицом или идентификатор физлица в файле не находит аналога в БП 3.0, строка ведомости просто не загрузится.

Для решения этой проблемы необходимо:

  1. Убедиться, что в ЗУП нет дублей физических лиц.
  2. Проверить, чтобы у сотрудников, включенных в ведомость, были заполнены ИНН и СНИЛС — именно по ним происходит дополнительное сопоставление, если GUID отличаются.
  3. Проанализировать статус документа в источнике: документ Ведомость на выплату зарплаты должен быть проведен.

Влияние даты запрета редактирования и кэша

Иногда корень проблемы кроется в системных ограничениях. Выясним, не установлена ли в БП 3.0 дата запрета редактирования данных. Если дата выгружаемой ведомости меньше или равна дате запрета, программа просто проигнорирует создание нового объекта без вывода явного предупреждения в окне загрузки. Проверить это можно в разделе Администрирование — Поддержка и обслуживание — Дата запрета изменения.

Также не стоит забывать о локальном кэше платформы. Если вчера обмен работал корректно, а сегодня перестал без видимых причин, попробуйте очистить кэш или выполнить загрузку под другим пользователем. Это исключит программные сбои, связанные с временными файлами и некорректным сохранением настроек обработки обмена.

Таким образом, последовательно проверяя соответствие КПП, настройки ведения учета и корректность сопоставления физических лиц, мы сможем гарантировать успешный перенос данных между базами 1С.

← На главную