Как работать с циклом "для каждого" - для обхода коллекций. Понятие массива в 1С и основные методы работы с ним. Что такое индекс элемента массива и как по нему обратиться к значению элемента. Услуги 1С программиста в Москве: 1cproger.ru/ Читайте статьи по 1С на нашем сайте: programmist1s.ru/materialyi-po-1s/
Извиняюсь за тупые вопросы, но: Коллекция это всегда массив? есть случаи в которых это не массив или какая то другая совокупность элементов не являющаяся массивом? как работать с ней?
Коллекция - это не всегда массив. Это может быть массив, структура, список значений и т.д. Более подробно можете прочитать в этой статье: xn----1-bedvffifm4g.xn--p1ai/articles/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BA%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%D0%BC%D0%B8/
Похоже что Массив это Коллекция th-cam.com/video/Qc8YCK7XTik/w-d-xo.html Судя по Синтекс-помощнику в "Универсальную коллекцию" входит и Массив, и Структура, и Соответствие и т.д. Было бы намного понятнее если бы в первом ролике Илья изложил общую структуру 1С со схемами + были бы показаны как пользоваться правильно Стнитакс-помощником, чтобы найти ту или иную Функцию или Процедуру, или бы было показано что базовые Методы (Процедуры/Функции) вот эти и можно делать тото или тото.. База изначально так скажем не показана, поэтому и трудно воспринять...
Добрый день. Ради интереса изучаю для себя 1С, поэтому вопрос у меня может быть глупый, а то и поставлен неверно. К примеру, я хочу решить такую задачу: нажимаю на кнопку и в определенных полях у меня появляется надпись. Можно ли для этого использовать массивы? Вот, к примеру, я создаю массив "Холодильник". В качестве элементов массива у меня энное число Полок (Их я предварительно создавала, как реквизит формы с типом "строка"). Как мне сделать так, чтобы выполнялось такое действие: для каждого элемента массива задавалось значение "еда"? Я думала сделать так: Для Каждого Элемента Массива Из Холодильник Цикл //какая-то команда (Вставить? Установить значение?) // = "еда"; Конец цикла; Или это вообще нереальная дичь и лучше не сходить с ума и прописывать просто каждой полке заданное значение?
Подскажите, откуда берутся имена переменных, в частности ЭлементМассива, если я набираю Для Каждого Элемент и жму ktr+пробел, то у меня выходит ЭлементыФормы, если же я дописываю полностью, то в команде сообщить, предлагает варианты, где есть ЭлементМассива. Попробовал заменить элемент массива на Хрен в обоих строчках, отработало нормально.
@@TM-sp9sq Все просто. ЭлементМассива - это просто название переменной. После слова Для каждого он и не может появиться, он же еще не задан. А после того как мы его задаем, тогда он уже подтягивается при нажатии контрол + пробел
А если элементов массива будет очень много, невозможно же будет написать "М.Добавить()" для каждого, правильно? И не совсем понятно, что за коллекция, как она практически может встретиться в 1С, коллекция чего тогда?
Про коллекции попробуйте почитать тут: xn----1-bedvffifm4g.xn--p1ai/articles/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BA%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%D0%BC%D0%B8/ Если элементов в массиве нужно очень много, то их нужно добавлять в цикле.
скажем так стоит если имеете представление что это.... мне 35 я училась на это 11 лет назад... конечно для IT это огромный срок и я знала только 1С7.7 но сейчас дается легко... но у меня математический склад и для меня это элементарно...
@@АлександраИванова-д3ф зависит от способностей конкретного индивидуума. Если школьный курс математики не вызывал затруднений, то и программирование не вызовет.
Не пойму. Почему у меня после точно набора массива с экрана показывало что переменная ЭлементМассива не определена, и только после того как я убрал Элемент и оставил только Массив все прошло без ошибок и результат совпал. Объясните пожалуйста.
У меня одна проблема точно есть, когда я присваиваю массив, например : М = Новый Массив(); У меня попросту команда "Новый" не меняет цвет на красный, а остаётся быть синей, редактор будто не понимает эту команду
А нет возможности как - то компактно записать создание элементов в массиве? Это же ужас писать для каждого элемента отдельную строчку. Попробовал "М.Добавить(1, 2, 3);" При анализе ошибок не выдало, но при выполнение сообщило об ошибке "слишком много фактических параметров".
Да, точно. Совокупность - это такая пуговица))
Как работать с циклом "для каждого" - для обхода коллекций. Понятие массива в 1С и основные методы работы с ним. Что такое индекс элемента массива и как по нему обратиться к значению элемента.
Услуги 1С программиста в Москве:
1cproger.ru/
Читайте статьи по 1С на нашем сайте:
programmist1s.ru/materialyi-po-1s/
Извиняюсь за тупые вопросы, но:
Коллекция это всегда массив? есть случаи в которых это не массив или какая то другая совокупность элементов не являющаяся массивом? как работать с ней?
Коллекция - это не всегда массив. Это может быть массив, структура, список значений и т.д.
Более подробно можете прочитать в этой статье: xn----1-bedvffifm4g.xn--p1ai/articles/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BA%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%D0%BC%D0%B8/
Тоже интересно
Похоже что Массив это Коллекция th-cam.com/video/Qc8YCK7XTik/w-d-xo.html
Судя по Синтекс-помощнику в "Универсальную коллекцию" входит и Массив, и Структура, и Соответствие и т.д.
Было бы намного понятнее если бы в первом ролике Илья изложил общую структуру 1С со схемами + были бы показаны как пользоваться правильно Стнитакс-помощником, чтобы найти ту или иную Функцию или Процедуру, или бы было показано что базовые Методы (Процедуры/Функции) вот эти и можно делать тото или тото..
База изначально так скажем не показана, поэтому и трудно воспринять...
Добрый день. Ради интереса изучаю для себя 1С, поэтому вопрос у меня может быть глупый, а то и поставлен неверно.
К примеру, я хочу решить такую задачу: нажимаю на кнопку и в определенных полях у меня появляется надпись. Можно ли для этого использовать массивы?
Вот, к примеру, я создаю массив "Холодильник". В качестве элементов массива у меня энное число Полок (Их я предварительно создавала, как реквизит формы с типом "строка"). Как мне сделать так, чтобы выполнялось такое действие: для каждого элемента массива задавалось значение "еда"?
Я думала сделать так:
Для Каждого Элемента Массива Из Холодильник Цикл
//какая-то команда (Вставить? Установить значение?) // = "еда";
Конец цикла;
Или это вообще нереальная дичь и лучше не сходить с ума и прописывать просто каждой полке заданное значение?
Как это в жизни работает?
можно ли записывать значения в массив при обходе через цикл "для каждого из "
Подскажите, откуда берутся имена переменных, в частности ЭлементМассива, если я набираю Для Каждого Элемент и жму ktr+пробел, то у меня выходит ЭлементыФормы, если же я дописываю полностью, то в команде сообщить, предлагает варианты, где есть ЭлементМассива. Попробовал заменить элемент массива на Хрен в обоих строчках, отработало нормально.
Та же ситуация, разобрались в этом вопросе? Может поможете?)
Буду благодарен.
@@TM-sp9sq Все просто. ЭлементМассива - это просто название переменной. После слова Для каждого он и не может появиться, он же еще не задан. А после того как мы его задаем, тогда он уже подтягивается при нажатии контрол + пробел
@@Waladar спасибо большое за помощь) я уже разобрался, да, действительно просто!
А если элементов массива будет очень много, невозможно же будет написать "М.Добавить()" для каждого, правильно? И не совсем понятно, что за коллекция, как она практически может встретиться в 1С, коллекция чего тогда?
Про коллекции попробуйте почитать тут: xn----1-bedvffifm4g.xn--p1ai/articles/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BA%D0%BE%D0%BB%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%D0%BC%D0%B8/
Если элементов в массиве нужно очень много, то их нужно добавлять в цикле.
А многоуровневый массив 1с поддерживает? Или только одноуровневый?
Я, честно говоря, никогда не видел использование многомерных массивов, но это делается так:
Массив = Новый Массив(3, 2);
Массив[0][0] = "Знач11";
Массив[0][1] = "Знач12";
Массив[1][0] = "Знач21";
Массив[1][1] = "Знач22";
Массив[2][0] = "Знач31";
Массив[2][1] = "Знач32";
В 35 лет стоит начинать изучать программирование?
я начал в 30)
Я начинаю в 36)
Если голова работает, почему бы и нет.
Сейчас в интернете полно информации. Грех не учиться
@@АнтонСимонов-ъ3у получилось?
скажем так стоит если имеете представление что это.... мне 35 я училась на это 11 лет назад... конечно для IT это огромный срок и я знала только 1С7.7 но сейчас дается легко... но у меня математический склад и для меня это элементарно...
@@АлександраИванова-д3ф зависит от способностей конкретного индивидуума. Если школьный курс математики не вызывал затруднений, то и программирование не вызовет.
Не пойму. Почему у меня после точно набора массива с экрана показывало что переменная ЭлементМассива не определена, и только после того как я убрал Элемент и оставил только Массив все прошло без ошибок и результат совпал. Объясните пожалуйста.
У меня точно такая же проблема... Узнали почему?
Работаю в 7.7
Помню как-то исправил, а как уже если честно нет, по моему чего все таки не хватало из знаков.
У меня одна проблема точно есть, когда я присваиваю массив, например :
М = Новый Массив();
У меня попросту команда "Новый" не меняет цвет на красный, а остаётся быть синей, редактор будто не понимает эту команду
Может 7.7 другие команды, а может где-то пробела не хватает, ну я не спец в С1.
Спасибо!
А нет возможности как - то компактно записать создание элементов в массиве? Это же ужас писать для каждого элемента отдельную строчку. Попробовал "М.Добавить(1, 2, 3);" При анализе ошибок не выдало, но при выполнение сообщило об ошибке "слишком много фактических параметров".
Компактней метода "Добавить()" ничего нет )
МойМассив = СтрРазделить("4,7,2,8",",");
@@Sasha-Shutko Спасибо, но это запись в массив значений как строки, а можно как числа?
спасибо!
здорово ... лайкос
Крутой курс! Но я бы не советовал его смотреть начинающим программистам. Лучше начните с С++
Для каждого это foreach из питона)
В питоне нет как такогово foreach
For i in range() :
в питоне есть for, while, и 1с на сишарпе сделан и синтаксис на сишарп похож
Это из JavaScript ))
И из php
Ничего сложного нету. Только вот терминология в 1С другая