Мне пока что приходилось работать только с массивами, но интересно будет послушать кто и как использует другие коллекции данных и интересно узнать о необычных применениях.
Возможно, там, где я стараюсь все сделать через массивы будет на много проще сделать благодаря другим коллекциям.
(1) timeforlive, для каждого определенного случая годится определенная коллекция. Ваш вопрос звучит как "Мне приходилось использовать только справочники. Кто как использует другие объекты данных?"
Мне пока приходилось работать только со справочниками, но интересно будет послушать кто как использует другие объекты метаданных и интересно узнать о необычных способах применения :D
(1) timeforlive,
Что нам нужно сделать:
1) Понять, нафантазировать, олицетворить, то как вы используете массив...
2) Предложить другие коллекции для этих решений..
P.S. Использование массива возможно в N-ом количестве задач, и X из этих задач можно решить другими коллекциями. Мы должны описать все варианты?
!!! Где конкретика вопроса??? Что использовать вместо массива? Так в чем? Если я использовал что массив то я считаю нужным что там должен быть массив.. Сидеть придумывать чтобы я мог использовать вместо массива можно голову "взорвать". Опишите какой то момент а мы предложим реализацию..
P.S.ДВА Дерево значений использую при разборе XML файла.
(1) Массивы для однотипных данных.
Структура и соответствие для различных данных. И удобно тем, что не нужно запоминать индексы.
Структура:
Удобно, что можно именовать, например:
мСотрудники = Новый Массив();
Пока Выборка... Цикл
Стру = Новый Структура("ФИО, ДатаРождения, Оклад, Должность");
ЗаполнитьЗначенияСвойств(Стру, Выборка);
мСотрудники.Добавить(стру);
КонецЦИкла;
Возврат мСотрудники;
Показать
Затем это можно таскать в/из процедуры.
Для к = 0 По мСотрудники.ВГраница() Цикл
т = ТЧ.Добавить();
т.ФИО = мСотрудники[к].ФИО;
т.Оклад= мСотрудники[к].Оклад;
КонецЦикла;
В связи с тем, что в УФ на клиенте нельзя использовать тип ТаблицаЗначений, то структуры и соответствия будут чаще использоваться.
Вообще, у меня была мысль реализовать такую вот штуку.
Получаю данные из запроса и сохраняю каждое поле в отдельный массив, соответственно приходится создавать их несколько.
Так как полей не так много (номенклатура, количество, стоимость, себестоимость и т.д.), то достаточно создать в пространстве модуля переменные, а уже в теле процедуры присвоить им тип Массив и заполнять массивы через Выборку (чтобы дальше работать с данными).
Думал на счет других коллекций, где можно обращаться по имени "Номенклатура" и указывать индекс, но... пока не стал заморачиваться.
Поэтому и спрашиваю, кто как использует и в каких задачах.
П.С. с XML не работал, а про дерево значений - это круто.
(15) anterehin, пока что не пользовался, но обязательно начну. Начиналось все с одного - двух массивов, а потом стало нарастать и как-то уже лень было переделывать все в ТЗ.
(17) anterehin, если бы все так просто. Весь цикл по работе с массивами построен на том, что массив передает свои данные (итерация = индекс, естественно). В будущем, конечно, буду ТЗ использовать, но менять старое не стоит =)
Спасибо.
(20) dj_serega, я бы немного уточнил. Соответствие выгодно там, где нужно часто получать значение из коллекции, но не часто заполнять. По удобству и скорости получения значений соответствие самое выгодное.
(21) spacecraft, Ну и это тож. Я раньше массивом пользовался для удаления строк из ТЧ.
Цикл по ТЧ. Заполнение массива на удаление. Обход массива удаления. Теперь вот подумываю переключиться на соответствие.