Удалить записи регистров без циклов

1. rhtr 94 18.04.21 19:37 Сейчас в теме
Синтаксис:
Загрузить(<ТаблицаЗначений>)
Параметры:
<ТаблицаЗначений> (обязательный)
Тип: ТаблицаЗначений.
Таблица значений, по которой производится заполнение набора записей.
Описание:
Загружает набор записей значениями из переданной таблицы значений. При этом все прежние записи набора удаляются. Заполняются значения доступных для записи свойств записей регистра сведений, имена которых совпали c именами колонок таблицы значений.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
Рег = РегистрыСведений.КурсыВалют;
НаборКурсов = Рег.СоздатьНаборЗаписей();
Таб = Новый ТаблицаЗначений;
// формирование таблицы значений

// ...

НаборКурсов.Загрузить(Таб);



//+ КОД

Процедура УдалитьЗаписи(Команда)

ТипОбъектаМД = "РЕГИСТРСВЕДЕНИЙ";
ИмяРегистра = "ЦеныНоменклатуры";
	

ТекстЗапроса = "ВЫБРАТЬ 
|*
|ИЗ
|	" + ТипОбъектаМД + "."+ИмяРегистра+" КАК ДокументРег
|ГДЕ
|	ДокументРег.Период > &ДатаКон";

Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;

Запрос.УстановитьПараметр("ДатаКон", КонецДня(КонецПериода));

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

Если  ЗапросВып.Пустой() тогда Возврат КонецЕсли;

Результат = ЗапросВып.Выгрузить();


Если ВРЕГ(ТипОбъектаМД) = "РЕГИСТРНАКОПЛЕНИЯ" Тогда
	//НаборЗаписейУД = РегистрыНакопления[ИмяРегистра].СоздатьНаборЗаписей();
	НаборЗаписейЗап = РегистрыНакопления[ИмяРегистра].СоздатьНаборЗаписей();
ИначеЕсли ВРЕГ(ТипОбъектаМД) = "РЕГИСТРСВЕДЕНИЙ" Тогда
	//НаборЗаписейУД = РегистрыСведений[ИмяРегистра].СоздатьНаборЗаписей();
	НаборЗаписейЗап = РегистрыСведений[ИмяРегистра].СоздатьНаборЗаписей();
ИначеЕсли ВРЕГ(ТипОбъектаМД) = "РЕГИСТРБУХГАЛТЕРИИ" Тогда
	//НаборЗаписейУД = РегистрыБухгалтерии[ИмяРегистра].СоздатьНаборЗаписей();
	НаборЗаписейЗап = РегистрыБухгалтерии[ИмяРегистра].СоздатьНаборЗаписей();
Иначе
	Сообщить("Не известный тип объекта метаданных " + ТипОбъектаМД);
	Возврат;
КонецЕсли;	


НаборЗаписейЗап.Загрузить(Результат);
НаборЗаписейЗап.Записать(Истина);

КонецПроцедуры
Показать


//+ КОД

//по причине:
//Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Цены номенклатуры)

//Что не так ребята?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1534961 18.04.21 19:44 Сейчас в теме
Регистр сведений подчинен регистратору. Требуется документ и движения документа.
3. rhtr 94 18.04.21 19:50 Сейчас в теме
(2) я так и понял, спасибо.
Надеялся на синтакс -помощника, а он подвёл.
4. rhtr 94 18.04.21 19:53 Сейчас в теме
(2) Все надеялся что обойдусь без циклов.
5. Leon75 18.04.21 20:12 Сейчас в теме
//Что не так ребята?

Да практически все...
У вас ещё звезда с 83.
Название темы не соответствует содержанию.
ТипОбъектаМД = "РЕГИСТРСВЕДЕНИЙ";
А потом идёт условие по ТипОбъектаМД.
НаборЗаписейУД зачем?
6. rhtr 94 18.04.21 20:15 Сейчас в теме
(5)
ДА это выдран кусочек кода и адаптирован чтоб понятно было.
7. rhtr 94 18.04.21 20:16 Сейчас в теме
Оставьте свое сообщение

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