Как сделать список в 1с

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

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

В данной же части будет рассмотрено программное создание динамических списков, таблиц значений на форме, их вывод в элементы формы и стандартные возможности для работы.

Модифицировать формы рекомендуется программно для удобного обновления конфигураций и исключения конфликтов, а также для удобной поддержки кода. Со статьями о механизмах модификации можно ознакомиться в разделе полезных ссылок.

Также все описанные в текущем разделе процедуры и функции находятся во внешней обработке УпрФормы.
Примеры программного создания элементов, команд, реквизитов управляемой формы, а также описание стандартных возможностей для работы с ними можно будет посмотреть в части 1.

Создание реквизита типа таблица значений и вывод на форму

Добавление условного оформления таблицы формы

Создаем условное оформление для таблицы:

В процедуру команды добавим вызов серверной процедуры для заполнения таблицы цен в зависимости от выбранной номенклатуры и характеристики:

Добавляем в процедуру ПриСозданииНаСервере процедуры:


Заполняем реквизиты Номенклатура, Характеристика и заполняем цены в таблице значений.


Создание реквизита типа динамический список с заданными настройками и вывод на форму

На странице 3 создадим динамический список с выводом всех цен выбранной номенклатуры и характеристики.
Добавим Условное Оформление дин. списка, отбор и сортировку программно.

Вывести динамический список в элементы управляемой формы 1С

Для вывода дин. списка воспользуемся процедурами, которые использовали при выводе таблицы значений, так как это один тип — ДанныеФормыКоллекция.

Обновление параметров динамического списка программно

Если в запросе дин. списка используются параметры, то их необходимо обновлять при изменении соответствующих реквизитов.

Добавляем в процедуру ПриСозданииНаСервере процедуры:


Заполняем реквизиты Номенклатура, Характеристика и заполняем цены в таблице значений.


Содержимое регистра сведений ЦеныНоменклатуры:


Динамический список на форме:

СписокРезультат_ВЗ

Рассмотрим как разместить выпадающий список значений на форме. Практиковаться будем на платформе 1С:Предприятие 8.3 на управляемых формах. Предположим, что нам надо разместить на форме список значений как показано на рисунке.

Итак, создаем внешнюю обработку. Создаем для формы реквизит в котором будет содержаться выбранное из списка значение.

СозданиеРеквизита_ВЗ


Назовем его к примеру – СписокВариантов. Выберем для него тип значения. В нашем случае это будет строка, хотя в зависимости от задачи это может быть и СправочникСсылка, ПеречислениеСсылка и т.д. Хочется только подчеркнуть, что тип не список значений, что на первый взгляд кажется логичным, а именно тот тип, значения которого будут в этом списке отображаться. Далее размещаем наш реквизит на форме как поле ввода.

РежимВыбораИзСписка_ВЗ

А для работы со списком значений будем использовать свойство поля ввода – СписокВыбора.
Для этого в свойствах поля ввода включаем флажок РежимВыбораИзСписка

И программно заполняем СписокВыбора нужными нам значениями:

Для обычной (не управляемой формы) принцип реализации точно такой же.

Все бы ничего, но если СписокВариантов Строка … то выражение
СписокВариантов = Элементы.СписокВариантов.СписокВыбора[0].Значение;
не работает при ПриСозданииНаСервере
При открытии формы это значение обнуляется
На других типах (Спр. Документ …) не проверял
И … было бы неплохо писать для какой версии 1С Вы пишете описание. Может быть, для какой-то версии это и работает

Дома делал вот на этой версии 1С:Предприятие 8.3, учебная версия (8.3.6.2014). Работает. Правда режим файловый, код то все равно на клиенте выполняется. Но на работе тоже такое делал на 8.2. Там серверный вариант. Проверю, отпишусь.
Можно и в ПриОткрытии() этот код затолкать.

Материал в статье будет посвящен вопросу как можно вывести список сотрудников в 1С ЗУП. Данная информация при осуществлении деятельности организации может потребоваться, к примеру, отделу кадров, бухгалтерии и прочим службам. На основе этих данных также возможно проведение какого-либо анализа. Программа 1С ЗУП позволяет сформировать различные списки сотрудников. Это может быть список работающих сотрудников на определенную дату или же список уволенных сотрудников и пр. Также есть возможность формировать списки с дополнительной информацией, такой как паспортные данные, датой рождения. Как правило, если речь идет о получении информации в виде списка, то для этого необходимо сформировать соответствующий отчет в программе.


Настрою вашу 1С. Опыт с 2004 года. Подробнее →

1с список сотрудников для сайта

Первым рассмотрим, как сформировать отчет, который покажет список работающих сотрудников на конкретную дату. Перейдем в раздел программы “Кадры” и выберем пункт “Кадровые отчеты”. В открывшейся форме с отчетами и справками выбираем отчет “Штатные сотрудники”.


В шапке отчета указываем дату – можно выбрать конец периода, либо указать произвольную дату и выбираем организацию, если их несколько в информационной базе. И нажимаем “Сформировать”. Сформированный отчет будет выглядеть следующим образом.


В стандартном варианте отчет мы видим группировку сотрудников в разрезе подразделений и большое количество колонок с информацией. Нажав на кнопку “Настройки” в шапке отчета есть возможность изменить его внешний вид. В подвале формы настроек выбираем вид “Расширенный” и переходим на закладку “Поля и сортировка”. Здесь в левом окне можно отметить те поля, которые будут выведены в отчет, а в правом окне установить порядок сортировки.

Далее перейдем на закладку “Структура” и изменим структуру отчет. Выведем список сотрудников без группировки по подразделениям. Для этого перетащим “Детальные записи” на поле “Организации”, а у поля “Подразделение” уберем галочку.


После чего нажимаем “Закрыть и сформировать”. Измененный отчет будет иметь уже следующий вид.

Вторым рассмотрим отчет “Личные данные сотрудников”. Данный отчет также находится в кадровых отчетах. Открыть его можно и из первого отчета по кнопке “Выбора варианта отчета”.


В шапке также укажем дату и выберем нужную организацию. В настройках на закладке “Поля и сортировка” по кнопке “Добавить” можно осуществить добавление новых полей личных данных сотрудника, к примеру, семейное положение. Отчет со стандартными настройка будет выглядеть следующим образом.


И последний рассматриваемы в рамках статьи отчет “Уволенные сотрудники”. Отчет позволяет получить список уволенных сотрудников организации с датой увольнения. Настройка отчета осуществляется аналогично двум предыдущим.


Следует обратить внимание, что отчет покажет уволенных сотрудников на установленную в шапке дату.

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

Список Значений представляет собой линейный упорядоченный список, упорядоченный в данном случае означает, что на порядок следования элементов в списке можно опираться и сам список можно сортировать. Список значенией удобно использовать для хранения и обработки списка данных обладающих линейной структурой, для вывода значений на форму или для предоставления возможности выбора пользователю. Список на самом деле представляет собой таблицу с фиксированным набором колонок:

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

Как вы могли заметить все дополнительные колонки служат для работы с интерфейсом пользователя. Это связано с тем, что список значений часто используются для предоставления пользователю выбора одного или несколько значений.

Создание и использование

Список значений создается с помощью метода новый:

Добавление значений в список происходит с помошью методов, Добавить() и Вставить() например:

метод Вставить отличается от метода Добавить , только возможностью указать позицию для вставки объекта. У каждого элемента списка значений, есть уникальный идентификатор, который не меняется, вне зависимости от того, что бы не происходило со списком значений. Получить его можно с помощью метода ПолучитьИдентификатор() применять его нужно к элементу списка значений. В дальнейшем идентификатор можно использовать с помошью, метода НайтиПоИдентификатору(Идентификатор). Обращение к элементам коллекции происходит стандартно для коллекции Поиск в коллекции происходит с помощью метода НайтиПоЗначению(), метод возвращает либо элемент списка значений, либо Неопределено , если искомое значение отсутствует в списке. Обратите внимание, что элемент списка значений это не само значение и здесь доступны все свойства описанные выше: отметка, картинка, значение, пометка. Например:

Методы для работы с пользователем

Как уже отмечалось, список значений удобная коллекция для интерактивной работы с пользователем. Есть возможность сформировав заранее список с удобными представлениями и картинками. Показать пользователю окно для выбора одного или нескольких значений. Либо дать возможность пользователю поставить отметки в выведенном списке. Для этого используются следующие команды:

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

ОтметитьЭлементы() выводит окно позволяя пользователю проставить отметки в списке значений, возвращает Истина если выбор сделан и Ложь в противном случае.

Оба вышеприведенных метода работают с модальными окнами Также можно вывести список значений на форму.(Сделать картинки для обычного и для управляемого приложения)

Читайте также: