HelpF.pro

Как прочитать записи регистра сведений установив отбор и удалить записи?

Прочитать записи регистра сведений можно двумя способами: Через Набор Записей или Менеджер 

Вот пример через набор записей:

Код 1C v 8.х
 // Добавление новых данных в существующую запись регистра сведений
НаборЗаписей = РегистрыСведений.ДокументоОборот.СоздатьНаборЗаписей();
	НаборЗаписей.Отбор.Доставка.Установить(Доставка);
	НаборЗаписей.Отбор.Этап.Установить(Этап);	
	НаборЗаписей.Прочитать();
	Для каждого Запись из НаборЗаписей Цикл
		Запись.ДатаВремя = ДатаР;
		Запись.Отдел = фио.Подразделение;
		Запись.ФИО = ПараметрыСеанса.ТекущийПользователь;    
	    Запись.Документы = Документы;   
		Запись.Примечание = Примечание;   
	КонецЦикла;
	НаборЗаписей.Записать();   

Пример с использованием набора записей и менеджера записи:

Код 1C v 8.х
 НаборЗаписей = РегистрыСведений.CRM_Напоминания.СоздатьНаборЗаписей();
	Отбор = НаборЗаписей.Отбор;
	Отбор.Объект.Установить(Объект.Ссылка);
	Отбор.Завершено.Установить(Ложь);
	НаборЗаписей.Прочитать();
	
	Если НаборЗаписей.Количество() > 0 Тогда
		
		Если ЗадаватьВопрос Тогда
			ТекстВопроса = "Завершить все напоминания для " + Строка(Объект.Ссылка) + " ?";
			Ответ = Вопрос(ТекстВопроса,РежимДиалогаВопрос.ДаНет, ,КодВозвратаДиалога.Да);
		Иначе
			Ответ = КодВозвратаДиалога.Да
		КонецЕсли;
		
		Если Ответ = КодВозвратаДиалога.Да Тогда
			
			Для каждого Запись Из НаборЗаписей Цикл
				
				РегистрСведенийМенеджерЗаписи = РегистрыСведений.CRM_Напоминания.СоздатьМенеджерЗаписи();
				ЗаполнитьЗначенияСвойств(РегистрСведенийМенеджерЗаписи, Запись);
				РегистрСведенийМенеджерЗаписи.Прочитать();
				
				Если  РегистрСведенийМенеджерЗаписи.Выбран() Тогда  //напоминание небыло удалено
					Если НЕ РегистрСведенийМенеджерЗаписи.УдалитьПоИстеченииСрока Тогда
						РегистрСведенийМенеджерЗаписи.Завершено = Истина;		 
						РегистрСведенийМенеджерЗаписи.Записать();
					Иначе
						РегистрСведенийМенеджерЗаписи.Удалить();
					КонецЕсли;
				КонецЕсли;
				
			КонецЦикла;
			
		КонецЕсли;
		
	КонецЕсли;
   

А вот пример через менеджер записи:

Код 1C v 8.х
 МенеджерЗаписи = РегистрыСведений.НоменклатураКонтрагентов.СоздатьМенеджерЗаписи();
		МенеджерЗаписи.Контрагент                 = Контрагент;
		МенеджерЗаписи.Номенклатура               = СтрокаТаблицыТовары.Номенклатура;
		МенеджерЗаписи.ХарактеристикаНоменклатуры = СтрокаТаблицыТовары.ХарактеристикаНоменклатуры;
		МенеджерЗаписи.Прочитать();
		Если МенеджерЗаписи.Выбран() Тогда
			Вес = МенеджерЗаписи.ВесНоменклатурыКонтрагента;
		КонецЕсли;   

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/1712.html