СформироватьСловарьПолныхПутейКФормам (БСП)

Автор: 1С
ОбщийМодуль.ИнформационныйЦентрСлужебный
БСП

Сформировать словарь полных путей формам. Заполняет справочник "ПолныеПутиКФормам" полными путями к формам.

// Заполняет справочник "ПолныеПутиКФормам" полными путями к формам.
//
Процедура СформироватьСловарьПолныхПутейКФормам(Параметры = Неопределено) Экспорт
	
	МассивФорм = Новый Массив;
	МассивФорм.Добавить("Обработка.ИнформационныйЦентр.Форма.ИнформационныйЦентр");
	
	ИнформационныйЦентрСерверПереопределяемый.ФормыСИнформационнымиСсылками(МассивФорм);
	
	// Формирование таблицы со списком полных форм конфигурации
	ТаблицаФорм = Новый ТаблицаЗначений;
	ТаблицаФорм.Колонки.Добавить("ПолныйПутьКФорме", Новый ОписаниеТипов("Строка"));
	ТаблицаФорм.Колонки.Добавить("Хеш", Новый ОписаниеТипов("Строка"));
	
	Для Каждого ПолныйПутьКФорме Из МассивФорм Цикл
		
		НоваяСтрока = ТаблицаФорм.Добавить();
		НоваяСтрока.ПолныйПутьКФорме = ПолныйПутьКФорме;
		НоваяСтрока.Хеш = ИнформационныйЦентрСервер.ХешПолногоПутиКФорме(ПолныйПутьКФорме);
		
	КонецЦикла;
	
	// Заполнение справочника "ПолныеПутиКФормам"
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ТаблицаФорм", ТаблицаФорм);
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ТаблицаФорм.ПолныйПутьКФорме КАК ПолныйПутьКФорме,
	|	ПОДСТРОКА(ТаблицаФорм.Хеш, 1, 32) КАК Хеш
	|ПОМЕСТИТЬ ТаблицаФорм
	|ИЗ
	|	&ТаблицаФорм КАК ТаблицаФорм
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Хеш
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПолныеПутиКФормам.Ссылка КАК Ссылка,
	|	ПолныеПутиКФормам.Хеш КАК Хеш
	|ПОМЕСТИТЬ СуществующиеПолныеПутиКФормам
	|ИЗ
	|	Справочник.ПолныеПутиКФормам КАК ПолныеПутиКФормам
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	Хеш
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ТаблицаФорм.ПолныйПутьКФорме КАК ПолныйПутьКФорме
	|ИЗ
	|	ТаблицаФорм КАК ТаблицаФорм
	|		ЛЕВОЕ СОЕДИНЕНИЕ СуществующиеПолныеПутиКФормам КАК СуществующиеПолныеПутиКФормам
	|		ПО ТаблицаФорм.Хеш = СуществующиеПолныеПутиКФормам.Хеш
	|ГДЕ
	|	СуществующиеПолныеПутиКФормам.Ссылка ЕСТЬ NULL ";
	ВыборкаФорм = Запрос.Выполнить().Выбрать();
	Пока ВыборкаФорм.Следующий() Цикл
		Если ЕстьФормаПоПолномуПути(ВыборкаФорм.ПолныйПутьКФорме) Тогда
			ДобавитьПолноеИмяВСправочник(ВыборкаФорм.ПолныйПутьКФорме);
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры

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

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

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

ХешПолногоПутиКФорме (БСП)

ПолныйПутьКФормеПередЗаписьюПередЗаписью (БСП)

ЗаполнитьХешПолногоПутиКФорме (БСП)

МакетПечатнойФормы (БСП)

ФормыСИнформационнымиСсылками (БСП)

ПолныйПутьТома (БСП)

ПутьКИнформационнойБазе (БСП)

СформироватьИнформациюОбОтчетеПоПолномуИмени (БСП)

Полный путь до предопределенного значения, включая имя самого значения

TurboConf ИР адаптер 2.63