Заполнение регистра сведений данными из другого регистра сведений

1. user1675974 06.10.21 15:22 Сейчас в теме
Необходимо создать обработку по дублированию набора записей из одного регистра сведений в другой

Делаю вот так:

ИсходнаяОрганизация = Объект.ИсходнаяОрганизация;
ЦелеваяОрганизация = Объект.ЦелеваяОрганизация;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РегистрСведений.Организация КАК Организация,
| РегистрСведений.ОбъектМетаданных КАК ОбъектМетаданных,
| РегистрСведений.Реквизит КАК Реквизит
|ИЗ
| РегистрСведений.РегистрСведений КАК РегистрСведений
|ГДЕ
| РегистрСведений.Организация = &Ссылка";

Запрос.УстановитьПараметр("Ссылка",ИсходнаяОрганизация);

Выборка = Запрос.Выполнить().Выбрать();

НаборЗаписей = РегистрыСведений.РегистрСведений.СоздатьНаборЗаписей();

Пока Выборка.Следующий() Цикл
НоваяЗапись = НаборЗаписей.Добавить;
ЗаполнитьЗначенияСвойств(НоваяЗапись,Выборка);
НоваяЗапись.Организация = ЦелеваяОрганизация;
КонецЦикла;
НаборЗаписей.Записать(Ложь);


И ничего не происходит
По теме из базы знаний
Найденные решения
7. user1675974 07.10.21 13:50 Сейчас в теме
Проблема была не в составе процедуры, а в том, что она была на сервере

Надо было:

&НаКлиенте
Процедура ПереместитьНаборЗначений(Команда)

ПереносДанныхВРегистр()

КонецПроцедуры

&НаСервере
Процедура ПереносДанныхВРегистр()

//Состав процедуры

КонецПроцедуры
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. nomad_irk 72 06.10.21 15:31 Сейчас в теме
(1)
"ВЫБРАТЬ
| &ЦелеваяОрганизация КАК Организация,
| РегистрСведений.ОбъектМетаданных КАК ОбъектМетаданных,
| РегистрСведений.Реквизит КАК Реквизит
|ИЗ
| РегистрСведений.РегистрСведений КАК РегистрСведений
|ГДЕ
| РегистрСведений.Организация = &Ссылка"
......
.......
НаборЗаписей.Отбор.Организация.Установить(ЦелеваяОрганизация);
........
НоваяЗапись = НаборЗаписей.Добавить();
..............
//НоваяЗапись.Организация = ЦелеваяОрганизация;// лишняя
Показать
2. zelenii 06.10.21 15:30 Сейчас в теме
Если ничего не происходит, то надо идти в отладчик. Такое может быть если запрос пустой.
Кроме того почему в НоваяЗапись = НаборЗаписей.Добавить, идет без скобок?
3. homer_ 78 06.10.21 15:31 Сейчас в теме
Зайти в справку и посмотреть как надо делать
Пример:
КурсыВалют = РегистрыСведений.КурсыВалют;
НаборКурсов = КурсыВалют.СоздатьНаборЗаписей();
Доллар = Справочники.Валюты.НайтиПоНаименованию("USD");
НаборКурсов.Отбор.Валюта.Установить(Доллар);
НаборКурсов.Отбор.Период.Установить(НачалоДня(ТекущаяДата()));
НаборКурсов.Прочитать();
Если НаборКурсов.Количество() = 0 Тогда
НовыйКурс = НаборКурсов.Добавить();
НовыйКурс.Валюта = Доллар;
НовыйКурс.Период = ТекущаяДата();
ИначеЕсли НаборКурсов.Количество() = 1 Тогда
НовыйКурс = НаборКурсов[0];
Иначе
Предупреждение(НСтр("ru = 'Курс валюты задается один раз в день.';"
+ " en = 'Rate is set once a day.'"), 60);
Возврат;
КонецЕсли;
НовыйКурс.Курс = 31.44;
НовыйКурс.Кратность = 1;
НаборКурсов.Записать();
Сообщить(НСтр(ru = 'Курс '; en = 'Rate ')
+ СокрЛП(НовыйКурс.Валюта)
+ НСтр(ru = ' на сегодня: "+"; en = ' for today: ')
+ НовыйКурс.Курс + НСтр(ru = ' руб.'; en = ' roub.'"));
5. zelenii 06.10.21 15:36 Сейчас в теме
В догонку. Если отбор пустой, то запись пустого набора регистра сведений очистит регистр полностью.
6. KVIKS 400 06.10.21 17:45 Сейчас в теме
Попробуй сделать через менеджер записи
Пока Выборка.Следующий() Цикл
НоваяЗапись =РегистрыСведений.РегистрСведений.СоздатьМенеджерЗаписи();
ЗаполнитьЗначенияСвойств(НоваяЗапись,Выборка);
НоваяЗапись.Организация = ЦелеваяОрганизация;
НоваяЗапись.Записать(Истина);
КонецЦикла;

Показать
7. user1675974 07.10.21 13:50 Сейчас в теме
Проблема была не в составе процедуры, а в том, что она была на сервере

Надо было:

&НаКлиенте
Процедура ПереместитьНаборЗначений(Команда)

ПереносДанныхВРегистр()

КонецПроцедуры

&НаСервере
Процедура ПереносДанныхВРегистр()

//Состав процедуры

КонецПроцедуры
Оставьте свое сообщение

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