Проект

Общее

Профиль

Регистры сведений » История » Версия 3

Всеволод Дорофеев, 06.10.2023 14:53

1 3 Всеволод Дорофеев
h1. Регистры накоплений, сведений
2 3 Всеволод Дорофеев
3 3 Всеволод Дорофеев
h3. Манипулирование записями регистров без использования регистратора
4 3 Всеволод Дорофеев
5 3 Всеволод Дорофеев
https://its.1c.ru/db/metod8dev/content/2719/hdoc
6 1 Всеволод Дорофеев
7 1 Всеволод Дорофеев
h3. Перезапись ресурсов регистра сведений
8 1 Всеволод Дорофеев
9 1 Всеволод Дорофеев
<pre>
10 1 Всеволод Дорофеев
	Запрос = Новый Запрос;
11 1 Всеволод Дорофеев
	Запрос.Текст = 
12 1 Всеволод Дорофеев
		"ВЫБРАТЬ
13 1 Всеволод Дорофеев
		|	КонтактнаяИнформация.Объект,
14 1 Всеволод Дорофеев
		|	КонтактнаяИнформация.Тип,
15 1 Всеволод Дорофеев
		|	КонтактнаяИнформация.Вид,
16 1 Всеволод Дорофеев
		|	КонтактнаяИнформация.Поле10,
17 1 Всеволод Дорофеев
		|	КонтактнаяИнформация.Представление
18 1 Всеволод Дорофеев
		|ИЗ
19 1 Всеволод Дорофеев
		|	РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
20 1 Всеволод Дорофеев
		|ГДЕ
21 1 Всеволод Дорофеев
		|	КонтактнаяИнформация.Вид = &ВидКИ";
22 1 Всеволод Дорофеев
	
23 1 Всеволод Дорофеев
	Запрос.УстановитьПараметр("ВидКИ", ВидКИ);
24 1 Всеволод Дорофеев
	РезультатЗапроса = Запрос.Выполнить();
25 1 Всеволод Дорофеев
	
26 1 Всеволод Дорофеев
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
27 1 Всеволод Дорофеев
	
28 1 Всеволод Дорофеев
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
29 1 Всеволод Дорофеев
		ТелТекст = сокрЛП(ВыборкаДетальныеЗаписи.Представление);
30 1 Всеволод Дорофеев
		
31 2 Всеволод Дорофеев
		Поле10 = ВернутьТолькоЦифры(ТелТекст);
32 1 Всеволод Дорофеев
		Если СтрДлина(Поле10)=11 и (Лев(Поле10, 1)= "8" или Лев(Поле10, 1)= "7") тогда
33 1 Всеволод Дорофеев
			Поле10 = Прав(Поле10, 10);
34 1 Всеволод Дорофеев
		КонецЕсли;
35 1 Всеволод Дорофеев
		сообщить(ТелТекст + "  / " + поле10);
36 1 Всеволод Дорофеев
		
37 1 Всеволод Дорофеев
		МенеджерЗаписи = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
38 1 Всеволод Дорофеев
		МенеджерЗаписи.Объект = ВыборкаДетальныеЗаписи.Объект;
39 1 Всеволод Дорофеев
		МенеджерЗаписи.Тип = ВыборкаДетальныеЗаписи.Тип;
40 1 Всеволод Дорофеев
		МенеджерЗаписи.Вид = ВыборкаДетальныеЗаписи.Вид;
41 1 Всеволод Дорофеев
		МенеджерЗаписи.Прочитать();
42 1 Всеволод Дорофеев
		
43 1 Всеволод Дорофеев
		
44 1 Всеволод Дорофеев
		Если МенеджерЗаписи.Выбран() Тогда
45 1 Всеволод Дорофеев
			МенеджерЗаписи.Поле10 = Поле10;
46 1 Всеволод Дорофеев
			Попытка
47 1 Всеволод Дорофеев
				МенеджерЗаписи.Записать();
48 1 Всеволод Дорофеев
			Исключение
49 1 Всеволод Дорофеев
				ТекстСообщения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
50 1 Всеволод Дорофеев
				ЗаписьЖурналаРегистрации(НСтр("ru = 'Обновление информационной базы'"), УровеньЖурналаРегистрации.Ошибка,,, ТекстСообщения);
51 1 Всеволод Дорофеев
			КонецПопытки;
52 1 Всеволод Дорофеев
		КонецЕсли;
53 1 Всеволод Дорофеев
		
54 1 Всеволод Дорофеев
		ОбработкаПрерыванияПользователя();
55 1 Всеволод Дорофеев
	КонецЦикла;
56 1 Всеволод Дорофеев
57 1 Всеволод Дорофеев
</pre>