Имя: Пароль:
1C
1С v8
Можно ли это сделать запросом?
↓ (Волшебник 19.10.2023 14:34)
0 happysan
 
19.10.23
14:01
Доброго времени суток!
Вопрос на засыпку.
Допустим, в документе есть строка в табличной части, которая выглядит так:

Номенклатура    Количество
Помидор             7

Как можно запросом сделать так, чтобы получилось семь строк с номенклатурой "Помидор" и по одному количеству в каждой строке?
1 Donkey_hot
 
19.10.23
14:05
(0) Соедините с таблицей, содержащей последовательность натуральных чисел по условию Количество <= ВТ.Число
Как сгенерировать такую таблицу - миллион примеров.
2 happysan
 
19.10.23
14:10
(1) Спасибо!
3 happysan
 
19.10.23
14:30
(0) Хотя получается не то, что требовалось. Есть пример?
4 Donkey_hot
 
19.10.23
14:30
Покажите Ваш.
5 happysan
 
19.10.23
14:38
Мой запрос
ВЫБРАТЬ
    0 КАК Числа
ПОМЕСТИТЬ РядЧисел

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    3

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    4

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    5

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    6

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    7

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    8

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    9
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РядЧисел2.Числа * 100 + РядЧисел1.Числа * 10 + РядЧисел.Числа + 1 КАК Числа
ПОМЕСТИТЬ ВТ_РядЧисел
ИЗ
    РядЧисел КАК РядЧисел,
    РядЧисел КАК РядЧисел1,
    РядЧисел КАК РядЧисел2
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПеремещениеТовары.Номенклатура,
    1 КАК Количество
ИЗ
    ВТ_РядЧисел КАК ВТ_РядЧисел
        СОЕДИНЕНИЕ Документ.ТОРГ_Перемещение.Товары КАК ТОРГ_ПеремещениеТовары
        ПО ТОРГ_ПеремещениеТовары.Количество <= ВТ_РядЧисел.Числа
ГДЕ
    ТОРГ_ПеремещениеТовары.Ссылка = &Ссылка
6 happysan
 
19.10.23
14:34
*ВЫБРАТЬ ТОРГ_ПеремещениеТовары.Номенклатура,
7 PR
 
19.10.23
14:35
(5) Не <=, а =
8 bolobol
 
19.10.23
14:36
Максимальное количество какое? 99 999 999 999 999 ?
Вы уверены, что хотите выборку запустить такое количество раз, вместо одного прохода, дублирующего строки от количества?
Если запись одна - как не ухищряйтесь - в выборке будет только одна запись результата, либо эта выборка должна повториться столько раз, каково ограничение сверху у дублируемого значения
9 happysan
 
19.10.23
14:38
(8) Нет верхнего порога.
10 happysan
 
19.10.23
14:38
(7) Тогда одна строка с количеством 1.
11 bolobol
 
19.10.23
14:39
(9) Верхний порог есть всегда - посмотрите тип данных поля Количество
12 happysan
 
19.10.23
14:39
(11) Сейчас не в этом вопрос.
13 bolobol
 
19.10.23
14:40
Другое дело, что после "нехватки" - поле могут увеличить, и запрос должен тоже увеличить свой диапазон, а значит, что вам необходимо читать метаданные и задачу запросом решить можно, но не имеет смысла
14 bolobol
 
19.10.23
14:41
(12) Вопрос именно в этом, потому что именно это не понимаете, задаваясь подобной задачей
15 Donkey_hot
 
19.10.23
14:41
(5) Так на первый взгляд все похоже на правду. Что не так с результатом?
16 happysan
 
19.10.23
14:43
(15) Тысячи строк выводит в результат.
17 happysan
 
19.10.23
14:44
(14) Это само собой разумеется.
18 Donkey_hot
 
19.10.23
14:45
(16) Ну это само по себе не является ошибкой. Может в документе тысячи единиц.
19 PR
 
19.10.23
14:46
А, не, наоборот же, ВТ <= Количество
Совсем народ думать разучился, деграданты чертовы
20 bolobol
 
19.10.23
14:46
ПО ТОРГ_ПеремещениеТовары.Количество <= ВТ_РядЧисел.Числа
- наоборот надо здесь
21 happysan
 
19.10.23
14:46
(18) Нет, одна строка (см.(1)).
22 Donkey_hot
 
19.10.23
14:46
Выведите справочно в итоговый запрос данные из таблицы РядЧисел и док.количество, наверное будет понятнее.
23 bolobol
 
19.10.23
14:47
Ну и, понятно дело, на количестве 2001,003 - сломается
24 Donkey_hot
 
19.10.23
14:47
(21) Блин, я ввел вас в заблуждение, прошу прощения. Перевернуть условие, конечно, надо. Количество >= Число.
25 bolobol
 
19.10.23
14:48
Что там с нормами для полей Количество? 12.3 ?
26 bolobol
 
19.10.23
14:49
12, кстати, - это знаков "всего"?, включая разделители и точку и дробную часть?
27 happysan
 
19.10.23
14:49
(19) Молодец, но лучше так не выражаться...
28 happysan
 
19.10.23
14:50
(26) Там целые числа.
29 happysan
 
19.10.23
14:51
Всё получилось, всем спасибо!
30 PR
 
19.10.23
14:51
(26) Нет конечно же 🤦
31 Donkey_hot
 
19.10.23
14:52
(27) Мы не в обиде, особенно с учетом того, что (5) гораздо дальше от истины, так что это самокритика чистой воды)
32 bolobol
 
19.10.23
14:52
отрицательности знак... вот жеж.. - вопросов больше чем ответов)))

123456789012 - знаков 12.3
-999 999.999
минимальное такое число будет? А максимальное:
999 999.999
?
33 PR
 
19.10.23
14:52
(27) Лучше такую элементарщину заканчивать на втором посте
В первом ответ, во втором спасибо
Тогда и таких выражений не будет
34 bolobol
 
19.10.23
14:55
(33) А поговорить? )))
35 PR
 
19.10.23
14:56
(34) О чем тут говорить?
Разговор из той же серии, что и (26)
Есть куда более интересные темы для разговора
36 happysan
 
19.10.23
14:56
(33) Это не оправдывает хамство.
37 PR
 
19.10.23
14:59
(36) Так тут и нет никакого хамства, только высказывание сожаления о повальной деградации населения, нашедшей свое отражение даже в программистском социуме
38 PR
 
19.10.23
15:01
Так-то деградацию наблюдаю везде
Элементарно в школьном учебнике по физике у дочери ответы в конце неправильные, спросила у учительницы, почему, той пофиг
Во времена, когда я учился в школе, это было бы целое событие, а сегодня всем начхать
39 happysan
 
19.10.23
15:08
Каждый останется при своём мнении...Тема закрыта.
40 PR
 
19.10.23
15:19
(39) Да тема после первого поста уже по факту была закрыта
41 happysan
 
19.10.23
15:38
(40) Не надо тогда её дальше плодить не по теме.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс