Имя: Пароль:
1C
1С v8
v8: сортировка
,
0 KENT2007
 
06.07.12
13:26
как выразить строку чтоб сотриторвка балы 1,2,3..
1 KENT2007
 
06.07.12
13:26
а  то выдает 1,10,11
2 Eugene_life
 
06.07.12
13:27
сделай запросом )
3 Ненавижу 1С
 
гуру
06.07.12
13:29
сотриторвка
4 KENT2007
 
06.07.12
13:29
и так вроде запросом а как выразить?
5 KENT2007
 
06.07.12
13:30
ВЫБРАТЬ
   ДоговорыКонтрагентов.Владелец.Родитель.Наименование КАК ВладелецРодительНаименование,
   ДоговорыКонтрагентов.Владелец,
   ДоговорыКонтрагентов.Номер КАК Номер,
   СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотДт) КАК СуммаОборотДт,
   СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт) КАК СуммаОборотКт
ИЗ
   Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Начало, &Конец, , , Счет В ИЕРАРХИИ (&Счет62), , ) КАК ХозрасчетныйОстаткиИОбороты
       ПО (ХозрасчетныйОстаткиИОбороты.Субконто2 = ДоговорыКонтрагентов.Ссылка)

СГРУППИРОВАТЬ ПО
   ДоговорыКонтрагентов.Владелец.Родитель.Наименование,
   ДоговорыКонтрагентов.Владелец,
   ДоговорыКонтрагентов.Номер

УПОРЯДОЧИТЬ ПО
   ВладелецРодительНаименование,
   Номер
ИТОГИ
   СУММА(СуммаОборотДт),
   СУММА(СуммаОборотКт)
ПО
   ОБЩИЕ,
   ВладелецРодительНаименование
АВТОУПОРЯДОЧИВАНИЕ
6 Ненавижу 1С
 
гуру
06.07.12
13:30
(0) это ж строки))
есть ограничение на число разрядов?
7 KENT2007
 
06.07.12
13:30
ДоговорыКонтрагентов.Номер
нужно здесь
8 KENT2007
 
06.07.12
13:34
числа целые но есть номера 58-59
9 KENT2007
 
06.07.12
13:37
как быть
10 Cube
 
06.07.12
13:37
Да вариантов-то всего девять. Вставь условие типа:

Выбор Когда Номер = "1" Тогда "01"
Когда Номер = "2" Тогда "02"
...
Иначе Номер
Конец Как НомерДляСортировки
11 kosts
 
06.07.12
13:38

Выгрузить В ТЗ, добавить колонку, колонку заполнить колонку и отсортировать
Попытка
т.Колонка1 = Число(т.Номер);
Исключение
т.Колонка1 = 0;
КонецПопытки;
ТЗ.Сортировать("");
12 kosts
 
06.07.12
13:38
ТЗ.Сортировать("Колонка1");
13 Cube
 
06.07.12
13:41
+(10) Или так:

Выбор Когда Выразить(Номер Как Строка(1)) = Номер Тогда "00" + Номер
Когда Выразить(Номер Как Строка(2)) = Номер Тогда "0" + Номер
Иначе Номер
Конец Как НомерДляСортировки

Работать будет до 999 номеров
14 H A D G E H O G s
 
06.07.12
13:41
Или включить опцию SQL (не помню какая), а потом выключить
15 badboychik
 
06.07.12
13:42
(0) ты пьяный штоли
16 KENT2007
 
06.07.12
13:43
чет не получается
17 NDN
 
06.07.12
13:45
"Номер" -  строка наверное?
18 KENT2007
 
06.07.12
13:46
ну да
19 KENT2007
 
07.07.12
09:23
подскажите плиз с сортировкой как в консоли это сделать?
20 KENT2007
 
07.07.12
09:29
тема еще актуальна
21 KENT2007
 
07.07.12
10:18
как выразить строку в виде числа если есть номера "53-54"
22 KENT2007
 
07.07.12
10:31
все еще спят?
23 servs
 
07.07.12
11:28
1. Используй пакетный запрос.
2. В первом запросе дополни код нулями, там где нужно(смотри по длине кода) и с помощью функции ПОДСТРОКА и конструкции ВЫБОР КОГДА... отфильтруй все символы <> 0123456789
3. Во втором запросе пакета сортируй.

Задача выполнима!
24 KENT2007
 
07.07.12
11:31
а примера случайно нет, уже запутался
25 KENT2007
 
07.07.12
11:35
как применить ВЫБОР КОГДА
26 KENT2007
 
07.07.12
11:41
может есть пример сортировки
27 servs
 
07.07.12
11:56
примера нет, минут 10 подумай, попытайся написать сам.
28 KENT2007
 
07.07.12
12:02
ВЫБРАТЬ
   ВЫБОР
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "1"
           ТОГДА 1
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "2"
           ТОГДА 2
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "3"
           ТОГДА 3
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "4"
           ТОГДА 4
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "5"
           ТОГДА 5
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "6"
           ТОГДА 6
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "7"
           ТОГДА 7
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "8"
           ТОГДА 8
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "9"
           ТОГДА 9
       ИНАЧЕ 0
   КОНЕЦ КАК НомерРоллета
ИЗ
   Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
29 KENT2007
 
07.07.12
12:06
а как сортировать по 2 пакету а выводить 1ый
30 KENT2007
 
07.07.12
12:30
люди помогите оччень нужно ниче не пойму
31 servs
 
07.07.12
12:52
ВЫБРАТЬ
   ВЫБОР
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "1"
           ТОГДА 1
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "2"
           ТОГДА 2
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "3"
           ТОГДА 3
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "4"
           ТОГДА 4
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "5"
           ТОГДА 5
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "6"
           ТОГДА 6
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "7"
           ТОГДА 7
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "8"
           ТОГДА 8
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "9"
           ТОГДА 9
       ИНАЧЕ 0
   КОНЕЦ КАК Символ1,
   ВЫБОР
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "1"
           ТОГДА 1
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "2"
           ТОГДА 2
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "3"
           ТОГДА 3
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "4"
           ТОГДА 4
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "5"
           ТОГДА 5
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "6"
           ТОГДА 6
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "7"
           ТОГДА "7"
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "8"
           ТОГДА "8"
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "9"
           ТОГДА "9"
       ИНАЧЕ ""
   КОНЕЦ КАК Символ2,
   ...
Поместить ТаблНомеров
ИЗ
   Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
;

ВЫБРАТЬ
 Символ1 + Символ2 + ... КАК НомерДоговораОтфильтрованый
ИЗ ТаблНомеров

Примерно как-то так...
32 servs
 
07.07.12
12:55
Потом можно еще попробовать полученную строку из чисел через ВЫРАЗИТЬ(НомерДоговора КАК Число) колбаснуть, чтобы нулями спереди не дополнять.
33 KENT2007
 
07.07.12
13:13
ВЫБРАТЬ
   ВЫБОР
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "1"
           ТОГДА 1
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "2"
           ТОГДА 2
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "3"
           ТОГДА 3
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "4"
           ТОГДА 4
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "5"
           ТОГДА 5
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "6"
           ТОГДА 6
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "7"
           ТОГДА 7
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "8"
           ТОГДА 8
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 1, 1) = "9"
           ТОГДА 9
       ИНАЧЕ ""
   КОНЕЦ КАК Символ1,
   ВЫБОР
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "1"
           ТОГДА 1
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "2"
           ТОГДА 2
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "3"
           ТОГДА 3
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "4"
           ТОГДА 4
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "5"
           ТОГДА 5
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "6"
           ТОГДА 6
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "7"
           ТОГДА 7
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "8"
           ТОГДА 8
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 2, 1) = "9"
           ТОГДА 9
       ИНАЧЕ ""
   КОНЕЦ КАК Символ2,
 
   ВЫБОР
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 3, 1) = "1"
           ТОГДА 1
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 3, 1) = "2"
           ТОГДА 2
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер,3, 1) = "3"
           ТОГДА 3
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 3, 1) = "4"
           ТОГДА 4
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 3, 1) = "5"
           ТОГДА 5
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 3, 1) = "6"
           ТОГДА 6
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 3, 1) = "7"
           ТОГДА 7
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 3, 1) = "8"
           ТОГДА 8
       КОГДА ПОДСТРОКА(ДоговорыКонтрагентов.Номер, 3, 1) = "9"
           ТОГДА 9
       ИНАЧЕ ""
   КОНЕЦ КАК Символ3,
Поместить НмерРоллета
ИЗ
   Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
;

ВЫБРАТЬ
 Символ1 + Символ2 + Символ3 КАК НомерДоговораОтфильтрованый
ИЗ НмерРоллета
34 KENT2007
 
07.07.12
13:16
Синтаксическая ошибка "Поместить"
35 servs
 
07.07.12
14:07
лишняя запятая после последнего поля Символ3
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший