Это старая версия документа.


Класс "Система.Список"

Данный класс используется для работы со списками элементов.

Свойство КоличествоЭлементов

Свойство: КоличествоЭлементов

Тип параметра: Int (целое число).

Свойство содержит число, показывающее количество элементов списка.

Пример кода.

Задача: определить количество в справочнике физических лиц, определить ФИО первого  и третьего элемента, удалить и добавить физлицо.

Sub ПримерOLE_РаботаСоСписком()
 
 
 
   Studio, с которыми будем работать
 
   СерверБД = "ИмяСервеми будем работать
 
   СерверБД = "ИмяСервера"
 
   База = "ИмяБазы"
 
   РедакцияBS = "Enterprise"
 
 
 
   пустить Business Studio в редата приложения
 
   Set oleapp = CreateObject("ByteEnterprise.OleApplication")
 
 
 
    задач приложения не будет видно.
 
   Set client_app = oleapp.ЗапуститьКлиенервере, указанными ранее.
 
   .ПоказатьКлиентскоеПриложение 'В панели задач появится приложение
 
 
 
'*****************адач приложения не будет видно.
 
   Set client_app = oleapp.ЗапуститьКлиентскоеПриложение(СерверБД, База, РедакцияBS)
 
   oleapp.ПоказатьКлиентскоеПриложение ГруппуКласса("БизнесМодель.ФизЛица")ится приложение
 
 
 
.СоздатьФильтр
 
   Set ФизЛицаСписок = ФизЛицаФильтр.Выполнить
 
 
 

  'Количество физ.лиц в списке
 
   КолвоФизЛицДоУдаления = ФизЛица списка и удаление по индексу
 
з.лицо полученного списка
 
   ПервоеФизЛицоДоСортировки = ФизЛицаСп
 
 
   итьЭлемент(0)
 
 
 
   'Сортируе всех физ.лиц
 
   Set ФизЛицаОПУ = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.ФизЛица")
 
   Set ФизЛицаФильтр = ФизЛицаОПУ.СоздатьФильтр
 
   Set ФизЛицаСписок = ФизЛицаФильтр.Выполнить
 
 
 
   ц оно не будет удалено.
 
   Флиц в списке
 
   КолвоФизЛицДоУдаления = ФизЛицаСписок.КоличествоЭлементов
 
 
 
   
 
 
 
'*****************************************о полученного списка
 
   ПервоеФизЛицоДоСортировки = ФизЛицаСписок.ПолучитьЭлемент(0)
 
 
 
   фамилией "Пушкин"
 
   Set НовоеФизЛицо1 = Фц по дате рождения
 
   ФизЛицаСписок.Сортировать ("ДатаРождения")
 
 
 
   чество = "Сергеевич"
 
   НовоеФизЛицо1.Сохранить 'Физортированного списка
 
   ПервоеФизЛицоПослеСортировки = ФизЛицаСписок.ПолучитьЭлемент(0)
 
   ТретьеФизЛицоПослеСортировки = ФизЛицаСписок.ПолучитьЭлемент(2)
 
 
 
   аниться в справочнике физ.лиц
 
 
 
   'Количество физ.лиц в списке после добавления
 
  вочнике физ.лиц оно не будет удалено.
 
   ФизЛицаСписок.УдалитьИзСпискаПоИндексу (2)
 
 
 
   зЛицаСписок.ПолучитьЭлемент(Клиц в списке
 
   КолвоФизЛицПослеУдаленияПоИдексу = ФизЛицаСписок.КоличествоЭлементов
 
 
 
2
 
   ФизЛицаСписок.УдалитьИзСпискаОбъект (ФизЛицоУдаления)
 
 
 
   
Количество физ.лиц в списке после удалениаление по объекту
 
ъекту = ФизЛицаСписок.КоличествоЭлементов
 
 
 
   'Последнее физ.лиц
 
 
    после удаления
 
   ПослФизЛицоСпискаПослеУдал с фамилией "Пушкин"
 
   Set НовоеФизЛицо1 = ФизЛицаСписок.Добавить
 
        НовоеФизЛицо1.Фамилия = "Пушкин"
 
        НовоеФизЛицо1.Имя = "Александр"
 
        НовоеФизЛицо1.Отчество = "Сергеевич"
 
   НовоеФизЛицо1.Сохранить  сортировки по Дате рождения" + Chr(13) + _
справочнике физ.лиц
 
 
 
   Сортировки + Chr(13) + Chr(13) + _
 
   "Список с фамилией "Дантес".
 
   Set НовоеФизЛицо2 = ФизЛицаСписок.Добавить
 
        НовоеФизЛицо2.Фамилия = "Дантес"
 
        НовоеФизЛицо2.Имя = "Жорж"
 
        НовоеФизЛицо2.Отчество = "Шарль"
 
   НовоеФизЛицо2.Сохранить    Добавлены: " + НовоеФизЛицо1.Фамилия + " справочнике физ.лиц
 
 
 
      Последнее Физ.лицо списка: " + ПослФизЛицоСке после добавления
 
   КолвоФизЛицПослеДобавления = ФизЛицаСписок.КоличествоЭлементов
 
 
 
   + _
 
   "   Удалено физ.лицо: " + ФизЛицоУдалеке после добавления
 
   ПослФизЛицоСпискаПослеДобавлен

Метод Добавить

Синтаксис: Добавить()

Возвращаемый результат: Система.МетаКласс (см. Класс "Система.МетаКласс")

Метод создает объект и добавляет его в качестве элемента в конец списка.

Чтобы добавленный элемент появился в справочнике модели, необходимо выполнить сохранение  объекта-владельца списка. (см. Mетод Сохранить).

Пример кода. См. код в свойстве "КоличествоЭлементов" (Cвойство КоличествоЭлементов).

Метод ДобавитьОбъект

Синтаксис: ДобавитьОбъект(object <Объект>)

Возвращаемый результат: не возвращает.

Метод добавляет к списку элемент на основе уже существующего в базе объекта, в отличие от метода "Добавить" (Mетод Добавить), который добавляет полностью новый объект. Может использоваться для формирования вспомогательных временных списков в памяти, не имеющих владельца.

Пример кода.

Задача: получить список, состоящий из всех ролей организации и подразделения-организации (субъект "ИнТехПроект").

Sub ПримерOLE_РаботаСоСписком()
 
 
 
    Studio, с которыми будем работать
 
   СерверБД = "ИмяСервеми будем работать
 
   СерверБД = "ИмяСервера"
 
   База = "ИмяБазы"
 
   РедакцияBS = "Enterprise"
 
 
 
    апустить Business Studio в редта приложения
 
    Set oleapp = CreateObject("ByteEnterprise.OleApplication")
 
 
 
    адач приложения не будет видно.
 
    Set client_app = oleapp.ЗапуститьКлиентервере, указанными ранее.
 
    оказатьКлиентскоеПриложение 'В панели задач появится приложение
 
 
 
    'Сначала создаемадач приложения не будет видно.
 
    Set client_app = oleapp.ЗапуститьКлиентскоеПриложение(СерверБД, База, РедакцияBS)
 
    oleapp.ПоказатьКлиентскоеПриложение тный объект
 
        Set СписокОрганится приложение
 
 
 
    ель.Субъекты", "Название", "ИнТехПроект")
 
  состоящий из Ролей
 
    Set ПолныйСписок = oleapp.ПолучитьОбъекты("БизнесМодель.Субъекты", "ТипСубъекта", "Роль")
 
    КолвоТолькоРолей = ПолныйСписок.КоличествоЭлементов
 
   
 
    классов,
 
        'то тип для элементов списка нужно дразделение-организация
 
       ктов. См. объектную модель Busретный объект
 
        Set СписокОрганизация = oleapp.ПолучитьОбъекты("БизнесМодель.Субъекты", "Название", "ИнТехПроект")
 
        Set НужныйСубъект = СписокОрганизация.ПолучитьЭлемент(0) d Sub

Метод ПолучитьЭлемент

Синтаксис: ПолучитьЭлемент(int <Номер>)

Возвращаемый результат: Система.МетаКласс (см. Класс "Система.МетаКласс")

Метод позволяет получить элемент списка по указанному номеру. Первый элемент списка имеет номер 0. В VBA можно использовать вместо ПолучитьЭлемент Item и выбирать элемент не только по номеру, но и по имени.

Пример кода. См. код в свойстве "КоличествоЭлементов" (Cвойство КоличествоЭлементов).

Метод УдалитьИзСпискаПоИндексу

Синтаксис: УдалитьИзСпискаПоИндексу(int <Номер>)

Возвращаемый результат: не возвращает.

Метод удаляет элемент списка по указанному номеру.

Пример кода. См. код в свойстве "КоличествоЭлементов" (Cвойство КоличествоЭлементов).

Метод УдалитьИзСпискаОбъект

Синтаксис: УдалитьИзСпискаОбъект(object <Объект>)

Возвращаемый результат: не возвращает.

Метод удаляет из списка указанный объект.

Пример кода. См. код в свойстве "КоличествоЭлементов" (Cвойство КоличествоЭлементов).

Метод Сортировать

Синтаксис: Сортировать(string "<НаборПолей>")

Возвращаемый результат: не возвращает.

Сортирует список по указанному набору полей.

Например: "Поле1,-Поле2",  где префикс '-' задает сортировку по убыванию.

Пример кода. См. код в свойстве "КоличествоЭлементов" (Cвойство КоличествоЭлементов).

« ПредыдущаяНа уровень вышеСледующая »
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki