Цикл "Для каждого" в 1С и работа с массивом

Поділитися
Вставка
  • Опубліковано 18 тра 2017
  • Как работать с циклом "для каждого" - для обхода коллекций. Понятие массива в 1С и основные методы работы с ним. Что такое индекс элемента массива и как по нему обратиться к значению элемента.
    Читайте статьи по 1С на нашем сайте:
    programmist1s.ru/materialyi-po...

КОМЕНТАРІ • 50

  • @user-yp6ze3dh5j
    @user-yp6ze3dh5j 5 років тому +21

    Да, точно. Совокупность - это такая пуговица))

  • @user-hr4of1pd8x
    @user-hr4of1pd8x 4 роки тому

    Спасибо!

  • @kilka13
    @kilka13 3 роки тому

    спасибо!

  • @user-eh1et6ls8q
    @user-eh1et6ls8q  7 років тому +5

    Как работать с циклом "для каждого" - для обхода коллекций. Понятие массива в 1С и основные методы работы с ним. Что такое индекс элемента массива и как по нему обратиться к значению элемента.
    Услуги 1С программиста в Москве:
    1cproger.ru/
    Читайте статьи по 1С на нашем сайте:
    programmist1s.ru/materialyi-po-1s/

  • @alterego5982
    @alterego5982 3 роки тому

    здорово ... лайкос

  • @alexandrex6267
    @alexandrex6267 6 років тому

    можно ли записывать значения в массив при обходе через цикл "для каждого из "

  • @andrey7x7gmail
    @andrey7x7gmail 6 років тому +11

    Про создание массива надо было народу разъяснить что М.Добавить добавляет элемент в конец массива, а скобочки после Новый Массив не для красоты а для указания размера массива, тогда его можно заполнять адресно, а не только в конец.
    Если честно как программисту С++ такой код глаз режет, но для новичков наверное так понятнее.

    • @terentyeff
      @terentyeff 3 роки тому +4

      Вот да, после плюсов, 1С выглядит как какой-то трешь.

    • @Valdemar93
      @Valdemar93 Рік тому +2

      @@terentyeff Пайтон, после этого вообще изи язык

  • @user-qz9cs6gi2y
    @user-qz9cs6gi2y 7 років тому +1

    А многоуровневый массив 1с поддерживает? Или только одноуровневый?

    • @user-eh1et6ls8q
      @user-eh1et6ls8q  7 років тому +11

      Я, честно говоря, никогда не видел использование многомерных массивов, но это делается так:
      Массив = Новый Массив(3, 2);
      Массив[0][0] = "Знач11";
      Массив[0][1] = "Знач12";
      Массив[1][0] = "Знач21";
      Массив[1][1] = "Знач22";
      Массив[2][0] = "Знач31";
      Массив[2][1] = "Знач32";

  • @user-bt7ul7wo8c
    @user-bt7ul7wo8c 5 років тому +5

    Извиняюсь за тупые вопросы, но:
    Коллекция это всегда массив? есть случаи в которых это не массив или какая то другая совокупность элементов не являющаяся массивом? как работать с ней?

    • @IlyaLeontyev
      @IlyaLeontyev 5 років тому +3

      Коллекция - это не всегда массив. Это может быть массив, структура, список значений и т.д.
      Более подробно можете прочитать в этой статье: 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/

    • @user-ky6ok7rv3j
      @user-ky6ok7rv3j 2 роки тому

      Тоже интересно

    • @user-qg6zg6nd2x
      @user-qg6zg6nd2x Рік тому

      Похоже что Массив это Коллекция ua-cam.com/video/Qc8YCK7XTik/v-deo.html
      Судя по Синтекс-помощнику в "Универсальную коллекцию" входит и Массив, и Структура, и Соответствие и т.д.
      Было бы намного понятнее если бы в первом ролике Илья изложил общую структуру 1С со схемами + были бы показаны как пользоваться правильно Стнитакс-помощником, чтобы найти ту или иную Функцию или Процедуру, или бы было показано что базовые Методы (Процедуры/Функции) вот эти и можно делать тото или тото..
      База изначально так скажем не показана, поэтому и трудно воспринять...

  • @sergejsimagin3741
    @sergejsimagin3741 4 роки тому +1

    Подскажите, откуда берутся имена переменных, в частности ЭлементМассива, если я набираю Для Каждого Элемент и жму ktr+пробел, то у меня выходит ЭлементыФормы, если же я дописываю полностью, то в команде сообщить, предлагает варианты, где есть ЭлементМассива. Попробовал заменить элемент массива на Хрен в обоих строчках, отработало нормально.

    • @TM-sp9sq
      @TM-sp9sq Рік тому

      Та же ситуация, разобрались в этом вопросе? Может поможете?)
      Буду благодарен.

    • @Waladar
      @Waladar Рік тому

      @@TM-sp9sq Все просто. ЭлементМассива - это просто название переменной. После слова Для каждого он и не может появиться, он же еще не задан. А после того как мы его задаем, тогда он уже подтягивается при нажатии контрол + пробел

    • @TM-sp9sq
      @TM-sp9sq Рік тому +1

      @@Waladar спасибо большое за помощь) я уже разобрался, да, действительно просто!

  • @Befanta
    @Befanta Рік тому

    Добрый день. Ради интереса изучаю для себя 1С, поэтому вопрос у меня может быть глупый, а то и поставлен неверно.
    К примеру, я хочу решить такую задачу: нажимаю на кнопку и в определенных полях у меня появляется надпись. Можно ли для этого использовать массивы?
    Вот, к примеру, я создаю массив "Холодильник". В качестве элементов массива у меня энное число Полок (Их я предварительно создавала, как реквизит формы с типом "строка"). Как мне сделать так, чтобы выполнялось такое действие: для каждого элемента массива задавалось значение "еда"?
    Я думала сделать так:
    Для Каждого Элемента Массива Из Холодильник Цикл
    //какая-то команда (Вставить? Установить значение?) // = "еда";
    Конец цикла;
    Или это вообще нереальная дичь и лучше не сходить с ума и прописывать просто каждой полке заданное значение?

  • @mikhailtoptygin7504
    @mikhailtoptygin7504 6 років тому

    Не пойму. Почему у меня после точно набора массива с экрана показывало что переменная ЭлементМассива не определена, и только после того как я убрал Элемент и оставил только Массив все прошло без ошибок и результат совпал. Объясните пожалуйста.

    • @danilslivkin
      @danilslivkin 6 років тому

      У меня точно такая же проблема... Узнали почему?
      Работаю в 7.7

    • @mikhailtoptygin7504
      @mikhailtoptygin7504 6 років тому

      Помню как-то исправил, а как уже если честно нет, по моему чего все таки не хватало из знаков.

    • @danilslivkin
      @danilslivkin 6 років тому +1

      У меня одна проблема точно есть, когда я присваиваю массив, например :
      М = Новый Массив();
      У меня попросту команда "Новый" не меняет цвет на красный, а остаётся быть синей, редактор будто не понимает эту команду

    • @mikhailtoptygin7504
      @mikhailtoptygin7504 6 років тому

      Может 7.7 другие команды, а может где-то пробела не хватает, ну я не спец в С1.

  • @jonymartynez3881
    @jonymartynez3881 Рік тому

    Как это в жизни работает?

  • @flexterion
    @flexterion Рік тому

    Крутой курс! Но я бы не советовал его смотреть начинающим программистам. Лучше начните с С++

  • @planeczable
    @planeczable 6 років тому +1

    А нет возможности как - то компактно записать создание элементов в массиве? Это же ужас писать для каждого элемента отдельную строчку. Попробовал "М.Добавить(1, 2, 3);" При анализе ошибок не выдало, но при выполнение сообщило об ошибке "слишком много фактических параметров".

    • @IlyaLeontyev
      @IlyaLeontyev 5 років тому

      Компактней метода "Добавить()" ничего нет )

    • @Sasha-Shutko
      @Sasha-Shutko 4 роки тому +3

      МойМассив = СтрРазделить("4,7,2,8",",");

    • @dimamraft6448
      @dimamraft6448 Рік тому

      @@Sasha-Shutko Спасибо, но это запись в массив значений как строки, а можно как числа?

  • @user-zx6bo3bc8r
    @user-zx6bo3bc8r 3 роки тому +1

    В 35 лет стоит начинать изучать программирование?

    • @Barbin4ik
      @Barbin4ik 3 роки тому

      я начал в 30)

    • @user-cz5ll3cb2l
      @user-cz5ll3cb2l 3 роки тому +4

      Я начинаю в 36)
      Если голова работает, почему бы и нет.
      Сейчас в интернете полно информации. Грех не учиться

    • @user-oj6vt8ht6x
      @user-oj6vt8ht6x 2 роки тому

      @@user-cz5ll3cb2l получилось?

    • @user-ln1rt4pu1y
      @user-ln1rt4pu1y 2 роки тому

      скажем так стоит если имеете представление что это.... мне 35 я училась на это 11 лет назад... конечно для IT это огромный срок и я знала только 1С7.7 но сейчас дается легко... но у меня математический склад и для меня это элементарно...

    • @asmorodinlistru
      @asmorodinlistru Рік тому

      @@user-oj6vt8ht6x зависит от способностей конкретного индивидуума. Если школьный курс математики не вызывал затруднений, то и программирование не вызовет.

  • @romanbush5164
    @romanbush5164 3 роки тому +2

    Для каждого это foreach из питона)

    • @frizby7868
      @frizby7868 3 роки тому

      В питоне нет как такогово foreach

    • @swinrytp6679
      @swinrytp6679 3 роки тому +1

      For i in range() :

    • @user-mz6ml9yt7h
      @user-mz6ml9yt7h 2 роки тому +1

      в питоне есть for, while, и 1с на сишарпе сделан и синтаксис на сишарп похож

    • @dimamraft6448
      @dimamraft6448 Рік тому +1

      Это из JavaScript ))

    • @golodoMore
      @golodoMore Рік тому

      И из php

  • @user-lp2mt9hn9b
    @user-lp2mt9hn9b 5 років тому +2

    А если элементов массива будет очень много, невозможно же будет написать "М.Добавить()" для каждого, правильно? И не совсем понятно, что за коллекция, как она практически может встретиться в 1С, коллекция чего тогда?

    • @IlyaLeontyev
      @IlyaLeontyev 5 років тому

      Про коллекции попробуйте почитать тут: 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/
      Если элементов в массиве нужно очень много, то их нужно добавлять в цикле.

  • @vladyan01
    @vladyan01 2 роки тому

    Ничего сложного нету. Только вот терминология в 1С другая