1С | Программное заполнение реквизита ссылочного типа

1. VKuser238220630 06.09.23 08:10 Сейчас в теме
Доброго времени суток, я новичок поэтому заранее извиняюсь за затупы :)

У меня есть следующие справочники (см скриншоты)
1. Адреса
- страна - СправочникСсылка.КлассификаторСтранМира
- населенный пункт - СправочникСсылка.КлассификаторНаселенныхПунктов
- районобласногоцентра - СправочникСсылка.КлассификаторРайоновОбластныхЦентров
- дом - число
- улица - СправочникСсылка.КлассификаторУлиц
- корпус - строка
- квартира - строка
- кодСОАТО - СправочникСсылка.КодСОАТО
2. КодСОАТО
использую стандартные реквизиты (код, наименование)

появилась необходимость заполнить реквизит КодСОАТО в справочнике Адреса. Если КодСОАТО пустой и НаселенныйПункт + НаселенныйПункт.Район равны наименованию в справочнике КодСОАТО.


Написала обработку, ошибок она не выбивает, но и реквизит не заполняет. Попробовала сделать реквизит кодСоато типом строка, тогда все прекрасно заполняет :(

Процедура КнопкаВыполнитьНажатие(Кнопка)

СпрАдреса = Справочники.Адреса.Выбрать();
СпрСОАТО = Справочники.КодСОАТО.Выбрать();

Пока СпрАдреса.Следующий() Цикл
СпрОбъект = СпрАдреса.ПолучитьОбъект();
Если СпрАдреса.КодСОАТО = "" Тогда
//Если СпрОбъект.КодСОАТО = Справочники.КодСОАТО.ПустаяСсылка() Тогда
Сообщить(СпрОбъект.КодСОАТО);
Наименование = СпрОбъект.НаселенныйПункт.Наименование + ", " + СпрОбъект.НаселенныйПункт.Район;
//сообщить(Наименование);
//сообщить(СпрСОАТО.Наименование);
Пока СпрСОАТО.Следующий() Цикл
Мяу = СпрСОАТО.Наименование;
Если Наименование = Мяу Тогда
СпрОбъект.КодСОАТО = СпрСОАТО;
Сообщить("Наименование: " + Наименование);
Сообщить("Мяу: " + Мяу);
СпрОбъект.Записать();
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;

КонецПроцедуры
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starjevschik 06.09.23 08:17 Сейчас в теме
Это треш. Курсы сначала, потом что-то делать.
t278; user1880116; VKuser238220630; +3 Ответить
3. Gendelf 06.09.23 09:27 Сейчас в теме
У вас КодСОАТО ссылочного типа, значит заполняться он может только ссылкой, не строкой. Иначе меняйте тип на составной. Если всё же нужно заполнить ссылкой, ищите соответствующий элемент в справочнике или создавайте в нём нужный.
4. Gendelf 06.09.23 09:28 Сейчас в теме
(3) И да, размещайте пожалуйста код в спец тэгах.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот