Запрос. Нарастающий итог. Как «я» его понимаю.

27.11.09

Разработка - Запросы

Известно, что запросы, простым способом не позволяют нумеровать строки и создавать нарастающие итоги. В запросах это возможно сделать только при соединении таблицы с самой собой достаточно хитрым способом, определенным образом упорядочивая, группируя и в соединения указывать неравенство.

Будет полезна изучающим запросы...

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
-
.epf 94,28Kb
284
284 Скачать (1 SM) Купить за 1 850 руб.

Ссылки при написании:

 

  1. http://www.gilev.ru/1c/81/index/optimquery.htm
  2. //infostart.ru/public/58966/
  3. //infostart.ru/public/61295/
  4. http://www.forum.mista.ru/topic.php?id=184893
  5. http://www.kb.mista.ru/article.php?id=703
  6.  //infostart.ru/public/21085/ 

 

Данная обработка показывает по шагам как нужно создавать в запросе нарастающий итог. В обработке реализовано два примера.

 

Первый пример.

Нумерация строк в запросе как яркий пример нарастающего итога. В качестве колонки_выбора выбран «код».

 

Второй пример.

Реализован нарастающий итог по колонке «сумма документа». В качестве колонки_выбора выбран «номер».

 

Примечание1. Во всех примерах в условиях отбора в запросе используется «пометка на удаление».

 

Последовательность действия при получении в запросе "НарастающихИтогов".

 

Перед написание запроса необходимо определить колонку по которой хотим получить нарастающий итог.

Если мы хотим получить нумерацию строк в результате запроса то выибирать можно любую колонку.

По выбранной_колонке будем сортировать, соединять и использовать при группировки в нашем итоговом запросе.

 

Шаг1. Составляем запрос в который должны попасть то что мы хотим видеть.

Шаг2. Дополнем наш запрос из Шаг1. его точной копией.

Шаг3. Соединяем таблицу и таблицу_копию по выбранной_колонке и по ней же упорядочиваем.

Шаг4. Группируем наш запрос так чтобы в суммируемые колонки попала выбранная_колонка

Шаг5. Меняем условие соединения таблиц на больше_равно

 

 

Готово. Смотрим результат. Вот.

 

Примечание2. Последовательность «шагов» может быть любая. Так данное описание составление запросов с нарастающим итогом условное.

 

Примечание3. Быстродействие данных запросов ресурсоемко. Для большинства повседневных задач их использование вполне приемлемо.


… ВОТ …

 

с Уважением  "Шёпот теней" - ИнфоСтарт - infostart.ru - //infostart.ru/profile/15616/

См. также

SALE! %

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 10000 руб.

02.09.2020    162611    896    401    

878

Запросы Программист Бесплатно (free)

Увидел cheatsheet по SQL и захотелось нарисовать подобное, но про запросы.

18.10.2024    10515    sergey279    18    

65

Запросы Программист Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

Столкнулся с интересной ситуацией, которую хотел бы разобрать, ввиду её неочевидности. Речь пойдёт про использование функции запроса АВТОНОМЕРЗАПИСИ() и проблемы, которые могут возникнуть.

11.10.2024    5666    XilDen    36    

81

Запросы Программист Запросы Бесплатно (free)

Отлаживая взаимодействие с базой данных, мы регулярно сталкиваемся с зависающими или подозрительно долго выполняющимися обращениями, негативно влияющими на производительность. О том, как в PostgreSQL выявить подозрительные запросы, основываясь на доступной о них информации, расскажем в статье.

16.08.2024    8336    user1840182    5    

28

Математика и алгоритмы Запросы Программист Платформа 1С v8.3 Запросы Бесплатно (free)

Рассмотрим быстрый алгоритм поиска дублей с использованием hash функции по набору полей шапки и табличных частей.

08.07.2024    2530    ivanov660    9    

22

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

Часто при разработке отчетов в СКД возникает ситуация, когда не совсем понятно, почему отчет выводит не те данные, которые нужны, либо не выводит вовсе. Возникает потребность увидеть конечный запрос, который формирует СКД. Как это сделать, рассмотрим в этой статье.

15.05.2024    9326    implecs_team    6    

47

Запросы Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Часто поступают задачи по произвольному распределению общих сумм. После распределения иногда пропадают копейки. Суть решения добавить АвтоНомерЗаписи() в ВТ распределения, и далее используя функции МАКСИМУМ или МИНИМУМ можем положить разницу копеек в первую или последнюю строку знаменателя распределения.

11.04.2024    3490    andrey_sag    10    

36
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. I_G_O_R 69 27.11.09 13:44 Сейчас в теме
насмешил :D , какая следующая статья будет "... как его понимаю" :?:
2. Mazaloff 27.11.09 14:25 Сейчас в теме
а ослик на картинке причем?
4. anig99 2852 27.11.09 14:53 Сейчас в теме
(2) а ослик, потому что "душераздирающее зрелище" эти нарастающие итоги в запросе....
3. anig99 2852 27.11.09 14:46 Сейчас в теме
гыы...все ссылки уже помечены как прочтенные (:
Шепот, на самом деле показан очень конкретный пример... Вместо больше равно может быть и меньше равно... в зависимости от целей...
Но для тех кто изучает сложное на примерах (как я например (% ) зер гуд...

Я очень рад, что моя статья вызвала-таки наконец ряд статей по теме.
А то если что и есть в инете, то только основы. Мне пришлось очень долго копаться прежде чем нашел упоминание об ограничении нарастающих итогов в запросах - большие объемы данных начинают существенно тормозить.
А уж метод обхода этого ограничения - это был вообще алес... ограничить выборку...


З.Ы. Предлагаю название изменить... Двухпальцевые нарастающие итоги и нумерация строк в запросе... Всё-таки если быть последовательным и логичным, то "понимаешь" ты в статьях, а вот обработки у тебя "двухпальцевые". Это без иронии.
5. Шёпот теней 1782 27.11.09 15:31 Сейчас в теме


... БОЛЬШОЕ видится на расстоянии, а начинается с МАЛОГО …


... если ВЫ умеете делать это в МАЛОМ то сделаете это и в БОЛЬШОМ ...


...
п.с.
Около ста пятидесяти лет назад возникла новая область научного знания - учение о подобии явлений.
Гениальное предвидение этой науки было высказано Ньютоном в 1686 г. Но только в 1848 г. Член французской академии наук Жозеф Бертран впервые установил основное свойство подобных явлений, сформулировав первую теорему подобия, теорему о существовании инвариантов подобия.
Подобными называются явления, происходящие в геометрически подобных системах, если у них во всех сходственных точках отношения одноимённых величин есть постоянные числа.

... писать "нарастающие итоги" - это доставать кость попавшую в горло через задний проход ...

... при помощи простого Запроса+ТаблицаЗначений = Результат любой сложности ... эффективнее и проще и предсказуемо ...

... ВОТ ...
Арчибальд; +1 Ответить
6. anig99 2852 27.11.09 16:43 Сейчас в теме
(5) хранение информации в текстовом виде намного проще и предсказуемо.
Уже было говорено, что абсолютно эффективных решений не бывает.
7. Ish_2 1113 27.11.09 17:02 Сейчас в теме
(6), (1) Шепот прав в одном - что опубликовал свое мнение по поводу нарастающих итогов.
Правда в том , что подавляющее(подчеркиваю , подавляющее) большинство пользователей ИС не знают , не умеют использовать запросы.
Шепот схватил это - и молодец !

Весь вопрос в том , как лучше подать материал о элементарном и с примерами и иллюстрациями :
"Запросы ... как я их понимаю" или проще "Чайник - для чайников"
где просто и доступно было объяснено "на пальцах" ( а кого стесняться?):

1. Внутреннее соединение
2. Полное соединение
3. Левое...
4. Правое..

5. Соединение по неравенству+ Нарастающие итоги.+ соединение по двойному неравенству и т.д.

6. Сумма с условием , Оператор Выбор и т.д.

Т.е. на мой взгляд полезен будет целый цикл статей . Шепот - молодец !

Что касается самой обработки - я её пока не смотрел. Но посмотрю обязательно.
8. Шёпот теней 1782 27.11.09 17:10 Сейчас в теме
...хм...

... итоговая сложность расчёта результата не должна быть выше самой максимально простой операции используемой при вычислении этого результата ...


... вопрос знатокам "нарастающих итогов":

например, требуется вычислить 2*3 = ...

как ВЫ ? думаете ? как компьютер получит результат ... ?

... вооот ...
10. Ish_2 1113 27.11.09 17:37 Сейчас в теме
(8) Шепот , ты не увиливай.
Давай обсудим текст твоих запросов. Чуть позже.
11. Шёпот теней 1782 27.11.09 17:54 Сейчас в теме
Ish_2 ...

декларативный язык запросов - один из самых "дурацких" языков программирования ...

придумывался как "для всех" - оказался для "посвщЁнных" ...

объснить его работу, словами, по-этапно - не возможно ... в лучшем случае картинками ... т.к. построение запросов это не язык "логики" а язык "желания" ...

.. увиливаешь обычно ТЫ ... ответь на (8) ...
12. Ish_2 1113 27.11.09 20:16 Сейчас в теме
объснить его работу, словами, по-этапно - не возможно ... в лучшем случае картинками ... т.к. построение запросов это не язык "логики" а язык "желания" ...


Так ведь в корень смотришь !
Именно так и нужно : диаграммки и картинки.
Я ж тебя подбиваю...

декларативный язык запросов - один из самых "дурацких" языков программирования ...

придумывался как "для всех" - оказался для "посвщЁнных" ...


не вижу темы для обсуждения.

.. увиливаешь обычно ТЫ ... ответь на (8) ...


Шепот я пришел к тебе в тему . По-честному.
Обсуждаю ТОЛЬКО содержание ТВОЕЙ статьи.
Тема : Запросы.

Ты же меня хочешь затащить в обсуждение некорректных или допускающих бесконечно много толкований рассуждений.
Не-а. Не затащишь.
Только текст ТВОЕЙ статьи. Только текст ТВОИХ запросов.
Обработку не скачал . Скачаю дома .
Угрожаю : долбить буду по -взрослому.
13. Шёпот теней 1782 27.11.09 21:43 Сейчас в теме
Ish_2 ... ты меня удивляешь ...

1. по взрослому мне бы хотелось в твоих статьях ...
2. я же уже высказался по поводу нарастающих итогов в запросах -в серьёз это обсуждать можно только в философских поисках о границах языка запросов но не для практики ... или приведи примеры ...
3. именно поэтому и придумали "новые" костыли в виде - СКД ... соединив запрос и ТЗ ...
4. рисовать рисунки и чертить схемы на такие примеры - уж совсем дело последнее ...
5. понимание в запросах приходит только через "ручки", в основном ...

... вот ...

всЁ таки, мне гораздо интереснее (8) ...

... вотТАКмнеОЧЕНЬкажется ...
9. Ish_2 1113 27.11.09 17:25 Сейчас в теме
Продолжаю. Теперь о недостатках.

Считаю недостатком отсуствие иллюстраций - рисунков.
Две Простенькие таблички - и стрелками показано какая строка из первой талицы соединяется со строками из второй таблицы. И тогда вся суть соединения по неравенству была понятна даже непосвященному.

Считаю недостатком отсуствие текстов запросов в самой статье.
Текст должен быть на рисунке и разбит на секции :
Поля выборки, условия соединения и т.д.

Т.е. такие статьи для начинающих нужно делать максимально подробными и иллюстрированными.

Перечисленные шаги 1-5 мало ,что дают непосвященному.

Т.е. если бы я был изучающим, я бы твоей статьей не заинтересовался.
Надеюсь след. статья о запросах будет подробной и иллюстрированной.
Давай , Шепот ! Жми !
14. Ish_2 1113 28.11.09 13:51 Сейчас в теме
Долбежка откладывается. К сожалению.

1. Страраюсь.

2. Статья Anig99 как раз и переводит фил.вопос о границах использования языка запросов в практический вопрос : Как правильно использовать язык запросов для вычисления нарастающих итогов ? Именно в ней и говорится о том, что "в лоб" применять запрос для таких вычислений не стоит.
Нужно применять вычисление нарастающих итогов для небольших таблиц.
Как последовательно получать эти небольшие таблицы сказано сначала у Anig99 , потом у меня.
Шепот , ты этого просто не понял.

3. Нет . Шепот, СКД придумали совсем не для этого. И проблему трудного вычисления нарастающих итогов СКД НЕ РЕШАЕТ.

4. Жаль
5. Согласен.

6. Не заманишь, хитрец...
15. Шёпот теней 1782 28.11.09 15:02 Сейчас в теме
(14)

1. посмотрим "болтунишка" ... увидим "болтунишка" ...
2. нет конкретных примеров - говорить не о чЕм ... кому нужны ЭТИ неБОЛЬШИЕ таблицы ... то у вас 200 гигов а то НЕбольшие таблицы ... бегаете по кругу "батенька"-ссс ... да-ссс ... по-кругу-ссс ...
3. ну... ну... а для чего ТОГДА придумали ЭТИновомодныеКОСТЫЛИ .. ???
4. левизна ... детский вопрос ... без абстракций нет программиста ...
5. нууу... нЕужели ... ??? ... может ещЁ подумаешь ...
6. жаль ... фундаментальный вопрос всех вычислений ... кстати это и к п3. относится ...

... вОООттакиеСубботнииПрения ... ))) ...
16. Ish_2 1113 28.11.09 15:34 Сейчас в теме
(15)
1. Ага.
2. Прочитай статью Anig99 там есть ссылка на реальный отчет который работает в конкретной базе 120Гб.
3. В частности. СКД позволяет делать то , что не позволяет делать постоитель отчета - произвольное группирование колонок отчета, произвольное количество таких группировок.
Пример : В БП 1.6 есть отчет "Обороты счета" и сделан он "вручную" с тяжкими преобразованиями. В СКД такой отчет делается гораздо проще.
СКД - не костыли , а требование времени.
4. Умничаешь ?
5. Умничаешь ?
6. фундаментальные вопросы так не формулируются.
Впрочем , ты же у нас бравируешь отрицанием важности формы, тебе же главное -содержание. Про единство формы и содержания мы поговорим в другой раз.
17. Шёпот теней 1782 28.11.09 15:52 Сейчас в теме
(16)

1. ... слова ... слова ... слова ... как много в них НЕ сделанного ...
2. ... нууу ... онанизм - пусть даже и цифровой то же кому-то приятен ...
3. любая ТЗ позволяет группировать - и вдоль - и поперЁк - и "о-боже" даже по-диогонали ...
4. нет ...
5. ага ...
6. чем фундаментальнее вопрос - тем ОН проще ... например, почему Земля крутится ? ...

п.с. НЕсогласен.
... я говорю о единстве, о гармонии - "формы" и "содержания" ... вот ...
18. Ish_2 1113 28.11.09 16:06 Сейчас в теме
1...
2....
3. Шепот , СКД надо изучить.
4. Да.
5. То-то.
6. Твоя статья - про запросы.

P.S. Ну вот и хорошо.
19. Шёпот теней 1782 28.11.09 16:25 Сейчас в теме
(18)

3. ну... ну, да ... да ... "я эту книгу не читал но по поводу её содержания могу сообщить следующее ... " ...
4. уломал ...
5. ага ...
6. ??? ... моя статья - срубить "плюс"-ов по лЁгкому ...

... но, как видишь ... "нарастающие итоги" нафигникомуненужны ... ))) ...
20. Ish_2 1113 28.11.09 17:05 Сейчас в теме
Ты просто не умеешь их готовить.
21. Шёпот теней 1782 28.11.09 20:45 Сейчас в теме
(20) .. нууу конечно же ... кто жжжеее спорит ....

назвать надо было типа:

1. Пять шагов постижения ...
2. Запросы и нарастающие итоги ...
3. Метдика решения нарастающих итогов в запросах ...
...

.. ну и ещё всякой були-були поднаписать ... и обязательно указать много-много ГБайт, жути нагнать рисунками и графиками ... и обязательно должны быть непонятные слова типа "глбоко-детальный анализ показывает", "после использования ограничения выборки в таблицах", " скорость получения таблиц результатов при использовании данного метода увеличена в 4-5 раз", привести кучу таблиц с замерами ...

... ага ... ага ...

22. larisab 160 28.11.09 21:10 Сейчас в теме
(21) Кухню свою раскрываешь ;)
(19) По легому срубить не получается, как видишь. :)
23. artbear 1563 30.11.09 13:58 Сейчас в теме
(0) Слабовато, для начинающих этого мало :(
Минусую
24. annak2980 01.12.09 22:21 Сейчас в теме
Простой вопрос: на какую категорию пользователей ИС ориентирована сия статья?
Профессионалы, как видно из комментариев, в подобной информации не нуждаются, а у новичка (1 скачивание в день) в силу сумбурности описания желание скачать отпадает.
25. Шёпот теней 1782 01.12.09 22:49 Сейчас в теме
(24) ... хм ...

вопрос: "на какую категорию пользователей ИС ориентирована сия статья? "


ответ1.
... явно для вас ...

ответ2.
... явно не для них...

ответ3.
... ну ни шмог, ни шмог "я" ...

ответ4.
... затрудняюсь ответить ...

ответ5.
... другое ...

п.с. выберите ответ который вам подойдЁт ...

... вотРиторическийОтветнаНеМенееРиторическийВопрос ...
26. anig99 2852 01.12.09 23:31 Сейчас в теме
(24)(25) И тем, и тем это интересно.
Новичкам - как сделать. Опытным - а на фуа это собственно надо.
Шёпот теней; +1 Ответить
27. Шёпот теней 1782 01.12.09 23:53 Сейчас в теме
(26) ... зАстрелил ... ))) ... (: ...
28. Ivon 676 02.12.09 09:41 Сейчас в теме
Занимательно, но очень долго отрабатывает. Для программиста - не оптимизировано. Для пользователя - быстрее вставить результат отчета в Ексель и там пронумеровать строки. Полностью согласен с (26).
29. Шёпот теней 1782 02.12.09 10:11 Сейчас в теме
(28) ... уписаться можно ... ииии с чем ВЫ собственно согласны в (26) и почему ? ...

...рекомендую посетить ветки товарищей: anig99, Ich_2, I_G_O_R по теме запросов ... там есть и мои комментарии по поводу и нарастающих итогов в том числе ...

... вопрос не в том что долго или быстро ... вопрос можно или нельзя ... и зачем это нужно ... ???
ответ: - можно НО не нужно ...

... вообщем за что боролся на то и напоролся ... ))) ... это о себе ...

... нуууу тогда бы и оптимизировали бы заодно ужжжж ... и нам бы показали ...
... нуууу или свой "нарастающий итог" напишите .... нам покажите ...

... вот ...
30. Ivon 676 02.12.09 10:41 Сейчас в теме
(29)
Новичкам - как сделать. Опытным - а на фуа это собственно надо.

Вот с этим согласен. Я не говорил, что статья никому не нужна и абсолютно бесполезна и не говорил, что нельзя, потому что долго. Для каждой задачи есть своя реализация, зависящая от необходимого результата. Можно - и это хорошо, но в данном случае каждый уже выберет НУЖНО это ему или нет. Вы проделали работу и показали результат и как его добиться. Я всего лишь высказал свое мнение по поводу нюансов при выполнении такого запроса.
Шёпот теней; +1 Ответить
31. Шёпот теней 1782 02.12.09 10:44 Сейчас в теме
(30) ... принято .. спасибо ... вот ...
32. ILM3 03.12.09 07:59 Сейчас в теме
Сломайте пожалуйста кнопку с точкой у Шёпота теней. Пожалуйста!
Или пусть Dushelov напишите ему драйвер клавиатуры, который будет троекратные нажатия кнопки "точка" заменять на однократное нажатие.

Я не понимаю зачем нужно писать так коментарии:
... бла-бла ... бла-бла ...
... бла-бла ... бла-бла ...
... бла-бла ... бла-бла ...
... ВОТ!!! ...

Учитесь уважать своих читателей.
Спасибо за внимание.


33. anig99 2852 03.12.09 08:44 Сейчас в теме
(32) тут многие пытались...даже банить хотели. Только смысл? Уж лучше он так пишет, чем матом ругается или имена коверкает.
36. anig99 2852 03.12.09 22:07 Сейчас в теме
34. Шёпот теней 1782 03.12.09 14:59 Сейчас в теме
(32) ... у всЕх свОи тАрАкАны ... простите ужжж и Вы мои ... вОт ...
35. Ish_2 1113 03.12.09 19:59 Сейчас в теме
Планка до оскорбления невысока :
Уж лучше он так пишет, чем матом ругается или имена коверкает.


Ты, Шепот , на провокации в (32),(33) не поддавайся. Гни свою линию.
Поверь , стоит тебе дрогнуть и связать хоть раз обрывки мыслей в связное предложение - тебе конец ! ЗАМОРДУЮТ .
..требованиями писать всегда нормально.
37. tango 546 04.12.09 09:15 Сейчас в теме
38. truba 25.03.10 18:18 Сейчас в теме
... Через четверть года идея пригодилась в одном интересном решении, спасибо.
39. Збянтэжаны Саўка 245 22.04.10 14:54 Сейчас в теме
Обобщение по шагам - это всегда результат большой предварительной работы на практике.
Люблю я такие обобщения вначале документов, ибо сразу видны трудозатраты и естественно повышается ценность и желание поглубже вникнуть в смысл статьи особенно для новичка который пока не ориентируется в мире 1С.
Прошепчу спасибо, чтобы не нарушить покой теней Ж)
40. Шёпот теней 1782 22.04.10 15:38 Сейчас в теме
(39) ... очень рад если каким-то образом помогло ... вот ...
Оставьте свое сообщение