powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / СКД. Итог по строке
25 сообщений из 80, страница 2 из 4
СКД. Итог по строке
    #37798972
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сТоесть Вы утверждаете что ваша работа с тз эффетивнее чем тот же расчет в запросе?

В каких-то случаях да, в случаях, когда слишком много таблиц и соединений.

Программист 1сИными словами виртуальное соединение 2 таблиц в скуле выполняется медленнее чем вы их делаете кодом на сервере 1с?

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

Программист 1сАргументы будут с примерами производительности?
Ну предоставьте отчет, который нуждается в оптимизации. Естественно отчет вида:

авторВЫБРАТЬ
Номенклатура.Код,
Номенклатура.Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)


всегда выйграет, так как он не нуждается в оптимизации.
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799086
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭникейщикНу не две таблицы, две таблицы конечно выйграют, имеются в виду 48 запросов, в которых еще столько же подзапросов, группировок и т.д. для получения необходимого вида отчета. Не факт, что код будет на сервере выполняться.

Во-первых, 48 ТЗ, в которой еще по 48 ТЗ проще обработать в коде?
Во-вторых, у вас реально есть такой запрос(было бы любопытно узнать, что же вы там запрашиваете)?
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799098
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭникейщикНу предоставьте отчет, который нуждается в оптимизации. Естественно отчет вида:

авторВЫБРАТЬ
Номенклатура.Код,
Номенклатура.Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Ссылка В ИЕРАРХИИ(&Группа)


всегда выйграет, так как он не нуждается в оптимизации.

Обоснуйте!
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799100
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!ЭникейщикНу не две таблицы, две таблицы конечно выйграют, имеются в виду 48 запросов, в которых еще столько же подзапросов, группировок и т.д. для получения необходимого вида отчета. Не факт, что код будет на сервере выполняться.

Во-первых, 48 ТЗ, в которой еще по 48 ТЗ проще обработать в коде?
Во-вторых, у вас реально есть такой запрос(было бы любопытно узнать, что же вы там запрашиваете)?
Задача, вытащить последние 3 цены в разные столбцы запросом, решение:
автор ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура,
МАКСИМУМ(ВложенныйЗапрос.Цена) КАК Цена,
МАКСИМУМ(ВложенныйЗапрос.Цена1) КАК Цена1,
МАКСИМУМ(ВложенныйЗапрос.Цена2) КАК Цена2
ИЗ
(ВЫБРАТЬ
ДатыПривязок.Номенклатура КАК Номенклатура,
ЦеныНоменклатуры.Цена КАК Цена,
ЦеныНоменклатуры1.Цена КАК Цена1,
ЦеныНоменклатуры2.Цена КАК Цена2
ИЗ
(ВЫБРАТЬ
ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период,
МАКСИМУМ(ЦеныНоменклатуры1.Период) КАК Период1,
МАКСИМУМ(ЦеныНоменклатуры2.Период) КАК Период2,
ЦеныНоменклатуры.ТипЦен КАК ТипЦен
ИЗ
РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры1
ПО ЦеныНоменклатуры.Номенклатура = ЦеныНоменклатуры1.Номенклатура
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры2
ПО ЦеныНоменклатуры.Номенклатура = ЦеныНоменклатуры2.Номенклатура
ГДЕ
ЦеныНоменклатуры.Номенклатура В ИЕРАРХИИ(&Номенклатура)
И ЦеныНоменклатуры.ТипЦен = &ТипЦен
И ЦеныНоменклатуры.Период > ЦеныНоменклатуры1.Период
И ЦеныНоменклатуры.Период > ЦеныНоменклатуры2.Период
И ЦеныНоменклатуры1.Период > ЦеныНоменклатуры2.Период
И ЦеныНоменклатуры1.Номенклатура В ИЕРАРХИИ(&Номенклатура)
И ЦеныНоменклатуры1.ТипЦен = &ТипЦен
И ЦеныНоменклатуры2.ТипЦен = &ТипЦен
И ЦеныНоменклатуры2.Номенклатура В ИЕРАРХИИ(&Номенклатура)

СГРУППИРОВАТЬ ПО
ЦеныНоменклатуры.Номенклатура,
ЦеныНоменклатуры.ТипЦен) КАК ДатыПривязок
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО ДатыПривязок.Номенклатура = ЦеныНоменклатуры.Номенклатура
И ДатыПривязок.ТипЦен = ЦеныНоменклатуры.ТипЦен
И ДатыПривязок.Период = ЦеныНоменклатуры.Период
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры1
ПО ДатыПривязок.Номенклатура = ЦеныНоменклатуры1.Номенклатура
И ДатыПривязок.ТипЦен = ЦеныНоменклатуры1.ТипЦен
И ДатыПривязок.Период1 = ЦеныНоменклатуры1.Период
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры2
ПО ДатыПривязок.Номенклатура = ЦеныНоменклатуры2.Номенклатура
И ДатыПривязок.ТипЦен = ЦеныНоменклатуры2.ТипЦен
И ДатыПривязок.Период2 = ЦеныНоменклатуры2.Период

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

ВЫБРАТЬ
ДатыПривязок.Номенклатура,
ЦеныНоменклатуры.Цена,
ЦеныНоменклатуры1.Цена,
0
ИЗ
(ВЫБРАТЬ
ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период,
МАКСИМУМ(ЦеныНоменклатуры1.Период) КАК Период1,
ЦеныНоменклатуры.ТипЦен КАК ТипЦен
ИЗ
РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры1
ПО ЦеныНоменклатуры.Номенклатура = ЦеныНоменклатуры1.Номенклатура
ГДЕ
ЦеныНоменклатуры.Номенклатура В ИЕРАРХИИ(&Номенклатура)
И ЦеныНоменклатуры.ТипЦен = &ТипЦен
И ЦеныНоменклатуры.Период > ЦеныНоменклатуры1.Период
И ЦеныНоменклатуры1.Номенклатура В ИЕРАРХИИ(&Номенклатура)
И ЦеныНоменклатуры1.ТипЦен = &ТипЦен

СГРУППИРОВАТЬ ПО
ЦеныНоменклатуры.Номенклатура,
ЦеныНоменклатуры.ТипЦен) КАК ДатыПривязок
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО ДатыПривязок.Номенклатура = ЦеныНоменклатуры.Номенклатура
И ДатыПривязок.ТипЦен = ЦеныНоменклатуры.ТипЦен
И ДатыПривязок.Период = ЦеныНоменклатуры.Период
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры1
ПО ДатыПривязок.Номенклатура = ЦеныНоменклатуры1.Номенклатура
И ДатыПривязок.ТипЦен = ЦеныНоменклатуры1.ТипЦен
И ДатыПривязок.Период1 = ЦеныНоменклатуры1.Период

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

ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
ЦеныНоменклатурыСрезПоследних.Цена,
0,
0
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ГДЕ
ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
И ЦеныНоменклатурыСрезПоследних.Номенклатура В ИЕРАРХИИ(&Номенклатура)) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Номенклатура

А 5 последних цен? А десять? Ну захотел манагер и все тут.
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799112
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и где 48 по 48?
И что, вы утверждаете, что это проще выполнить кодом, а не запросом?
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799119
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!ЭникейщикНу предоставьте отчет, который нуждается в оптимизации. Естественно отчет вида:

пропущено...


всегда выйграет, так как он не нуждается в оптимизации.

Обоснуйте!
Вам нужно обосновать очевидное? Что запрос в котором одна таблица будет работать быстрее программного перебоары этих же объектов? Я думаю Вам стоит почитать литературу, по мне - мое утверждение очевидно.
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799122
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!Ну и где 48 по 48?
И что, вы утверждаете, что это проще выполнить кодом, а не запросом?
48 - это был сарказм (если Вы не поняли) в следующий раз буду писать для Вас "много". Дочитайте посто до конца, там написано:
"А пять?", "А десять?"
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799128
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭникейщикThe Dim!пропущено...


Обоснуйте!
Вам нужно обосновать очевидное? Что запрос в котором одна таблица будет работать быстрее программного перебоары этих же объектов? Я думаю Вам стоит почитать литературу, по мне - мое утверждение очевидно.
Т.е. по вашему и всё тут, аргументации и ссылок на какие либо литературные источники нет, так что же мне читать-то?
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799132
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭникейщикThe Dim!Ну и где 48 по 48?
И что, вы утверждаете, что это проще выполнить кодом, а не запросом?
48 - это был сарказм (если Вы не поняли) в следующий раз буду писать для Вас "много". Дочитайте посто до конца, там написано:
"А пять?", "А десять?"
Где здесь пять или десять?
Вы же назвали сами такое количество таблиц, не я. А теперь "я не я, корова не моя".
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799133
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!Эникейщикпропущено...

Вам нужно обосновать очевидное? Что запрос в котором одна таблица будет работать быстрее программного перебоары этих же объектов? Я думаю Вам стоит почитать литературу, по мне - мое утверждение очевидно.
Т.е. по вашему и всё тут, аргументации и ссылок на какие либо литературные источники нет, так что же мне читать-то?
да легко
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799142
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!Эникейщикпропущено...

48 - это был сарказм (если Вы не поняли) в следующий раз буду писать для Вас "много". Дочитайте посто до конца, там написано:
"А пять?", "А десять?"
Где здесь пять или десять?
Вы же назвали сами такое количество таблиц, не я. А теперь "я не я, корова не моя".
Вы просили пример запроса, вот Вам пример, недописанного до десяти столбцов. Хотите допишите=)=) Если разберетесь)))
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799167
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭникейщикThe Dim!пропущено...

Где здесь пять или десять?
Вы же назвали сами такое количество таблиц, не я. А теперь "я не я, корова не моя".
Вы просили пример запроса, вот Вам пример, недописанного до десяти столбцов. Хотите допишите=)=) Если разберетесь)))

Нет не хочу.

а) Это будет акт плагиата с моей стороны
б) Даже боюсь трогать код Мастера ;)
в) Это уже будет не Ваш пример, а мой.
г) 48 таблиц по и 48 вложенных - там и не пахнет.


ЭникейщикThe Dim!пропущено...

Т.е. по вашему и всё тут, аргументации и ссылок на какие либо литературные источники нет, так что же мне читать-то?
да легко

Аналогично было бы дать ссылку на любой поисковый сервер. Громогласные заявления, а из доводов ничего, только "по моему мнение". Извините, не авторитетное/голословное.
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799214
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!Нет не могу.

/fix



The Dim!а) Это будет акт плагиата с моей стороны

Ничего старшного

The Dim!б) Даже боюсь трогать код Мастера ;)

Глаза бояться - руки делают.

The Dim!в) Это уже будет не Ваш пример, а мой.

В этом нет особых различий


The Dim!г) 48 таблиц по и 48 вложенных - там и не пахнет.

Я уже Вам говорил, что там может быть много таблиц, взависимости от количества последних цен.

The Dim!Аналогично было бы дать ссылку на любой поисковый сервер. Громогласные заявления, а из доводов ничего, только "по моему мнение". Извините, не авторитетное/голословное.
В том то и дело, что копипастить Вам документацию не вижу смысла.
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799670
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭникейщикThe Dim!Нет не могу./fix
Это что и где?

ЭникейщикThe Dim!б) Даже боюсь трогать код Мастера ;)
Глаза бояться - руки делают.
ЭникейщикThe Dim!г) 48 таблиц по и 48 вложенных - там и не пахнет.
Я уже Вам говорил, что там может быть много таблиц, взависимости от количества последних цен.

Да вот, пожалуйсто :)

авторВЫБРАТЬ
ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
МАКСИМУМ(ЦеныНоменклатуры1.Период) КАК Период1,
МАКСИМУМ(ЦеныНоменклатуры2.Период) КАК Период2,
ЦеныНоменклатуры.ТипЦен КАК ТипЦен
ПОМЕСТИТЬ ТаблицаПериодов
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныНоменклатуры
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры1
ПО ЦеныНоменклатуры.Номенклатура = ЦеныНоменклатуры1.Номенклатура
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры2
ПО ЦеныНоменклатуры.Номенклатура = ЦеныНоменклатуры2.Номенклатура
ГДЕ
ЦеныНоменклатуры.Период > ЦеныНоменклатуры1.Период
И ЦеныНоменклатуры.Период > ЦеныНоменклатуры2.Период
И ЦеныНоменклатуры1.Период > ЦеныНоменклатуры2.Период

СГРУППИРОВАТЬ ПО
ЦеныНоменклатуры.Номенклатура,
ЦеныНоменклатуры.ТипЦен

ИНДЕКСИРОВАТЬ ПО
ТипЦен,
Период1,
Номенклатура,
Период2
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
ТаблицаПериодов.Номенклатура,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена1,
ЦеныНоменклатуры.Цена КАК Цена2,
ЦеныНоменклатуры1.Цена КАК Цена3
ИЗ
ТаблицаПериодов КАК ТаблицаПериодов
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ПО ТаблицаПериодов.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ТаблицаПериодов.ТипЦен = ЦеныНоменклатурыСрезПоследних.ТипЦен
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО ТаблицаПериодов.Номенклатура = ЦеныНоменклатуры.Номенклатура
И ТаблицаПериодов.ТипЦен = ЦеныНоменклатуры.ТипЦен
И ТаблицаПериодов.Период1 = ЦеныНоменклатуры.Период
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры1
ПО ТаблицаПериодов.Номенклатура = ЦеныНоменклатуры1.Номенклатура
И ТаблицаПериодов.ТипЦен = ЦеныНоменклатуры1.ТипЦен
И ТаблицаПериодов.Период2 = ЦеныНоменклатуры1.Период

Ну... и какие вложенные таблицы?

ЭникейщикThe Dim!в) Это уже будет не Ваш пример, а мой.В этом нет особых различий
Есть и они очень значимы.

ЭникейщикThe Dim!Аналогично было бы дать ссылку на любой поисковый сервер. Громогласные заявления, а из доводов ничего, только "по моему мнение". Извините, не авторитетное/голословное.
В том то и дело, что копипастить Вам документацию не вижу смысла.
Спасибо, мне не нужно. А Вам?
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799720
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!Это что и где?

В этом месте нужно было подумать головой, Вы с этим не справились.

The Dim!Да вот, пожалуйсто :)

Что пожайлусто? Нерабочий запрос? Где данные по новому товару, у которых всего одна цена в регистра сведений проставлена?

The Dim!Ну... и какие вложенные таблицы?

Не вижу смысла обсуждать нерабочие запросы.


The Dim!Есть и они очень значимы.

Спасибо, что убедили меня в этом, Ваш запрос нерабочий, а мой рабочий, действительно, разница есть.

The Dim!Спасибо, мне не нужно. А Вам?

Несколько сообщений назад, Вы сами попросили и сказали, что Вам это нужно. Вы уж определитесь.
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799833
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭникейщикThe Dim!пропущено...

Вам нужно обосновать очевидное? Что запрос в котором одна таблица будет работать быстрее программного перебоары этих же объектов? Я думаю Вам стоит почитать литературу, по мне - мое утверждение очевидно.

Т.е. по вашему и всё тут, аргументации и ссылок на какие либо литературные источники нет, так что же мне читать-то?
да легко Тоесть ссылку на конкретную статью Вы не покажите?

И никаких источников для подтверждения Ваших слов нету?

Еще раз - прошу укажите на каком основании Вы считаете что данный код будет выполняться быстрее на сервере 1с (или как вы заметили на клиенте) чем на скуле? Прошу указать методичку по рекомендациям выполнения подобных запросов.
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37799984
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сЭникейщикпропущено...

да легко Тоесть ссылку на конкретную статью Вы не покажите?

И никаких источников для подтверждения Ваших слов нету?

Еще раз - прошу укажите на каком основании Вы считаете что данный код будет выполняться быстрее на сервере 1с (или как вы заметили на клиенте) чем на скуле? Прошу указать методичку по рекомендациям выполнения подобных запросов.

Как я дам Вам ссылку на свой мозг?

Ловите, раз уж так хотите.
Тестовые данные:
Ноут (селерон кор дуо, 2 Гб ОП, венда 7 32 бит, скуль 2005, серверный вариант работы, платформа 8.1, УТ (много доработок, не думаю, что это важно), база 50 гБ

Начнем пожалуй. Ваш вариант работы, связываем две таблицы (берем продажи с накоплением:


авторВЫБРАТЬ
Продажи.Номенклатура.Код КАК НоменклатураКод,
Продажи.Период КАК Период,
СУММА(Продажи1.Количество) КАК Количество1
ИЗ
РегистрНакопления.Продажи КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи1
ПО Продажи.Номенклатура = Продажи1.Номенклатура
И Продажи.Период >= Продажи1.Период
ГДЕ
Продажи.Период МЕЖДУ &ДН И &ДК
И Продажи.Номенклатура В ИЕРАРХИИ(&Группа)
И Продажи1.Период МЕЖДУ &ДН И &ДК

СГРУППИРОВАТЬ ПО
Продажи.Номенклатура.Код,
Продажи.Период

УПОРЯДОЧИТЬ ПО
НоменклатураКод,
Период

Запускаем код, парамтеры ставлю за один месяц, по одной группе товара, засекаю по часам на ноуте, получилось ориентирововчно 25 секунд, запускал несколько раз.

Берем мой вариант работы, я выбираю продажи и накопление собираю таблицей значений:

авторЗапрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Продажи.Номенклатура.Код КАК Код,
| Продажи.Период КАК Период,
| Продажи.Количество
|ИЗ
| РегистрНакопления.Продажи КАК Продажи
|ГДЕ
| Продажи.Период МЕЖДУ &ДН И &ДК
| И Продажи.Номенклатура В ИЕРАРХИИ(&Группа)
|
|СГРУППИРОВАТЬ ПО
| Продажи.Период,
| Продажи.Номенклатура.Код,
| Продажи.Количество
|
|УПОРЯДОЧИТЬ ПО
| Код,
| Период";

Запрос.УстановитьПараметр("ДН",Элементыформы.ДН.Значение );
Запрос.УстановитьПараметр("ДК",Элементыформы.ДК.Значение );
Запрос.УстановитьПараметр("Группа",Элементыформы.Группа.Значение );

Результат = Запрос.Выполнить();
ТЗ=новый ТаблицаЗначений;
ТЗ=Запрос.Выполнить().Выгрузить();
СтарыйКод="";
СтароеКоличество=0;

Для каждого Стр Из ТЗ Цикл
ТекущийКод=Стр.Получить(0);
ТекушееКоличество=Стр.Получить(2);

Если ТекущийКод=СтарыйКод тогда
Стр.Установить(2, ТекушееКоличество+СтароеКоличество);
СтарыйКод=ТекущийКод;
СтароеКоличество=ТекушееКоличество+СтароеКоличество;
иначе
СтарыйКод=ТекущийКод;
СтароеКоличество=ТекушееКоличество;
конецесли;

КонецЦикла;
постр=новый построительотчета;
постр.источникданных=новый описаниеисточникаданных(ТЗ);
постр.заполнитьнастройки();
ТД=новый табличныйдокумент;
постр.вывести(ТД);
ТД.показать();
Получаю 2-4 секунды.
Мой вариант минимум в 5 раз быстрее!!!!
Какие Вам ее доказательства? Иите сами себе литературу. читайте про планы выполнения запросов и тренируйтесь.
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37800079
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда используется такое соединение сначала нарастающие итоги съедят дубликатами память РСУБД и только в процессе группировки её освободит при этом кроме памяти будет неэффективно использован процессор при группировке. А у нас ещё кроме этого отчёта что-то в данный момент работает.
Вот так при разработке не думаете, а потом нужны мега процессоры, килограммы памяти... зато быстро разрабатываем то, что мне в последующем нужно переписывать т.к. время исполнения не выдерживает никакой критики.

PS: В вашем случае если во временную таблицу загнать итоги, а потом соединить итоги с итогами при маленьких данных страшного ничего не произойдёт, просто дело принципа сразу указать правильный подход, а не вариант предложенный позже, который я разумеется знал, но данный подход несёт в себе недостаток, в случае когда данных "килограммам".
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37800279
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭникейщикВЫБРАТЬ
Продажи.Номенклатура.Код КАК НоменклатураКод,
Продажи.Период КАК Период,
СУММА(Продажи1.Количество) КАК Количество1
ИЗ
РегистрНакопления.Продажи КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи1
ПО Продажи.Номенклатура = Продажи1.Номенклатура
И Продажи.Период >= Продажи1.Период
ГДЕ
Продажи.Период МЕЖДУ &ДН И &ДК
И Продажи.Номенклатура В ИЕРАРХИИ(&Группа)
И Продажи1.Период МЕЖДУ &ДН И &ДК

СГРУППИРОВАТЬ ПО
Продажи.Номенклатура.Код,
Продажи.Период

УПОРЯДОЧИТЬ ПО
НоменклатураКод,
Период

А вы пробовали, как вы выше же выражались, включить свой мозг?

Подумайте над этим
авторВЫБРАТЬ
Продажи.Номенклатура.Код КАК Код,
Продажи.Период КАК Период,
Продажи.КоличествоОборот КАК Количество
ПОМЕСТИТЬ ВТТаблицаПродаж
ИЗ
РегистрНакопления.Продажи.Обороты(&ДН, &ДК, Запись, Номенклатура В ИЕРАРХИИ (&Группа)) КАК Продажи
ИНДЕКСИРОВАТЬ ПО
Период,
Код
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Продажи1.Код КАК Код,
Продажи1.Период КАК Период,
СУММА(Продажи2.Количество) КАК Количество
ИЗ
ВТТаблицаПродаж КАК Продажи1
ЛЕВОЕ СОЕДИНЕНИЕ ВТТаблицаПродаж КАК Продажи2
ПО Продажи1.Код = Продажи2.Код
И Продажи1.Период >= Продажи2.Период

СГРУППИРОВАТЬ ПО
Продажи1.Код,
Продажи1.Период

УПОРЯДОЧИТЬ ПО
Код,
Период
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37800282
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭникейщикThe Dim!Да вот, пожалуйсто :)Что пожайлусто? Нерабочий запрос? Где данные по новому товару, у которых всего одна цена в регистра сведений проставлена?Да, действительно. Но тут "заслуга" нас обоих. Моя - что, не досмотрел последний юнион, а Ваша, в том что ваш запрос, формирующий таблицу ДатыПривязок не возвращает такую номенклатуру, вероятно, потому и юнион. На выходных, будет время, доделаю свой вариант.

ЭникейщикThe Dim!Ну... и какие вложенные таблицы?Не вижу смысла обсуждать нерабочие запросы.
Заявляя что-либо, будьте любезны давать аргументированный ответ. Запрос работает, но возвращает не всё данные. А эмоции оставьте при себе.

ЭникейщикThe Dim!Есть и они очень значимы.Спасибо, что убедили меня в этом, Ваш запрос нерабочий, а мой рабочий, действительно, разница есть. :)



Тенденция?

ЭникейщикThe Dim!Это что и где?
В этом месте нужно было подумать головой, Вы с этим не справились.
Повежлевее...

Вы приводите, якобы, мою цитатуЭникейщикThe Dim!Нет не могу.
Укажите номер поста где я это сказал.

ЭникейщикThe Dim!Спасибо, мне не нужно. А Вам?Несколько сообщений назад, Вы сами попросили и сказали, что Вам это нужно. Вы уж определитесь.
Ровна таже ситуация, что и в предыдущем посте.
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37800298
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!
А вы пробовали, как вы выше же выражались, включить свой мозг?

Подумайте над этим

Включайте мозг и тестируйте результаты.

The Dim!Да, действительно. Но тут "заслуга" нас обоих. Моя - что, не досмотрел последний юнион, а Ваша, в том что ваш запрос, формирующий таблицу ДатыПривязок не возвращает такую номенклатуру, вероятно, потому и юнион. На выходных, будет время, доделаю свой вариант.

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

The Dim!Заявляя что-либо, будьте любезны давать аргументированный ответ. Запрос работает, но возвращает не всё данные. А эмоции оставьте при себе.


Ахаха, запрос рабоатет, но возвращает не все данные, идите объясните это менеджеру. Классная отмазка, возьму на вооружение. Не ну а что? Он же рабает, просто не все данные. Че тут такого?


The Dim!Укажите номер поста где я это сказал.

Ваш мозг не способен понять, что такое "/fix"?

The Dim!Ровна таже ситуация, что и в предыдущем посте.

Вранье
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37800301
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ААА, весь отдел не может прийти в себя)))) "Запрос рабоатет, но просто не все данные возвращает"
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37800303
The Dim!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЭникейщикААА, весь отдел не может прийти в себя)))) "Запрос рабоатет, но просто не все данные возвращает"
Китайцы, за одним ником весь отдел? )))))
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37800308
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The Dim!ЭникейщикААА, весь отдел не может прийти в себя)))) "Запрос рабоатет, но просто не все данные возвращает"
Китайцы, за одним ником весь отдел? )))))
Мне было достачно произнести это фразу вслух, что бы раздался жутких хохот))))
...
Рейтинг: 0 / 0
СКД. Итог по строке
    #37800339
Фотография Эникейщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
25 сообщений из 80, страница 2 из 4
Форумы / [игнор отключен] [закрыт для гостей] / СКД. Итог по строке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]