//	+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++
//	|                           Работа с INI файлами, объект Секция                             |
//	+                                       Shmalevoz                                           +
//	|                                        2007-11                                            |
//	+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++

//+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++  
// private
Перем гПараметры;
//+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++---+++  
// public
Перем Идентификатор		Экспорт;
Перем Комментарий		Экспорт;

//******************************************************************************
// Параметры()
//
// Параметры: 
//  
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  ТекстОписания
//
Функция Параметры() Экспорт
	
	Возврат гПараметры;
	
КонецФункции // Параметры()


//******************************************************************************
// Параметр(НомерИндекс)
//
// Параметры: 
//  НомерИндекс
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  ТекстОписания
//
Функция Параметр(НомерИндекс) Экспорт
	
	Возврат гПараметры.Элемент(НомерИндекс);
	
КонецФункции // Параметр()


//******************************************************************************
// ПолучитьПараметрыТаблицейЗначений()
//
// Параметры: 
//  
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  ТекстОписания
//
Функция ПолучитьПараметрыТаблицейЗначений() Экспорт
	
	Результат	= СоздатьОбъект("ТаблицаЗначений");
	Результат.НоваяКолонка("Индекс");	// идентификатор в нижнем регистре
	Результат.НоваяКолонка("Идентификатор");
	Результат.НоваяКолонка("Значение");
	
	КоличествоПараметров	= гПараметры.Количество();
	Для НомерПараметра = 1 По КоличествоПараметров Цикл
		
		СсылкаПараметр	= гПараметры.Элемент(НомерПараметра);
		
		Результат.НоваяСтрока();
		Результат.Идентификатор	= СсылкаПараметр.Идентификатор;
		Результат.Индекс		= НРег(Результат.Идентификатор);
		Результат.Значение		= СсылкаПараметр.Значение;
	КонецЦикла;
	
	Возврат Результат;
КонецФункции // ПолучитьПараметрыТаблицейЗначений()


//******************************************************************************
// УстановитьПараметрыИзТаблицыЗначений(ИсходныеДанные)
//
// Параметры: 
//  ИсходныеДанные			: таблица значений с исходными данными
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  Устанавливает параметры секции по твблице значений
//
Процедура УстановитьПараметрыИзТаблицыЗначений(ИсходныеДанные) Экспорт
	
	ИсходныеДанные.ВыбратьСтроки();
	Пока ИсходныеДанные.ПолучитьСтроку() = 1 Цикл
		
		СсылкаПараметр	= СоздатьОбъект("Файл.INI.Параметр");
		СсылкаПараметр.Идентификатор	= ИсходныеДанные.Идентификатор;
		СсылкаПараметр.Значение			= ИсходныеДанные.Значение;
		
		гПараметры.Добавить(СсылкаПараметр);
	КонецЦикла;
	
КонецПроцедуры // УстановитьПараметрыИзТаблицыЗначений()


//******************************************************************************
// Очистить()
//
// Параметры: 
//  
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  ТекстОписания
//
Процедура Очистить() Экспорт
	
	Пока гПараметры.Количество() <> 0 Цикл
		гПараметры.Удалить(1);
	КонецЦикла;
	
КонецПроцедуры // Очистить()


//******************************************************************************
// Конструктор()
//
// Параметры: 
//  
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  ТекстОписания
//
Процедура Конструктор()
	
	гПараметры	= СоздатьОбъект("Алгоритм.Универсальный.Коллекция");
	гПараметры.ИспользоватьИндекс("Идентификатор");
	
КонецПроцедуры // Конструктор()
