Как исправить ошибку «Не найден первичный документ» при загрузке лицевых счетов в 1С?

Бухгалтер 1С v8.3 (Обычные формы)
← На главную

При работе с зарплатными проектами в программах 1С:Зарплата и Управление Персоналом 2.5 или 1С:Зарплата и кадры бюджетного учреждения 1.0 (а также в более старых версиях, которые пользователи часто называют ЗИК), часто возникает проблема при импорте подтверждения от банка. Вы пытаетесь загрузить файл со списком открытых лицевых счетов, но система выдает критическую ошибку: «Анализ данных: Не найден первичный документ!». Рассмотрим подробнее, почему это происходит и как правильно настроить процесс обмена данными.

Разберем причину возникновения ошибки

Для начала проанализируем алгоритм работы стандартного механизма обмена данными с банками (стандарт XML для зарплатных проектов). В системе 1С процесс построен на строгой логической последовательности, которую нельзя нарушать:

  1. Организация формирует в программе документ Заявка на открытие лицевых счетов.
  2. При проведении и выгрузке этого документа программа присваивает ему уникальный идентификатор (так называемый GUID).
  3. Этот идентификатор записывается в выгружаемый файл в тег ИдЗапроса.
  4. Банк получает файл, обрабатывает его и присылает ответный файл, в котором обязательно указывает тот же самый ИдЗапроса.
  5. При загрузке ответа 1С ищет в своей базе документ-источник с этим идентификатором.

Если вы получили файл из банка «просто так», без предварительно отправленной заявки из вашей текущей базы 1С, система не сможет найти «родительский» документ и выдаст ошибку отсутствия первичного документа. Это происходит потому, что в присланном банком файле либо отсутствует тег ИдЗапроса, либо в нем указан набор символов, который не соответствует ни одному документу в вашей базе.

Способ 1: Создание фиктивной заявки и правка XML-файла

Это наиболее технически точный способ решения, если счета уже открыты, а заявки в базе нет. Разберем его по шагам:

Во-первых, создадим в программе документ Заявка на открытие лицевых счетов. В него необходимо добавить всех сотрудников, по которым банк прислал данные в файле. Важно: документ должен быть заполнен и проведен.

Во-вторых, нам нужно узнать внутренний идентификатор этого нового документа. В обычных формах это можно сделать с помощью обработки Выгрузка и загрузка данных XML или через консоль запросов, выбрав поле Ссылка. Однако есть более простой пользовательский путь: попробуйте выгрузить эту новую пустую заявку в любой файл и откройте его текстовым редактором (например, Notepad++).

Найдите в выгруженном файле строку, похожую на эту:

<ИдЗапроса>550e8400-e29b-41d4-a716-446655440000</ИдЗапроса>

Скопируйте это значение. Теперь откройте файл, который прислали из банка, найдите в нем аналогичный тег ИдЗапроса и замените его значение на то, которое вы получили из своей базы. После сохранения изменений в XML, загрузка через меню Импорт/экспорт операций по лицевым счетам пройдет успешно, так как 1С «узнает» свою заявку.

Способ 2: Использование универсальной загрузки данных

Если вы не хотите заниматься редактированием XML-структур, проанализируем альтернативный вариант. Существует стандартная обработка Загрузка данных из табличного документа. Этот инструмент позволяет загружать информацию напрямую в регистры сведений, минуя проверку первичных документов.

Для реализации этого метода выполним следующие действия:

  1. Откройте файл банка в Excel (большинство XML файлов легко открываются табличными редакторами).
  2. Приведите таблицу к виду: Сотрудник — Номер лицевого счета.
  3. В 1С откройте обработку Загрузка данных из табличного документа.
  4. Выберите режим загрузки в Регистр сведений — Лицевые счета сотрудников по зарплатным проектам (название может незначительно отличаться в зависимости от версии конфигурации).
  5. Настройте соответствие колонок: фамилия сотрудника должна сопоставляться с объектом СправочникСсылка.Сотрудники, а номер счета — со строковым значением.

Этот метод хорош тем, что он полностью игнорирует наличие или отсутствие заявок на открытие счетов, записывая данные напрямую в карточки сотрудников. В частности, при работе с банком «Санкт-Петербург» можно использовать обработку для загрузки данных по банковским картам из файлов Excel.

Особенности работы со Сбербанком и другими крупными банками

Выясним причину, по которой иногда даже при наличии заявки файл не загружается. Обратите внимание на настройки справочника Зарплатные проекты. В 1С версии 8.2 и 8.3 (на обычных формах) важно проверить:

Важные нюансы для сотрудников-совместителей

Рассмотрим ситуацию, когда в вашей организации работают совместители. При автоматической загрузке через XML система ищет сотрудника по ФИО и дате рождения, но иногда может возникнуть путаница, если у человека создано несколько карточек в справочнике Сотрудники. В этом случае 1С может привязать лицевой счет не к тому месту работы. Чтобы этого избежать, рекомендуется проверять загруженные данные в карточке сотрудника на закладке Зачисления на карточку или Лицевые счета.

Заключение

Подводя итог, можно сказать, что ошибка Не найден первичный документ — это не сбой программы, а срабатывание защитного механизма целостности данных. Чтобы её обойти, мы либо создаем связь вручную через редактирование ID в файле, либо используем прямую запись в базу через внешние обработки. Выбор метода зависит от вашего уровня владения инструментами 1С и количества сотрудников, по которым нужно загрузить данные.

← На главную