Консоль кода для 1С и массовое изменение документов
Задачи пользователя - Подбор и обработка объектов
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
1 Преимущества решения
Предварительная таблица показывает планируемые изменения до записи. Документы можно проверить по отдельности, открыть их карточки и исключить лишние из плана. Контроль версии перед записью обнаруживает изменения документа после предпросмотра.
Порционная обработка и сохранённая история помогают продолжить прерванный план. Уже успешные документы этого плана не записываются повторно. Редактор с подсветкой и библиотека версий упрощают повторное использование проверенных сценариев.
2 В чём польза
Консоль предназначена для специалистов, которые понимают последствия изменения реквизитов и проведения документов. Она сокращает повторный ввод одинакового изменения в карточках и даёт список результатов для последующей проверки.
Отдельный режим произвольного кода нужен для серверных вычислений и запросов без привязки к выборке документов. Ответ можно получить текстом или таблицей. Этот режим требует знания языка 1С и не ограничивается безопасным чтением.
Важно. Перед записью создайте резервную копию и проверьте сценарий на копии вашей базы. Предпросмотр не заменяет проверку бизнес-логики записи и проведения.
3 Пример использования
Добавить одну секунду к дате документов
Исходная задача: сдвинуть дату заказов клиента на одну секунду. Начните на копии базы. На снимках показаны разные состояния отбора: редактор с началом 31.08.2026 и история с началом 31.08.2020. Документы 2022 года из предпросмотра не относятся к узкому периоду первого снимка.
1. Откройте «Массовая обработка». Выберите тип документа. Укажите начало и окончание периода с нужным временем. Границы включаются в отбор. Для первого опыта задайте лимит 10 и оставьте тестовый режим включённым.
2. Введите в редакторе одну строку. Прибавление числа к дате в этом сценарии означает сдвиг в секундах.
ОбрабатываемыйОбъект.Дата = ОбрабатываемыйОбъект.Дата + 1;
3. Нажмите «Посчитать», затем «Проверить 10». Откройте «Изменения и результаты». Проверьте документы, старую дату и новую дату. Записи в базу в тестовом режиме нет.
4. Подготовьте «Предварительную таблицу» для нужной группы в пределах лимита. Просмотрите все страницы. Если требуется, исключите отдельные документы. Для нескольких изменений одного документа откройте подробности.
5. Перед реальной записью проверьте резервную копию. Для проведённых документов включите перепроведение. Выключите тестовый режим и запустите подготовленный план. Не меняйте его код и параметры после проверки.
6. После окончания просмотрите статусы, журнал и фактические даты в карточках. Для проведённых документов проверьте движения и связанные отчёты целевой конфигурации.
На снимке предварительной проверки показаны 10 заказов клиента. Например, 06.04.2022 17:10:48 превращается в 06.04.2022 17:10:49; 10.04.2022 23:59:59 — в 11.04.2022 00:00:00. Статус «Готов» и этап «Проверка» означают расчёт изменений, а не подтверждение записи.
Важно. Новый план может ещё раз прибавить секунду. Для продолжения используйте существующий план из истории, а не новую выборку. При неизвестном исходе сначала проверьте документ вручную.
Массовый редактор

4 Функциональные возможности
Отбор документов и параметры
«Тип документа» выбирается из метаданных. Один план относится к одному типу. «Начало» и «Окончание» задают включительные границы по реквизиту Дата: например, 01.09.2026 00:00:00 и 30.09.2026 23:59:59. Обратный период недопустим. «Только проведённые» исключает непроведённые документы из обычного отбора.
«Лимит документов» допускает 1–100 000, по умолчанию 1000. «Порция» допускает 1–100, по умолчанию 20. Это размер очередной группы, а не гарантия времени выполнения. Нагрузочная проверка выполнена на 1000 документах; предельные 100 000 в рабочей конфигурации не проверены.
«Тестовый режим» по умолчанию включён. Он вычисляет изменения в памяти, но не вызывает запись и проведение. «Перепроведение» требуется для изменения проведённых документов: если выключено, такое изменение отклоняется.
Параметры сценария
Панель «Сценарии и параметры» можно раскрыть и скрыть. Три параметра общие для двух режимов и передаются как значения, а не вставляются строкой в текст кода.
- Параметры.СдвигСекунд — целое число от −31 536 000 до 31 536 000. Для сдвига вперёд на секунду задайте 1, назад — −1.
- Параметры.Строка — текст до 10 000 символов. Пример значения: Проверено. Применять его можно только к подходящему реквизиту выбранного документа.
- Параметры.Флаг — логическое значение Истина или Ложь. Используйте только для подходящего логического реквизита.
ОбрабатываемыйОбъект.Дата =
ОбрабатываемыйОбъект.Дата + Параметры.СдвигСекунд;
Ручной список
Команда «Ручной список» открывает выбор конкретных документов текущего типа. Предпочтителен штатный подбор документов. Текстовое представление содержит идентификатор базы, тип документа и UUID через разделитель |. Обычная ссылка e1cib не является этим форматом.
Нажмите «Добавить документ» для штатного выбора. Чтобы убрать документ из ручного списка, удалите соответствующую строку списка и пересчитайте выборку. Для возврата к отбору по периоду очистите ручной список.
Повторы устраняются. Документы другой базы, другого типа и отсутствующие ссылки отклоняются. При ручном списке период и флаг «Только проведённые» не определяют состав; «Посчитать» считает именно ручные ссылки. Превышение лимита вызывает ошибку, а не молчаливое обрезание списка.
Массовый сценарий и редактор
Массовый режим использует ограниченные присваивания реквизитам шапки: дата, номер и доступные реквизиты выбранного типа. Табличные части и служебные поля изменять нельзя. Каждое присваивание завершается точкой с запятой.
Справа допускаются реквизит документа, число, строка, Истина, Ложь или предусмотренный параметр. Для даты и числа поддерживается прибавление или вычитание числового значения. Тип и допустимая длина значения проверяются. Вызовы методов, циклы, условия и собственные переменные здесь запрещены.
Строку заключайте в двойные кавычки; кавычку внутри строки удваивайте. Максимум — 100 000 символов сценария и 1000 присваиваний. Для полноценного языка 1С используйте отдельную вкладку произвольного кода.
Инструменты редактирования
- Подсветка различает ключевые слова, строки, числа, комментарии и операторы. Номера строк помогают найти место ошибки; подсветка сама по себе не подтверждает корректность кода.
- Tab вставляет четыре пробела. Ctrl+Z отменяет, Ctrl+Y повторяет правки. История редактора ограничена 100 состояниями.
- Поиск буквальный и учитывает регистр; повторный поиск переходит к следующему совпадению, затем к началу. Замена работает с выбранным совпадением или всеми совпадениями.
- Переход к строке помогает исправлять ошибки. В массовом редакторе список реквизитов с типами позволяет вставить выбранный реквизит. Это не полноценное автодополнение языка.
Команды массового запуска
- «Посчитать» оценивает число документов по текущему способу выбора. После изменения отбора пересчитайте выборку.
- «Проверить 10» выполняет предварительную проверку не более десяти документов. Успех этой команды не означает проверку всей группы.
- «Предварительная таблица» готовит план в пределах лимита, фиксируя ссылки, код, параметры и версии документов. Затем проверьте таблицу и исключения.
- «Запустить» начинает обработку с учётом тестового режима. Для реальной записи он должен быть выключен. Изменив код или параметры после проверки, подготовьте новый предпросмотр.
- «Остановить» прекращает дальнейшее выполнение между порциями. Уже выполняемая порция не прерывается мгновенно.
Просмотр изменений и протокола
Вкладка «Изменения и результаты» показывает документы постранично, по 50 на страницу. Используйте переходы между страницами и обновление. Поиск и фильтры «Все», «Изменения», «Ошибки» относятся только к текущей странице.
В строке документа показано первое изменение; отметка о дополнительных изменениях означает, что полный список нужно открыть через подробности. Подробности и ошибки выводятся в журнал выполнения. Команда открытия документа позволяет сравнить результат с его карточкой.
До записи можно включать и исключать готовые документы из плана. Исключение не удаляет документ из базы. Сравнивайте не только итоговый счётчик, но и статусы конкретных документов.
Значение статусов
- «Готов» — изменения рассчитаны; это ещё не подтверждение записи.
- «Без изменений» — рассчитанный результат не требует изменения значений.
- «Ошибка проверки» — сценарий или данные не прошли предварительную проверку. Прочитайте подробности и исправьте причину.
- «Успех» — успешная запись подтверждена для этого плана.
- «Ошибка с откатом» — изменение данного документа не завершилось; его транзакция отменена. После устранения причины используйте предусмотренный отдельный повтор ошибок.
- «Конфликт» — версия документа изменилась после предпросмотра. Проверьте новое состояние и подготовьте осознанное решение; консоль не должна затирать чужое изменение.
- «Результат неизвестен» — запись могла завершиться, но подтверждение успеха не сохранено. Автоматически повторять такой документ нельзя: сначала проверьте фактические данные.
История и продолжение
«История запусков» хранит до 20 планов для текущей базы и пользователя. Загружайте нужный план для просмотра и продолжения. Подтверждённые успехи не повторяются в рамках этого плана; новый план этой защиты от повторного применения не даёт.
Удаление записи истории не отменяет изменения в документах и лишает вас сохранённой информации для продолжения. Старые планы удаляйте только после проверки результатов. Автоматической очистки вместо вашего решения нет.
«Обновить историю» перечитывает список. «Открыть запуск» загружает выбранный план без выполнения. «Продолжить незавершённые» продолжает проверку или запрашивает запись незавершённых документов. «Повторить подтверждённые ошибки» исключает успехи и неизвестные результаты.
Каждый документ записывается в отдельной транзакции. Ошибка следующего документа не отменяет предыдущие успешные записи. Общей кнопки отката всей группы нет.

Произвольный код
Код выполняется один раз на сервере с правами текущего пользователя. Отбор документов и тестовый режим массовой вкладки здесь не действуют. Вводите тело кода без объявлений процедур и функций и без Возврат на верхнем уровне.
В демонстрационном примере таблица создаётся в памяти. Документы базы не читаются и не изменяются. Пять строк показывают прибавление секунды, включая переход на следующие сутки.
// Таблица создаётся в памяти без записи документов.
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("НомерПримера");
Таблица.Колонки.Добавить("ИсходнаяДата");
Таблица.Колонки.Добавить("НоваяДата");
Таблица.Колонки.Добавить("СдвигСекунд");
НачальнаяДата = Дата(2026, 9, 30, 23, 59, 58);
Для Номер = 1 По 5 Цикл
ИсходнаяДата = НачальнаяДата + Номер - 1;
НоваяСтрока = Таблица.Добавить();
НоваяСтрока.НомерПримера = Номер;
НоваяСтрока.ИсходнаяДата = ИсходнаяДата;
НоваяСтрока.НоваяДата = ИсходнаяДата + 1;
НоваяСтрока.СдвигСекунд = 1;
КонецЦикла;
// Вывод на вкладке результата.
Результат = Таблица;
Нажмите «Выполнить код» и подтвердите запуск. Отмена подтверждения ничего не выполняет. В предоставленном результате видно сообщение «Выполнено. Строк показано: 5». Колонки дат на снимке узкие: полное время следует проверять после увеличения их ширины, а не по обрезанному отображению.
Работа с результатом
Переменная Результат выводит скалярное значение, таблицу значений или результат запроса. Табличный вывод ограничен 1000 строками и 100 колонками; при усечении появляется предупреждение. Числа, даты, строки и логические значения сохраняют тип; прочие значения выводятся текстом. Текст ячейки ограничен 100 000 символами.
Задайте поиск, колонку и направление сортировки, затем нажмите «Применить поиск и сортировку». Для копирования используйте стандартные средства, в том числе Ctrl+C. Отдельной команды экспорта в Excel или файл нет; результат не сохраняется в истории массовых планов.
Важно. Для произвольного кода нет автоматической записи объектов и общего отката. При ошибке предыдущие действия могли уже изменить данные; перед повторным запуском проверьте последствия. Сообщить() выводит сообщения стандартными средствами 1С.
Редактор произвольного кода

Результат произвольного кода
Библиотека и черновик
В панели «Сценарии и параметры» задайте имя и описание сценария. Сохранение версии запоминает оба текста кода, параметры и активный режим. Загрузка возвращает эти значения, но не является восстановлением полной выборки документов.
Кнопки «Пример даты + параметр» и «Пример комментария» вставляют заготовки массового сценария. Перед вставкой сохраните свой текст. Пример комментария применим только при наличии подходящего реквизита у выбранного типа документа. Подсказку элемента можно прочитать при наведении.
Доступны сохранение, загрузка и удаление версии, а также ручное сохранение черновика. Лимит библиотеки — 100 версий суммарно, не 100 на каждое имя. При достижении лимита удалите ненужные версии осознанно.
Черновик автоматически сохраняется каждые 10 секунд вне активной пакетной обработки и перед закрытием. Восстановление не запускает код; тестовый режим включается. Ошибочные параметры могут сохраняться в черновике, но перед выполнением они проверяются.
Библиотека и история привязаны к текущей базе и имени пользователя. Это не общий каталог команды и не средство переноса между базами. Объём сериализованных настроек ограничен 16 миллионами символов.
Типовые затруднения
- Нет документов: проверьте тип, время начала и конца, признак проведения и права. При ручном выборе проверяйте сам список, а не период.
- Ошибка присваивания: проверьте имя реквизита, кавычки, точку с запятой и тип значения. Уберите вызовы методов и циклы из массового режима.
- Изменение проведённого документа отклонено: проверьте настройку перепроведения и права пользователя. На копии базы проверьте обработчики проведения и движения.
- Ошибка доступа: обратитесь к администратору за проверкой необходимых прав. Консоль не предназначена для обхода ограничений.
- Конфликт: откройте актуальный документ и выясните изменения после предпросмотра. Не повторяйте старый план вслепую.
- Неизвестный исход: сопоставьте значения документа, его движения и протокол. Не создавайте новый план для слепого повторения операции.
- Библиотека или история заполнена: сохраните необходимую информацию и удалите только завершённые ненужные записи. Это не освобождает и не восстанавливает документы базы.
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.6.1.64
- Управление торговлей, редакция 11, релизы 11.6.1.64
- 1С:Комплексная автоматизация 2, релизы 2.6.1.64
- Управление нашей фирмой, редакция 3.0, релизы 3.0.14.159
- Розница, редакция 3.0, релизы 3.0.14.159
- Документооборот КОРП, редакция 3.0, релизы 3.0.21.3
- CRM КОРП, редакция 1.4, релизы 1.4.11.3
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.38.92
Вступайте в нашу телеграмм-группу Инфостарт