Массовое выделение счетов и строк в списках 1С
Содержание
В списке документов или справочнике все строки выделяются сочетанием Ctrl+A. Диапазон — щёлкните по первой строке и Shift+щелчок по последней. Отдельные строки вразнобой набираются щелчками с зажатым Ctrl. К выделенным счетам затем применяют одну из групповых команд меню Еще — провести, пометить на удаление, изменить реквизиты, распечатать.
Приём нужен везде, где счетов много: журнал счетов на оплату, список полученных и выставленных счетов-фактур, план счетов , табличная часть документа, печатная форма. Руками щёлкать по сотне строк бессмысленно — быстрее отобрать нужные и выделить разом.
Ниже разберём выделение в обычных списках, в плане счетов, внутри табличного документа и программно — для своей обработки. Интерфейс — «Такси» на платформе 8.3; в версии 8.2 клавиши те же, отличаются только названия некоторых команд.
Три приёма: всё сразу, диапазон и вразнобой
Множественное выделение в списках 1С включено по умолчанию — ничего настраивать не нужно. Работают три стандартных приёма.
| Что нужно | Как сделать | Когда удобно |
|---|---|---|
| Выделить все строки | Ctrl+A | Обработать весь список целиком |
| Выделить подряд | Щелчок по первой + Shift+щелчок по последней | Счета за период, идущие подряд |
| Выделить вразнобой | Ctrl+щелчок по каждой строке | Нужны отдельные счета из разных мест |
Выделенные строки подсвечиваются цветом. Чтобы снять выделение, щёлкните по любой одной строке без клавиш — остаётся выделенной только она. Ctrl+щелчок по уже выделенной строке убирает её из набора, не трогая остальные.
Shift+стрелки вверх/вниз расширяют выделение по одной строке с клавиатуры — удобно, когда мышь занята, а нужно захватить ещё пару счетов сверху или снизу.
В иерархическом списке (например, справочник с группами или план счетов с субсчетами) Ctrl+A выделяет элементы внутри текущего уровня. Если список показан деревом, разверните нужные группы заранее: свёрнутая группа в выделение попадёт как одна строка, а её содержимое — нет. Для сплошного выделения удобнее переключить отображение на список без иерархии через Еще → Режим просмотра → Список.
Ctrl+A выделяет строки с учётом установленного отбора. Если над списком включён фильтр (например, по контрагенту или по статусу оплаты), выделятся только отфильтрованные счета, а не вся база. Это и есть рабочая связка: сначала отбор, потом Ctrl+A, потом групповая команда.
Что сделать с выделенными счетами
Выделение само по себе ничего не меняет — оно нужно, чтобы применить к пачке строк одно действие. Команды собраны в меню Еще (кнопка в правом верхнем углу формы списка) и дублируются в контекстном меню по правому щелчку.
Типовые групповые операции над счетами:
- ✅ Провести / Отменить проведение — проводит или распроводит все выделенные документы за один проход.
- 🗑️ Пометить на удаление / Снять пометку — ставит пометку сразу на всю пачку; само удаление потом делает обработка «Удаление помеченных объектов».
- ✏️ Групповое изменение реквизитов — меняет один и тот же реквизит (организацию, статью движения денежных средств, ответственного) во всех выделенных счетах.
- 🖨️ Печать — формирует комплект печатных форм по выделенным документам.
Порядок для группового изменения реквизита:
- Отберите или выделите нужные счета (
Ctrl+AилиCtrl+щелчки). - Откройте
Еще → Групповое изменение реквизитов(команда входит в стандартную библиотеку и есть в типовых конфигурациях на базе БСП). - В левой части выберите реквизит, в правой задайте новое значение.
- Нажмите «Изменить реквизиты» и дождитесь отчёта о количестве обработанных объектов.
Для документов есть отдельная команда Еще → Провести и парная к ней отмена проведения — они перепроводят всю выделенную пачку в хронологическом порядке. Это удобно, когда после правки задним числом нужно пересчитать движения сразу по десяткам счетов за период.
Групповое проведение и групповая пометка на удаление сразу меняют данные в базе и создают движения по регистрам. В рабочей базе выполняйте их, когда уверены в отборе, и держите свежую резервную копию — откатить массовую операцию поодиночке долго.
Массовое выделение через групповую обработку
Ручное выделение хорошо, когда счета видны в одном журнале. Если же нужно отобрать записи по сложному условию (все непроведённые счета конкретной организации за квартал) и применить к ним одно действие, удобнее специальная обработка — «Групповая обработка справочников и документов». Она сама отбирает записи по условию и выделяет их флажками, без прокрутки списка мышью.
Как её открыть и применить:
- Включите команду «Все функции»:
Главное меню → Сервис → Параметры→ поставьте галку «Отображать команду Все функции». - Откройте
Главное меню → Все функции → Стандартные → Групповая обработка справочников и документов. - На вкладке отбора задайте объект (например, «Счёт на оплату покупателю») и условия — организацию, период, признак проведения.
- Нажмите «Выбрать» — обработка соберёт список подходящих счетов. Кнопка «Выделить все» отметит их флажками разом.
- На вкладке обработки выберите действие: провести, пометить на удаление, установить реквизит — и запустите.
Так вы получаете выделение по условию, а не вручную. Для одноразовой массовой правки это быстрее, чем открывать журнал, настраивать отбор и выделять строки клавишами.
Обработка меняет данные без промежуточных вопросов по каждому счёту. Проверьте отбор на небольшом периоде и сделайте резервную копию, прежде чем запускать её на всей базе.
Выделение и выгрузка плана счетов
План счетов — это тот же список, поэтому Ctrl+A выделяет в нём все счета и субсчета. Но массово менять сами счета в типовой базе почти никогда не нужно — план счетов регламентирован. Чаще требуется другое: получить весь список счетов для проверки, печати или переноса в Excel.
Для этого в открытом плане счетов:
- Нажмите
Еще → Вывести список. - Укажите, какие колонки нужны (код, наименование, вид, субконто).
- Список выгрузится в табличный документ — его уже можно сохранить или скопировать.
Так вы получаете полный перечень счетов, не выделяя строки вручную. Если нужно именно выделить все счета внутри списка — например, чтобы скопировать коды, — Ctrl+A, затем Ctrl+C скопирует выделенное в буфер обмена.
Команда Вывести список есть не только в плане счетов, а почти в любом списке и справочнике 1С. Это самый быстрый способ перенести данные формы в Excel без обработок и настроек.
Выделить всё в табличном документе и перенести в Excel
Отчёты, печатные формы и результат команды «Вывести список » — это табличные документы. В них действует своя логика выделения, ближе к Excel, чем к спискам.
Внутри открытого табличного документа:
Ctrl+Aвыделяет все ячейки документа целиком.- Протягивание мышью или
Shift+стрелки выделяют прямоугольную область. Ctrl+Cкопирует выделенное — дальше его можно вставить в Excel или другой табличный документ.
Чтобы сохранить весь отчёт в файл, не выделяя вручную, используйте Главное меню → Файл → Сохранить как и выберите формат — лист Excel (.xlsx) или табличный документ 1С (.mxl). Выделять при этом ничего не нужно: в файл уйдёт весь документ.
Если из большого отчёта нужна только часть — выделите прямоугольную область мышью и скопируйте. При вставке в Excel сохраняются числовые форматы и объединённые ячейки, но формулы 1С не переносятся: в буфер идут вычисленные значения, а не механизм расчёта. Для печати не всего отчёта, а выделенного фрагмента, выделите область и в диалоге печати укажите вывод выделенной области.
| Задача | Действие | Результат |
|---|---|---|
| Скопировать часть отчёта | Выделить область → Ctrl+C | Данные в буфере для вставки в Excel |
| Скопировать отчёт целиком | Ctrl+A → Ctrl+C | Весь документ в буфере |
| Сохранить отчёт в файл | Файл → Сохранить как | Файл .xlsx или .mxl |
Программное получение выделенных строк
Если выделение нужно обработать в своей обработке или расширении, UI-выделение читается из элемента формы. У динамического списка и у табличной части это делается по-разному.
Для динамического списка свойство ВыделенныеСтроки возвращает массив ссылок на выбранные объекты:
&НаКлиенте
Процедура ОбработатьВыделенные(Команда)
ВыделенныеСсылки = Элементы.Список.ВыделенныеСтроки;
Если ВыделенныеСсылки.Количество() = 0 Тогда
Сообщить("Не выделено ни одной строки");
Возврат;
КонецЕсли;
Для Каждого Ссылка Из ВыделенныеСсылки Цикл
Сообщить(Строка(Ссылка));
КонецЦикла;
КонецПроцедуры
Для табличной части документа свойство ВыделенныеСтроки возвращает не ссылки, а идентификаторы строк. Саму строку получают методом НайтиПоИдентификатору:
&НаКлиенте
Процедура СуммаВыделенных(Команда)
Итог = 0;
Для Каждого Идентификатор Из Элементы.Товары.ВыделенныеСтроки Цикл
Строка = Объект.Товары.НайтиПоИдентификатору(Идентификатор);
Итог = Итог + Строка.Сумма;
КонецЦикла;
Сообщить("Сумма по выделенным: " + Формат(Итог, "ЧДЦ=2"));
КонецПроцедуры
Массив ссылок из динамического списка дальше удобно обрабатывать на сервере одним запросом, а не читать каждый объект в цикле на клиенте. Передайте ссылки в параметр запроса и получите по ним нужные поля — так не будет лишних обращений к базе на каждой строке:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ Ссылка, СуммаДокумента
|ИЗ Документ.СчетНаОплатуПокупателю
|ГДЕ Ссылка В (&Список)";
Запрос.УстановитьПараметр("Список", ВыделенныеСсылки);
Выборка = Запрос.Выполнить().Выбрать();
Штатного метода «выделить все строки программно» у динамического списка нет — ВыделенныеСтроки отражает выбор пользователя, но присвоить ему весь список нельзя. Если обработке нужны все записи, не имитируйте выделение: переберите результат запроса к таблице напрямую. UI-выделение — только для случаев, когда пользователь сам отметил нужные строки.
Почему счета не выделяются
Если Ctrl+A не срабатывает или выделяется не то, причина обычно в одном из четырёх мест.
Ctrl+A берёт только отображённые строки. Снимите отбор (Еще → Настроить список либо крестик на строке фильтра), чтобы увидеть и выделить все записи.Чаще всего виноват незамеченный отбор: кажется, что счетов в журнале десять, а в базе их сотни — просто включён фильтр по организации или по дате. Снимите отбор и пересчитайте. Второй по частоте случай — форма открыта как окно выбора из поля документа: внешне она похожа на обычный список, но множественное выделение в ней заблокировано самой конфигурацией. Признак такого окна — внизу кнопка «Выбрать» и заголовок вида «Выбор: …».
Частые вопросы
`Ctrl+A` выделяет все записи базы или только видимые на экране?
Можно ли выделить счета за период и провести их разом?
Ctrl+A, затем Еще → Провести. Проводятся все выделенные документы сразу, по каждому формируется отчёт о результате.Как снять выделение, не закрывая список?
Ctrl+щелчок по выделенной строке убирает из набора именно её, сохраняя остальные.Работает ли выделение внутри табличной части документа?
Ctrl+A, Shift+щелчок и Ctrl+щелчок действуют так же, как в списках. Выделенные строки можно удалить, скопировать или обработать программно.