Перебор элементов Структуры
Похожие FAQ
Еще в этой же категории
Как Свернуть Массив? 2
НовыйМассив = Новый Массив; Соответствие = Новый Соответствие; Для каждого ЭлементМассива Из Массив Цикл Соответствие.Вставить(ЭлементМассива); КонецЦикла; Для каждого КлючИЗначение Из Соответствие Цикл НовыйМассив.Добавить(КлючИЗначение.Знач Структура
Создать структуру и добавить элементы 2
// Создание структуры СозданнаяСтруктура = Новый Структура; // Создание структуры и добавление элементов СтруктураОтбора = Новый Структура; СтруктураОтбора.Вставить(» Качество» , Качество); СтруктураОтбора.Вставить(» Номенклатура» , Номенкла Как создать Фиксированный массив? 2
ФиксированныйМассив , элементами которого могут быть значения перечисленных типов, включая ФиксированныйМассив. ФиксированныйМассив не допускает никаких изменений своего содержимого и может быть сконструирован из объекта типа » Массив» ; А если про Небольшой нюанс при создании двумерного массива 2
Наткнулся на инструкцию по созданию массива: ДвумМассив = Новый Массив; ОднмМассив = Новый Массив(2); //И дальше — заполнять ОднмМассив = «1-й индекс»; ОднмМассив = «1-е значение»; ДвумМассив.Добавить(ОднмМассив); ОднмМассив = «2-й индекс» Посмотреть все в категории Работа с Массивом, Структурой, Соответствием
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
Структура
Описание:
Представляет собой коллекцию пар КлючИЗначение. При этом ключ может быть только строковым и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка.
К значениям структуры можно обращаться как к свойствам объекта. При этом ключ используется как имя свойства.
Структура используется обычно для хранения небольшого количества значений, каждое из которых имеет некоторое имя.
Элементы коллекции: КлючИЗначение
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Структура в языке программирования 1С 8.3 и 8.2 — набор пар «Ключ» и «Значение». Поле «Ключ» имеет строковый тип, «Значение» же может принимать любой тип данных. Обычно используется для хранения и передачи между процедурами набора каких-либо параметров.
Создание новой структуры
Структуру в языке программирования 1С можно создать двумя способами с помощью конструкции «Новый».
Структура = Новый Структура;
Структура.Вставить(«КлючПараметра1», «Значения параметра №1»);
Структура.Вставить(«КлючПараметра2», «Значения параметра №2»);
Структура = Новый Структура(«КлючПараметра1, КлючПараметра2», «Значения параметра №1», «Значения параметра №2»);
Оба способа создадут структуру, которую видно на скриншоте из отладки:
Получите 267 видеоуроков по 1С бесплатно:
Изменение
Добавить или изменить структуру можно, используя метод «Вставить()».
Если требуется изменить значение старого ключа, вписываем его имя. Если добавить новый ключ, добавить уникальное имя относительно всех ключей структуры.
Чтобы удалить элемент коллекции, нужно воспользоваться методом «Удалить», куда передать имя ключа:
Возможна также очистка всех объектов коллекции:
Обход структуры
Чтобы перебрать коллекцию структуры, нужно использовать конструкцию «Для Каждого КлючИЗначение Из Структура Цикл».
Для Каждого КлючИЗначение Из Структура Цикл
…… //обрабатываем, например, изменяем значения
КонецЦикла;
В каждом цикле будет видно, что нам доступны следующие поля:
Количество элементов в структуре можно подсчитать следующим образом:
Проверка наличия ключа
Часто бывает, что нужно проверить, есть ли в структуре нужное значение по ключу. В таком случае следует использовать метод «Свойство»:
Если в структуре есть элемент с ключом «Контрагент», тогда метод вернет «Истина», в противном случае — «Ложь».
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
- 5
- 4
- 3
- 2
- 1
(0 голосов, в среднем: 0 из 5)
Поддержите нас, расскажите друзьям!
СПРОСИТЕ в комментариях!
Есть одна информация, которая не дает мне покоя. В синтаксис-помощнике написано:
Структура (Structure)
()
Использование:
Автор статьи предлагает при изменении существующего ключа структуры использовать метод Вставить. Все, вроде бы, логично и правильно, но тем не менее, если я сделаю так:
Структура.КлючПараметра1=»Другое значение параметра 1″, то 1С-ка проглотит это и не подавится, в то же время как в СП четко написано «ТОЛЬКО ЧТЕНИЕ». Или я чего-то не понимаю?
Структура.КлючПараметра1= «Другое значение параметра 1″
«КлючПараметра1» — это имя ключа (ТОЛЬКО ЧТЕНИЕ)
Значение параметра меняем как хотим
Ну… так-то если подойти, то да)). Однако, насколько я понял, структура СП в части свойств объекта, который она описывает выглядит так:
Если свойство четко определено — то пишется имя свойства. Например
СправочникСсылка
Наименование
Только чтение
СправочникОбъект
Наименование
Чтение и запись
Если же имя свойства неопределено, оно пишется в тегах «знак больше» и «знак меньше», как в этом случае со свойством «Имя ключа»
И в тех и в других случаях, когда говорится «Только чтение» или «Чтение и запись» — то имеют в виду ЗНАЧЕНИЕ СВОЙСТВА, А НЕ ЕГО ИМЯ.
Например
СправочникОбъект
ИмяОбщегоРеквизита
Чтение и запись (проверьте сами в СП)
здесь же не имеется в виду, что мы можем менять САМО ИМЯ ОБЩЕГО РЕКВИЗИТА. Его-то уж точно нельзя менять. Здесь написано «Чтение и запись» для ЗНАЧЕНИЯ ЭТОГО СВОЙСТВА
Проводя такой же аналог для структуры получаем что речь идет именно о значении свойства, которое указано в имени ключа. Вот в чем прикол-то))