По просьбам трудящихся создал кнопку в панели табличной части документа, которая перемещает выделенную строку на определенную позицию. В скриншотах, для наглядности, приведены картинки. А ниже описание, как это сделать, с картинками.
1) Добавляем кнопку на панель и прописываем ей процедуру.
2) Вставляем в процедуру текст.
Процедура с_КоманднаяПанельТоварыДействиеПереместитьНаПозицию(Кнопка)
//Проверим чтоб выбрали строку для перемещения
Если ТипЗнч(ЭтаФорма.ТекущийЭлемент) <> Тип("ТабличноеПоле") Тогда
Предупреждение("Вы не выбрали строку которую необходимо переместить.");
Возврат;
КонецЕсли;
Рез = ОткрытьФормуМодально("ОбщаяФорма.с_ФормаДляПеремещения");
//Сначала проверим адекватность требуемого номера строки
Если Рез>=1 И Рез<=Товары.Количество() Тогда
Табл = новый ТаблицаЗначений;
Если Табл.Колонки.Количество()>0 Тогда
Табл.Очистить();
Иначе
Табл = Товары.Выгрузить();
Табл.Очистить();
КонецЕсли;
ТекНом = ЭтаФорма.ТекущийЭлемент.ТекущаяСтрока.НомерСтроки;
ТекСтрок = ЭтаФорма.ТекущийЭлемент.ТекущаяСтрока;
Если Рез>ТекНом Тогда //Перемещаем вниз
ПеремСтр = ТекНом-1;
Для й=0 по ТекНом-2 Цикл
НовСтрТабл = Табл.Добавить();
Для й1=0 По Табл.Колонки.Количество()-1 Цикл
Если (СокрЛП(Табл.Колонки[й1].имя) <> "НомерСтроки") Тогда
НовСтрТабл[Табл.Колонки[й1].Имя] = Товары[й][Табл.Колонки[й1].Имя];
КонецЕсли;
КонецЦикла;
КонецЦикла;
Для й=ТекНом по Рез-1 Цикл
НовСтрТабл = Табл.Добавить();
Для й1=0 По Табл.Колонки.Количество()-1 Цикл
Если (СокрЛП(Табл.Колонки[й1].имя) <> "НомерСтроки") Тогда
НовСтрТабл[Табл.Колонки[й1].Имя] = Товары[й][Табл.Колонки[й1].Имя];
КонецЕсли;
КонецЦикла;
КонецЦикла;
НовСтрТабл = Табл.Добавить();
Для й1=0 По Табл.Колонки.Количество()-1 Цикл
Если (СокрЛП(Табл.Колонки[й1].имя) <> "НомерСтроки") Тогда
НовСтрТабл[Табл.Колонки[й1].Имя] = Товары[ПеремСтр][Табл.Колонки[й1].Имя];
КонецЕсли;
КонецЦикла;
Для й=Рез по Товары.Количество()-1 Цикл
НовСтрТабл = Табл.Добавить();
Для й1=0 По Табл.Колонки.Количество()-1 Цикл
Если (СокрЛП(Табл.Колонки[й1].имя) <> "НомерСтроки") Тогда
НовСтрТабл[Табл.Колонки[й1].Имя] = Товары[й][Табл.Колонки[й1].Имя];
КонецЕсли;
КонецЦикла;
КонецЦикла;
Товары.Очистить();
//Теперь перекинем из Табл в табличную часть
Для каждого стрТабл Из Табл Цикл
НовСтрТов = Товары.Добавить();
Для й2=0 По Табл.Колонки.Количество()-1 Цикл
Если (СокрЛП(Табл.Колонки[й2].имя) <> "НомерСтроки") Тогда
НовСтрТов[Табл.Колонки[й2].имя] = СтрТабл[й2];
КонецЕсли;
КонецЦикла;
КонецЦикла;
ИначеЕсли Рез<ТекНом Тогда //Перемещаем вверх
ПеремСтр = ТекНом-1;
Для й=0 по Рез-2 Цикл
НовСтрТабл = Табл.Добавить();
Для й1=0 По Табл.Колонки.Количество()-1 Цикл
Если (СокрЛП(Табл.Колонки[й1].имя) <> "НомерСтроки") Тогда
НовСтрТабл[Табл.Колонки[й1].Имя] = Товары[й][Табл.Колонки[й1].Имя];
КонецЕсли;
КонецЦикла;
КонецЦикла;
НовСтрТабл = Табл.Добавить();
Для й1=0 По Табл.Колонки.Количество()-1 Цикл
Если (СокрЛП(Табл.Колонки[й1].имя) <> "НомерСтроки") Тогда
НовСтрТабл[Табл.Колонки[й1].Имя] = Товары[ПеремСтр][Табл.Колонки[й1].Имя];
КонецЕсли;
КонецЦикла;
Для й=Рез-1 по ТекНом-2 Цикл
НовСтрТабл = Табл.Добавить();
Для й1=0 По Табл.Колонки.Количество()-1 Цикл
Если (СокрЛП(Табл.Колонки[й1].имя) <> "НомерСтроки") Тогда
НовСтрТабл[Табл.Колонки[й1].Имя] = Товары[й][Табл.Колонки[й1].Имя];
КонецЕсли;
КонецЦикла;
КонецЦикла;
Для й=ТекНом по Товары.Количество()-1 Цикл
НовСтрТабл = Табл.Добавить();
Для й1=0 По Табл.Колонки.Количество()-1 Цикл
Если (СокрЛП(Табл.Колонки[й1].имя) <> "НомерСтроки") Тогда
НовСтрТабл[Табл.Колонки[й1].Имя] = Товары[й][Табл.Колонки[й1].Имя];
КонецЕсли;
КонецЦикла;
КонецЦикла;
Товары.Очистить();
//Теперь перекинем из Табл в табличную часть
Для каждого стрТабл Из Табл Цикл
НовСтрТов = Товары.Добавить();
Для й2=0 По Табл.Колонки.Количество()-1 Цикл
Если (СокрЛП(Табл.Колонки[й2].имя) <> "НомерСтроки") Тогда
НовСтрТов[Табл.Колонки[й2].имя] = СтрТабл[й2];
КонецЕсли;
КонецЦикла;
КонецЦикла;
Иначе //Ничего не делаем
КонецЕсли;
Иначе
Предупреждение("Нет такого числа, попробуйте еще раз.");
КонецЕсли;
КонецПроцедуры
3) В общих формах рисуем форму.
Кнопке "Ок" прописываем процедуру с текстом:
Процедура ОсновныеДействияФормыОк(Кнопка)
ЭтаФорма.Закрыть(ПолеВвода1);
КонецПроцедуры
Вот и все.
Запускаете и работаете.