|
Поиск в строке | ☑ | ||
---|---|---|---|---|
0
KENT2007
27.07.12
✎
08:53
|
как в запросе найти не печатаемый символ и отсечь все после него
|
|||
1
Wobland
27.07.12
✎
08:54
|
что есть "не печатаемый символ"? на зачем всё это надо в запросе?
|
|||
2
KENT2007
27.07.12
✎
08:57
|
ошибся, не числовой
|
|||
3
KENT2007
27.07.12
✎
08:57
|
есть номер 10-11 нужно выбрать 10
|
|||
4
Wobland
27.07.12
✎
08:59
|
(2) давай на второй вопрос теперь отвечай
|
|||
5
aleks-id
27.07.12
✎
09:03
|
ПОДСТРОКА(Номер, 1, 2)
|
|||
6
МихаилМ
27.07.12
✎
09:03
|
(0)
"отсечь" - заполнить пробелами или сдвинуть ? |
|||
7
KENT2007
27.07.12
✎
09:06
|
сдвинуть,нужно для сортировки по номеру договра
|
|||
8
KENT2007
27.07.12
✎
09:07
|
их два символа - и ,
|
|||
9
Wobland
27.07.12
✎
09:08
|
длина "номера" постоянна?
|
|||
10
KENT2007
27.07.12
✎
09:08
|
нет, есть 9-10 и 489-490 или 493,495
|
|||
11
Галахад
гуру
27.07.12
✎
09:09
|
Чо та не понял. Если просто отсортировать по номеру результат будет не такой же?
|
|||
12
Wobland
27.07.12
✎
09:11
|
(11) 10-11 и 10-2
|
|||
13
KENT2007
27.07.12
✎
09:11
|
тогда сортирует 1,10,11,101 дополнил 0 лидирущий тоже номера где есть "-" в конец кидает
|
|||
14
ДенисЧ
27.07.12
✎
09:12
|
перебери циклом все символы и найди первый неподходящий... До него и режь...
|
|||
15
KENT2007
27.07.12
✎
09:12
|
ВЫБРАТЬ
ДоговорыКонтрагентов.Родитель.Наименование КАК Родитель, ХозрасчетныйОстаткиИОбороты.Субконто1, ХозрасчетныйОстаткиИОбороты.Субконто2, ДоговорыКонтрагентов.Номер КАК Номер, ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт, СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт) КАК СуммаОборотКт, ВЫБОР КОГДА ДоговорыКонтрагентов.Номер = (ВЫРАЗИТЬ(ДоговорыКонтрагентов.Номер КАК СТРОКА(1))) ТОГДА ПОДСТРОКА("000000000000000", 1, 8) + ДоговорыКонтрагентов.Номер КОГДА ДоговорыКонтрагентов.Номер = (ВЫРАЗИТЬ(ДоговорыКонтрагентов.Номер КАК СТРОКА(2))) ТОГДА ПОДСТРОКА("000000000000000", 1, 7) + ДоговорыКонтрагентов.Номер КОГДА ДоговорыКонтрагентов.Номер = (ВЫРАЗИТЬ(ДоговорыКонтрагентов.Номер КАК СТРОКА(3))) ТОГДА ПОДСТРОКА("000000000000000", 1, 6) + ДоговорыКонтрагентов.Номер КОГДА ДоговорыКонтрагентов.Номер = (ВЫРАЗИТЬ(ДоговорыКонтрагентов.Номер КАК СТРОКА(4))) ТОГДА ПОДСТРОКА("000000000000000", 1, 5) + ДоговорыКонтрагентов.Номер КОГДА ДоговорыКонтрагентов.Номер = (ВЫРАЗИТЬ(ДоговорыКонтрагентов.Номер КАК СТРОКА(5))) ТОГДА ПОДСТРОКА("000000000000000", 1, 4) + ДоговорыКонтрагентов.Номер КОГДА ДоговорыКонтрагентов.Номер = (ВЫРАЗИТЬ(ДоговорыКонтрагентов.Номер КАК СТРОКА(6))) ТОГДА ПОДСТРОКА("000000000000000", 1, 3) + ДоговорыКонтрагентов.Номер КОГДА ДоговорыКонтрагентов.Номер = (ВЫРАЗИТЬ(ДоговорыКонтрагентов.Номер КАК СТРОКА(7))) ТОГДА ПОДСТРОКА("000000000000000", 1, 2) + ДоговорыКонтрагентов.Номер КОГДА ДоговорыКонтрагентов.Номер = (ВЫРАЗИТЬ(ДоговорыКонтрагентов.Номер КАК СТРОКА(8))) ТОГДА ПОДСТРОКА("000000000000000", 1, 1) + ДоговорыКонтрагентов.Номер КОНЕЦ КАК Поле2 ИЗ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Начало, &Конец, , , Счет В ИЕРАРХИИ (&Счет62), , ) КАК ХозрасчетныйОстаткиИОбороты ПО (ХозрасчетныйОстаткиИОбороты.Субконто2 = ДоговорыКонтрагентов.Ссылка) ГДЕ ХозрасчетныйОстаткиИОбороты.СуммаОборотДт > &СуммаОборотДт СГРУППИРОВАТЬ ПО ХозрасчетныйОстаткиИОбороты.СуммаОборотДт, ДоговорыКонтрагентов.Родитель, ДоговорыКонтрагентов.Номер, ХозрасчетныйОстаткиИОбороты.Субконто1, ДоговорыКонтрагентов.Родитель.Наименование, ХозрасчетныйОстаткиИОбороты.Субконто2 УПОРЯДОЧИТЬ ПО Родитель, Номер |
|||
16
KENT2007
27.07.12
✎
09:12
|
(14) вопрос в том как в запросе перебрать
|
|||
17
Галахад
гуру
27.07.12
✎
09:12
|
(12) Ну и? А будет 10 и 10 после отсечения.
|
|||
18
KENT2007
27.07.12
✎
09:14
|
(12) одинаковых нет они как бы по порядку идут 1,2,3,4-5,6,7,8-9...
|
|||
19
KENT2007
27.07.12
✎
09:15
|
сейчас вот так:
1-2 10 101 102 103 104 105-106 107 108 109-110 11 111 112-113 114 115 116 117 118-119 12 120 121 122 123 |
|||
20
Галахад
гуру
27.07.12
✎
09:17
|
Это ж строки. Сортировать будет так:
1,10,101,11 |
|||
21
Галахад
гуру
27.07.12
✎
09:18
|
Ага, так оно и есть.
|
|||
22
KENT2007
27.07.12
✎
09:18
|
ну и как сделать число из "112-113" = "112"
|
|||
23
KENT2007
27.07.12
✎
09:21
|
есть решение?
|
|||
24
KENT2007
27.07.12
✎
09:32
|
все всё поняли и тишина?
|
|||
25
KENT2007
27.07.12
✎
09:35
|
все на Титьнице
|
|||
26
МихаилМ
27.07.12
✎
09:39
|
(22)
так Вам нужна строка или число |
|||
27
KENT2007
27.07.12
✎
09:39
|
число
|
|||
28
KENT2007
27.07.12
✎
09:40
|
главное чтоб сортировалось по нормальному
|
|||
29
Vakhrin
27.07.12
✎
09:41
|
в запросе не вижу способа это сделать...
только через доработку конфиги... добавить реквизит числовой в договор (ну или через РС, с подпиской, чтобы не ломать типовые объекты) и при записи писать туда уже обработанный номер как число в запросе его и использовать |
|||
30
Reset
27.07.12
✎
09:44
|
Зачем новую тему было создавать?
v8: сотриторвка строки как числа |
|||
31
KENT2007
27.07.12
✎
09:45
|
так решения никакого нет
|
|||
32
KENT2007
27.07.12
✎
09:56
|
может в скд можно прикрутить колонку и по ней сортировать
|
|||
33
Галахад
гуру
27.07.12
✎
10:05
|
Решения запросом - не знаю.
Почему нельзя кодом обработать - не понятно. |
|||
34
KENT2007
27.07.12
✎
10:06
|
пусть будет кодом как это в скд сделать подскажи
|
|||
35
Галахад
гуру
27.07.12
✎
10:09
|
(34) Уточни вопрос. Тебе код написать или как его вызывать?
|
|||
36
МихаилМ
27.07.12
✎
10:10
|
запросов конечно неправильно
- типичное заблуждение онинесника путать получение данных с представлением но если очень хочется то ВЫБРАТЬ "112-113" КАК Номер ПОМЕСТИТЬ Номера Объединить ВЫБРАТЬ "114" ; //////////////////////////////////////////////////////////////////////////////// // вычисляем номер первого встретившего символа "-". считаем, что длина поля 7 символов ВЫБРАТЬ Номера.Номер, ВЫБОР Когда ПОДСТРОКА(Номера.Номер,1,1) = "-" Тогда 1 Иначе 7 Конец Позиция1, ВЫБОР Когда ПОДСТРОКА(Номера.Номер,4,1) = "-" Тогда 4 Иначе 0 Конец Позиция4 ПОМЕСТИТЬ Позиции ИЗ Номера ; // вычисляем номер первого встретившего символа "-". считаем, что длина поля 7 символов ВЫБРАТЬ Позиции.Номер,Позиция1,Позиция4, ВЫБОР Когда Позиция1 > 0 тогда Позиция1 Когда Позиция4 > 0 тогда Позиция4 Иначе 7 Конец Позиция Поместить НайДенныеПозиции ИЗ Позиции ; ВЫБРАТЬ Номер,Позиция,ПОДСТРОКА(Номер,1,Позиция-1) ИЗ НайДенныеПозиции |
|||
37
KENT2007
27.07.12
✎
10:10
|
1 и 2 ) ну хотяб 2ое
|
|||
38
Галахад
гуру
27.07.12
✎
10:14
|
(37) Например: http://1cskd.ru/tag/funkciya/
|
|||
39
KENT2007
27.07.12
✎
10:21
|
(36) это сильно, но что то не хочет работать
|
|||
40
KENT2007
27.07.12
✎
10:23
|
(38) позновательно
|
|||
41
МихаилМ
27.07.12
✎
10:27
|
(39)
ВЫБРАТЬ "112-113" КАК Номер ПОМЕСТИТЬ Номера Объединить ВЫБРАТЬ "114" ; //////////////////////////////////////////////////////////////////////////////// // вычисляем номер первого встретившего символа "-". считаем, что длина поля 7 символов ВЫБРАТЬ Номера.Номер, ВЫБОР Когда ПОДСТРОКА(Номера.Номер,1,1) = "-" Тогда 1 Иначе 0 Конец Позиция1, ВЫБОР Когда ПОДСТРОКА(Номера.Номер,4,1) = "-" Тогда 4 Иначе 0 Конец Позиция4 ПОМЕСТИТЬ Позиции ИЗ Номера ; // вычисляем номер первого встретившего символа "-". считаем, что длина поля 7 символов ВЫБРАТЬ Позиции.Номер,Позиция1,Позиция4, ВЫБОР Когда Позиция1 > 0 тогда Позиция1 Когда Позиция4 > 0 тогда Позиция4 Иначе 7 Конец Позиция Поместить НайДенныеПозиции ИЗ Позиции ; ВЫБРАТЬ Номер,Позиция,ПОДСТРОКА(Номер,1,Позиция-1) ИЗ НайДенныеПозиции |
|||
42
KENT2007
27.07.12
✎
11:09
|
пишет таблица не найдена
|
|||
43
МихаилМ
27.07.12
✎
11:33
|
(42)
проверил из (41) все работает. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |