Как заполнить Измерение в регистре сведений

1. umberto_nobile 5 25.04.16 14:58 Сейчас в теме
Есть непереодический, независимый регистр сведений. добавил к нему плюс одно измерение. естественно оно пустое для всех записей. мне надо заполнить все записи одним и тем же значением.
есть ли такая функция, которая может одним махом заполнить весь набор записей?

P.S. записей очень много и простым перебором в цикле будет долго и неспортивно
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. config 204 25.04.16 15:08 Сейчас в теме
(1) umberto_nobile, Эта публикация это умеет
а в частности вот эта её возможность
подбор и обработка объектов - форма для подбора строк из одной таблицы БД и их обработки
Поддерживаются типы таблиц БД
-ссылочная
-регистр
-последовательность
-табличная часть
-режим многотабличной выборки (можно выбирать данные сразу из нескольких однотипных таблиц)
7. kasper076 112 26.04.16 06:37 Сейчас в теме
(1), (5) что есть МНОГО? Платформа позволяет это сделать либо через Менеджера записи, либо через набор записей. Если нужно заполнить не средствами платформы, то так и нужно писать. Но тогда надо знать файловая база или нет, если нет то на какой СУБД крутится.
Опять же таки можно запустить заполнение в несколько потоков и это будет быстрее чем в цикле заполнять.
3. umberto_nobile 5 25.04.16 15:44 Сейчас в теме
спасибо большое, но мне нужен не только разовый результат, но и средство решения такой задачи. ведь мы программисты - пытливые умы!!!
6. PhoenixAOD 62 26.04.16 06:26 Сейчас в теме
(3) umberto_nobile, свояй свою внешнюю обработку и будет тебе счастье.
4. r.moschenskiy 24 25.04.16 16:12 Сейчас в теме
Процедура УстановитьНовоеИзмерение(Значение)
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	РС.Измерение1,
	|	РС.Измерение2
	|ИЗ
	|	РегистрСведений.РС КАК РС";
	
	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();
	
	Пока Выборка.Следующий() Цикл
		МенеджерЗаписи = РегистрыСведений.РС.СоздатьМенеджерЗаписи();
		МенеджерЗаписи.Измерение1 = Выборка.Измерение1;
		МенеджерЗаписи.Измерение2 = Выборка.Измерение2;
		МенеджерЗаписи.Прочитать();
		Если МенеджерЗаписи.Выбран() Тогда
			МенеджерЗаписи.НовоеИзмерение = Значение;
			МенеджерЗаписи.Записать();
		Иначе
			Сообщить("Менеджер записи не выбран: " + МенеджерЗаписи.Измерение1 + ", " + МенеджерЗаписи.Измерение2);
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры
Показать
5. ZergKRSK 130 26.04.16 03:40 Сейчас в теме
(4) r.moschenskiy, не читатель?
записей очень много и простым перебором в цикле будет долго
8. user1575928 36 11.04.23 10:04 Сейчас в теме
Если еще актуально.

Выгружаем набор в таблицу значений, заполняем нужную колонку через ТаблицаЗначений.ЗаполнитьЗначения(<Значение>, <Колонки>) Загружаем таблицу в набор записей.

НаборЗаписей.Прочитать();
тз = НаборЗаписей.Выгрузить();
тз.ЗаполнитьЗначения();
НаборЗаписей.Загрузить(тз);
НаборЗаписей.Записать();
9. Alexwarsis 12.04.23 09:46 Сейчас в теме
(8) только если значений много т.к. оно делает это все офигенно в транзакции может повесить базу смотрите на кол-во записей, столкнулся впервые на миллионе записей но нижнюю границу таких приколов не знаю + от кол-ва полей регистра зависит
Оставьте свое сообщение

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