Имя: Пароль:
1C
1С v8
Одну строку в запросе разбить на несколько строк
0 EvgeniuXP
 
27.10.13
01:04
Как разбить одну строку на несколько строк в запросе, например:

Исходная таблица:

Товар Количество
А     3
Б     2

Получаем:
Товар Количество
А     1
А     1
А     1
Б     1
Б     1
1 EvgeniuXP
 
27.10.13
01:04
Количество может быть разным.
2 EvgeniuXP
 
27.10.13
01:19
ладно, похоже нормально не сделать, только через: v8: Остатки по дням.
3 EvgeniuXP
 
27.10.13
01:20
(2) пост (10) - формирование чисел в запросе.
4 DirecTwiX
 
27.10.13
01:30
(3) А дальше как?
5 DirecTwiX
 
27.10.13
01:33
(4) Вопрос снят.
6 runoff_runoff
 
27.10.13
03:03
надо требовать от Нуралиева в запросе оператор UPDATE..
7 МихаилМ
 
27.10.13
12:57
8 sda553
 
27.10.13
13:01
Создать табличку, где буду все натуральные числа до разумного предела, и присоединять
9 EvgeniuXP
 
27.10.13
15:20
(8) а не до разумного предусмотреть другие обходы :) и всё пучком :)
10 Dethmont
 
27.10.13
22:25
ВЫБРАТЬ
    0 КАК Х
ПОМЕСТИТЬ Таб1

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    М.Х + 2 * С.Х КАК Х
ПОМЕСТИТЬ Таб2
ИЗ
    Таб1 КАК М,
    Таб1 КАК С
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    М.Х + 4 * С.Х КАК Х
ПОМЕСТИТЬ Таб3
ИЗ
    Таб2 КАК М,
    Таб2 КАК С
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    М.Х + 16 * С.Х КАК Х
ПОМЕСТИТЬ Таб4
ИЗ
    Таб3 КАК М,
    Таб3 КАК С
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    М.Х + 256 * С.Х КАК Х
ПОМЕСТИТЬ РезТаб
ИЗ
    Таб4 КАК М,
    Таб4 КАК С
ГДЕ
    М.Х + 256 * С.Х > 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РегистрСведений1.Измерение1 КАК Измерение1,
    1 КАК Поле1
ИЗ
    РезТаб КАК РезТаб
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегистрСведений1 КАК РегистрСведений1
        ПО РезТаб.Х < РегистрСведений1.Ресурс1
ГДЕ
    НЕ РегистрСведений1.Измерение1 ЕСТЬ NULL

УПОРЯДОЧИТЬ ПО
    Измерение1
11 Dethmont
 
27.10.13
22:27
Регистр сведений: РегистрСведений1
Измерения: Измерение1 - тип строка
Ресурсы: Ресурс1 - тип число

Данные в регистре
А 2
В 3

Результат
А 1
А 1
В 1
В 1
В 1
12 Dethmont
 
27.10.13
22:29
Будет работать неправильно если одно из значений ресурса будет больше 65535
13 mikecool
 
27.10.13
23:06
может чота типа
выбрать а как а, 2 как б
из твоя таблица
левое соединение
  (выбрать а как а, 1 как поле) по а И количество(поле) <= б

?