Имя: Пароль:
1C
1С v8
Не получается запустить фоновое задание
0 OldCondom
 
24.04.22
14:43
Что-то с параметрами не пойму, ловлю вот это: {ВнешняяОбработка.СверткаБазы.МодульОбъекта(1279)}: Ошибка при вызове метода контекста (Выполнить): Недопустимое значение параметра (параметр номер '1') (УдалитьДвиженияПоРегистру) []

На данный момент код такой(параметры по всякому пытался передавать, это уже 3 или 4 вариант):

МассивДанныхЗадания.Добавить(СсылкаНач);
                Если МассивДанныхЗадания.Количество() = КоличествоДанныхДляЗадания Тогда
                    Пока МассивФЗ.Количество() = КоличествоЗаданий Цикл
                        Для Каждого ФЗ ИЗ МассивФЗ Цикл
                            Если НЕ ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ФЗ).Состояние() = СостояниеФоновогоЗадания.Активно Тогда
                                МассивФЗ.Удалить(МассивФЗ.Найти(ФЗ));
                                Прервать;
                            КонецЕсли;
                        КонецЦикла;
                    КонецЦикла;
                    МассивПараметров = Новый Массив;
                    МассивПараметров.Добавить(ИмяРегистра);
                    МассивПараметров.Добавить(МассивДанныхЗадания);
                    ФЗ = ФоновыеЗадания.Выполнить("РегламентныеЗадания.УдалитьДвиженияПоРегистру", МассивПараметров);
                    МассивФЗ.Добавить(ФЗ.УникальныйИдентификатор);
                    МассивДанныхЗадания.Очистить();
                КонецЕсли;

Процедура УдалитьДвиженияПоРегистру(ИмяРегистра, МассивРегистраторов) Экспорт
    
    НаборЗаписей = РегистрыНакопления[ИмяРегистра].СоздатьНаборЗаписей();
    Для каждого Регистратор Из МассивРегистраторов Цикл
        НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
        НаборЗаписей.Записать();
    КонецЦикла;

КонецПроцедуры


Также пытался в массив параметров первым элементом вставить строковое значение с именем регистра, а последующие Документ.Ссылка - эффект такой же.
1 OldCondom
 
24.04.22
14:46
В параметр можно передавать только сериализуемые, так вроде ссылки на любые объекты - это оно.
2 ДедМорроз
 
24.04.22
14:47
А у вас модуль назывпется "РегламентныеЗадания"?
Переименуйте,так как глобальная переменная "РешламентныеЗадания" его перекрывает.
3 OldCondom
 
24.04.22
14:48
Немного по другому, там название фирмы, потер
4 OldCondom
 
24.04.22
14:50
Блин. Даже если просто передать в параметры массив только из ссылок на документы - такая же фигня. Не проваливается в процедуру даже
5 ДедМорроз
 
24.04.22
14:51
Тебе уже ответили,что не в параметрах дело.
Модуль переименуй.
6 OldCondom
 
24.04.22
14:57
он и так переименован. Это я тут потер. По факту "НАЗВАНИЕФИРМЫ_РегламентныеЗадания".


Прошу прощения, это я дурак. Параметры должны соответствоать по имени. Передаю
МассивПараметров = Новый Массив;
                    МассивПараметров.Добавить(ИмяРегистра);
                    МассивПараметров.Добавить(МассивДанныхЗадания);

А обрабатываю Процедура УдалитьДвиженияПоРегистру(ИмяРегистра, МассивРегистраторов)
7 Лефмихалыч
 
24.04.22
20:00
а какое значение лежит в переменной ИмяРегистра вот в этой строке?

МассивПараметров.Добавить(ИмяРегистра);
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.