1с как обойти соответствие в цикле
Перейти к содержимому

1с как обойти соответствие в цикле

  • автор:

Как перебрать элементы Соответствия, передавая Ключи и Значения, как параметры в проц

Если НЕ СоотвТабЧастей=Неопределено Тогда
Если СоотвТабЧастейВозвратов.Количество()>0 Тогда
Для Сч = 0 По СоотвТабЧастейВозвратов.Количество() — 1 Цикл
ОчереднойАкт = СоотвТабЧастейВозвратов[0].Ключ; //Здесь ошибка
ТабДляОчередногоАкта=СоотвТабЧастейВозвратов[0].Значение;
СоздатьАкт(ОчереднойАкт, ТабДляОчередногоАкта);
КонецЦикла;
КонецЕсли;
КонецЕсли;

1С 8.3 Соответствие — Программист 1С Минск. Автоматизация бизнеса.

✔ Создание соответствия

&НаКлиенте
Процедура СозданиеСоответствия ( Команда )

СоотвПараметр = Новый Соответствие ;
// Ключ (произвольный тип) — Значение (произвольный тип)
СоотвПараметр . Вставить ( «Вид деятельности» , «Производство рыбных консервов» );
СоотвПараметр . Вставить ( «Дата постановки на учет» , ‘19990328’ );
СоотвПараметр . Вставить ( «Дата регистрации» , ‘19990417’ );
СоотвПараметр . Вставить ( «Уставный фонд» , 5000 );

1с как обойти соответствие в цикле

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Соответствие

Описание:

Представляет доступ к соответствию. Не используется в данных формы.

Элементы коллекции: КлючИЗначение

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы соответствия. Возможно обращение к значению элемента посредством оператора [. ]. В качестве аргумента передается значение ключа элемента.

Соответствие в 1С 8.3

В данной статье будет описано, что такое соответствие в 1С 8.3, как работать с соответствием, а также как оно отображается в программном коде. Всё будет представлено на примерах.

В системе 1С 8.3 соответствие – это некоторая коллекция, которая состоит из пар «ключ» и «значение», она чем-то схожа на коллекцию «Структура». Но, тем не менее, у этих двух коллекций есть различие, оно состоит в том, что в «Соответствии» для того, чтобы узнать значение относительно некоторого конкретного ключа, необходимо обратиться не к объектным свойствам, а при помощи квадратных скоб. Ещё одной особенностью коллекции «Соответствие» является то, что тип значения ключа может быть любым.

Далее показано представление данных коллекций в системе 1С, где можно понять их отличия:

Коллекция Структура и коллекция соответствие

Также, стоит отметить, ещё одной особенностью коллекции «Соответствие» является то, что её можно создавать для любых видов клиентов и в разных контекстах. А также в «Соответствии» можно отправлять переменную, которая будет иметь тип «Соответствие» с контекста клиента на контекст сервера.

Выше было сказано, что в виде ключа в коллекции «Соответствие» можно использовать переменную любого возможного типа, но, стоит помнить, что в «Соответствии» выбор типа переменных напрямую связано с контекстом, а также с видом клиента. К примеру предыдущего высказывания, в контекст клиента нельзя помещать ключ или значение коллекции в тип, который предназначен для серверного контекста, пример: «ДокументОбъект<>».

2. Создание и работа с коллекцией «Соответствие» в 1С 8.3

Рассмотрим то, как создать новую коллекцию «Соответствие», а это можно сделать, воспользовавшись конструктором «Новый», как показано ниже:

Создание коллекции Соответствие в 1С 8.3

Когда нужно добавить элемент в коллекцию «Соответствие», пользуемся специальным методом «Вставить», данный метод имеет следующее представление:

Добавление элемента в коллекцию Соответствие в 1С 8.3

Так как значение типа ключа абсолютно любое, то коллекция «Соответствие» обеспечивает проставление связей между любыми объектами.

Рассмотрим программный – пример «Соответствие» в 1С:


Пример Соответствия в 1С

Чтобы изменить значение одного из элементов, который имеет ключ в соответствии, необходимо знать как добавить значение в ключ, это демонстрируется ниже:


Как добавить значение в ключ

Чтобы изменить тип значения ключа, которое уже есть в соответствии, можно воспользоваться ещё одним способом, через квадратные скобы, как показано ниже:


Изменение типа значения ключа

Рассмотрим случай, если необходимо обойти коллекцию «Соответствие», в этом случае, нужно знать как использовать цикл, как демонстрируется на скриншоте с примером ниже:


Как использовать цикл

Результатом работы данного программного кода будет такое сообщение:

Сообщение после обхода соответствия в 1С 8.3

3. Получение значения ключа из коллекции «Соответствие»

Обычно, чтобы получить значение ключа из коллекции «Соответствие», необходимо воспользоваться квадратными скобами. Однако, бывают случаи, когда нет возможности задействовать квадратные скобы, тогда нужно задействовать метод «Получить», он производит возврат того значения, которое идёт в соответствие ключу. Когда ключа нет, то возвращается «Неопределено».

Ниже приведён пример программного кода, который демонстрирует действие данного метода:


Получение значение ключа из коллекции

Результатом работы данного программного кода будет такое сообщение:


Сообщение в коллекции Соответствие в 1С 8.3

В данной статье была рассмотрена коллекция «Соответствие» 1С 8.3, были описаны основные нюансы в работе с данной коллекцией, а также приведены примеры её использования и функционала.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *