Загрузка данных


// Автоматическая регистрация документа при запуске обработки
// Если документ уже зарегистрирован вручную — процесс не останавливаем

ДокументСсылка = Параметры.ОбработкаОбъект.Владелец;

Если НЕ ЗначениеЗаполнено(ДокументСсылка) Тогда
    ВызватьИсключение "Не найден документ для регистрации.";
КонецЕсли;

ОписаниеОшибки = "";

// Пытаемся зарегистрировать документ штатным методом
Если НЕ Делопроизводство.ЗарегистрироватьПредмет(ДокументСсылка, ОписаниеОшибки) Тогда

    ТекстОшибки = НРег(ОписаниеОшибки);
    ДокументУжеЗарегистрирован = Ложь;

    // Проверяем, что ошибка связана именно с тем,
    // что документ уже был зарегистрирован ранее
    Если СтрНайти(ТекстОшибки, "уже зарегистр") > 0 Тогда
        ДокументУжеЗарегистрирован = Истина;
    КонецЕсли;

    Если СтрНайти(ТекстОшибки, "зарегистрирован ранее") > 0 Тогда
        ДокументУжеЗарегистрирован = Истина;
    КонецЕсли;

    Если СтрНайти(ТекстОшибки, "уже был зарегистр") > 0 Тогда
        ДокументУжеЗарегистрирован = Истина;
    КонецЕсли;

    Если СтрНайти(ТекстОшибки, "повторная регистрация") > 0 Тогда
        ДокументУжеЗарегистрирован = Истина;
    КонецЕсли;

    // Если документ уже зарегистрирован — это не ошибка,
    // просто продолжаем выполнение процесса
    Если НЕ ДокументУжеЗарегистрирован Тогда

        Если ПустаяСтрока(ОписаниеОшибки) Тогда
            ОписаниеОшибки = "Не удалось зарегистрировать документ.";
        КонецЕсли;

        ВызватьИсключение ОписаниеОшибки;

    КонецЕсли;

КонецЕсли;