Доброго времени суток.

Прошу помочь разобраться. Платформа 8.3.1, Конфигурация Далион Про 1.2.51

Написал обработку для автоматического восстановления последовательности (написал громко сказано - взял кусок из штатной и подкорректировал).

В режиме клиента выполняется все правильно, А в режиме фонового задания попадает на исключение на строчке:
"Выборка.Регистратор.ПолучитьОбъект().Записать(РежимЗаписиДокумента.Проведение);"

Может имеет значение, что тестирую на файловой базе. По результату будет крутиться на серверной ....

```1c
    Процедура ВосстановитьПоследовательность(Знач ДатаОкончания = Неопределено) Экспорт

    Граница = Последовательности.ПартионныйУчет.ПолучитьГраницу();

    Запрос = Новый Запрос;

    Запрос.УстановитьПараметр("Граница" , Граница);
    Запрос.УстановитьПараметр("Дата" , Граница.Дата);

    Запрос.Текст =
    "ВЫБРАТЬ
    | ПартионныйУчет.Регистратор,
    | ПартионныйУчет.Период КАК Период,
    | ПартионныйУчет.Регистратор.Проведен КАК Проведен
    |ИЗ
    | Последовательность.ПартионныйУчет КАК ПартионныйУчет
    |ГДЕ
    | ПартионныйУчет.МоментВремени > &Граница
    | И ПартионныйУчет.Период >= &Дата
    |
    |УПОРЯДОЧИТЬ ПО
    | Период,
    | ПартионныйУчет.МоментВремени" ;

    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл

    Попытка

    Выборка.Регистратор.ПолучитьОбъект().Записать(РежимЗаписиДокумента.Проведение);

    Исключение

    #Если ТолстыйКлиентОбычноеПриложение Тогда
    Предупреждение("Операция не выполнена!");
    #Иначе
    Сообщить("Операция не выполнена!");
    #КонецЕсли

    Прервать;

    КонецПопытки;

    КонецЦикла;

    КонецПроцедуры
```
---
Касается конкретно конфигурации Далион УМ Про 1,2,51:

Любые операции проведения - запускают проверку на ключ защиты. Даже если поправить в конфигурации проверку ключа - дальше все равно ломается, надо пол модуля переписывать. Так-что при необходимости что-то автоматизировать связанное с проведением документов необходимо:
1. Создать специализированного пользователя;
2. В "Модуле обычного приложения" в "ПриНачалеРаботыСистемы()" Вставить что-то типа

```1c
    Если ТекущийПользователь.Имя = "ИмяПользователя" Тогда

    Обработка = Обработки.ВосстановлениеПоследовательности.ПолучитьФорму("Форма");
    Обработка.Открыть();
    //Обработки.ВосстановлениеПоследовательности.Создать().ВосстановлениеПоследовательности(); - а вот так тоже не сработает -((

    КонецЕсли;
```

3. В самой обработке отслеживать время выполнения (если надо), и при открытии запускать нужную процедуру.
4. В Windows в TaskManager добавить задачу типа
"C:\Program Files (x86)\1cv8\8.3.10.2580\bin\1cv8s.exe" с параметрами типа: Enterprise /S localhost/dalion /N "ИмяПользователя" /P "пароль"

Понимаю, что многим это итак понятно -), но вдруг кому-то пригодиться.
---
посмотрите что в описании ошибки выдает
---
глТекстОшибокПриПроведении "" Строка
ОписаниеОшибки() "" Строка

К сожалению ничего (результат из табло по прерыванию после исключения).
Может не то смотрю?
---
я бы добавил в исключение ЗаписьЖурналаРегистрации(...
---
Спасибо, натолкнул на мысль. Отключил попытку и наконец получил ошибку:

{ОбщийМодуль.ВосстановлениеПоследовательности.Модуль(65)}: Ошибка при вызове метода контекста (Записать)
   Выборка.Регистратор.ПолучитьОбъект().Записать(РежимЗаписиДокумента.Проведение);
по причине:
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{CommonModule.ПартионныйУчет.Module(3695)}: Ошибка при вызове метода контекста (Выполнить)

Сообщение пользователю:

{Обработка.ОбработкаЗащиты.МодульОбъекта(5)}: Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(1,1)}: Переменная не определена (DalionGuardant)

Похоже Далион отказывается это делать без подключенного ключа защиты для данного пользователя, а для фонового задания - не подключает.

Печалька ....
---
Касается конкретно конфигурации Далион УМ Про 1,2,51:

Любые операции проведения - запускают проверку на ключ защиты. Даже если поправить в конфигурации проверку ключа - дальше все равно ломается, надо пол модуля переписывать. Так-что при необходимости что-то автоматизировать связанное с проведением документов необходимо:
1. Создать специализированного пользователя;
2. В "Модуле обычного приложения" в "ПриНачалеРаботыСистемы()" Вставить что-то типа

```1c
    Если ТекущийПользователь.Имя = "ИмяПользователя" Тогда

    Обработка = Обработки.ВосстановлениеПоследовательности.ПолучитьФорму("Форма");
    Обработка.Открыть();
    //Обработки.ВосстановлениеПоследовательности.Создать().ВосстановлениеПоследовательности(); - а вот так тоже не сработает -((

    КонецЕсли;
```

3. В самой обработке отслеживать время выполнения (если надо), и при открытии запускать нужную процедуру.
4. В Windows в TaskManager добавить задачу типа
"C:\Program Files (x86)\1cv8\8.3.10.2580\bin\1cv8s.exe" с параметрами типа: Enterprise /S localhost/dalion /N "ИмяПользователя" /P "пароль"

Понимаю, что многим это итак понятно -), но вдруг кому-то пригодиться.