Быстрый старт · 11 мин
Как переместить строчку в 1С
Как переместить строчку в 1С: перетаскивание мышью, кнопки «Вверх» и «Вниз», сортировка табличной части, изменение порядка строк в документах и справочниках.
Порядок строк в 1С имеет практическое значение: от него зависит, как выглядит печатная форма документа, в какой последовательности выводятся позиции в счёте, накладной или отчёте. Менеджеры часто просят расположить товары в счёте в определённом порядке, а бухгалтеру нужно выстроить строки табеля или ведомости по алфавиту. Во всех этих случаях задача сводится к перемещению строки в таблице.
Конкретный способ зависит от того, где находится строка: в табличной части документа, в списке справочника, в журнале документов или в динамическом списке. Поведение также различается в обычных формах (толстый клиент старых конфигураций) и в управляемых формах (тонкий и веб-клиент), которые используются в большинстве современных решений на платформе 8.3.
Важно понимать ограничение: в динамических списках с включённой автоматической сортировкой произвольно перетащить строку нельзя — система сама расставляет записи по заданному полю. Ручное перемещение доступно только там, где разработчик конфигурации его предусмотрел. Ниже разобраны все рабочие сценарии.
Как переместить строку в табличной части документа
Табличная часть — это блок строк внутри документа: список товаров в счёте, услуг в акте, сотрудников в ведомости. Здесь порядок строк сохраняется вместе с документом и влияет на печатную форму, поэтому ручное перемещение доступно почти всегда.
Самый простой способ — кнопки перемещения на командной панели таблицы. Выделите нужную строку щелчком мыши, затем нажмите кнопку со стрелкой вверх или вниз на панели над табличной частью. Каждое нажатие сдвигает строку на одну позицию. Если кнопок не видно, откройте меню «Ещё» в правой части панели таблицы — команды «Переместить вверх» и «Переместить вниз» обычно находятся там.
Второй способ — перетаскивание мышью. Нажмите левую кнопку на строке и, удерживая её, потяните строку на новое место, затем отпустите. В управляемых формах перетаскивание работает не везде: если строка «не двигается», используйте кнопки или контекстное меню по правому щелчку.
- 1Откройте документ и перейдите на вкладку с табличной частью
- 2Выделите строку, которую нужно переместить
- 3Нажмите кнопку со стрелкой вверх или вниз на панели таблицы либо выберите команду в меню «Ещё»
- 4Повторяйте нажатие, пока строка не займёт нужную позицию
- 5Запишите документ, чтобы порядок строк сохранился
После перемещения обязательно запишите документ кнопкой «Записать» или «Провести и закрыть». Если закрыть форму без записи, изменения порядка строк будут потеряны. Проверить результат можно, сформировав печатную форму: позиции должны выводиться в том же порядке, что и на экране.
Горячие клавиши
Во многих формах работают сочетания Ctrl+Shift+стрелка вверх/вниз или Alt+стрелки, но набор горячих клавиш зависит от конфигурации. Если сочетание не срабатывает, ориентируйтесь на кнопки панели — они есть практически всегда.
Как изменить порядок строк через сортировку
Если строк нужно расставить по правилу — по алфавиту, по сумме, по артикулу — перемещать каждую вручную нерационально. Используйте сортировку табличной части. Откройте меню «Ещё» над таблицей и найдите команду «Сортировать» или щёлкните по заголовку нужной колонки: в ряде форм клик по заголовку сортирует строки по возрастанию, повторный клик — по убыванию.
В типовых конфигурациях (например, «Управление торговлей», «ERP», «Бухгалтерия предприятия») в документах часто встроены кнопки быстрого заполнения и сортировки: «Заполнить» → «Сортировать по наименованию» и подобные. Они перестраивают всю табличную часть одним действием.
Учтите: сортировка меняет порядок всех строк сразу, а не одной. Если нужно лишь поменять местами две соседние позиции, быстрее воспользоваться кнопками «Вверх» и «Вниз».
Как переместить элемент в списке справочника
В справочниках (номенклатура, контрагенты, подразделения) порядок элементов определяется сортировкой списка. По умолчанию записи обычно упорядочены по наименованию или коду, и в таком режиме перетащить элемент в произвольное место не получится — после обновления списка он вернётся на позицию по алфавиту.
Ручной порядок возможен, только если для справочника в конфигурации включён режим иерархического списка с ручным упорядочиванием. Тогда в меню «Ещё» появляются команды «Переместить вверх», «Переместить вниз», а также работает перетаскивание. Платформа хранит такой порядок в специальном реквизите, и он сохраняется для всех пользователей.
Перемещение элемента в другую группу — отдельная операция. Выделите элемент, вызовите контекстное меню правой кнопкой и выберите «Переместить в группу», либо просто перетащите элемент на нужную папку. В иерархических справочниках это стандартная команда, доступная всегда, если у вас есть права на изменение.
Почему строка не перемещается: типичные причины
Чаще всего пользователи сталкиваются с ситуацией, когда строка визуально не двигается или возвращается на место. Причины обычно одни и те же, и большинство из них устраняется без привлечения программиста.
Отдельно проверьте, не включён ли режим «Только просмотр»: он активируется, например, когда документ открыт из отчёта или заблокирован другим пользователем. В заголовке формы или в строке состояния обычно видно соответствующее сообщение. Если объект открыт у другого пользователя, платформа покажет предупреждение о блокировке — дождитесь, пока коллега закроет документ.
Как поменять порядок строк в динамическом списке и отчёте
Динамические списки — это журналы документов, списки заказов, рабочие места с подборами. Их порядок определяется настройкой сортировки, а не ручным перемещением. Чтобы изменить порядок, откройте меню «Ещё» → «Настроить список» и задайте поле и направление сортировки: по дате, номеру, контрагенту, сумме.
Сравнение вариантов
Подходят для точечного перемещения одной строки в табличной части документа; не работают в динамических списках
Быстро для небольших таблиц и перемещения между группами; не везде поддерживается в управляемых формах
Оптимальна для упорядочивания всей таблицы по правилу; меняет порядок всех строк, а не одной
Единственный способ изменить порядок в динамическом списке; требует выбора поля сортировки
В отчётах на СКД (системе компоновки данных) порядок строк задаётся на вкладке «Настройки» → «Сортировка». Добавьте нужное поле и выберите направление. Сформированный табличный документ отчёта — это уже «картинка», и переместить строку внутри него нельзя: меняйте настройки и формируйте отчёт заново.
Программное перемещение строк для разработчиков
Если порядок строк нужно менять из кода — например, в обработке или при заполнении документа — используются методы табличной части. У коллекции строк есть метод Сдвинуть(), который перемещает строку на заданное число позиций, а также возможность менять строки местами через индексы.
// Переместить первую строку табличной части на две позиции вниз
Объект.Товары.Сдвинуть(0, 2);
// Поменять местами две строки через временную переменную
Строка1 = Объект.Товары[0].Номенклатура;
Объект.Товары[0].Номенклатура = Объект.Товары[1].Номенклатура;
Объект.Товары[1].Номенклатура = Строка1;
// Отсортировать табличную часть по колонке
Объект.Товары.Сортировать("Номенклатура");Метод Сдвинуть(ИндексСтроки, КоличествоПозиций) принимает индекс строки (нумерация с нуля) и смещение: положительное значение двигает строку вниз, отрицательное — вверх. Метод Сортировать() упорядочивает всю табличную часть по указанным колонкам, направление задаётся словами «Возр» и «Убыв».
После программного изменения порядка объект нужно записать. При работе через форму вызывайте Модифицированность = Истина, чтобы пользователь видел, что данные изменились, и платформа предложила сохранить документ при закрытии.
Как проверить результат и избежать проблем
После перемещения строк убедитесь, что изменения сохранились и не затронули лишнего. Запишите документ, закройте и откройте его заново: порядок строк должен остаться тем, который вы установили. Сформируйте печатную форму и сверьте последовательность позиций.
Как проверить результат
Строки стоят в установленной последовательности
Порядок сброшен — документ не был записан
Позиции выводятся в том же порядке, что на экране
Порядок в печати отличается — макет сортирует данные по-своему, нужна доработка
Суммы и количество строк не изменились
Изменились итоги — строка была случайно продублирована или удалена
Осторожность нужна при перетаскивании: в некоторых формах промах мимо целевой позиции может скопировать строку вместо перемещения, если удерживалась клавиша Ctrl. Перед записью документа проверьте количество строк и итоговые суммы — они должны совпадать с исходными.
Часто задаваемые вопросы
Почему кнопки «Вверх» и «Вниз» неактивны?
Чаще всего табличная часть или строка не выделена, документ открыт в режиме просмотра, либо у пользователя нет прав на изменение объекта. Выделите строку, проверьте, что форма не в режиме «Только просмотр», и убедитесь, что документ не заблокирован другим пользователем.
Можно ли переместить сразу несколько строк?
В большинстве типовых форм кнопки перемещения работают только с одной выделенной строкой. Для группового упорядочивания используйте сортировку по колонке или команду из меню «Ещё». Программно, через обработку, можно сдвигать любые диапазоны строк методом «Сдвинуть».
Почему после перетаскивания строка вернулась на место?
Это признак того, что список имеет автоматическую сортировку: журналы документов, динамические списки и справочники без ручного упорядочивания всегда перестраиваются по заданному полю. Измените сортировку через «Настроить список» вместо перетаскивания.
Сохранится ли порядок строк в печатной форме?
В большинстве типовых печатных форм позиции выводятся в порядке строк табличной части, поэтому да — сохранится, если документ записан. Если макет печати дополнительно сортирует данные, порядок может отличаться; тогда потребуется доработка печатной формы разработчиком.
Как переместить строку в веб-клиенте 1С?
Набор команд в веб-клиенте тот же: кнопки со стрелками на панели табличной части и команды в меню «Ещё». Перетаскивание мышью в браузере может работать с ограничениями, поэтому надёжнее пользоваться кнопками перемещения.
Можно ли изменить порядок колонок, а не строк?
Да, но это другая настройка: порядок колонок меняется через «Ещё» → «Изменить форму» (в управляемых формах) или перетаскиванием заголовка колонки, если форма это позволяет. Настройка сохраняется индивидуально для пользователя и не влияет на данные документа.
Что важно запомнить
В табличной части документа строки перемещаются кнопками «Вверх»/«Вниз», перетаскиванием или сортировкой, и результат нужно сохранить записью документа. В динамических списках ручное перемещение недоступно — порядок задаётся настройкой сортировки. Перед записью проверяйте итоги документа, а документы закрытых периодов не изменяйте без согласования.