Массовое выделение документов в журнале 1С 8.3: от Ctrl+A до обработок

· 9 мин

Содержание

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

Типичная ситуация: в конце квартала бухгалтер загрузил 300 поступлений из банка, часть из них не проведена. Открывать каждый документ — это час работы. Правильный порядок другой: сначала сузить список отбором, потом выделить всё и выполнить одну команду. Приём одинаково работает в Бухгалтерии 3.0, ЗУП 3.1 и Управлении торговлей 11, потому что выделение в списке — механизм платформы, а не конкретной конфигурации.

Как в 1С выделить все документы стандартными средствами

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

Клавиши и мышь

ДействиеЧто нажатьРезультат
Выделить все строкиCtrl+AВсе документы списка с учётом отбора
Выделить диапазонщелчок по первой строке, затем Shift + щелчок по последнейВсе строки между ними
Добавить или убрать одну строкуCtrl + щелчокСтрока добавляется к выделению или исключается из него
Расширить выделение построчноShift+↓ или Shift+↑По одной строке вниз или вверх
Расширить выделение страницейShift+PageDown или Shift+PageUpНа видимую страницу списка
Снять выделениеобычный щелчок по любой строкеОстаётся выделенной одна строка

Комбинации сочетаются. Например, нажмите Ctrl+A, а затем Ctrl + щелчком снимите выделение с трёх документов, которые трогать не нужно. Так быстрее, чем выделять 97 строк из 100 вручную.

Команда в меню «Ещё»

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

В веб-клиенте Ctrl+A иногда выделяет текст всей страницы браузера. Причина — фокус ушёл из таблицы. Щёлкните по строке списка и повторите.

Что можно сделать с выделенными документами

  • ✅ Провести или Отменить проведение — команды в меню Ещё или на панели списка.
  • 🗑️ Пометить на удаление — клавиша Delete, программа спросит подтверждение для всех выделенных строк.
  • 🖨️ Напечатать — кнопка Печать формирует выбранную форму сразу для всех выделенных документов, каждый на своём листе.
  • ✏️ Изменить реквизит — команда Изменить выделенные в меню Ещё (есть в типовых конфигурациях на базе БСП).
  • 📊 Выгрузить в таблицу — Ещё → Вывести список, там можно оставить флажок «Только выделенные».

Список документов и табличная часть — не одно и то же

Те же клавиши работают и внутри открытого документа, в табличной части «Товары» или «Услуги». Но там Ctrl+A выделяет строки одного документа, а не сами документы. Команды над такими строками другие:

  • удалить выделенные строки — клавиша Delete;
  • перенести строки в другой документ — в Бухгалтерии 3.0 для этого есть команды копирования и вставки строк в меню Ещё табличной части;
  • изменить колонку у нескольких строк — команды табличной части, обычно в меню Ещё над таблицей.

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

Выделение документов после отбора: сначала сузить, потом выделить

Ctrl+A выделяет не все документы базы, а все строки, которые видит список. Поэтому качество массовой операции определяется отбором. Если забыть про период, вы проведёте или пометите на удаление документы за чужой квартал.

Порядок действий

  1. Задайте период кнопкой Установить период (в большинстве журналов она над таблицей) или через меню Ещё.
  2. Заполните быстрые отборы над списком: организация, контрагент, склад — набор зависит от журнала.
  3. Для отбора по любому полю откройте расширенный поиск: Alt+F или Ещё → Расширенный поиск. Выберите поле, например «Проведён», и значение «Нет».
  4. Проверьте счётчик и последние строки списка: убедитесь, что посторонних документов не осталось.
  5. Щёлкните по строке и нажмите Ctrl+A.
  6. Выполните нужную команду.

Типовые наборы отборов

ЗадачаЧто отобрать
Провести забытые документыПериод + поле «Проведён» = Нет
Перепечатать накладные одного покупателяПериод + контрагент
Удалить черновики после загрузкиПериод + ответственный или комментарий
Изменить подразделение у приказовПериод + организация + вид документа

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

Удобный приём — сортировка. Щёлкните по заголовку колонки «Дата» или «Номер», затем выделите диапазон через Shift. Так выбираются, например, документы с 1 по 15 число без смены периода.

Обработки для выделения документов по условию

Когда список не помогает — документы разных видов, сложное условие, тысячи строк — подключают обработки. Они сами находят объекты по отбору и обрабатывают их без ручного выделения.

Групповое изменение реквизитов

В типовых конфигурациях есть обработка группового изменения реквизитов из Библиотеки стандартных подсистем. Её вызывают двумя путями:

  • из списка — выделите документы и выберите Ещё → Изменить выделенные;
  • отдельно — в Бухгалтерии 3.0 через Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов.

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

Групповое перепроведение

Для повторного проведения документов за период в Бухгалтерии 3.0 есть обработка «Групповое перепроведение документов » в разделе Операции. Она проводит документы всех видов в хронологическом порядке. Для восстановления последовательности это надёжнее, чем Ctrl+A в отдельных журналах.

Универсальный подбор и обработка объектов

Внешняя обработка «Универсальный подбор и обработка объектов» знакома администраторам по выпускам ИТС. Она умеет:

  • отбирать документы произвольным запросом или отбором компоновки;
  • выполнять над найденным набором действия: провести, отменить проведение, пометить на удаление, установить реквизит;
  • запускать собственный код для каждого объекта.

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

Особенности выделения в разных конфигурациях

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

КонфигурацияГде искать общий журналЧто учесть
Бухгалтерия предприятия 3.0Операции → Журнал операцийВидны документы разных видов, удобно для массовой пометки на удаление
ЗУП 3.1Кадры → Все кадровые документы, Зарплата → Все начисленияЖурналы объединяют приказы и начисления разных видов
Управление торговлей 11Списки документов в разделах «Продажи», «Закупки», «Склад»Многие списки открываются с отбором по статусу, проверьте его перед выделением

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

Если Ctrl+A в какой-то форме не работает, скорее всего это форма выбора или подбора с одиночным выделением. Режим задаёт разработчик формы, пользовательскими настройками он не меняется. Откройте тот же вид документа через обычный список из раздела меню.

Автоматизация через код: ВыделенныеСтроки

Для разработчика выделение — это свойство ВыделенныеСтроки элемента формы «Таблица». Для динамического списка оно содержит ссылки на выделенные документы. Чтобы пользователь вообще мог выделить несколько строк , у таблицы должен стоять режим РежимВыделенияТаблицы.Множественный.

Пример команды формы списка, которая проводит все выделенные документы на сервере и выводит итог:

&НаКлиенте
Процедура ПровестиВыделенные(Команда)

	Ссылки = Новый Массив;
	Для Каждого Строка Из Элементы.Список.ВыделенныеСтроки Цикл
		Ссылки.Добавить(Строка);
	КонецЦикла;

	Если Ссылки.Количество() = 0 Тогда
		Сообщить("Не выделено ни одного документа");
		Возврат;
	КонецЕсли;

	Проведено = ПровестиНаСервере(Ссылки);
	Сообщить(СтрШаблон("Проведено %1 из %2", Формат(Проведено, "ЧГ=0"), Формат(Ссылки.Количество(), "ЧГ=0")));
	Элементы.Список.Обновить();

КонецПроцедуры

&НаСервереБезКонтекста
Функция ПровестиНаСервере(Ссылки)

	Проведено = 0;
	Для Каждого Ссылка Из Ссылки Цикл
		Объект = Ссылка.ПолучитьОбъект();
		Попытка
			Объект.Записать(РежимЗаписиДокумента.Проведение);
			Проведено = Проведено + 1;
		Исключение
			Сообщить(СтрШаблон("%1: %2", Строка(Ссылка), КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
		КонецПопытки;
	КонецЦикла;

	Возврат Проведено;

КонецФункции

Каждый документ проводится в своей транзакции. Ошибка в одном не откатывает остальные, а попадает в сообщения с именем документа.

Программно выделить строки тоже можно: добавьте ссылки в коллекцию Элементы.Список.ВыделенныеСтроки методом Добавить(). Так делают кнопку «выделить документы без оплаты»: запрос находит ссылки, клиент добавляет их в выделение. Но в выделение попадут только строки, которые видны в списке с текущим отбором.

Доработки типовой формы делайте в расширении конфигурации, а не в основной конфигурации. Тогда обновления типового релиза пройдут без ручного сравнения.

Скорость массовых операций и как не повесить базу

Выделить 20 000 строк платформа может, но провести их одним нажатием — плохая идея. Операция идёт в клиентском сеансе: окно занято, а при обрыве связи часть документов окажется проведена, часть нет.

Что помогает:

  • 📅 Дробить по периодам. Проводите по месяцу или по неделе, а не весь год. Если что-то пойдёт не так, проще понять, где остановились.
  • 🌙 Работать вне пиковых часов. Проведение ставит управляемые блокировки на остатки и регистры. Коллеги, которые в этот момент проводят свои документы, будут ждать.
  • 🔁 Для перепроведения брать обработку, а не список: она идёт по хронологии, а Ctrl+A в журнале проводит в порядке строк списка.
  • 🧾 Проверять результат отбором. После операции снова отберите «Проведён» = Нет: остаток покажет документы с ошибками.
  • 🖥️ Тяжёлые операции — в клиент-серверной базе. В файловой базе массовое проведение блокирует таблицы целиком, работать параллельно почти невозможно.

Если массовое проведение длится десятки минут, не прерывайте его снятием задачи 1С в диспетчере. Оборвётся текущий сеанс, недопроведённые документы придётся искать отбором вручную.

Если выделение или групповая операция не срабатывают

Диагностика: выберите симптом

Если стандартный список не справляется, а писать код некому, есть промежуточный путь — отчёт. Сформируйте отчёт по нужным документам с колонкой «Документ», выделите ячейки и откройте документы двойным щелчком. Для десятка документов этого достаточно.

Частые вопросы

Выделяет ли Ctrl+A документы, которые не видны на экране?
Да. Динамический список подгружает строки порциями, но Ctrl+A выделяет все записи, подходящие под отбор и период, а не только видимую страницу.
Как узнать, сколько документов выделено?
Самый надёжный способ — Ещё → Вывести список с флажком «Только выделенные»: в полученной таблице видно число строк.
Можно ли выделить документы сразу из нескольких журналов?
Нет, выделение работает в пределах одного списка. Для документов разных видов используйте общий журнал конфигурации или обработку по отбору.
Сохраняется ли выделение после закрытия списка?
Нет. После повторного открытия формы или обновления списка с другим отбором выделение сбрасывается.
Почему после пометки на удаление документы не исчезли?
Пометка только ставит признак. Окончательно объекты удаляет администратор обработкой удаления помеченных объектов после проверки ссылок.