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