Массовое выделение документов в журнале 1С 8.3: от Ctrl+A до обработок
Содержание
Чтобы в 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 выделяет не все документы базы, а все строки, которые видит список. Поэтому качество массовой операции определяется отбором. Если забыть про период, вы проведёте или пометите на удаление документы за чужой квартал.
Порядок действий
- Задайте период кнопкой
Установить период(в большинстве журналов она над таблицей) или через менюЕщё. - Заполните быстрые отборы над списком: организация, контрагент, склад — набор зависит от журнала.
- Для отбора по любому полю откройте расширенный поиск:
Alt+FилиЕщё → Расширенный поиск. Выберите поле, например «Проведён», и значение «Нет». - Проверьте счётчик и последние строки списка: убедитесь, что посторонних документов не осталось.
- Щёлкните по строке и нажмите
Ctrl+A. - Выполните нужную команду.
Типовые наборы отборов
| Задача | Что отобрать |
|---|---|
| Провести забытые документы | Период + поле «Проведён» = Нет |
| Перепечатать накладные одного покупателя | Период + контрагент |
| Удалить черновики после загрузки | Период + ответственный или комментарий |
| Изменить подразделение у приказов | Период + организация + вид документа |
Перед массовым проведением, отменой проведения или пометкой на удаление сделайте резервную копию базы. Сотни документов, проведённые не тем днём, проще вернуть из копии, чем исправлять по одному.
Удобный приём — сортировка. Щёлкните по заголовку колонки «Дата» или «Номер», затем выделите диапазон через 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 выделяет все записи, подходящие под отбор и период, а не только видимую страницу.Как узнать, сколько документов выделено?
Ещё → Вывести список с флажком «Только выделенные»: в полученной таблице видно число строк.