Массовое выделение счетов и строк в списках 1С

· 9 мин

Содержание

В списке документов или справочнике все строки выделяются сочетанием Ctrl+A. Диапазон — щёлкните по первой строке и Shift+щелчок по последней. Отдельные строки вразнобой набираются щелчками с зажатым Ctrl. К выделенным счетам затем применяют одну из групповых команд меню Еще — провести, пометить на удаление, изменить реквизиты, распечатать.

Приём нужен везде, где счетов много: журнал счетов на оплату, список полученных и выставленных счетов-фактур, план счетов , табличная часть документа, печатная форма. Руками щёлкать по сотне строк бессмысленно — быстрее отобрать нужные и выделить разом.

Ниже разберём выделение в обычных списках, в плане счетов, внутри табличного документа и программно — для своей обработки. Интерфейс — «Такси» на платформе 8.3; в версии 8.2 клавиши те же, отличаются только названия некоторых команд.

Три приёма: всё сразу, диапазон и вразнобой

Множественное выделение в списках 1С включено по умолчанию — ничего настраивать не нужно. Работают три стандартных приёма.

Что нужноКак сделатьКогда удобно
Выделить все строкиCtrl+AОбработать весь список целиком
Выделить подрядЩелчок по первой + Shift+щелчок по последнейСчета за период, идущие подряд
Выделить вразнобойCtrl+щелчок по каждой строкеНужны отдельные счета из разных мест

Выделенные строки подсвечиваются цветом. Чтобы снять выделение, щёлкните по любой одной строке без клавиш — остаётся выделенной только она. Ctrl+щелчок по уже выделенной строке убирает её из набора, не трогая остальные.

Shift+стрелки вверх/вниз расширяют выделение по одной строке с клавиатуры — удобно, когда мышь занята, а нужно захватить ещё пару счетов сверху или снизу.

В иерархическом списке (например, справочник с группами или план счетов с субсчетами) Ctrl+A выделяет элементы внутри текущего уровня. Если список показан деревом, разверните нужные группы заранее: свёрнутая группа в выделение попадёт как одна строка, а её содержимое — нет. Для сплошного выделения удобнее переключить отображение на список без иерархии через Еще → Режим просмотра → Список.

Ctrl+A выделяет строки с учётом установленного отбора. Если над списком включён фильтр (например, по контрагенту или по статусу оплаты), выделятся только отфильтрованные счета, а не вся база. Это и есть рабочая связка: сначала отбор, потом Ctrl+A, потом групповая команда.

Что сделать с выделенными счетами

Выделение само по себе ничего не меняет — оно нужно, чтобы применить к пачке строк одно действие. Команды собраны в меню Еще (кнопка в правом верхнем углу формы списка) и дублируются в контекстном меню по правому щелчку.

Типовые групповые операции над счетами:

  • ✅ Провести / Отменить проведение — проводит или распроводит все выделенные документы за один проход.
  • 🗑️ Пометить на удаление / Снять пометку — ставит пометку сразу на всю пачку; само удаление потом делает обработка «Удаление помеченных объектов».
  • ✏️ Групповое изменение реквизитов — меняет один и тот же реквизит (организацию, статью движения денежных средств, ответственного) во всех выделенных счетах.
  • 🖨️ Печать — формирует комплект печатных форм по выделенным документам.

Порядок для группового изменения реквизита:

  1. Отберите или выделите нужные счета (Ctrl+A или Ctrl+щелчки).
  2. Откройте Еще → Групповое изменение реквизитов (команда входит в стандартную библиотеку и есть в типовых конфигурациях на базе БСП).
  3. В левой части выберите реквизит, в правой задайте новое значение.
  4. Нажмите «Изменить реквизиты» и дождитесь отчёта о количестве обработанных объектов.

Для документов есть отдельная команда Еще → Провести и парная к ней отмена проведения — они перепроводят всю выделенную пачку в хронологическом порядке. Это удобно, когда после правки задним числом нужно пересчитать движения сразу по десяткам счетов за период.

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

Массовое выделение через групповую обработку

Ручное выделение хорошо, когда счета видны в одном журнале. Если же нужно отобрать записи по сложному условию (все непроведённые счета конкретной организации за квартал) и применить к ним одно действие, удобнее специальная обработка — «Групповая обработка справочников и документов». Она сама отбирает записи по условию и выделяет их флажками, без прокрутки списка мышью.

Как её открыть и применить:

  1. Включите команду «Все функции»: Главное меню → Сервис → Параметры → поставьте галку «Отображать команду Все функции».
  2. Откройте Главное меню → Все функции → Стандартные → Групповая обработка справочников и документов.
  3. На вкладке отбора задайте объект (например, «Счёт на оплату покупателю») и условия — организацию, период, признак проведения.
  4. Нажмите «Выбрать» — обработка соберёт список подходящих счетов. Кнопка «Выделить все» отметит их флажками разом.
  5. На вкладке обработки выберите действие: провести, пометить на удаление, установить реквизит — и запустите.

Так вы получаете выделение по условию, а не вручную. Для одноразовой массовой правки это быстрее, чем открывать журнал, настраивать отбор и выделять строки клавишами.

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

Выделение и выгрузка плана счетов

План счетов — это тот же список, поэтому Ctrl+A выделяет в нём все счета и субсчета. Но массово менять сами счета в типовой базе почти никогда не нужно — план счетов регламентирован. Чаще требуется другое: получить весь список счетов для проверки, печати или переноса в Excel.

Для этого в открытом плане счетов:

  1. Нажмите Еще → Вывести список.
  2. Укажите, какие колонки нужны (код, наименование, вид, субконто).
  3. Список выгрузится в табличный документ — его уже можно сохранить или скопировать.

Так вы получаете полный перечень счетов, не выделяя строки вручную. Если нужно именно выделить все счета внутри списка — например, чтобы скопировать коды, — 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+щелчок по выделенной строке убирает из набора именно её, сохраняя остальные.
Работает ли выделение внутри табличной части документа?
Да. В табличной части (например, в строках товаров или услуг счёта) Ctrl+A, Shift+щелчок и Ctrl+щелчок действуют так же, как в списках. Выделенные строки можно удалить, скопировать или обработать программно.
Почему в одной форме выбора нельзя отметить несколько счетов?
Форма выбора по умолчанию рассчитана на один объект. Множественный выбор в ней включается только настройкой на стороне конфигурации. Чтобы выделить пачку, открывайте список как обычную форму раздела, а не как окно выбора из поля.