Как исправить ошибку «Процедура или функция с указанным именем не определена (КонтекстОтправки)» при выгрузке сведений в ФСС в 1С:ЗУП

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

С выходом обновлений ветки 3.1.23.х в конфигурации «1С:Зарплата и управление персоналом» многие пользователи столкнулись с неприятной ситуацией: при попытке отправить или выгрузить «Сведения о застрахованных лицах (ФСС)» программа выдает критическую ошибку инициализации модуля. В этой статье мы подробно разберем, почему возникает эта проблема, как она связана с внешними расширениями и какими способами ее можно устранить.

Анализ технической причины ошибки

Давайте проанализируем текст ошибки, который видит пользователь:

{ВыгрузкаСведенийXMLФСС Обработка.ОбщиеФормыСЭДОФСС.Форма.ОтправкаДокументов.Форма(5,13)}: Процедура или функция с указанным именем не определена (КонтекстОтправки)

Проблема кроется в масштабном рефакторинге механизмов СЭДО (Системы электронного документооборота), который разработчики 1С провели в связи с объединением ПФР и ФСС в единый Социальный фонд России (СФР). В новых релизах, начиная с 3.1.23, архитектура общих форм и модулей обмена была значительно изменена. Функция КонтекстОтправки(), которая ранее использовалась для получения параметров текущей транзакции обмена в контексте формы ОтправкаДокументов, была удалена или перенесена в закрытые области кода конфигурации.

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

Способ 1. Отключение или обновление расширения

Как показывает практика и обсуждения на форумах, в 90% случаев виновником является расширение, предназначенное для интеграции со сторонними сервисами отправки отчетности. Рассмотрим последовательность действий для локализации проблемы:

  1. Перейдем в раздел АдминистрированиеПечатные формы, отчеты и обработкиРасширения.
  2. Найдем в списке расширение, связанное с выгрузкой в ФСС или СЭДО (часто оно имеет в названии упоминание оператора связи).
  3. Попробуем временно отключить расширение (снять галочку «Активно») и перезапустить сеанс 1С.
  4. Проверим, сохраняется ли ошибка при штатной отправке документов.

Если ошибка исчезла, значит, необходимо обновить данное расширение. Разработчики операторов отчетности обычно оперативно выпускают патчи под новые релизы 1С. Скачайте последнюю версию расширения из личного кабинета вашего сервиса отчетности и установите его вместо старого.

Способ 2. Использование штатной массовой выгрузки

Разберем ситуацию, когда бухгалтер настаивает на массовой выгрузке документов в XML-файлы для последующей загрузки в стороннюю программу, а расширение по какой-то причине не работает. Многие пользователи не знают, что в современных версиях ЗУП 3.1 эта возможность уже реализована штатно и не требует дополнительных «костылей».

Проанализируем алгоритм действий для массовой выгрузки без ошибок:

  1. Откроем список документов «Сведения о застрахованных лицах (ФСС)».
  2. Выделим в списке нужные документы (используя клавиши Ctrl+A для всех или Shift/Ctrl для выборочного выделения).
  3. Нажмем кнопку Печать на панели инструментов.
  4. Выберем пункт Сведения о застрахованном лице (в формате XML).
  5. Программа предложит указать папку на диске, в которую будут сохранены все выделенные документы в виде отдельных XML-файлов.

Этот метод является наиболее безопасным, так как он использует актуальные процедуры платформы и гарантированно не вызовет конфликтов при обновлении конфигурации в будущем.

Способ 3. Ручная правка кода расширения (для программистов)

Если вы являетесь разработчиком и вам необходимо быстро восстановить работоспособность расширения без ожидания официального обновления от вендора, рассмотрим, как можно модифицировать код. Основная проблема заключается в вызове:


Контекст = КонтекстОтправки();

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

  1. Откроем расширение в конфигураторе.
  2. Найдем форму ОтправкаДокументов в обработке ОбщиеФормыСЭДОФСС (внутри расширения).
  3. В модуле формы проанализируем обработчики, где используется злополучная функция.
  4. Заменим обращение к КонтекстОтправки() на анализ реквизитов формы. В новых релизах данные часто хранятся в коллекции СписокДокументов или передаются через Параметры.ВыбранныеДокументы.

Пример изменения логики получения идентификаторов документов:


// Вместо старого метода:
// ДанныеДляОтправки = КонтекстОтправки().Документы;

// Используем обращение к параметрам или реквизитам формы
Если Параметры.Свойство("Документы") Тогда
    ДанныеДляОтправки = Параметры.Документы;
КонецЕсли;

Важно: Любые изменения в коде расширения следует проводить только после создания резервной базы и тщательного тестирования процесса выгрузки, так как структура XML-схем ФСС также претерпела изменения в 2023-2024 годах.

Резюме

Мы выяснили, что ошибка КонтекстОтправки — это прямое следствие несовместимости старых расширений с новым ядром СЭДО в 1С:ЗУП 3.1.23. Для решения проблемы мы рекомендуем в первую очередь использовать штатный механизм печати в XML, так как он наиболее стабилен. Если же бухгалтерии критически важен функционал конкретного расширения, единственным верным путем будет его обновление до актуальной версии, поддерживающей работу с СФР.

← На главную