Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 14:55

Массив структур

Автор Egor97, 02 дек 2024, 16:20

0 Пользователей и 1 гость просматривают эту тему.

Egor97

Здравствуйте! Как заполнить массив разными структурами, количество которых неизвестно? Наименование структур должно быть разным

LexaK

Цитата: Egor97 от 02 дек 2024, 16:20Здравствуйте! Как заполнить массив разными структурами, количество которых неизвестно? Наименование структур должно быть разным
эээ, вы сами-то поняли задачу?
что за структуры? какие данные в них (чем они заполняются)? критерий различия структур?
И у структур НЕТ имен! они не могут отличаться по именам!!!!
если помогло нажмите: Спасибо!

Egor97

LexaK, в структурах 2 атрибута, оригинальное имя файла и сам файл в формате двоичных данных. Таких файлов может быть несколько

Максим75

Egor97, ну создаете массив, отдельно каждую структуру и просто добавляете в массив эту структуру (через Добавить(Структура1), Добавить(стурктура2) и т.д.)

LexaK

Egor97, а сами структуры где как формируются?
в общем примерно такой код
(могут быть варианты)
лкИмена = Новый Массив; //для проверки имен
лкДанные = Новый Массив; //для хранения структур с данныыми

Какой-то источник   Структур ПроверяемаяСтруктура  (типа цикл)
Если лкИмена.Найти(ПроверяемаяСтруктура.ИмяФайла) = Неопределено Тогда
//такой структуры еще не было, добавляем
лкИмена.Добавить(ПроверяемаяСтруктура.ИмяФайла);
лкДанные.Добавить(ПроверяемаяСтруктура);
КонецЕсли;
КонецИсточника

если помогло нажмите: Спасибо!

antoneus

Соответствие для этих целей подходит. Ключ - имя файла, значение - данные.

Egor97

LexaK, запросом из ТЧ документа получаю файлы, у файла есть имя и содержимое файла(двоичные данные). Каждый файл-структура

Egor97

Egor97, просто как сделать так, что каждый файл - это отдельная структура

Egor97

LexaK, просто как сделать так, что каждый файл - это отдельная структура?

LexaK

Egor97, тогда примерно так (только свои имена реквизитов подставьте)
лкИмена = Новый Массив; //для проверки имен
лкДанные = Новый Массив; //для хранения структур с данныыми

Пока лкВыборка.Следующий() Цикл

    Если лкИмена.Найти(лкВыборка.ИмяФайла) = Неопределено Тогда
        //такой структуры еще не было, добавляем
        лкИмена.Добавить(лкВыборка.ИмяФайла);       
        лкСтр = Новый Структура("ИмяФайла,ДвоичныеДанныеФайла",
            лкВыборка.ИмяФайла,
            лкВыборка.ДвоичныеДанныеФайла);
        лкДанные.Добавить(лкСтр);
    КонецЕсли;
   

КонецЦикла;

если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск