СписокЗемельныхУчастков (БСП)

Автор: 1С
ОбщийМодуль.АдресныйКлассификаторСлужебный
БСП

Список земельных участков. Возвращает список номеров земельных участков по идентификатору адресного объекта, поиск по подобию.

// Возвращает список номеров земельных участков по идентификатору адресного объекта, поиск по подобию.
//
// Параметры:
//     ИдентификаторАдресногоОбъекта - УникальныйИдентификатор - Родительский объект.
//     СтрокаПоиска - Строка - Текст, отбора в списке земельных участков.
//
// Возвращаемое значение:
//     ТаблицаЗначений  -  найденные варианты.
//
Функция СписокЗемельныхУчастков(ИдентификаторАдресногоОбъекта, Знач СтрокаПоиска, ПорцияПриПоиске = 20) Экспорт
	
	ВариантыЗемельныхУчастков = Новый ТаблицаЗначений;
	ВариантыЗемельныхУчастков.Колонки.Добавить("Значение");
	ВариантыЗемельныхУчастков.Колонки.Добавить("Представление", ОбщегоНазначения.ОписаниеТипаСтрока(250));
	ВариантыЗемельныхУчастков.Колонки.Добавить("Идентификатор");
	
	Если СтрЗаканчиваетсяНа(СтрокаПоиска, "%") Тогда
		ТочноеСовпадение = Ложь;
		СтрокаПоиска     = Лев(СтрокаПоиска, СтрДлина(СтрокаПоиска) - 1);
	Иначе
		ТочноеСовпадение = Истина;
	КонецЕсли;
	
	ЗагруженныеАдресныеСведения = АдресныйКлассификаторПовтИсп.СведенияОЗагрузкеСубъектовРФ();
	Если ЗагруженныеАдресныеСведения["ИспользоватьЗагруженные"] Тогда
		
		СписокЗемельныхУчастковИзЗагруженныхСведений(ВариантыЗемельныхУчастков, ИдентификаторАдресногоОбъекта, СтрокаПоиска, ТочноеСовпадение);
		
	КонецЕсли;
	
	Если ВариантыЗемельныхУчастков.Количество() = 0 И ЗагруженныеАдресныеСведения["КлассификаторДоступен"] = Истина Тогда
		ТекстGETЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("select?parentId=%1&limit=%2&level=75",
			Строка(ИдентификаторАдресногоОбъекта), Формат(ПорцияПриПоиске, "ЧГ=0"));
		Если ЗначениеЗаполнено(СтрокаПоиска) Тогда
			ТекстGETЗапроса = ТекстGETЗапроса + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("&text=%1",
				СокрЛП(СтрокаПоиска));
		КонецЕсли;
		
		РезультатВебСервис = ВыполнитьЗапросЧерезВебСервис(ТекстGETЗапроса);
		
		Если РезультатВебСервис.Отказ Тогда
			Возврат ВариантыЗемельныхУчастков;
		КонецЕсли;
		
		НаименованиеЗданийИСтроений = НаименованиеВладенийИСтроений();
		
		Для каждого СведенияОДоме Из РезультатВебСервис.Данные Цикл
			
			ОписаниеУчастка = ОписаниеДомаИЗемельногоУчастка();
			
			ОписаниеУчастка.Идентификатор    = СведенияОДоме.id;
			ОписаниеУчастка.Дом              = СведенияОДоме.steadNumber;
			ОписаниеУчастка.Индекс           = Формат(СведенияОДоме.ZipCode, "ЧГ=0");
			ОписаниеУчастка.ОКТМО            = Формат(СведенияОДоме.oktmo, "ЧГ=0");
			ОписаниеУчастка.ОКАТО            = Формат(СведенияОДоме.okato, "ЧГ=0");
			ОписаниеУчастка.КодИФНСФЛ        = Формат(СведенияОДоме.ifnsFlCode, "ЧГ=0");
			ОписаниеУчастка.КодИФНСЮЛ        = Формат(СведенияОДоме.ifnsUlCode, "ЧГ=0");
			ОписаниеУчастка.КодУчасткаИФНСФЛ = Формат(СведенияОДоме.ifnsFlAreaCode, "ЧГ=0");
			ОписаниеУчастка.КодУчасткаИФНСЮЛ = Формат(СведенияОДоме.ifnsUlAreaCode, "ЧГ=0");
			
			НовыйУчасток = ВариантыЗемельныхУчастков.Добавить();
			НовыйУчасток.Значение = ОписаниеУчастка;
			НовыйУчасток.Представление = СведенияОДоме.steadNumber;
			НовыйУчасток.Идентификатор = СведенияОДоме.id;
			
		КонецЦикла;
		
	КонецЕсли;
	
	ВариантыЗемельныхУчастков.Сортировать("Представление");
	
	Возврат ВариантыЗемельныхУчастков;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

НаименованиеЗемельногоУчастка (БСП)

ЗапросСписок (БСП)

СписокСтатусов (БСП)

ДополнитьСписок (БСП)

СкопироватьСписокЗначений (БСП)

СписокЗапрещенныхРасширений (БСП)

ЗаполнитьСписокШифрования (БСП)

ЗаполнитьСписокПодписей (БСП)

СформироватьСписокВсехНовостей (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз