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