Список значений в языке 1С 8.3, 8.2 (в примерах)

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

Дата Если Массивы Математика Процедуры Строки Циклы
Диалоги ОписаниеТипов ОперационнаяСистема Приложение Соответствие
СписокЗначений Структура ТаблицаЗначений ФайловаяСистема Формат

ОбщиеОбъекты Запросы ПрикладныеОбъекты УниверсальныеФункции

См. урок для начинающих по списку значений в 1С
Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)

Полный синтаксис (нажмите, чтобы раскрыть)
Оглавление (нажмите, чтобы раскрыть)

&НаКлиенте
Процедура ВыполнитьКод(Команда)
 
    /// Как создать список значений в 1с 8.3, 8.2
 
    Список = Новый СписокЗначений;
 
    /// Как добавить элемент в список значений в 1с 8.3, 8.2
 
    // параметры метода добавить:
    // - значение
    // - представление
    // - отметка (необ.)
    // - картинка (необ.)
    Список.Добавить(
        1980, // значение элемента
        "Год рождения Васи" // представление        
    );
    Список.Добавить(1985, "Год рождения Юли");
    // значения могут быть разных типов
    Список.Добавить("Полина", "Имя ребёнка");
 
    /// Как вставить элемент в список значений в 1с 8.3, 8.2
 
    // вставляем в позицию №2 (элементы нумеруются с 0)
    // элемент со значением 2010 и представлением
    // "Год рождения их совместной дочки"
    Список.Вставить(2, 2010, "Год рождения их совместной дочки");
 
    /// Как обойти элементы списка значений в 1с 8.3, 8.2
 
    Для Каждого Элемент Из Список Цикл
        Сообщить(
            Элемент.Представление + ": " +
            Строка(Элемент.Значение)
        );
    КонецЦикла;
 
    /// Как очистить список значений в 1с 8.3, 8.2
 
    Список.Очистить();
 
    Список.Добавить("Понедельник");
    Список.Добавить("Вторник");
    Список.Добавить("Среда");
 
    /// Как узнать количество элементов списка значений, а также
    /// получить элемент списка по его индексу в 1с 8.3, 8.2
 
    // нумерация с нуля
    Для Индекс = 0 По Список.Количество() - 1 Цикл
        Сообщить(Список[Индекс]);
    КонецЦикла;
 
    /// Как найти элемент списка по его значению в 1с 8.3, 8.2
 
    ЗначВторник = Список.НайтиПоЗначению("Вторник");
 
    /// Как узнать индекс элемента в списке в 1с 8.3, 8.2
 
    Сообщить(Список.Индекс(ЗначВторник)); // 1, так как нумерация с нуля
 
    /// Как отсортировать список по его значениям в 1с 8.3, 8.2
 
    // было: понедельник, вторник, среда
    Список.СортироватьПоЗначению(НаправлениеСортировки.Убыв);
    // стало: среда, понедельник, вторник
 
    /// Как удалить элемент из списка значений в 1с 8.3, 8.2
 
    // удаляем первый элемент
    // параметр: элемент списка
    // или индекс элемента
    // можно так
    Список.Удалить(Список[0]);
    // или так
    // Список.Удалить(0);
 
    /// Как сдвинуть элемент списка значений в 1с 8.3, 8.2
 
    // сдвигаем нулевой элемент на одну позицию вперёд
    // было: понедельник вторник    
    Список.Сдвинуть(0, 1);
    // стало: вторник понедельник 
 
    /// Как сделать копию списка в 1с 8
    КопияСписка = Список.Скопировать();
 
    Цвета = Новый СписокЗначений;
    Цвета.Добавить("Красный");
    Цвета.Добавить("Зелёный");
    Цвета.Добавить("Синий");
 
    /// Как выгрузить значения списка в массив в 1с 8.3, 8.2
 
    МассивЦветов = Цвета.ВыгрузитьЗначения();
 
    /// Как загрузить значения списка из массива в 1с 8.3, 8.2
 
    Цвета.ЗагрузитьЗначения(МассивЦветов);
 
КонецПроцедуры 
 
/// Как сделать немодальный выбор значения из списка
/// значений в 1с 8.3, 8.2
 
&НаКлиенте
Процедура КакСделатьНемодальныйВыборЗначения(Команда)
 
    Цвета = Новый СписокЗначений;
    Цвета.Добавить("Красный");
    Цвета.Добавить("Зелёный");
    Цвета.Добавить("Синий");
 
    // процедура ПослеВыбораЭлемента определена чуть ниже
    ОповещениеПослеВыбораЭлемента = Новый ОписаниеОповещения(
        "ПослеВыбораЭлемента", ЭтотОбъект
    );
 
    Цвета.ПоказатьВыборЭлемента(
        ОповещениеПослеВыбораЭлемента,
        "Выберите любимый цвет"
    );
 
КонецПроцедуры
 
&НаКлиенте
Процедура ПослеВыбораЭлемента(Элемент, Параметры) Экспорт
 
    Если Элемент <> Неопределено Тогда
        Сообщить(Элемент.Значение);
    КонецЕсли;
 
КонецПроцедуры
 
/// Как сделать немодальную отметку значений из списка 
/// значений в 1с 8.3, 8.2
 
&НаКлиенте
Процедура КакСделатьНемодальнуюОтметкуЗначений(Команда)
 
    Цвета = Новый СписокЗначений;
    Цвета.Добавить("Красный");
    Цвета.Добавить("Зелёный");
    Цвета.Добавить("Синий");    
 
    // процедура ПослеОтметкиЭлементов определена чуть ниже
    ОповещениеПослеОтметкиЭлементов = Новый ОписаниеОповещения(
        "ПослеОтметкиЭлементов", ЭтотОбъект
    );	
 
    Цвета.ПоказатьОтметкуЭлементов(
        ОповещениеПослеОтметкиЭлементов,
        "Выберите любимые цвета"
    );
 
   // а вот так можно разом установить все отметки
   // списка в определенное значение
   Цвета.ЗаполнитьПометки(Истина);
 
КонецПроцедуры
 
&НаКлиенте
Процедура ПослеОтметкиЭлементов(Элементы, Параметры) Экспорт
 
    Если Элементы <> Неопределено Тогда
        Для Каждого Цвет Из Элементы Цикл
            Если Цвет.Пометка Тогда
                Сообщить(Цвет.Значение);
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;
 
КонецПроцедуры
 
/// Как сделать модальный выбор значения из списка в 1с 8.3, 8.2
 
&НаКлиенте
Процедура КакСделатьМодальныйВыборЗначения(Команда)
 
    Цвета = Новый СписокЗначений;
    Цвета.Добавить("Красный");
    Цвета.Добавить("Зелёный");
    Цвета.Добавить("Синий");    
 
    ВыбЦвет = Цвета.ВыбратьЭлемент("Выберите любимый цвет");
    Если ВыбЦвет <> Неопределено Тогда
        Сообщить(ВыбЦвет.Значение);
    КонецЕсли;
 
КонецПроцедуры
 
/// Как сделать модальную отметку значений из списка 
/// значений в 1с 8.3, 8.2
 
&НаКлиенте
Процедура КакСделатьМодальнуюОтметкуЗначений(Команда)    
 
    Цвета = Новый СписокЗначений;
    Цвета.Добавить("Красный");
    Цвета.Добавить("Зелёный");
    Цвета.Добавить("Синий");
 
    Если Цвета.ОтметитьЭлементы("Выберите любимые цвета") Тогда
        Для Каждого Цвет Из Цвета Цикл
            Если Цвет.Пометка Тогда
                Сообщить(Цвет.Значение);
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;
 
   // а вот так можно разом установить все отметки
   // списка в определенное значение
   Цвета.ЗаполнитьПометки(Истина);    
 
КонецПроцедуры
 
/// Скачать и выполнить эти примеры на компьютере

Скачать эти примеры в виде тестовой базы (как загрузить, как исследовать)

Список значений в языке 1С 8.3, 8.2 (в примерах)

Дата Если Массивы Математика Процедуры Строки Циклы
Диалоги ОписаниеТипов ОперационнаяСистема Приложение Соответствие
СписокЗначений Структура ТаблицаЗначений ФайловаяСистема Формат

ОбщиеОбъекты Запросы ПрикладныеОбъекты УниверсальныеФункции

С уважением, (преподаватель школы 1С программистов и разработчик обновлятора).



Владимир Милькин
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться: