Справочники и Данные · 9 мин
Как сделать список в 1С: инструкция для пользователя и разработчика
Как создать список в 1С: добавление элементов в справочник, подбор в табличную часть документа и работа со списком значений в коде. Пошаговые инструкции.
Под «списком» в 1С понимают несколько разных вещей: список элементов справочника (номенклатура, контрагенты, сотрудники), перечень строк в табличной части документа, динамический список на форме и программный объект «СписокЗначений» в языке 1С. Способ создания зависит от того, что именно вам нужно получить.
Для пользователя чаще всего задача сводится к заполнению справочника или документа: открыть нужный раздел, нажать кнопку создания и ввести данные. Для разработчика или администратора, который дорабатывает конфигурацию, список создаётся программно — через объект СписокЗначений или настройку динамического списка формы.
Ниже разобраны все основные сценарии: от простого добавления элементов в справочник до программной работы со списком значений. Инструкции подходят для типовых конфигураций на платформе 1С:Предприятие 8.3 — «Управление торговлей», «Бухгалтерия предприятия», «Зарплата и управление персоналом» и других.
Что именно вы хотите сделать: определяем задачу
Прежде чем искать кнопки, определите тип задачи. В 1С «список» может означать четыре разные ситуации, и у каждой свой порядок действий.
Как выбрать действие
Если вы обычный пользователь, вам достаточно первых двух сценариев — они выполняются мышкой без программирования. Программные сценарии требуют доступа к конфигуратору и хотя бы базовых навыков встроенного языка 1С.
Как создать список элементов в справочнике
Справочник — это основной способ хранить списки однотипных данных в 1С. Список номенклатуры, список контрагентов, список складов — всё это справочники, которые заполняются по одному элементу или массово.
Стандартный порядок добавления элемента:
- 1Откройте нужный раздел, например «НСИ и администрирование» → «Номенклатура» или «Продажи» → «Контрагенты»
- 2Нажмите кнопку «Создать» или клавишу Insert
- 3Заполните обязательные поля (как минимум наименование) и нажмите «Записать и закрыть»
- 4Повторите для каждого элемента списка или используйте групповое создание
Для удобства элементы справочника можно раскладывать по группам (папкам). Нажмите «Создать группу», введите название папки, а затем создавайте элементы внутри неё или перетаскивайте существующие мышкой. Это особенно полезно для больших списков номенклатуры.
Если элементов много и данные уже есть в Excel, не вбивайте их вручную. В типовых конфигурациях есть загрузка из табличного документа: например, в «Управлении торговлей» это «НСИ и администрирование» → «Загрузка данных из файла». Подготовьте файл с колонками, сопоставьте их полям справочника и загрузите весь список за один проход.
Как сделать список строк в документе
Вторая частая задача — перечень строк внутри документа: товары в реализации, сотрудники в ведомости на выплату, материалы в требовании-накладной. Такой список называется табличной частью и заполняется прямо в форме документа.
Есть три способа добавить строки. Первый — кнопка «Добавить»: открывается пустая строка, в которой вы выбираете элемент из справочника и указываете количество и цену. Второй — кнопка «Подбор»: открывается окно справочника, где можно двойным щелчком или кнопкой переносить сразу много позиций, не закрывая окно. Третий — заполнение по основанию: документ создаётся на основании другого (например, счёта), и табличная часть заполняется автоматически.
Для больших списков используйте именно «Подбор» — он заметно быстрее построчного добавления. В окне подбора работают поиск по наименованию и артикулу, отбор по группам и остаткам.
Проверьте результат перед проведением: количество строк, итоговая сумма документа и отсутствие пустых или дублирующихся позиций. Дубли проще всего заметить, отсортировав табличную часть по наименованию — кликните по заголовку колонки.
Как создать список значений программно
Для разработчика и администратора, дорабатывающего конфигурацию, базовый инструмент — объект СписокЗначений. Он хранит набор значений с возможностью представления, пометки и картинки для каждого элемента и часто используется для выбора пользователем, передачи параметров и отборов.
Список = Новый СписокЗначений;
Список.Добавить("Москва", "Город Москва");
Список.Добавить("Казань", "Город Казань", Истина);
// Выбор пользователем из списка
ВыбранныйЭлемент = Список.ВыбратьЭлемент("Укажите город");
Если ВыбранныйЭлемент <> Неопределено Тогда
Сообщить("Выбрано: " + ВыбранныйЭлемент.Значение);
КонецЕсли;Метод Добавить принимает до четырёх параметров: значение, представление (что видит пользователь), пометка (флажок) и картинка. Пометки удобны, когда нужно дать пользователю отметить несколько элементов — для этого используется метод ОтметитьЭлементы().
Полезные операции со списком: НайтиПоЗначению() — поиск элемента, СортироватьПоЗначению() — сортировка, Удалить() — удаление по индексу или элементу, Количество() — число элементов. Обход списка выполняется циклом «Для Каждого Элемент Из Список Цикл».
Если нужен просто набор уникальных значений без представлений и пометок, иногда удобнее использовать Соответствие или Массив — они легче при сериализации и передаче между сервером и клиентом. СписокЗначений выбирайте, когда важны интерактивные возможности: выбор, пометки, показ пользователю.
Как настроить динамический список на форме
Динамический список — это способ вывести на форму данные из базы с отбором, сортировкой и автоматическим обновлением. Именно он стоит за большинством списков документов и справочников, которые вы видите в программе.
В конфигураторе динамический список создаётся как реквизит формы типа «ДинамическийСписок». В его свойствах задаётся основная таблица (например, «Документ.РеализацияТоваровУслуг») или произвольный запрос. После этого реквизит перетаскивается в дерево элементов формы — и на форме появляется таблица с данными.
Отбор можно задать статически в свойствах или программно через компоновку данных. Типичный пример — показать пользователю только его документы или только непроведённые записи.
Учтите ограничение: произвольный запрос в динамическом списке с соединениями и группировками может заметно замедлить открытие формы на больших объёмах данных. Если список «тормозит», проверьте индексацию полей отбора и уберите из запроса лишние соединения.
Частые ошибки при работе со списками
Отдельно стоит сказать о правах. Если кнопка «Создать» недоступна или справочник не открывается, дело почти наверняка в правах пользователя, а не в поломке программы. Обратитесь к администратору, чтобы он проверил роли и права доступа к объекту.
Как проверить результат
Все элементы видны, поиск находит их по наименованию, дублей нет
Элементы не отображаются, встречаются дубли или пустые наименования
Документ проводится без ошибок, итоговая сумма совпадает с ожидаемой
При проведении появляются сообщения о незаполненных полях или нулевом количестве
Количество() возвращает ожидаемое число, выбор элемента работает
Список пуст, метод ВыбратьЭлемент возвращает Неопределено без действий пользователя
FAQ
Как быстро создать много элементов справочника сразу?
Используйте загрузку данных из файла (в типовых конфигурациях ищите в разделе «НСИ и администрирование»). Подготовьте Excel-файл с колонками, сопоставьте их полям справочника, сначала загрузите несколько строк для проверки, затем весь объём.
Почему кнопка «Создать» в списке неактивна?
Чаще всего у пользователя нет прав на добавление элементов этого объекта. Реже — список открыт в режиме только просмотра или объект заблокирован другим сеансом. Проверку прав выполняет администратор через настройку ролей.
Чем список значений отличается от массива в 1С?
Массив — просто упорядоченный набор значений. СписокЗначений дополнительно хранит для каждого элемента представление, пометку и картинку и умеет интерактивные операции: выбор элемента пользователем, отметку нескольких строк. Для передачи данных в коде обычно используют массив, для диалога с пользователем — список значений.
Как удалить случайно созданные дубли в справочнике?
В типовых конфигурациях есть обработка «Поиск и удаление дублей» в разделе администрирования. Она находит похожие элементы и объединяет их с заменой ссылок во всех документах. Перед запуском обязательно сделайте резервную копию базы.
Можно ли сделать выпадающий список в собственной форме?
Да. Для поля ввода включите свойство «Кнопка списка выбора» и заполните его «Список выбора» — статически в конфигураторе или программно через Элементы.ИмяПоля.СписокВыбора.Добавить(). Пользователь увидит выпадающий перечень значений.
Что важно запомнить
Список в 1С создаётся по-разному в зависимости от задачи: элементы справочника — кнопкой «Создать» или загрузкой из файла, строки документа — через «Добавить» или «Подбор», программный перечень — объектом СписокЗначений. Перед массовыми операциями делайте резервную копию и проверяйте результат на малом объёме данных.