Имя: Пароль:
1C
1С v8
Как "отзеркалить" ТЗ
0 memogolik
 
31.07.15
17:08
Есть таблица значений, состоящая из документов (ссылок).
Как проще всего сделать так, чтобы первый документ стал последним,а последний первым.
Заранее спасибо за ответы.
1 Casey1984
 
31.07.15
17:08
Колонка "Номер" и сортировать?
2 drcrasher
 
31.07.15
17:08
документ? или таки строка таблицы значений?
3 Ёпрст
 
31.07.15
17:08
сортировка
4 ДенисЧ
 
31.07.15
17:08
Сортировать("ПорядковыйНомерДокумента УБЫВ");
5 Учитель
 
31.07.15
17:09
Передать ТЗ в Запрос и упорядочить
6 Учитель
 
31.07.15
17:09
(3)(4) Двоечники
7 memogolik
 
31.07.15
17:09
(4) документы в исходной ТЗ не отсортированы по номеру и не должны
8 Casey1984
 
31.07.15
17:09
Голосовалку ннада?)
9 ДенисЧ
 
31.07.15
17:10
(7) ТОгда нет смысла в терминах "первый" и "последний" документ
10 Euguln
 
31.07.15
17:17
(0) А за какой надобностью?
11 Ёпрст
 
31.07.15
17:17
(6) Дятел, гонять тз на сервер ради сортировки - это моветон.
12 Ёпрст
 
31.07.15
17:18
(7) И ? заведи колонку, пронумеруй, отсортируй..
13 Учитель
 
31.07.15
17:23
(12) это будет быстрее в любом случае
14 Учитель
 
31.07.15
17:24
+12 а вы считаете метод Сортировать отрабатывает на клиенте) Расскажи что вы об этом знаете
15 ДенисЧ
 
31.07.15
17:25
(14) Он работает там, где его вызвали.
Так что иди читай документацию
16 ifso
 
31.07.15
17:25
вывести на экран и перевернуть монитор не предлагать?
17 Лефмихалыч
 
31.07.15
17:27
вы все ни фига не понимаете

т = ТЗ[0].Документ;
ТЗ[0].Документ = ТЗ[ТЗ.КоличествоСтрок()-1].Документ;
ТЗ[ТЗ.КоличествоСтрок()-1].Документ = т;
18 Учитель
 
31.07.15
17:27
(15) Ну на серваке отработает быстрее, а это то что нужно ТС + по другому эта задача не решается, если только по номеру строки сортировать
19 Лефмихалыч
 
31.07.15
17:28
Количество() только...
20 Учитель
 
31.07.15
17:28
(17) Это точное решение вопроса ТС)))))
21 memogolik
 
31.07.15
17:35
(12) походу самый лучший вариант. Спасибо.
22 Euguln
 
31.07.15
17:38
(21) Так все же, на фига такие сложности?
23 Учитель
 
31.07.15
17:39
(21) А мой вариант чем не подходит?)
24 memogolik
 
31.07.15
17:46
Только не работает. В отладчике смотрю - есть такая колонка "НомерСтроки", но сортировать не хочет.
{Отчет.Печаталка42.Форма.ФормаОтчета.Форма(206)}: Ошибка при вызове метода контекста (Сортировать)
        МояТЗ.Сортировать("НомерСтроки    Убыв");
по причине:
Неверное имя колонки
25 Casey1984
 
31.07.15
17:47
(24) -> (1) я "номер" предложил)
26 mzelensky
 
31.07.15
17:47
(23) потому что писанины больше. Чтобы передать таблицу в запрос - нужно описать клиентскую и серверную процедуры, типизировать колонки таблицы, написать запрос (с временной таблице и выборкой из нее), а потом выполнить и получить его результат - И РАДИ ЧЕГО?
27 ДенисЧ
 
31.07.15
17:47
Мда... Хорошо, что 1с не умеет вылезать из компьютера и бить по рукам...
28 mzelensky
 
31.07.15
17:49
(24) ты уверен, что у тебя ТЗ, а не ТЧ ?
29 Casey1984
 
31.07.15
17:49
(24) Сортировать() по созданным тобой колонкам будет работать, так создавай, нумеруй и сортируй.
30 memogolik
 
31.07.15
17:50
МояТЗ.Сортировать("Координата    Убыв"); работает нормально
31 memogolik
 
31.07.15
17:50
32 Timon1405
 
31.07.15
17:51
Количество = ТЗ.Количество()-1;
Для Сч = 0 По Количество Цикл
ТЗ.Сдвинуть(0,Количество-Сч);
КонецЦикла;
33 Euguln
 
31.07.15
17:52
Зачем весь этот огород? Обратный порядок обхода решит проблему.
34 memogolik
 
31.07.15
17:56
Короче заработало:
МояТЗ.Сортировать("НомерСтроки    Убыв");
наверное что неверно набрал до этого, скопировал имя колонки из отладчика и вставил.
35 Учитель
 
31.07.15
18:06
(26) А зачем писать клиентскую и серверную процедуры? Что это за правило и где о нем почитать? :)
36 Euguln
 
31.07.15
18:07
(35) В СП доступность объекта типа "запрос" на клиенте.
37 b_ru
 
31.07.15
18:47
Чем тебе не нравится очевидное решение?

Кол = ТЗ.Количество() - 1;
Для й = 0 По Цел(Кол / 2) Цикл
  врем = ТЗ[й].Док;
  ТЗ[й].Док = ТЗ[Кол - й].Док;
  ТЗ[Кол - й].Док = врем;
КонецЦикла;


те кто пишут про сортировку - вон из профессии.
38 Aprobator
 
31.07.15
21:52
Во народ наклюкался уже в пятницу то, чтобы 2 строчки местами поменять - сортировать. Откройте для себя метод Сдвинуть(Строка, Смещение).
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.