Справочники и Данные · 11 мин
Как добавить список в 1С
Как добавить список в 1С: заполнение справочников, создание списка значений в документе и в коде. Пошаговые инструкции, типичные ошибки и способы проверки результата.
Под «списком» в 1С обычно понимают одно из трёх: список элементов справочника (номенклатура, контрагенты, сотрудники), табличную часть документа, куда добавляют строки, или объект «СписокЗначений» во встроенном языке. Каждый сценарий решается по-разному, и ошибка в выборе подхода приводит к потере времени или порче данных.
Для пользователя добавление в список сводится к работе с формой справочника или документа: кнопки «Создать», «Добавить», клавиша Insert, копирование существующей строки. Для разработчика или администратора актуальны программные методы: СоздатьЭлемент(), Добавить(), ЗагрузитьЗначения(). Ниже разобраны оба уровня с конкретными действиями и проверками результата.
Перед массовым добавлением данных убедитесь, что у вас есть резервная копия информационной базы и достаточно прав. Ошибочная загрузка сотен элементов в справочник «Номенклатура» потом придётся вычищать вручную или через специальную обработку.
Определяем, какой именно список нужен
Первый шаг — понять, с каким объектом вы работаете. В типовых конфигурациях 1С (Бухгалтерия, Управление торговлей, ЗУП) «списки» встречаются в четырёх основных видах:
- Справочник — постоянный список сущностей: товары, контрагенты, договоры, склады. Элементы живут постоянно и используются во многих документах.
- Табличная часть документа — строки внутри конкретного документа, например перечень товаров в «Поступлении товаров и услуг».
- Список значений — временная структура данных в коде или в поле множественного выбора (например, список организаций в отборе отчёта).
- Динамический список — отображение данных в форме списка, сам по себе не редактируется, изменения вносятся через объекты.
Если вы вводите новый товар, который потом будете выбирать в накладных, — это справочник. Если добавляете позиции в конкретный счёт — это табличная часть. Если настраиваете отбор в отчёте по нескольким контрагентам — это список значений в параметрах.
Добавление элемента в справочник через интерфейс
Базовый сценарий для пользователя: откройте раздел со справочником (например, «Справочники → Номенклатура» или «Покупки → Контрагенты» — расположение зависит от конфигурации). В открывшейся форме списка нажмите кнопку «Создать», клавишу Insert или F2 — в зависимости от версии платформы и настроек конфигурации.
Заполните обязательные поля — они обычно подчёркнуты красным или отмечены звёздочкой. Для номенклатуры это наименование и вид номенклатуры, для контрагента — наименование и тип (юридическое или физическое лицо). Нажмите «Записать и закрыть» или «Записать», если планируете продолжить редактирование.
Для ускорения ввода похожих элементов используйте копирование: выделите существующий элемент и нажмите F9 или кнопку «Скопировать». Откроется форма нового элемента с уже заполненными полями — останется изменить наименование и отличающиеся реквизиты. Это удобно при заведении однотипных товаров, отличающихся только размером или цветом.
Если справочник иерархический, сначала создайте группу (папку) кнопкой «Создать группу», затем добавляйте элементы внутрь неё. Правильная иерархия упрощает поиск и отборы в отчётах.
- 1Откройте форму списка нужного справочника через меню разделов
- 2Нажмите «Создать» или Insert для нового элемента, F9 — для копирования существующего
- 3Заполните обязательные поля, отмеченные красным
- 4Нажмите «Записать и закрыть»
- 5Найдите новый элемент в списке через строку поиска и убедитесь, что он доступен для выбора
Добавление строк в табличную часть документа
В документах («Реализация товаров», «Счёт на оплату», «Приходный ордер») списки строк редактируются прямо в форме документа. Перейдите на вкладку с табличной частью (например, «Товары») и нажмите «Добавить» или Insert. В новой строке выберите номенклатуру, укажите количество и цену — сумма обычно рассчитывается автоматически.
Быстрый способ — кнопка «Подбор»: открывается форма выбора с остатками и ценами, где двойным щелчком или вводом количества позиции переносятся в документ пачкой. Это заметно быстрее построчного добавления при большом количестве позиций.
Копирование строк работает через контекстное меню (правый клик → «Скопировать») или F9. Для удаления ошибочной строки используйте Delete или кнопку с крестиком — но помните, что в проведённом документе изменения потребуют перепроведения.
Массовое добавление: загрузка из Excel и обработки
Когда нужно добавить не три, а триста элементов, ручной ввод неоправданен. В типовых конфигурациях есть встроенная обработка «Загрузка данных из табличного документа» (обычно в разделе «Администрирование» или доступна через «Все функции»). Она принимает скопированную из Excel таблицу и сопоставляет колонки реквизитам справочника.
Порядок действий: подготовьте таблицу с колонками (наименование, артикул, единица измерения и т.д.), откройте обработку, выберите вид справочника, вставьте данные, проверьте сопоставление колонок и запустите загрузку. Перед загрузкой в рабочую базу выполните пробный прогон на копии или на 5–10 строках.
Альтернатива — внешние обработки загрузки (файлы .epf), которые подключаются через «Файл → Открыть» при наличии соответствующих прав. Используйте только обработки из доверенных источников: внешняя обработка выполняется с вашими правами и может изменить любые данные базы.
Программное добавление: справочники и списки значений
Для разработчика добавление элемента справочника выполняется через объектную модель. Типовой фрагмент кода выглядит так:
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
НовыйЭлемент.Наименование = "Кабель ВВГ 3х2,5";
НовыйЭлемент.Родитель = ГруппаКабели;
НовыйЭлемент.Записать();
Для списка значений используются методы Добавить() и ЗагрузитьЗначения():
Список = Новый СписокЗначений;
Список.Добавить("Основной склад", "Склад 1", Истина);
Список.Добавить("Резервный склад", "Склад 2", Ложь);
Метод Добавить() принимает значение, представление и признак пометки. Для заполнения из массива быстрее использовать ЗагрузитьЗначения(Массив). Добавление строки в табличную часть программно: НоваяСтрока = ДокументОбъект.Товары.Добавить(); с последующим заполнением полей и вызовом Записать() у документа.
Список = Новый СписокЗначений;
Список.Добавить(СсылкаНаКонтрагента, "ООО Ромашка", Истина);
Для Каждого Элемент Из Список Цикл
Если Элемент.Пометка Тогда
Сообщить(Элемент.Представление);
КонецЕсли;
КонецЦикла;Проверка результата и типичные ошибки
После добавления элементов убедитесь, что они реально доступны: найдите новый элемент через строку поиска в форме списка, откройте документ и проверьте, что элемент выбирается в поле ввода. Для программного добавления полезно вывести количество элементов списка значений через Список.Количество() или проверить запись через запрос.
Распространённая проблема — дубли. Если поиск в справочнике настроен «по началу строки», элемент с лишним пробелом в начале наименования создаётся повторно, хотя визуально кажется существующим. Перед созданием элемента пользуйтесь поиском по подстроке или функцией контроля дублей, если она есть в конфигурации.
Ещё одна ошибка — добавление элемента не в ту группу иерархического справочника. Элемент окажется «потерянным» для пользователей, которые ищут его в привычной папке. Проверяйте поле «Родитель» при создании.
Как проверить результат
Элемент находится по наименованию и открывается
Элемент не найден — запись не выполнена или нет прав
Новый элемент доступен в поле выбора
Элемент не отображается — проверьте пометку удаления и отборы
Список.Количество() равно ожидаемому
Меньше ожидаемого — часть вызовов Добавить() не выполнилась
Ограничения и права доступа
Если кнопка «Создать» неактивна или отсутствует, причина почти всегда в правах. Роль пользователя может разрешать только просмотр справочника. Обратитесь к администратору 1С для назначения роли с правом добавления (например, «Добавление и изменение базовой нормативно-справочной информации»).
Вторая причина блокировки — дата запрета редактирования: документы закрытого периода нельзя изменять, включая их табличные части. Третья — режим совместного редактирования: если элемент открыт другим пользователем, платформа выдаст сообщение о конфликте блокировок при записи.
Как выбрать действие
Частые вопросы
Как добавить сразу несколько элементов в справочник без программирования?
Используйте встроенную обработку «Загрузка данных из табличного документа» — она есть в большинстве типовых конфигураций. Скопируйте подготовленную таблицу из Excel, сопоставьте колонки реквизитам и запустите загрузку. Предварительно протестируйте на нескольких строках.
Почему новый элемент справочника не виден в документе?
Проверьте три вещи: не помечен ли элемент на удаление, нет ли в поле выбора отбора, который его исключает (например, по виду номенклатуры), и записан ли элемент вообще. Также убедитесь, что ищете в правильном справочнике — иногда путают «Номенклатуру» и «Виды номенклатуры».
Как скопировать строки из одного документа в другой?
Во многих типовых конфигурациях работает кнопка «Заполнить» или «Создать на основании» — документ создаётся с уже заполненной табличной частью. Также можно выделить строки, скопировать через Ctrl+C и вставить в табличную часть другого документа через Ctrl+V, если конфигурация это поддерживает.
Чем список значений отличается от массива в 1С?
Список значений хранит пометки и представления элементов, умеет сортировку по представлению и используется в элементах интерфейса для множественного выбора. Массив — простая индексированная коллекция без пометок. Для передачи данных в отборы и диалоги выбора обычно нужен именно список значений.
Можно ли отменить ошибочно добавленные элементы?
Штатной кнопки «отменить загрузку» нет. Одиночные элементы удаляйте вручную или помечайте на удаление, затем используйте «Удаление помеченных объектов». При массовой ошибке проще восстановить базу из резервной копии, сделанной до загрузки.
Как добавить элемент в иерархический справочник программно?
При создании элемента заполните свойство Родитель ссылкой на нужную группу: НовыйЭлемент.Родитель = СсылкаНаГруппу. Для создания самой группы используйте метод СоздатьГруппу() вместо СоздатьЭлемент().
Что важно запомнить
Выберите правильный тип списка: справочник для постоянных данных, табличную часть для строк документа, список значений для программной работы. Одиночные элементы добавляйте кнопкой «Создать» или копированием, массовые — через загрузку из Excel. Перед массовыми операциями делайте резервную копию, а после — проверяйте результат поиском и выбором в документе.