Адрес этой странички :
http://doc-prg.narod.ru/art_00015/art_00015.htm
Дата обновления : 11.11.2007
© 11.11.2007 Сергей Попов
Здесь следует отметить, что приведенная ниже статья носит чисто
иллюстративный характер и не претендует на бОльшее.
Для серьезной и углубленной проработки специальных вопросов информационного
обмена крайне рекомендуется использовать фирменное техническое описание системы
1Cv8.
1Cv8 + Delphi-5.
OLE (COM).
Как "обойти" коллекцию (возможный
вариант решения)
Статью в виде файла (73 кб) можно скачать здесь: art_00015.zip
В контексте системы 1Cv8 - коллекция представляет собой не хранящуюся в базе данных совокупность значений или объектов
(элементы коллекции).
Для коллекций доступен обход элементов коллекции посредством конструкции
:
Для каждого ... Из ... Цикл ... КонецЦикла;
Пример (взято из книги А.П.Габец, Д.И.Гончаров "1С:Предприятие 8.0 Простые примеры разработки") :
МассивКопия = Новый Массив;
Для Каждого Элемент Из ИсходныйМассив Цикл
МассивКопия.Добавить(Элемент);
КонецЦикла;
Для большинства (но не для всех)
коллекций доступно обращение к элементам коллекции с помощью оператора [<Аргумент>] (квадратные скобки). Как правило, в качестве аргумента передается индекс элемента коллекции.
Индексирование элементов коллекции начинается с 0.
Пример :
ПервоеЗначение = МассивКопия[0];
ПятоеЗначение = МассивКопия[4];
В случае, если к элементам коллекции нет доступа с использование оператора [], то возникает проблема с перебором элементов такой коллекции в контексте Delphi ...
Один из вариантов решения такой проблемы может быть следующим.
Откроем Конфигуратор 1С:Предприятие и доработаем нашу конфигурацию homelib_07.zip , добавив в общий модуль (spLib_OLE) конфигурации следующую функцию :
Назначение этой функции: конвертировать коллекцию - в массив, к элементам которого можно получить доступ по индексу с использованием оператора [].
Пример использования :
Учебную конфигурацию можно скачать здесь (41 кб).
© 11.11.2007 Сергей Попов