Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Расширенная структура (число прочтений - 1423 )
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Расширенная структура
01. Мая 2009 :: 13:46
Печать  
Давно сделал для себя и использкю этот класс, расширяющий возможности класса "Структура"
Код
Выбрать все
Класс "Расширенная структура" (РасшСтруктура) - потомок класса "Структура"
К методам класса-родителя добавлены методы:

1. ВыбратьСвойства()
Производит выборку свойств для дальнейшего применения метода "ПолучитьСвойство"
2. ПолучитьСвойство([Идентификатор=0])
При пустом значении идентификатора открывает доступ к свойствам текущего свойства:
	"Имя" (только чтение) - имя текущего свойства,
	"Номер" (только чтение) - номер текущего свойства
	"Значение" - значение текущего свойства
Возвращает 1, пока выборка допустима
ЗАМЕЧАНИЕ: При добавлении новых элементов структуры имена свойств "Имя","Номер" и "Значение" не допускаются.
ПРИМЕР:
	Стр.ВыбратьСвойства();
	Пока Стр.ПолучитьСвойство() = 1 Цикл
		Сообщить(Стр.Имя);
		Стр.Значение = "Новое " + Стр.Значение;
	КонецЦикла;
При наличии идентификатора метод отыскивает свойство по имени (если строка) или номеру (если Число)
без применения метода "ВыбратьСвойства" и возвращает значение найденного свойства.

3. Добавить(ИмяСвойства,ЗначениеСвойства)
Аналогичен штатному методу "Вставить", но позволяет проконтролировать наличие уже записанного свойства с задаваемым именем
и правильность задаваемого имени.

4. Установить(ИмяСвойства,ЗначениеСвойства)
Аналогичен штатному методу "Вставить", но позволяет проконтролировать наличие ранее записанного свойства с искомым именем.

5. Выгрузить(Приемник)
Выгружает данные из структуры в список значений с заголовками (если тип приемника задан ранее), где заголовк - имя, а значение - значение свойсв.
или в таблицу значений, если его тип не задан или задан как "ТаблицаЗначений" с двумя колонками: "Имя" и "Значение"
ПРИМЕР:
СЗ = СоздатьОбъект("СписокЗначений");
Стр.Выгрузить(СЗ); //Выгружает список значений
//
ТЗ = ""
Стр.Выгрузить(ТЗ); //Выгружает таблицу значений

6. Загрузить(Источник,[КолонкаИмен = ""],[КолонкаЗначений = ""])
Загружает данные из списка значений с заголовками или из таблицы значений
Параметры "КолонкаИмен" и "КолонкаЗначений" используются только при типе источника "ТаблицаЗначений"
Если эти параметры не заданы или колонки с такими именами не найдены -
тогда имена берутся из колонки №1, значения изи колонки №2.
ПРИМЕР:
Стр.Загрузить(ТЗ,"Наименование","ТекущийЭлемент");

7. Сортировать([Направление = 0])
Сортирует данные структуры по их именам. Напрвление = 0 - по возрастанию, любое другое - по убыванию
 

  

ExtStruct.rar ( 5 KB | Загрузки )

Константин
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать