Имя: Пароль:
 
1C
1С v8
Как получить запросом порядковый номер записи
0 УдавВПопугаях
 
09.11.20
16:45
Подскажите, кто сталкивался, как в запросе получить порядковый номер записи в выборке, что то вроде НомерСтроки в ТЧ?
1 ДенисЧ
 
09.11.20
16:47
2 УдавВПопугаях
 
09.11.20
16:49
сорри, 8.2 ОФ
3 ДенисЧ
 
09.11.20
16:50
(2) Эквипени..... но
4 alkorolev
 
09.11.20
16:50
функция в запросе есть АВТОНОМЕРЗАПИСИ() с версии 8.3.8 по-моему
5 УдавВПопугаях
 
09.11.20
16:53
(3) я про это АВТОНОМЕРЗАПИСИ(), с 8.3 да
ну и писанина вроде

ВЫБРАТЬ    0 КАК Поле ПОМЕСТИТЬ Числа
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3;

ниочень
6 alkorolev
 
09.11.20
16:54
(2) если не ошибаюсь, у ildarovich'а с инфостарта был алгоритм
7 УдавВПопугаях
 
09.11.20
17:02
8 УдавВПопугаях
 
09.11.20
17:08
такой вариант еще нашел


ВЫБРАТЬ
    Справочник.Ссылка КАК Справочник,
    КОЛИЧЕСТВО(Справочник.Ссылка) КАК ИД
ИЗ
    Справочник.Справочник.Справочник КАК Справочник
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Справочник.Справочник КАК Справочник1
        ПО Справочник.Ссылка <= Справочник.Ссылка
СГРУППИРОВАТЬ ПО
    Справочник.Ссылка
9 УдавВПопугаях
 
09.11.20
17:09
ПО Справочник.Ссылка <= Справочник1.Ссылка
СГРУППИРОВАТЬ ПО
    Справочник.Ссылка
10 Said_We
 
10.11.20
17:08
(0)
выбрать 8 как А поместить ВТ_ объединить все выбрать 8;
Выбрать АВТОНОМЕРЗАПИСИ() как НПП, Т.А Поместить ВТ_А из ВТ_ как Т;
Выбрать Т.НПП, Т.А из ВТ_А как Т;

Ограничения у АВТОНОМЕРЗАПИСИ() надуманное есть. Только в ВТ использовать можно :-(
11 Said_We
 
10.11.20
17:18
(5) Автогенерация на миллион записей работает достаточно быстро.
Можно в несколько этапов: ВТ_Три от нуля до 2, ВТ_Десять от нуля до 10, А далее хоть до 1 000 000. Обычно необходимо меньше и как правило порядок чисел известен.
(7) Проще как-то так:
Выбрать различные Первые ХХХ
   А1.А + А2.А*10 + А3.А*100 +...+ Аn*10^n КАК А
Из
   ВТ_Десять как А, ВТ_Десять как А1, ВТ_Десять как А2,..., ВТ_Десять как Аn
Упорядочить по А

В результате будет последовательность от 0 до ХХХ
12 УдавВПопугаях
 
10.11.20
17:23
(11) если честно, то манал я пейсанину с иксами и игриками, а автонумерации в платформе нет
13 УдавВПопугаях
 
10.11.20
17:26
из оптимального(для меня, на вкус и цвет как известно) (8)
не для всех случаев подойдет правда, только для ссылочных, где есть "некая" последовательность ну и при большом объеме справочника/документа тоже могут быть проблемы
14 Said_We
 
10.11.20
17:26
(12) Она как бы есть. Но использование её только в ВТ убивает её нормальное использование. Обычно нумерация необходима в результирующем запросе. А тут получается необходимо этот результат результирующего запроса засунуть в ВТ, а потом ещё раз выбрать.
В СКД есть автонумерация.
15 УдавВПопугаях
 
10.11.20
17:29
в скд - спорить не буду, а в 8.2 функции нет хнык.. хнык..
16 Said_We
 
10.11.20
17:32
Да и АВТОНОМЕРЗАПИСИ() какая-то обрезанная. Нет оконной функции over(partation by ... order by ...).
Да ладно, оконных функций в принципе нет :-)
17 УдавВПопугаях
 
10.11.20
17:34
(16) ёпырст да нету в 8.2 функции АВТОНОМЕРЗАПИСИ(), что ж такое то
18 УдавВПопугаях
 
10.11.20
17:35
а какие оконные нужны? окно одно, формы разные, это не окна
19 УдавВПопугаях
 
10.11.20
17:36
по формам есть некоторые дела
20 Said_We
 
10.11.20
18:25
(18) Оконные функции SQL имеются ввиду. В 1С их вообще нет. 1C поддерживает сильно обрезанный SQL.
21 VladZ
 
10.11.20
18:32
(0) Зачем?
22 Said_We
 
10.11.20
18:45
(21) Не знаю, но например сумму нарастающим итогом считать для не уникальных записей. Без нумерации тяжко. Одну одинаковую запись от другой легко отделить как раз нумерацией.
23 Said_We
 
10.11.20
18:48
к (22) опять же для такой задачи в SQL можно не использовать Join (убийца производительности), а в 1С всё равно придется использовать.
24 УдавВПопугаях
 
10.11.20
19:54
(21) никогда не доводилось?
25 vde69
 
10.11.20
20:16
не понятно зачем это надо...
26 УдавВПопугаях
 
10.11.20
21:49
ну что ж поделать, наверно и не должно быть понятно
27 Said_We
 
11.11.20
01:53
(26) Расскажи уже - не томи. Интересно же. :-)
Я свой вариант предложил. Первое что в голову пришло и с чем сталкивался.
28 УдавВПопугаях
 
11.11.20
08:12
уникальный ключ нужен для связи
29 УдавВПопугаях
 
11.11.20
08:13
это не отчет
30 Said_We
 
11.11.20
09:43
Значит в (22) я практически угадал. :-)
31 УдавВПопугаях
 
11.11.20
09:51
ванга!)
32 VladZ
 
11.11.20
11:08
(24) В рамках 1с - нет.
33 vde69
 
11.11.20
20:02
нарастающий итог легко делается через СКД, наверно и на построителе то-же давно я на нем ничего не делал...
34 GANR
 
11.11.20
22:27
(0) Немедленно перестаньте этого хотеть - делать это запросами отвратительно. Ничего лучше (8) нету в рамках 1С до появления АВТОНОМЕРЗАПИСИ в платформах поновее. Это в постгресе или в скуле оконные функции есть.
35 mistеr
 
11.11.20
22:51
(34) Появление такой функции в платформах поновее как бы намекает, что хотеть этого нормально.
36 breezee
 
12.11.20
06:49
Все, кстати, вкурсе что может не с 1 идти автономерзаписи?
37 Said_We
 
12.11.20
16:28
(36) АВТОНОМЕРЗАПИСИ() + 42 КАК Автономер_С_42
:-) Так что ли?
Закон Брукера: Даже маленькая практика стоит большой теории.