&НаСервере
Функция ОтобратьНаСервере()
Запрос = Новый Запрос;
Запрос.Текст
=
"ВЫБРАТЬ
| спрУФС.Ссылка
КАК Ссылка,
| спрУФС.Наименование
КАК Наименование,
| спрУФС.Владелец
КАК ВидСправочника,
| спрУФС.Идентификатор
КАК ИдЭлемента,
| тчРеквизиты.Идентификатор
КАК ИдРеквизита,
| тчРеквизиты.Наименование
КАК РеквНаименование,
| рсДанные.Значение
КАК Значение
|ИЗ
| РегистрСведений.нсиХранилищеСтрока
КАК рсДанные
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.нсиУниверсальныйФункциональныйСправочник
КАК спрУФС
| ПО рсДанные.ВидСправочника
= спрУФС.Владелец
| И рсДанные.Элемент = спрУФС.Идентификатор
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.нсиВидыСправочников.Реквизиты
КАК тчРеквизиты
| ПО рсДанные.ВидСправочника
= тчРеквизиты.Ссылка
| И рсДанные.Реквизит = тчРеквизиты.Идентификатор
|ГДЕ
| спрУФС.Владелец.Наименование
= ""Контрагенты""
| И тчРеквизиты.Наименование
= ""Вид контрагента""
| И рсДанные.Значение
= ""ФизическоеЛицо""";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
СЗ = Новый СписокЗначений;
Пока Выборка.Следующий()
Цикл
Если Выборка.Наименование <> ТРег(Выборка.Наименование) Тогда
СЗ.Добавить(Выборка.Ссылка, Выборка.Наименование, Ложь);
КонецЕсли;
КонецЦикла;
Возврат СЗ;
КонецФункции
&НаКлиенте
Процедура
Отобрать(Команда)
ЭтаФорма.СЗ
= ОтобратьНаСервере();
КонецПроцедуры
&НаСервере
Процедура
ИсправитьРеквизитВРегистре(Знач СсылкаНаВидСправочника, Знач УидЭлемента, Знач УидРеквизита)
НЗ = РегистрыСведений.нсиХранилищеСтрока.СоздатьНаборЗаписей();
НЗ.Отбор.ВидСправочника.Установить(СсылкаНаВидСправочника);
НЗ.Отбор.Элемент.Установить(УидЭлемента);
НЗ.Отбор.Реквизит.Установить(УидРеквизита);
НЗ.Прочитать();
Для Каждого Запись из НЗ Цикл
Запись.Значение
= Трег(Запись.Значение);
КонецЦикла;
НЗ.Записать(Истина);
КонецПроцедуры
&НаСервере
Процедура
ИсправитьНаСервере()
//8167e13c-66fd-4b24-802d-f11fcffb2d3c
- Ссылка на элемент справочника
//Эл.Значение.Владелец.Реквизиты
//8c54aa34-50ab-4b66-93b0-13de677f2b92
- Фамилия Контрагентов в РС [нсиХранилищеСтрока]
//1194cd67-ba53-456d-8616-f81feda01c6b
- Имя Контрагентов в РС
//f1d61c8a-ad8d-4ae0-81b7-73cbdb0901b6
- Отчество Контрагентов в РС
//ecd4d5f9-5fa4-4b88-88cb-00840ff3010d
- ФИО Контрагентов в РС
//fdc8f1b8-ec65-478f-a1e5-a5c1e36276e0
- Полное наименование в РС
Для Каждого Эл Из СЗ Цикл
Если Эл.Пометка = Истина Тогда
Если ЗначениеЗаполнено(Эл.Значение)
Тогда
Об
= Эл.Значение.ПолучитьОбъект();
Об.Наименование = ТРег(Об.Наименование);
Об.ПолноеНаименование = ТРег(Об.ПолноеНаименование);
Об.ОбменДанными.Загрузка = Истина;
Об.Записать();
//Полное
наименование в регистре
ИсправитьРеквизитВРегистре(Эл.Значение.Владелец,
Эл.Значение.Идентификатор,
Новый
УникальныйИдентификатор("fdc8f1b8-ec65-478f-a1e5-a5c1e36276e0"));
//ФИО
в регистре
ИсправитьРеквизитВРегистре(Эл.Значение.Владелец,
Эл.Значение.Идентификатор,
Новый
УникальныйИдентификатор("ecd4d5f9-5fa4-4b88-88cb-00840ff3010d"));
//Фамилия
в регистре
ИсправитьРеквизитВРегистре(Эл.Значение.Владелец,
Эл.Значение.Идентификатор,
Новый
УникальныйИдентификатор("8c54aa34-50ab-4b66-93b0-13de677f2b92"));
//Имя
в регистре
ИсправитьРеквизитВРегистре(Эл.Значение.Владелец,
Эл.Значение.Идентификатор,
Новый
УникальныйИдентификатор("1194cd67-ba53-456d-8616-f81feda01c6b"));
//Отчество
в регистре
ИсправитьРеквизитВРегистре(Эл.Значение.Владелец,
Эл.Значение.Идентификатор,
Новый
УникальныйИдентификатор("f1d61c8a-ad8d-4ae0-81b7-73cbdb0901b6"));
КонецЕсли;
КонецЕсли;
КонецЦикла;
ЭтаФорма.СЗ
= ОтобратьНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура
Исправить(Команда)
ИсправитьНаСервере();
КонецПроцедуры
|