Справочные материалы по 1С

Работа с регистрами сведений в 1С 8.x

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

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

НаборЗаписей.Отбор.Номенклатура.Установить(ТекущаяНоменклатура); 
НаборЗаписей.Отбор.Свойство.Установить(ТекущееСвойство); 

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

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

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

// Перебрать записи в цикле… 
Для Каждого Запись из НаборЗаписей Цикл 
	РегистрКонтрагент = Запись.Контрагент; 
	РегистрВидСвязи = Запись.ВидСвязи; 
	РегистрОбъект = Запись.Объект; 
КонецЦикла; 

// … или выгрузить записи в таблицу значений. 
ТаблицаЗаписей = НаборЗаписей.Выгрузить(); 


ВЫБРАТЬ 
	* 
ИЗ 
	РегистрыСведений.СобственныеКонтрагенты          
Как удалить все записи из независимого регистра сведений?

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

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

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

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

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

НаборЗаписей.Записать(Истина);          
Как прочитать (изменить) записи в периодическом независимом регистре сведений?

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

НаборЗаписей.Прочитать(); 

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

НаборЗаписей.Записать();          
Как удалить записи в периодическом независимом регистре сведений?

НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); 
НаборЗаписей.Записать();          
Как в периодическом независимом регистре сведений "КурсыВалют" удалить все записи по валютам с наименованиями "EUR" и "USD", период которых меньше 01 января 2005 года?

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


ТаблицаОставляемыхЗаписей = Запрос.Выполнить().Выгрузить(); 

НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); 
НаборЗаписей.Загрузить(ТаблицаОставляемыхЗаписей); 
НаборЗаписей.Записать();          
Как прочитать данные, актуальные на определенную дату, из регистра сведений "Курсы валют" с отбором по нескольким валютам (отбор по измерениям)?

Запрос = Новый Запрос; 
МассивВалют = Новый Массив; 
МассивВалют.Добавить(Валюта1); 
МассивВалют.Добавить(Валюта2); 

Запрос.УстановитьПараметр("МассивВалют", МассивВалют); 
Запрос.УстановитьПараметр("ДатаПолучения", ДатаПолучения); 

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

ТаблицаКурсов = Запрос.Выполнить().Выгрузить();          
Как поменять период у записей периодического независимого регистра, соответствующих ряду условий?

Процедура ЗаменаПериода() 

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

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

	Запись = РегистрыСведений.ОтветственныеЛицаОрганизации.СоздатьМенеджерЗаписи(); 

	Пока Выборка.Следующий() Цикл 
		Запись.Период = Выборка.Период; 
		Запись.СтруктурнаяЕдиница = Выборка.СтруктурнаяЕдиница; 
		Запись.ОтветственноеЛицо = Выборка.ОтветственноеЛицо;

		Запись.Прочитать(); 

		Если Запись.Выбран() Тогда 
			Запись.Период = Дата(2004, 1, 1); 
			Запись.Записать(); 
		КонецЕсли; 
	КонецЦикла; 

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

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

Запрос.УстановитьПараметр("Ответственный", Справочники.Пользователи.ПустаяСсылка()); 
Запрос.УстановитьПараметр("ДатаУстановки", Дата(2000,1,1)); 

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

НаборЗаписей = РегистрыСведений.ЗакреплениеПроектов.СоздатьНаборЗаписей(); 
НаборЗаписей.Загрузить(ТаблицаРезультат); 
НаборЗаписей.Записать();          
Как добавить записи в регистр сведений, подчиненный регистратору?

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


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

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

Запрос = Новый Запрос; 
Запрос.Текст = " 
	|	ВЫБРАТЬ 
	|	ЦеныНоменклатурыКонтрагентов.Регистратор 
	|ИЗ 
	|	РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентов"; 

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

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



Задайте вопрос программисту 1С

+7 901 312 83 57