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