Язык запросов. Создать таблицу умножения.

1. Efimych 26.11.24 13:55 Сейчас в теме
Доброго времени суток всем! Прошу натолкнуть на мысль! Обучаюсь программированию 1с. Стоит задача создать такой запрос, чтоб получилась таблица умножения от 1 до 9 для выбранного числа, число устанавливается через параметр. Скрин итоговой таблицы прилагается. Подскажите пожалуйста куда копать....
Из всей таблицы понимаю только как 3 поле создать
Прикрепленные файлы:
Найденные решения
8. PowerBoy 3423 26.11.24 14:36 Сейчас в теме
Выбрать &Число,1,&Число*1

ОБЪЕДИНИТЬ все

Выбрать &Число,2,&Число*2
10. GeraltSnow 176 26.11.24 14:44 Сейчас в теме
ВЫБРАТЬ
	1 КАК Множитель
ПОМЕСТИТЬ ВТ_Множители

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

ВЫБРАТЬ
	2

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

ВЫБРАТЬ
	3
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	&Число КАК Число,
	ВТ_Множители.Множитель КАК Множитель,
	ВТ_Множители.Множитель * &Число КАК Произведение
ИЗ
	ВТ_Множители КАК ВТ_Множители
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. Vlan 36 26.11.24 14:33 Сейчас в теме
(1) Есть параметр с числом. Ура! Это первое поле. Ничего и делать не надо.
Осталось сделать временную таблицу с числами от 1 до 9 и к ней левым соединением присоединить число. Как получить результат, вы уже знаете.
9. user2107191 26.11.24 14:40 Сейчас в теме
(7)
Осталось сделать временную таблицу с числами от 1 до 9 и к ней левым соединением присоединить число.
давай-ка подробнее, как ты к таблице левым соединением собрался присоединять НЕтаблицу.
Очень интересно!
11. Vlan 36 26.11.24 15:02 Сейчас в теме
(9) Таблица умножения - это не одно число, так-то.
ВЫБРАТЬ
	1 КАК Множитель
ПОМЕСТИТЬ ВТ_Множители

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

ВЫБРАТЬ
	2

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

ВЫБРАТЬ
	3

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

ВЫБРАТЬ
	4

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

ВЫБРАТЬ
	5

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

ВЫБРАТЬ
	6

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

ВЫБРАТЬ
	7

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

ВЫБРАТЬ
	8

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

ВЫБРАТЬ
	9
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Число.Множитель КАК Число,
	Множители.Множитель КАК Множитель,
	Число.Множитель * Множители.Множитель КАК Результат
ИЗ
	ВТ_Множители КАК Множители
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Множители КАК Число
		ПО (ИСТИНА)

СГРУППИРОВАТЬ ПО
	Число.Множитель,
	Множители.Множитель
Показать
12. user2107191 26.11.24 15:08 Сейчас в теме
(11) Так ты зачем таблицу к таблице присоединяешь??? Ты давай делай, как и советовал:
и к ней левым соединением присоединить число.


И вообще-то у автора в задаче есть числовой параметр.
А вот какую задачу ты решаешь - ХранилищеЗначения
13. Vlan 36 26.11.24 15:12 Сейчас в теме
(12) Я что Хранилище присоединяю? Число и есть.
18. Vlan 36 26.11.24 15:38 Сейчас в теме
(12) Специально не поленился сделать отчетик для демонстрации своей мысли. Универсальность - наше все.
Прикрепленные файлы:
ТаблицаУмножения.erf
19. user2107191 26.11.24 15:42 Сейчас в теме
(18) Автор решает учебную задачу. УЧЕБНУЮ. В которой надо продемонстрировать преподавателю определенные навыки.
Ему не надо строить абстрактный комбайн на все случаи жизни...

Он может еще вообще соединения не проходил!!!
20. Efimych 26.11.24 15:45 Сейчас в теме
(6)
(19)
Задачу в итоге решил с вашей общей помощью! Следующую тему сейчас глянул и только там "Пакетные запросы" и "Временные таблицы" . как раз через которые и решается данная задача
21. user2107191 26.11.24 15:50 Сейчас в теме
(20)
и только там "Пакетные запросы" и "Временные таблицы" . как раз через которые и решается данная задача
Можно и без пакетов...

ВЫБРАТЬ
1 КАК Множитель,
&Число КАК Число,
1 * &Число КАК Произведение
ОБЪЕДИНИТЬ ВСЕ
2,
&Число,
2 * &Число КАК Произведение
...
27. Said-We 28.11.24 01:08 Сейчас в теме
(20)
Следующую тему сейчас глянул и только там "Пакетные запросы" и "Временные таблицы" . как раз через которые и решается данная задача
Временные таблицы в данном случае не обязательны. Просто писанины больше. Можно и без них. Пример на скрине. Но тут опять без параметров :-)
Прикрепленные файлы:
22. Vlan 36 26.11.24 15:55 Сейчас в теме
(19) Все равно он продемонстрирует чужие навыки. Пусть и на другие варианты посмотрит, если интересно.
23. Efimych 26.11.24 16:00 Сейчас в теме
(22) Интересно, Ваш отчет загрузил, смотрю в конфигураторе! Только вот СКД еще не проходил, все впереди ;)
14. GeraltSnow 176 26.11.24 15:19 Сейчас в теме
(9) Напрямую никак, но зато можно в процессе соединения превратить число в таблицу 1х1 вложенным запросом - чисто по приколу естественно

ВЫБРАТЬ
	1 КАК Множитель
ПОМЕСТИТЬ ВТ_Множители

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

ВЫБРАТЬ
	2

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

ВЫБРАТЬ
	3
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВложенныйЗапрос.Число КАК Число,
	ВТ_Множители.Множитель КАК Множитель,
	ВложенныйЗапрос.Число * ВТ_Множители.Множитель КАК Произведение
ИЗ
	ВТ_Множители КАК ВТ_Множители
		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			&Число КАК Число) КАК ВложенныйЗапрос
		ПО (ИСТИНА)
Показать
16. user2107191 26.11.24 15:35 Сейчас в теме
(14) Да мне это вообще неинтересно. Но вот некоторые товарищи умеют в соединениях в качестве источника использовать ЧИСЛО, а не таблицу (и я сейчас не про выражения соединения).
24. Vlan 36 27.11.24 06:45 Сейчас в теме
(16) Что ты докопался до слова "число", товарищ? Кстати, мы с тобой на ты не пили, но уж ладно, по-братски. Тебе уже два варианта предложили, как число (в смысле, параметр Число) присоединить к таблице, а ты все тупишь.
2. user2107191 26.11.24 14:05 Сейчас в теме
Ну, создай поле 3. Из чего ты его создашь?
3. Efimych 26.11.24 14:08 Сейчас в теме
Когда есть 2 поля, тогда я понимаю как 3 создать, но пока у меня их нет)
4. user2107191 26.11.24 14:11 Сейчас в теме
(3) Хреновенько научился азам запросов, согласен.
5. spacecraft 26.11.24 14:11 Сейчас в теме
создать временную таблицу с умножителями. В итоговом запросе получать из временной таблицы и получать нужный результат
6. user2107191 26.11.24 14:12 Сейчас в теме
(5) Ты щас ему совсем моск взорвал к чертям...
8. PowerBoy 3423 26.11.24 14:36 Сейчас в теме
Выбрать &Число,1,&Число*1

ОБЪЕДИНИТЬ все

Выбрать &Число,2,&Число*2
17. Efimych 26.11.24 15:35 Сейчас в теме
10. GeraltSnow 176 26.11.24 14:44 Сейчас в теме
ВЫБРАТЬ
	1 КАК Множитель
ПОМЕСТИТЬ ВТ_Множители

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

ВЫБРАТЬ
	2

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

ВЫБРАТЬ
	3
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	&Число КАК Число,
	ВТ_Множители.Множитель КАК Множитель,
	ВТ_Множители.Множитель * &Число КАК Произведение
ИЗ
	ВТ_Множители КАК ВТ_Множители
Показать
15. Efimych 26.11.24 15:34 Сейчас в теме
(10) Спасибо! Закинул в конструктор и во всем разобрался!
starik-2005; +1 Ответить
25. Said-We 27.11.24 10:47 Сейчас в теме
(1) Есть и такой простой вариант. Есть и другие.
Правда тут без параметров...
Прикрепленные файлы:
26. Said-We 27.11.24 11:11 Сейчас в теме
(1) Этот, к сожалению, тоже без параметров...
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот