наверх
Справка / работа с регистрами сведений

Работа с регистрами сведений

  • Как добавить запись в непериодический независимый регистр сведений?
  • Как считать содержимое непериодического независимого регистра сведений "СобственныеКонтрагенты"?
  • Как удалить все записи из независимого регистра сведений?
  • Как удалить записи независимого регистра сведений с отбором по конкретной организации?
  • Как добавить запись в периодический независимый регистр сведений?
  • Как прочитать (изменить) записи в периодическом независимом регистре сведений?
  • Как удалить записи в периодическом независимом регистре сведений?
  • Как в периодическом независимом регистре сведений "КурсыВалют" удалить все записи по валютам с наименованиями "EUR" и "USD", период которых меньше 01
  • Как прочитать данные, актуальные на определенную дату, из регистра сведений "Курсы валют" с отбором по нескольким валютам (отбор по измерениям)?
  • Как поменять период у записей периодического независимого регистра, соответствующих ряду условий?
  • Как "сделать периодическим" реквизит уже заполненного справочника?
  • Как добавить записи в регистр сведений, подчиненный регистратору?
  • Как прочитать (изменить) записи в регистре сведений, подчиненном регистратору?
  • Как удалить записи из регистра сведений, подчиненного регистратору?
  • Как добавить запись в непериодический независимый регистр сведений?

    НаборЗаписей = РегистрыСведений.ЗначенияСвойств.СоздатьНаборЗаписей(); 
    
    НаборЗаписей.Отбор.Номенклатура.Установить(ТекущаяНоменклатура); 
    НаборЗаписей.Отбор.Свойство.Установить(ТекущееСвойство); 
    
    НоваяЗапись = НаборЗаписей.Добавить(); 
    НоваяЗапись. Номенклатура = ТекущаяНоменклатура; 
    НоваяЗапись.Свойство = ТекущееСвойство; 
    НоваяЗапись.Значение = ТекущееЗначение; 
    
    НаборЗаписей.Записать();

    Как считать содержимое непериодического независимого регистра сведений "СобственныеКонтрагенты"?

    НаборЗаписей = РегистрыСведений.СобственныеКонтрагенты.СоздатьНаборЗаписей(); 
    НаборЗаписей.Прочитать(); 
    
    // Перебрать записи в цикле… 
    Для Каждого Запись из НаборЗаписей Цикл 
    	РегистрКонтрагент = Запись.Контрагент; 
    	РегистрВидСвязи = Запись.ВидСвязи; 
    	РегистрОбъект = Запись.Объект; 
    КонецЦикла; 
    
    // … или выгрузить записи в таблицу значений. 
    ТаблицаЗаписей = НаборЗаписей.Выгрузить(); 
    
    
    ВЫБРАТЬ 
    	* 
    ИЗ 
    	РегистрыСведений.СобственныеКонтрагенты

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

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

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

    НаборЗаписей = РегистрыСведений.ОбъектыСтроительстваОрганизаций.СоздатьНаборЗаписей(); 
    НаборЗаписей.Отбор.Организация.Установить(УдаляемаяОрганизация); 
    НаборЗаписей.Записать();

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

    НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); 
    
    НаборЗаписей.Отбор.Валюта.Установить(ТекущаяВалюта); 
    НаборЗаписей.Отбор.Период.Установить(ТекущаяДата); 
    
    НовЗапись = НаборЗаписей.Добавить(); 
    НовЗапись.Валюта = ТекущаяВалюта; 
    НовЗапись.Период = ТекущаяДата; 
    НовЗапись.Курс = ТекущийКурс; 
    НовЗапись.Кратность = ТекущаяКратность; 
    
    НаборЗаписей.Записать(Истина);

    Как прочитать (изменить) записи в периодическом независимом регистре сведений?

    НаборЗаписей = РегистрыСведений.Валюты.СоздатьНаборЗаписей(); 
    НаборЗаписей.Отбор.Период.Установить(ДатаЗаписи); 
    
    НаборЗаписей.Прочитать(); 
    
    Для Каждого Запись Из НаборЗаписей Цикл 
    	// Чтение и сообщение данных полей записи. 
    	Сообщить(Строка(Запись.Период) + " " + Строка(Запись.Валюта) + " " + Строка(Запись.Курс)); 
    	// Изменение данных полей записи. 
    	Запись.Курс = 0; 
    КонецЦикла; 
    
    НаборЗаписей.Записать();

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

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

    Как в периодическом независимом регистре сведений "КурсыВалют" удалить все записи по валютам с наименованиями "EUR" и "USD", период которых меньше 01

    Запрос = Новый Запрос; 
    Запрос.Текст = "ВЫБРАТЬ 
    	|	* 
    	|ИЗ 
    	|	РегистрСведений.КурсыВалют КАК КурсыВалют 
    	|ГДЕ 
    	|	(КурсыВалют.Период >= ДАТАВРЕМЯ(2005, 1, 1) 
    	|	ИЛИ 
    	|	НЕ(КурсыВалют.Валюта.Наименование ПОДОБНО ""USD"") 
    	|	И 
    	|	НЕ(КурсыВалют.Валюта.Наименование ПОДОБНО ""EUR""))"; 
    
    
    ТаблицаОставляемыхЗаписей = Запрос.Выполнить().Выгрузить(); 
    
    НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); 
    НаборЗаписей.Загрузить(ТаблицаОставляемыхЗаписей); 
    НаборЗаписей.Записать();

    Как прочитать данные, актуальные на определенную дату, из регистра сведений "Курсы валют" с отбором по нескольким валютам (отбор по измерениям)?

    Запрос = Новый Запрос; 
    МассивВалют = Новый Массив; 
    МассивВалют.Добавить(Валюта1); 
    МассивВалют.Добавить(Валюта2); 
    
    Запрос.УстановитьПараметр("МассивВалют", МассивВалют); 
    Запрос.УстановитьПараметр("ДатаПолучения", ДатаПолучения); 
    
    Запрос.Текст = " 
    	|ВЫБРАТЬ 
    	|	ВалютыСрезПоследних.Валюта, 
    	|	ВалютыСрезПоследних.Курс 
    	|ИЗ 
    	|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаПолучения, Валюта В (&МассивВалют)) КАК ВалютыСрезПоследних"; 
    
    ТаблицаКурсов = Запрос.Выполнить().Выгрузить();

    Как поменять период у записей периодического независимого регистра, соответствующих ряду условий?

    Процедура ЗаменаПериода() 
    
    	Запрос = Новый Запрос; 
    	Запрос.Текст = "ВЫБРАТЬ 
    	|	ОтветственныеЛицаОрганизации.Период, 
    	|	ОтветственныеЛицаОрганизации.СтруктурнаяЕдиница, 
    	|	ОтветственныеЛицаОрганизации.ОтветственноеЛицо 
    	|ИЗ 
    	|	РегистрСведений.ОтветственныеЛицаОрганизации КАК ОтветственныеЛицаОрганизации 
    	|ГДЕ 
    	|	ОтветственныеЛицаОрганизации.Период <= ДАТАВРЕМЯ(2005, 1, 1) 
    	|	И 
    	|	ОтветственныеЛицаОрганизации.СтруктурнаяЕдиница.Наименование | ПОДОБНО "Групп-Трейдинг" 
    	|	И 
    	|	(ОтветственныеЛицаОрганизации.Должность.Наименование ЕСТЬ NULL 
    	|		ИЛИ 
    	|		НЕ(ОтветственныеЛицаОрганизации.Должность.Наименование | ПОДОБНО "Продавец" 
    	|			ИЛИ 
    	|			ОтветственныеЛицаОрганизации.Должность.Наименование | ПОДОБНО "Кладовщик"))"; 
    
    	Результат = Запрос.Выполнить(); 
    	Выборка = Результат.Выбрать(); 
    
    	Запись = РегистрыСведений.ОтветственныеЛицаОрганизации.СоздатьМенеджерЗаписи(); 
    
    	Пока Выборка.Следующий() Цикл 
    		Запись.Период = Выборка.Период; 
    		Запись.СтруктурнаяЕдиница = Выборка.СтруктурнаяЕдиница; 
    		Запись.ОтветственноеЛицо = Выборка.ОтветственноеЛицо;
    
    		Запись.Прочитать(); 
    
    		Если Запись.Выбран() Тогда 
    			Запись.Период = Дата(2004, 1, 1); 
    			Запись.Записать(); 
    		КонецЕсли; 
    	КонецЦикла; 
    
    КонецПроцедуры;

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

    Запрос = Новый Запрос; 
    Запрос.Текст = "ВЫБРАТЬ 
    	|	&ДатаУстановки КАК Период, 
    	|	Проекты.Ссылка КАК Проект, 
    	|	Проекты.Ответственный 
    	|ИЗ 
    	|	Справочник.Проекты КАК Проекты 
    	|ГДЕ 
    	|	(НЕ(Проекты.ЭтоГруппа)) И (НЕ(Проекты.Ответственный = &Ответственный))"; 
    
    Запрос.УстановитьПараметр("Ответственный", Справочники.Пользователи.ПустаяСсылка()); 
    Запрос.УстановитьПараметр("ДатаУстановки", Дата(2000,1,1)); 
    
    ТаблицаРезультат = Запрос.Выполнить().Выгрузить(); 
    
    НаборЗаписей = РегистрыСведений.ЗакреплениеПроектов.СоздатьНаборЗаписей(); 
    НаборЗаписей.Загрузить(ТаблицаРезультат); 
    НаборЗаписей.Записать();

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

    НаборЗаписей = РегистрыСведений.ЛимитыВозвратнойТары.СоздатьНаборЗаписей(); 
    НаборЗаписей.Отбор.Регистратор.Установить(ВыбранныйРегистратор); 
    НоваяЗапись = НаборЗаписей.Добавить(); 
    НоваяЗапись.Период = ВыбранныйРегистратор.Дата; 
    НоваяЗапись.Номенклатура = ВыбраннаяНоменклатура; 
    НоваяЗапись.ДоговорКонтрагента = ВыбранныйДоговор; 
    НоваяЗапись.ЛимитПоставщика = 50; 
    НаборЗаписей.Записать(); 
    
    
    НаборЗаписей = РегистрыСведений.ЛимитыВозвратнойТары.СоздатьНаборЗаписей(); 
    НаборЗаписей.Отбор.Регистратор.Установить(ВыбранныйРегистратор); 
    НоваяЗапись = НаборЗаписей.Добавить(); 
    НоваяЗапись.Период = ВыбранныйРегистратор.Дата; 
    НоваяЗапись.Номенклатура = ВыбраннаяНоменклатура; 
    НоваяЗапись.ДоговорКонтрагента = ВыбранныйДоговор; 
    НоваяЗапись.ЛимитПокупателю = 25; 
    НаборЗаписей.Записать(Ложь);

    Как прочитать (изменить) записи в регистре сведений, подчиненном регистратору?

    НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); 
    НаборЗаписей.Отбор.Регистратор.Установить(ВыбранныйРегистратор); 
    НаборЗаписей.Прочитать(); 
    Для Каждого Запись Из НаборЗаписей Цикл 
    	// Чтение и сообщение данных полей записи. 
    	Сообщить(Строка(Запись.Период) + " " + Строка(Запись.ТипЦен) +" "+ Строка(Запись.Номенклатура) + 
    	" " + Строка(Запись.Цена) + " " + Строка(Запись.ПроцентСкидкиНаценки)); 
    	// Изменение данных полей записи. 
    	Запись.ПроцентСкидкиНаценки = 0; 
    КонецЦикла; 
    НаборЗаписей.Записать();

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

    Запрос = Новый Запрос; 
    Запрос.Текст = " 
    	|	ВЫБРАТЬ 
    	|	ЦеныНоменклатурыКонтрагентов.Регистратор 
    	|ИЗ 
    	|	РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентов"; 
    
    Результат = Запрос.Выполнить(); 
    Выборка = Результат.Выбрать(); 
    
    НаборЗаписей = РегистрыСведений.ЦеныНоменклатурыКонтрагентов.СоздатьНаборЗаписей(); 
    Пока Выборка.Следующий() Цикл 
    	НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор); 
    	НаборЗаписей.Записать(); 
    КонецЦикла;