|
Запрос в 1С | ☑ | ||
---|---|---|---|---|
0
Vlaloplo
01.04.21
✎
17:37
|
Доброго времени суток, задача стоит в следующем, составить запрос результатом которого будет таблица с одной колонкой. Таблица должна быть заполнена числами, составляющие геометрическую последовательность. Параметрами требуется задать начальное и конечное число (Пример: Если задать от 2 до 5, то результат будет 4,9,16, 25) Это лаба в вузе, в 1С сам мало понимаю, буду очень благодарен за помощь молодому подовану)
|
|||
1
Vlaloplo
01.04.21
✎
17:38
|
Да, результат нудно получить именно запросом
|
|||
2
Asmody
01.04.21
✎
17:40
|
Отправиться на инфостарт молодой подован должен.
Про генерирующие запросы статей найдёт много он там. |
|||
3
Vlaloplo
01.04.21
✎
17:42
|
(2), Ох, мастер, без вас совсем не одолеть.. Мне бы оружие в виде ссылки или пояснения, как искать..
|
|||
4
Курцвейл
01.04.21
✎
17:47
|
А причем тут 1С? Для написания запроса необходимо и достаточно понимать язык запросов на уровне ANSI SQL-92
|
|||
5
Vlaloplo
01.04.21
✎
17:48
|
(4) Слабоват видимо в запросах, раз данную задачу не под силу мне решить
|
|||
6
H A D G E H O G s
01.04.21
✎
17:52
|
Какой только бабуйней не занимаются в ВУЗах
|
|||
7
Vlaloplo
01.04.21
✎
17:55
|
https://pro1c8.ru/ryad-chisel-zaprosom/
нашел данную статью для примера Только числа соответсвено в геом прогрессии |
|||
8
Vlaloplo
01.04.21
✎
17:55
|
(6), соглашусь..
|
|||
9
fisher
01.04.21
✎
17:57
|
И это лаба по 1С? Прогресс, однако...
|
|||
10
Vlaloplo
01.04.21
✎
18:00
|
(9) Ну у нас много подобных задач, в направлении программирования
Но вот именно с запросом слабо понимаю |
|||
11
Vlaloplo
01.04.21
✎
18:04
|
Нет ли у вас идей, как это сделать? Уж очень надо (
|
|||
12
Classic
01.04.21
✎
18:08
|
В (0) не геометрическая прогрессия
|
|||
13
Vlaloplo
01.04.21
✎
18:09
|
(12) Почему? 2 в степени 2 = 4
3 в степень = 9 4 в степень = 16 5 в степень = 25 ОТ 2 До 5 2 и 5 это параметры |
|||
14
Classic
01.04.21
✎
18:10
|
(13)
Геометричская прогрессия это немного другое. 2,4,8,16,32 и т.д. |
|||
15
Classic
01.04.21
✎
18:11
|
(0)
В общем случае данную задачу решить нельзя. Только в случае заранее известного ограничения на входящие числа |
|||
16
polosov
01.04.21
✎
18:11
|
(11) Гугли "порождающий запрос 1С" и кликай на первую ссылку.
|
|||
17
Vlaloplo
01.04.21
✎
18:14
|
(15), Может не много не понял тебя, числа то известны, все от X до Y
|
|||
18
Classic
01.04.21
✎
18:16
|
(17)
Да, ты меня не понял. Задачу "блаблабла при X и Y меньше миллиона" решить можно. Задачу "блаблабла при произвольных X и Y" - нельзя. |
|||
19
Vlaloplo
01.04.21
✎
18:17
|
(18) Хоть в бубен уже бей, так Y и есть Конечное число, за это пределы мы не уходим
Т.е получаем последовательность от Y и заканчиваем запрос |
|||
20
Vlaloplo
01.04.21
✎
18:18
|
(18) Или чего я могу тут не видеть в упор?
|
|||
21
Classic
01.04.21
✎
18:18
|
(17)
Размер результирующей таблицы запроса всегда ограничен сверху произведением размеров учавствующих в запросе таблиц. Потому исключительно силами 1С запроса создать бесконечную таблицу нельзя. Программно составить текст запроса, имея уже введенные X и Y - можно |
|||
22
Vlaloplo
01.04.21
✎
18:20
|
(21) Можешь подсказать как?
|
|||
23
Classic
01.04.21
✎
18:20
|
(19)
Запрос не "заканчивается". Выполнение запроса с точки зрения языка запросов - это не последовательная операция с условным завершением. Это получение таблиц (определенного размера) и их компоновка и обрезка |
|||
24
Михаил Козлов
01.04.21
✎
18:20
|
(0) Программно текст запроса подойдет?
|
|||
25
Vlaloplo
01.04.21
✎
18:26
|
(24) Мне бы уже хоть что то.. Преподу как нибудь объясню)
|
|||
26
Classic
01.04.21
✎
18:28
|
(25)
Врядли тебе кто-то будет кидать готовый запрос. Смысл? Показывай, что ты уже смог наваять. |
|||
27
polosov
01.04.21
✎
18:28
|
(25) Ты отсталый чтоле? В (16) сделай.
|
|||
28
Vlaloplo
01.04.21
✎
18:29
|
(27) Не думаю, что можно сразу оскорблять.. Все когда то учились, я это погуглил, понятней не стало
|
|||
29
Vlaloplo
01.04.21
✎
18:30
|
(26), все надеюсь на добрых людей, думаешь зря?
|
|||
30
acht
01.04.21
✎
18:31
|
(29) А на преподавателя почему не надеешся?
|
|||
32
polosov
01.04.21
✎
18:34
|
(28) Ну тут наши полномочия всё.
|
|||
33
Vlaloplo
01.04.21
✎
18:35
|
(29) преподаватель будет оценивать, а не помогать
|
|||
34
Vlaloplo
01.04.21
✎
18:36
|
ладно, спасибо и на этом.. Странно, почему 1С такие не добрые?) Но это уже другая ветка будет )
|
|||
35
sitex
naïve
01.04.21
✎
18:36
|
(0) Если лаба была на каком нить другом языке, я бы еще понял, ну мля не на 1С . ппц.
|
|||
36
Vlaloplo
01.04.21
✎
18:37
|
(35) К тому что 1С легкий язык или что?
|
|||
37
polosov
01.04.21
✎
18:39
|
(33) Я сам был студентотой, только 20 лет назад. Если бы у меня был тот массив инфы, что у вас сейчас, то я вообще бы все автоматом сдавал и не ходил бы на профильные предметы.
|
|||
38
sitex
naïve
01.04.21
✎
18:40
|
(36) Кому как . Что мешает переосмыслить это на бумаге и перевести все в запрос ?
|
|||
39
Волшебник
01.04.21
✎
18:44
|
(33) Преподаватель должен преподавать. Оценивать учителя должны ученики.
|
|||
40
Жан Пердежон
01.04.21
✎
19:05
|
(29) тебе уже сказали, что (0) противоречие - вместо геом.прогрессии поселдовательность квадратов, чего еще ты ждешь?
|
|||
41
sitex
naïve
01.04.21
✎
19:11
|
(40) Решения в чистом виде что был копи паст .
|
|||
42
experimentator76
01.04.21
✎
22:34
|
(41) а после выпуска потребует от двухста тыщ чтобы открывать конфигуратор
|
|||
43
Said_We
02.04.21
✎
11:41
|
(37) Игрался бы как и все студенты в игрушки и зависал бы в соцсетях - учился бы, ага рассмешил.
|
|||
44
Михаил Козлов
02.04.21
✎
11:44
|
(28) Попробую стимулировать. По (16) можно так:
ВЫБРАТЬ 0 КАК Х ПОМЕСТИТЬ Регистр1 ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Младшие.Х + 2 * Старшие.Х КАК Х ПОМЕСТИТЬ Регистр2 ИЗ Регистр1 КАК Младшие, Регистр1 КАК Старшие ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Младшие.Х + 4 * Старшие.Х КАК Х ПОМЕСТИТЬ Регистр4 ИЗ Регистр2 КАК Младшие, Регистр2 КАК Старшие ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Младшие.Х + 16 * Старшие.Х КАК Х ПОМЕСТИТЬ Регистр8 ИЗ Регистр4 КАК Младшие, Регистр4 КАК Старшие ; /////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Младшие.Х + 256 * Старшие.Х КАК Х ПОМЕСТИТЬ целые ИЗ Регистр8 КАК Младшие, Регистр8 КАК Старшие ; ///////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ целые.Х*целые.Х КАК X2 ИЗ целые ГДЕ целые.Х МЕЖДУ &мин И &макс УПОРЯДОЧИТЬ ПО Х2 |
|||
45
Михаил Козлов
02.04.21
✎
11:44
|
(44)+ Но не советую показывать препу: ухватится и начнет пытать.
|
|||
46
Said_We
02.04.21
✎
11:52
|
(0) Порождающий запрос в (44) и тут тоже в 58
,чтобы в последовательности числа не повторялись Вместо порождающего запроса в первой части на Т-SQL можно использовать рекурсивный. |
|||
47
Said_We
02.04.21
✎
11:55
|
Пример рекурсивного запроса тут:
Рекурсивный запрос на СКД по массиву параметров Только последовательность будет не от 0 до 9, а от 0 до 10. Сознательно написал в консоле запрос проверил и указал немного не тот результат. Интересно было - проверит кто или нет. Таковых не нашлось. :-) |
|||
48
Escander
02.04.21
✎
12:48
|
(0)вам следует разобраться с постановкой задачи... да и математику подтянуть 4,9,16,25 это не геометрическая прогрессия а квадраты чисел 2,3,4,5. Если вы не понимаете задачу - вы не сделаете правильное решение.
|
|||
49
Kassern
02.04.21
✎
13:38
|
(44) в данном случае получится таблица из 1024 чисел по порядку. А если зададут числа, выходящие за рамки данной таблицы?) Вот поэтому и в (21) написали, что нужно изначально узнать диапазон выбора для X Y. В противном случае, скорее всего придется программно запрос собирать и соединять таблицы N раз, чтобы результирующая таблица дала возможность выполнить условие.
|
|||
50
Mikeware
02.04.21
✎
13:43
|
(35) ну а какая разница? тот же SQL, только на русском
|
|||
51
Mikeware
02.04.21
✎
13:46
|
(37) зря "не ходил бы". грамотный препод обычно не столько дает "ценную информацию", сколько дает "верное направление", взаимосвязь.
но да, по возможностям учиться - зависть берет. а вот по применению студиоузами этих возможностей - охватывает ужас... |
|||
52
Kassern
02.04.21
✎
13:50
|
(2) интересно, загнется ли 1ска, если препод укажет два 14значных числа для последовательности с генерирующим запросом?)
|
|||
53
Михаил Козлов
02.04.21
✎
13:51
|
(52) Попробуйте.
|
|||
54
Kassern
02.04.21
✎
13:55
|
(53) судя по тому, что максимальная целая часть числа всего 32 символа, то врятли 1ска справится) Поэтому сама задача ТС без ограничения диапазона вводных данных звучит странно.
|
|||
55
rphosts
02.04.21
✎
14:18
|
(52) перемножая два 14 разрядных числа ты получишь число максимум из 28 разрядов... 1с поддерживает 32? - тогда справится
|
|||
56
Kassern
02.04.21
✎
14:24
|
(55) блин точно, повелся на фразу: "Таблица должна быть заполнена числами, составляющие геометрическую последовательность", а потом идет тупо пример с последовательностью квадратов...
|
|||
57
Said_We
02.04.21
✎
15:44
|
Это лаба - какие разряды и ОДЗ?
Генерация десятка тысяч квадратов чисел выше крыши. Преподавателю обрисовать устно или письменно, что от 0 и до скольки сгенеришь и усё. |
|||
58
Kassern
02.04.21
✎
15:59
|
(57) Здесь ключевая фраза "Преподавателю обрисовать устно или письменно", это я и хотел донести.
|
|||
59
Sserj
02.04.21
✎
16:47
|
Что то столько слов и ни одной подсказки :)
Вот запрос генерирует последовательность чисел от МинЗначение до МаксЗначение в пределах 1-1000000 Если этого мало просто добавить объединений банальным копипастом, каждое объединение увеличивает степень 10. Проверялось на MSSQL он выполняет ТОЛЬКО нужное количество обхединений. Тобишь если МинЗначение = 1 и МаксЗначение = 5 соединений вообще не будет, выберутся первые 5 строк и все.
|
|||
60
polosov
02.04.21
✎
16:49
|
(59) Хочу от 5 до 500
Текст запроса насколько вырастет? |
|||
61
Sserj
02.04.21
✎
16:49
|
(60) Ни насколько. Измени переменные в начале:
МинЗначение = 5; МаксЗначение = 500; И получишь таблицу с последовательностью от 5 до 500. |
|||
62
Sserj
02.04.21
✎
16:50
|
+(60) Диапазон 1-1000000 это какими могут быть минмальные и максимальные границы диапазона.
|
|||
63
Kassern
02.04.21
✎
16:56
|
(59) "Что то столько слов и ни одной подсказки :)" серьезно? В самом же начале написали про генерирующий запрос и отправили в пеший поход в поисковик. На первой же странице поисковика есть пример для диапазона от 0-1024. Увеличить его по аналогии проблем нет никаких. Еще и предупредили, что заранее нужно диапазон ввода данных определить. Что еще подсказать я хз...
|
|||
64
polosov
02.04.21
✎
17:00
|
(59) Ему наверняка уже пару влепили. Как обычный студент он пытался в последний день сделать наверное.
|
|||
65
Kassern
02.04.21
✎
17:03
|
(64) в последний день, это еще по божески, скорее всего на паре был, где нужно было это сдавать, за час два не нагуглил и усе(
|
|||
66
Said_We
02.04.21
✎
18:25
|
(59) "просто добавить объединений банальным копипастом" - ужасть, банальный копипаст....
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |