Как скопривоти одну колонку в другую в регистре накопления?
Найденные решения
(1) Для начала нужно создать маппинг (соответствие) текстовых данных к ссылочным. Потом обойти все наборы по регистраторам. Примерный код:
// Формирование соответствия строковых и ссылочных значений
Соответствие = Новый Соответствие;
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка, Наименование ИЗ Справочник.Справочник1");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Соответствие[Выборка.Наименование] = Выборка.Ссылка;
КонецЦикла;
// Обновление записей регистра накопления
Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ Регистратор ИЗ РегистрНакопления.РегистрНакопления1");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НаборЗаписей = РегистрыНакопления.РегистрНакопления1.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Запись.Измерение2 = Соответствие[Запись.Измерение1];
КонецЦикла;
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.Записать();
КонецЦикла;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Для начала нужно создать маппинг (соответствие) текстовых данных к ссылочным. Потом обойти все наборы по регистраторам. Примерный код:
// Формирование соответствия строковых и ссылочных значений
Соответствие = Новый Соответствие;
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка, Наименование ИЗ Справочник.Справочник1");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Соответствие[Выборка.Наименование] = Выборка.Ссылка;
КонецЦикла;
// Обновление записей регистра накопления
Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ Регистратор ИЗ РегистрНакопления.РегистрНакопления1");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НаборЗаписей = РегистрыНакопления.РегистрНакопления1.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Запись.Измерение2 = Соответствие[Запись.Измерение1];
КонецЦикла;
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.Записать();
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот