Редактировать список учебных получателей SMS и сохранить снимок списка

Учебные задачи

Свойство Получатели нельзя заменить другим массивом, но его существующий массив можно наполнить. Ссылка на массив и независимый снимок ведут себя по-разному.

Где и как запускать

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

Подготовка

  1. Используйте отдельную конфигурацию УчебнаяКонфигурацияСинтаксиса. Создайте серверный общий модуль УчебныеЧерновики с флагом Сервер, вставьте полный код выбранного урока и вызовите ВыполнитьПример из серверного обработчика учебной обработки.

  2. SMSСообщение доступен на сервере, но наличие объекта не означает наличие SIM-карты или права отправлять SMS. Эти опыты работают только с новым объектом в памяти.

  3. Номера +000000000000 и +000000000001 намеренно вымышлены и непригодны для отправки. Не заменяйте их своими контактами: урок показывает коллекцию, а не доставку.

  4. Нет чтения журнала SMS, системного редактора, отправки, мобильных разрешений, сети или записи в базу. Не добавляйте методы отправки к этому коду.

Процедура ВыполнитьПример() Экспорт
    Черновик = Новый SMSСообщение;
    Черновик.Отправитель = "УчебныйСклад";
    Черновик.Текст = "Книга: 3 шт. по 250, итого 750. Учебный черновик, не отправлять.";
    Получатели = Черновик.Получатели;
    Получатели.Добавить("+000000000000");
    Получатели.Добавить("+000000000001");
    СнимокНомеров = Новый Массив;
    Для Каждого Номер Из Получатели Цикл
        СнимокНомеров.Добавить(Номер);
    КонецЦикла;
    Получатели.Удалить(0);
    Сообщить(Черновик.Получатели.Количество() = 1);
    Сообщить(Черновик.Получатели[0] = "+000000000001");
    Сообщить(СнимокНомеров.Количество() = 2);
    Сообщить(СнимокНомеров[0] = "+000000000000");
    Получатели.Очистить();
    Сообщить(Черновик.Получатели.Количество() = 0);
    Сообщить(СнимокНомеров.Количество() = 2);
КонецПроцедуры

Разбор по шагам

  1. Получить ссылку на массив именно нового черновика.

  2. Добавить два заведомо вымышленных номера. Массив не проверяет возможность доставки.

  3. Перенести строки в новый собственный массив: это снимок значений.

  4. Удалить первый номер через ссылку Получатели и увидеть изменение Черновик.Получатели.

  5. Очистить только массив нового черновика. Снимок по-прежнему содержит две строки.

Как проверить результат

  1. Шесть булевых сообщений Истина: после удаления один номер, снимок из двух строк, после очистки черновик пуст, снимок сохранён.

  2. Не было ни отправки, ни удаления SMS из журнала.

Ожидаемый результат

Практический разбор readonly-свойства с изменяемой коллекцией и независимого снимка строк.

На что обратить внимание

  1. Только чтение у свойства не означает неизменяемость возвращённого массива.

  2. Получатели = Черновик.Получатели не копирует данные.

  3. Номера +000… являются учебными заполнителями, не валидными телефонными адресатами.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.