Имя: Пароль:
1C
1C 7.7
v7: Инвертировать список значений
0 ildary
 
17.11.14
12:06
Уважаемые специалисты, существуют ли в природе способы инвертировать список значений, кроме простого перебора?
1 Banned
 
17.11.14
12:10
тупой вопрос - аназафейхоа?
2 aka AMIGO
 
17.11.14
12:12
(0) а что значит "инвертировать"?
ЗЫ. "Инвертировать" бывают разные.. © :)
3 mikecool
 
17.11.14
12:14
(0) нет
4 mikecool
 
17.11.14
12:14
(2) я понял - про пометки списка
5 kortun
 
17.11.14
12:14
(2)ну видимо пометки имеет ввиду
(0) нет, нельзя, только перебор
6 Herby
 
17.11.14
12:16
(0) если часто приходится делать, то пиши глобальную с инверсией и вызывай ее там где надо.
7 aka AMIGO
 
17.11.14
12:19
Понятно :)

Для 7.7 типичный приём Поставить/снять/инвертировать: http://gyazo.com/fe3ff8b31ec13f6a89fc4b916422f332

И поддержка:

Процедура ПоставитьСнятьМарку(ы)
    Если ы = 1 Тогда //отметить все
        ТЗТ.ВыбратьСтроки();
        Пока ТЗТ.ПолучитьСтроку() = 1 Цикл
            ТЗТ.Марка=2;
        КонецЦикла;
    ИначеЕсли ы=2 Тогда //снять все отметки
        ТЗТ.ВыбратьСтроки();
        Пока ТЗТ.ПолучитьСтроку() = 1 Цикл
            ТЗТ.Марка=1;
        КонецЦикла;
    
    Иначе //инвертировать отметки
        ТЗТ.ВыбратьСтроки();
        Пока ТЗТ.ПолучитьСтроку() = 1 Цикл
            ТЗТ.Марка= ?(ТЗТ.Марка=1,2,1);
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры
8 aka AMIGO
 
17.11.14
12:21
+7 ой.. СЗ..
тогда только рисунок, для СЗ лень искать :)
http://gyazo.com/fe3ff8b31ec13f6a89fc4b916422f332
9 varelchik
 
17.11.14
12:33
(0) Только перебор.
10 ildary
 
17.11.14
12:48
(1) пользователь должен выбрать документ контрагента, их может быть очень много, хочется, чтобы самые последние документы были первыми.
11 ildary
 
17.11.14
12:49
Инверсия - имеется в виду порядок документов  а списке.
12 Мигало
 
17.11.14
12:50
Сортировать(<?>,);
Синтаксис:
Сортировать(<Направление>,<ДокПоДате>)
Назначение:
Отсортировать список по значениям.
Параметры:
<Направление> - 0 - сортировка по возрастанию, иначе по убыванию (необязателен, по умолчанию - 0).
<ДокПоДате> - необязательный параметр. Имеет смысл только в том случае, если значениями списка значений являются документы. В этом случае можно задавать сортировку документов по их хронологии. Число: 1 - сортировка по хронологии документов; 0 - нет. Значение по умолчанию - 0.
13 dk
 
17.11.14
12:50
можно без перебора - через значениевстрокувнутр и подменой там значений о пометке
14 mehfk
 
17.11.14
12:50
(0) ЗначениеВСтрокуВнутр, СтрЗаменить, ЗначениеИзСтрокиВнутр
15 ildary
 
17.11.14
12:51
(12) вот спасибо! Совсем забыл про второй параметр!
16 ildary
 
17.11.14
12:53
+(15) а обратный порядок в случае Сортировать(() предусмотрен?
17 Chum
 
17.11.14
12:59
(16)

> <Направление> - 0 - сортировка по возрастанию, иначе по убыванию (необязателен, по умолчанию - 0).
18 ildary
 
17.11.14
13:08
Большое спасибо, разобрался