Здравствуйте.

Самостоятельно учу тему "Структура":

В Задании Три Структуры с тремя сотрудниками

ДанныеСотрудника1 = Новый Структура("Фамилия,Возраст,Подразделение,Оклад,ДатаРождения,Должность,Специальность", "Иванов", 27, "Кадровый", 100000 , '1969-07-09 03:30:00', "Программист" , " Старший Программист");

                  ДанныеСотрудника2 =Новый Структура ;

                  ДанныеСотрудника1.Вставить( "ФИО","Петров" );
                  ДанныеСотрудника1.Вставить("Возраст",36 );
                  ДанныеСотрудника1.Вставить("Подразделение", "Разработка" );

      ДанныеСотрудника3 = Новый Структура(" Фамилия,Возраст, Подразделение,Оклад,
      ДатаРождения,Должность,Специальность", "Сидоров", 49, "Кадровый", 200000 , '1999-04-09 03:30:00',
     "Администратор" , " Администратор ");

        Для каждого ЯчейкаДанных Из ДанныеСотрудника1 Цикл

         Сообщить( ЯчейкаДанных.Ключ + " = " + ЯчейкаДанных.Значение ) ;

        КонецЦикла ;

Цикл « Для каждого » выводит только одну Структуру , а каким Циклом можно посмотреть значения всех Структур Сразу?
---
КоличествоКлючейСтруктур можно получить из ЛюбаяСтруктураСДанными.Количество()
КоличествоСотрудников - это количество записей коллекции, например ЛюбойМассив.Количество()

Индекс нужно читать как ИндексДанных в двойном цикле.

Два цикла - это называется вложенные циклы. Работают вместе, позволяют обходить многомерные массивы данных. Может быть заметно больше 2-х.

Брать из синтаксис-помощника, там даже с примерами кода.
---
Я бы поместил все три структуры в массив и обходил массив циклом каждую из структур с вложенным циклом по каждой структуре))) но это я)) просто не знаю как это на задание повлияет, если только со структурой нужно работать..
Кстати так же впринципе можно структуры поместить в одну структуру. Как вариант.
---
Можно и в структуру вложить.
ВсеСотры = Новый Структура("Сотрудник1,Сотрудник2,Сотрудник3", ДанныеСотрудника1, ДанныеСотрудника2, ДанныеСотрудника3);

Правда почему то у 1 сотрудника вместо фамилии поле ФИО.....
---
Если количество и имена ключей в структурах одинаковое, то простым циклом:

```1c
    Для Индекс = 0 По КоличествоКлючейСтруктур - 1 Цикл

    Значение1 = ДанныеСотрудника1[Индекс];
    Значение2 = ДанныеСотрудника2[Индекс];
    Значение3 = ДанныеСотрудника3[Индекс];

    КонецЦикла;
```

Если заранее известно количество структур(они находятся в коллекции, например, в массиве) то:

```1c
    Для ИндексСотрудника = 0 По КоличествоСотрудников - 1 Цикл

    Для ИндексДанных = 0 По КоличествоКлючейСтруктур - 1 Цикл

    Значение = ДанныеСотрудников[ИндексСотрудника][Индекс];

    КонецЦикла;

    КонецЦикла;
```
---
Если количество и имена ключей в структурах одинаковое, то простым циклом:

```1c
    Для Индекс = 0 По КоличествоКлючейСтруктур - 1 Цикл

    Значение1 = ДанныеСотрудника1[Индекс];
    Значение2 = ДанныеСотрудника2[Индекс];
    Значение3 = ДанныеСотрудника3[Индекс];

    КонецЦикла;
```

Если заранее известно количество структур(они находятся в коллекции, например, в массиве) то:

```1c
    Для ИндексСотрудника = 0 По КоличествоСотрудников - 1 Цикл

    Для ИндексДанных = 0 По КоличествоКлючейСтруктур - 1 Цикл

    Значение = ДанныеСотрудников[ИндексСотрудника][Индекс];

    КонецЦикла;

    КонецЦикла;
```
---
КоличествоКлючейСтруктур - 1

- Спасибо огромное!
                                     - а вот эти вот инструменты (или функции или что это? ) -« ... " КоличествоКлючейСтруктур - 1", " КоличествоСотрудников - 1 ", " КоличествоКлючейСтруктур - 1 " » - откуда взялись? в «Справке» я не нашла таких Методов :/

         - и [ Индекс] ? ( это переменная из Первого Цикла ) - вот в этой конструкции из двух Циклов :

     Для ИндексСотрудника = 0 По КоличествоСотрудников - 1 Цикл

    Для ИндексДанных = 0 По КоличествоКлючейСтруктур - 1 Цикл

         Значение = ДанныеСотрудников[ИндексСотрудника][Индекс];

    КонецЦикла;

КонецЦикла;

  эти два Цикла работают вместе?

Для Индекс = 0 По КоличествоКлючейСтруктур - 1 Цикл

    Значение1 = ДанныеСотрудника1[Индекс];
    Значение2 = ДанныеСотрудника2[Индекс];
    Значение3 = ДанныеСотрудника3[Индекс];

КонецЦикла;

              Для ИндексСотрудника = 0 По КоличествоСотрудников - 1 Цикл

    Для ИндексДанных = 0 По КоличествоКлючейСтруктур - 1 Цикл

         Значение = ДанныеСотрудников[ИндексСотрудника][Индекс];

    КонецЦикла;

КонецЦикла;

       можете немножко разъяснить откуда мне брать эти Методы и где их найти в следующий раз ? пж 🙏🙏🙏
---
КоличествоКлючейСтруктур можно получить из ЛюбаяСтруктураСДанными.Количество()
КоличествоСотрудников - это количество записей коллекции, например ЛюбойМассив.Количество()

Индекс нужно читать как ИндексДанных в двойном цикле.

Два цикла - это называется вложенные циклы. Работают вместе, позволяют обходить многомерные массивы данных. Может быть заметно больше 2-х.

Брать из синтаксис-помощника, там даже с примерами кода.
---
спасибо большое! - Вы - Великий Учитель по 1С ) - все поняла !
---
По КоличествоКлючейСтруктур - 1

             -извините пожалуйта, а почему : « По КоличествоКлючейСтруктур - 1 » ... минус один ? ... что означает эта цифра?

           - ответ в Синтаксис-помощнике, да ?
---
Количество элементов коллекции начинается с 1, а индексы - с 0.

Если сделать Массив.Количество() и будет, скажем 5, то чтобы обратиться к 5-ому элементу по его индексу, нужно сделать Массив[4].
Если попробовать сделать Массив[5] то будет ошибка "Индекс находится за пределами...."
---
И давно у Структуры данные обходятся по индексу?
---
Ничто не мешает сделать массив ключей структуры и обращатся таким образом с помощью индекса.

```1c
    МассивКлючей = Новый Массив;
    МассивКлючей.Добавить("Ключ1");
    МассивКлючей.Добавить("Ключ2");
    МассивКлючей.Добавить("Ключ3");
    ..............
    МассивКлючей.Добавить("КлючN");

    Значение = Неопределено;
    Структура.Свойство(МассивКлючей[Индекс], Значение);
```
---
Нагородить можно что угодно, но я в ответ на вопрос "каким Циклом можно получить значения всех Структур сразу" ответил бы - никаким, обязательно нужны будут ещё циклы для работы с каждой структурой, так как у Структур нет индекса в коллекциях, а Ключи в Структурах разные.
---
я ж написал условия, при которых можно обойтись циклом: ключи и их количество в структурах - одинаковые.
---
Я бы поместил все три структуры в массив и обходил массив циклом каждую из структур с вложенным циклом по каждой структуре))) но это я)) просто не знаю как это на задание повлияет, если только со структурой нужно работать..
Кстати так же впринципе можно структуры поместить в одну структуру. Как вариант.
---
Я бы поместил все три структуры в массив и обходил массив циклом каждую из структур с вложенным циклом по каждой структуре))) но это я)) просто не знаю как это на задание повлияет, если только со структурой нужно работать..
Кстати так же впринципе можно структуры поместить в одну структуру. Как вариант.

 Можете показать пожалуйста как эти три структуры в Массив поместить? 🙏🙏🙏
---
Я бы поместил все три структуры в массив и обходил массив циклом каждую

   а массивы можно помещать в Структуру? - мне говорили, что Структура более Универсальна по сравнению с Массивом, у нее все хорошо видно - Ключ и Значение ( а у Массива индекс , по которому ничего не поймешь с первого взгляда )
---
Можно и в структуру вложить.
ВсеСотры = Новый Структура("Сотрудник1,Сотрудник2,Сотрудник3", ДанныеСотрудника1, ДанныеСотрудника2, ДанныеСотрудника3);

Правда почему то у 1 сотрудника вместо фамилии поле ФИО.....
---
Правда почему то у 1 сотрудника вместо фамилии поле ФИО.....

 Ой! - извините - это я по невнимательности :\

    круто! - все три Структуры в Одну объединили )) - просто чудо !!!

- а вот «ВсеСотры» - это вы сами придумали переменную или оно что-то значит ?

(3) ВсеСотры = Новый Структура("Сотрудник1,Сотрудник2,Сотрудник3", ДанныеСотрудника1, ДанныеСотрудника2, ДанныеСотрудника3);
---
Ну конечно сам назвал)