Приветствую, Форумчане!
1с8.3.6, самопис, БСП, УФ
Имеется регламентное задание, которе раз в сутки из регистра сведений отправляет адресатам СМС соощения:
Процедура ОтправитьСМССообщенияИзОчереди() Экспорт
Запрос = Новый Запрос(
"ВЫБРАТЬ
| СМСДляОтправления.Период КАК Период,
| СМСДляОтправления.Регистратор,
| СМСДляОтправления.Телефон,
| ВЫРАЗИТЬ(СМСДляОтправления.Сообщение КАК СТРОКА(500)) КАК Сообщение
|ИЗ
| РегистрСведений.СМСДляОтправления КАК СМСДляОтправления
|ГДЕ
| НЕ СМСДляОтправления.Телефон = """"
| И НЕ (ВЫРАЗИТЬ(СМСДляОтправления.Сообщение КАК СТРОКА(100))) = """"
| И НЕ СМСДляОтправления.Отправлено
|
|УПОРЯДОЧИТЬ ПО
| Период" );
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
//Владимир 2019_06_19
НомераПолучателей = Новый Массив;
НомераПолучателей.Добавить(Выборка.Телефон);
ТекстСообщения = Выборка.Сообщение;
// отправка
РезультатОтправки = ОтправкаSMS.ОтправитьSMS(НомераПолучателей, ТекстСообщения);
// проверка доставки для первого получателя
Если РезультатОтправки.ОтправленныеСообщения.Количество() > 0 Тогда
ИдентификаторСообщения = РезультатОтправки.ОтправленныеСообщения[0].ИдентификаторСообщения;
КонецЕсли;
// вывод идентификаторов отправленных SMS
Для Каждого ОтправленноеСообщение Из РезультатОтправки.ОтправленныеСообщения Цикл
КомментарийОтправки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Номер: %1, ID: %2'"),
ОтправленноеСообщение.НомерПолучателя, ОтправленноеСообщение.ИдентификаторСообщения);
ЗаписьЖурналаРегистрации("ОповещениеОбОплатеКлиентов", УровеньЖурналаРегистрации.Информация,,, КомментарийОтправки);
КонецЦикла;
// вывод информации об ошибках в процессе отправки
Если НЕ ПустаяСтрока(РезультатОтправки.ОписаниеОшибки) Тогда
ЗаписьЖурналаРегистрации("ОповещениеОбОплатеКлиентов", УровеньЖурналаРегистрации.Ошибка,,, РезультатОтправки.ОписаниеОшибки);
Иначе
МенЗаписи = РегистрыСведений.СМСДляОтправления.СоздатьМенеджерЗаписи();
ЗаполнитьЗначенияСвойств( МенЗаписи, Выборка );
МенЗаписи.Отправлено = Истина;
МенЗаписи.Записать( Истина );
КонецЕсли;
КонецЦикла;
КонецПроцедуры
На:
МенЗаписи = РегистрыСведений.СМСДляОтправления.СоздатьМенеджерЗаписи();
ЗаполнитьЗначенияСвойств( МенЗаписи, Выборка );
Выходит сообщение об ошибке при запуске регламента:
"Менеджер записи не может быть использован для регистра с режимом записи "Подчинение регистратору""Действительно, у данного РС есть 2-а документа по движению.
Почему возникает такая ошибка? И как ее победить?
Зачем вообще создается менеджер записи?
Подскажите куда пройти? Напарник считает, что ошибка кроется в документе, который сбрасывает данные по СМС в этот регистр, но причем здесь это, если сам Регистр сформирован правильно, со всеми полями и телефонами...