Имя: Пароль:
1C
 
Требуется перенести из реквизита справочник в РС. Ошибка в обработке. Помогите
0 AlexBor
 
naïve
05.06.15
12:13
Есть справочник Адрес в нем реквизит Управляющая_к создал РС Управляющиекомпании 2 измерения Адрес и управляющая компания требуется заполнить из справочника. Сделал обработку но заполняет только последнее  понял что нужен отбор вот тут и проблема возникла как сделать?

Выборка = Справочники.Адрес.Выбрать();
    
Пока Выборка.Следующий() = 1 Цикл // начало перебора элементов справочника в цикле
НаборЗаписей = РегистрыСведений.УправляющиеКомпании.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Адрес.Установить.???????;
НовЗапись = НаборЗаписей.Добавить();
НовЗапись.Период = ТекущаяДата();
НовЗапись.УК = Выборка.Управляющая_к;
НовЗапись.Адрес = Выборка.Ссылка;
НаборЗаписей.Записать(Истина);    
Сообщить("Адрес " + Выборка.Наименование);
КонецЦикла;
1 D_E_S_131
 
05.06.15
12:31
У одно йкомпании может быть несколько адресов?
2 Classic
 
05.06.15
12:34
Используй менеджер записи и не мучай задний проход
3 AlexBor
 
naïve
05.06.15
12:35
(1) Адрес это - Дом у него только одна управляющая компания на текущую дату
4 AlexBor
 
naïve
05.06.15
12:36
(2) Обоснуй?
5 D_E_S_131
 
05.06.15
12:38
(3) Тогда "Адрес" д.б Ресурсом, а не измерением. Если известны все значения измерений, то оптимальнее писать менеджером записи в РС.
6 AlexBor
 
naïve
05.06.15
12:43
(5) По второму пожалуй соглашусь, в плане первого замечания не совсем понятно почему адрес не может быть измерением? Мне кажется для данной задачи это не имеет значения?
7 разработчик 1с
 
05.06.15
12:43
(5) наоборот
8 AlexBor
 
naïve
05.06.15
12:47
Собственно по поводу обработки сделал так и все получилось.

Выборка = Справочники.Адрес.Выбрать();
    
Пока Выборка.Следующий() = 1 Цикл // начало перебора элементов справочника в цикле
НаборЗаписей = РегистрыСведений.УправляющиеКомпании.СоздатьНаборЗаписей();
//НаборЗаписей.Отбор.Адрес.Установить(УправляющиеКомпании);
НаборЗаписей.Прочитать();
НовЗапись = НаборЗаписей.Добавить();
НовЗапись.Период = ТекущаяДата();
НовЗапись.УК = Выборка.Управляющая_к;
НовЗапись.Адрес = Выборка.Ссылка;
НаборЗаписей.Записать(Истина);    
Сообщить("Адрес " + Выборка.Наименование);
КонецЦикла;
9 D_E_S_131
 
05.06.15
12:53
(7) С ИТС
Использование объекта РегистрСведенийМенеджерЗаписи

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. Чтение записи (набора записей) из регистра сведений без последующей модификации необходимо выполнять запросом.

2. Объект РегистрСведенийМенеджерЗаписи следует применять только тогда, когда выполнение операций с регистром сведений требует использования отбора одновременно по всем измерениям. При этом менеджер записи использует для выполнения записи два набора записей, устанавливая им соответствующие значения отборов. Поэтому обработчики событий набора записей вызываются и тогда, когда для записи данных используется менеджер записи.

3. В остальных случаях следует использовать объект РегистрСведенийНаборЗаписей. С точки зрения производительности использование менеджера записей в некоторых случаях будет столь же эффективным, как и использование набора записей, а в некоторых - менее, так как будут выполняться лишние действия.
10 D_E_S_131
 
05.06.15
12:54
(6) "не совсем понятно почему адрес не может быть измерением?" — потому что ты написал "у него только одна управляющая компания".
11 разработчик 1с
 
05.06.15
12:55
(9) > (1) Адрес это - Дом у него только одна управляющая компания на текущую дату
адрес - измерение, ук - ресурс
12 D_E_S_131
 
05.06.15
13:15
(11) Согласен.