|
|
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Возникла необходимость создать отчет, в котором будет по датам разбиваться потребность в материалах производства. В каждой дате есть три колонки - потребность, запас на складе, разность. Создал пользовательское поле, которое, собственно, эту разность и считает. А как сделать так, что бы эта разность учитывала предыдущие дни? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 15:34 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Левое соединение запроса с ним же с знаком <= Обычно так делают нарастающие итоги. В пользовательском не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 16:05 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Возникла необходимость создать отчет, в котором будет по датам разбиваться потребность в материалах производства. В каждой дате есть три колонки - потребность, запас на складе, разность. Создал пользовательское поле, которое, собственно, эту разность и считает. А как сделать так, что бы эта разность учитывала предыдущие дни?Посмотрите раздел "Функции языка выражений системы компоновки данных" в справке по платформе. Этот функционал предназначен для вашего случая. Возможность введена в СКД начиная с платформы 8.2.14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 16:56 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
_VVP_, Если можно, то пожалуйсто поподробнее, с этого места. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 17:30 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1сЛевое соединение запроса с ним же с знаком <= Обычно так делают нарастающие итоги. В пользовательском не знаю. Нет, не поможет. Потому, что он нарастающий... а мне нужна динамика изменения в периоде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 17:31 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Если отчёт строить кодом то что угодно можно сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 05:09 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
SashaMЕсли отчёт строить кодом то что угодно можно сделать Спасибо, Друг... "помог" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 08:22 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Программист 1сЛевое соединение запроса с ним же с знаком <= Обычно так делают нарастающие итоги. В пользовательском не знаю. Нет, не поможет. Потому, что он нарастающий... а мне нужна динамика изменения в периоде.Я возможно что-то не допонял. Пример: 01.01.01 Сумма 100 02.01.01 Сумма 150 03.01.01 Сумма 50 Если эту таблицу соединить с ней же с признаком дата(1 таблица)<=Дата (2 таблица) то получишь нарастающим итогом по датам 01.01.01 Сумма 100 +0 02.01.01 Сумма 150 +100 03.01.01 Сумма 50 +100+150 Других методов нарастающих итогов не встречал. Буду рад узнать если кто-то знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 10:08 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1сThe Dim!пропущено... Нет, не поможет. Потому, что он нарастающий... а мне нужна динамика изменения в периоде.Я возможно что-то не допонял. Пример: 01.01.01 Сумма 100 02.01.01 Сумма 150 03.01.01 Сумма 50 Если эту таблицу соединить с ней же с признаком дата(1 таблица)<=Дата (2 таблица) то получишь нарастающим итогом по датам 01.01.01 Сумма 100 +0 02.01.01 Сумма 150 +100 03.01.01 Сумма 50 +100+150 Других методов нарастающих итогов не встречал. Буду рад узнать если кто-то знает. Да все правильно, так и есть. Это я не... заработался. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 10:43 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Если много данных в отчёте я бы руки вырвал за такие соединения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 03:08 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
SashaMЕсли много данных в отчёте я бы руки вырвал за такие соединения А как правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 09:02 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
SashaMЕсли много данных в отчёте я бы руки вырвал за такие соединения С чего бы вдруг? Самый правильный способ - левое соединение самого на себя - классическое SQL решение. В специфике 1С8 надо использовать правильные условия соединения, чтобы сервер использовал правильные индексы. В ряде случаев использовать временные таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 09:45 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!SashaMЕсли много данных в отчёте я бы руки вырвал за такие соединения А как правильно?+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 10:47 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1сThe Dim!пропущено... А как правильно?+1 И все же программная реализация данного вида отчета. Сам люблю максимально делать все запросами, но этот вид отчета все таки бы собирал ручками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 10:55 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикПрограммист 1спропущено... +1 И все же программная реализация данного вида отчета. Не понял, а какая она еще может быть - аппаратная? Эникейщик...но этот вид отчета все таки бы собирал ручками. Причины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 11:21 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Эникейщикпропущено... И все же программная реализация данного вида отчета. Не понял, а какая она еще может быть - аппаратная? Да, аппаратная : facepalm Сбор таблицы результирующих данных средствами втроенного языка программировния, а не встроенного языка запросов. The Dim! Эникейщик...но этот вид отчета все таки бы собирал ручками. Причины? быстродействие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 11:30 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Эникейщик, если Вы достигли такого уровня Мастерства , что код на встроенном языке быстрее чем запрос... Горячо поздравляю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 12:16 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Эникейщик, если Вы достигли такого уровня Мастерства , что код на встроенном языке быстрее чем запрос... Горячо поздравляю! Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 12:33 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Эникейщик, если Вы достигли такого уровня Мастерства , что код на встроенном языке быстрее чем запрос... Горячо поздравляю! Кстате там написано: результирующих данных. А получение данных естественно через запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 12:40 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!, http://www.forum.mista.ru/ там спроси=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 12:56 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
TT_34The Dim!, http://www.forum.mista.ru/ там спроси=) Спросить там что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 13:04 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!TT_34The Dim!, http://www.forum.mista.ru/ там спроси=) Спросить там что? Логично представить, что тоже самое, что и спрашиваете тут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 13:17 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикThe Dim!пропущено... Спросить там что? Логично представить, что тоже самое, что и спрашиваете тут. Логично представить, что если я написал тут, что вопрос решен, то тема топика закрыта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 13:22 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Эникейщикпропущено... Логично представить, что тоже самое, что и спрашиваете тут. Логично представить, что если я написал тут, что вопрос решен, то тема топика закрыта Логично представить, что ни кто не запрещает создавать параллельные топики на разных ресурсах, не вижу ни каких причинно-следственных связей между открытым топиком на одном ресурсе и топиком на другом ресурсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 13:25 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикThe Dim!Эникейщик, если Вы достигли такого уровня Мастерства , что код на встроенном языке быстрее чем запрос... Горячо поздравляю! Кстате там написано: результирующих данных. А получение данных естественно через запрос.Тоесть Вы утверждаете что ваша работа с тз эффетивнее чем тот же расчет в запросе? Иными словами виртуальное соединение 2 таблиц в скуле выполняется медленнее чем вы их делаете кодом на сервере 1с? Аргументы будут с примерами производительности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 13:55 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1сТоесть Вы утверждаете что ваша работа с тз эффетивнее чем тот же расчет в запросе? В каких-то случаях да, в случаях, когда слишком много таблиц и соединений. Программист 1сИными словами виртуальное соединение 2 таблиц в скуле выполняется медленнее чем вы их делаете кодом на сервере 1с? Ну не две таблицы, две таблицы конечно выйграют, имеются в виду 48 запросов, в которых еще столько же подзапросов, группировок и т.д. для получения необходимого вида отчета. Не факт, что код будет на сервере выполняться. Программист 1сАргументы будут с примерами производительности? Ну предоставьте отчет, который нуждается в оптимизации. Естественно отчет вида: авторВЫБРАТЬ Номенклатура.Код, Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ(&Группа) всегда выйграет, так как он не нуждается в оптимизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 14:09 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикНу не две таблицы, две таблицы конечно выйграют, имеются в виду 48 запросов, в которых еще столько же подзапросов, группировок и т.д. для получения необходимого вида отчета. Не факт, что код будет на сервере выполняться. Во-первых, 48 ТЗ, в которой еще по 48 ТЗ проще обработать в коде? Во-вторых, у вас реально есть такой запрос(было бы любопытно узнать, что же вы там запрашиваете)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 14:50 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикНу предоставьте отчет, который нуждается в оптимизации. Естественно отчет вида: авторВЫБРАТЬ Номенклатура.Код, Номенклатура.Наименование ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ(&Группа) всегда выйграет, так как он не нуждается в оптимизации. Обоснуйте! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 14:53 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
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 последних цен? А десять? Ну захотел манагер и все тут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 14:53 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Ну и где 48 по 48? И что, вы утверждаете, что это проще выполнить кодом, а не запросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 14:56 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!ЭникейщикНу предоставьте отчет, который нуждается в оптимизации. Естественно отчет вида: пропущено... всегда выйграет, так как он не нуждается в оптимизации. Обоснуйте! Вам нужно обосновать очевидное? Что запрос в котором одна таблица будет работать быстрее программного перебоары этих же объектов? Я думаю Вам стоит почитать литературу, по мне - мое утверждение очевидно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 14:58 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Ну и где 48 по 48? И что, вы утверждаете, что это проще выполнить кодом, а не запросом? 48 - это был сарказм (если Вы не поняли) в следующий раз буду писать для Вас "много". Дочитайте посто до конца, там написано: "А пять?", "А десять?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 15:00 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикThe Dim!пропущено... Обоснуйте! Вам нужно обосновать очевидное? Что запрос в котором одна таблица будет работать быстрее программного перебоары этих же объектов? Я думаю Вам стоит почитать литературу, по мне - мое утверждение очевидно. Т.е. по вашему и всё тут, аргументации и ссылок на какие либо литературные источники нет, так что же мне читать-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 15:01 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикThe Dim!Ну и где 48 по 48? И что, вы утверждаете, что это проще выполнить кодом, а не запросом? 48 - это был сарказм (если Вы не поняли) в следующий раз буду писать для Вас "много". Дочитайте посто до конца, там написано: "А пять?", "А десять?" Где здесь пять или десять? Вы же назвали сами такое количество таблиц, не я. А теперь "я не я, корова не моя". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 15:03 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Эникейщикпропущено... Вам нужно обосновать очевидное? Что запрос в котором одна таблица будет работать быстрее программного перебоары этих же объектов? Я думаю Вам стоит почитать литературу, по мне - мое утверждение очевидно. Т.е. по вашему и всё тут, аргументации и ссылок на какие либо литературные источники нет, так что же мне читать-то? да легко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 15:03 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Эникейщикпропущено... 48 - это был сарказм (если Вы не поняли) в следующий раз буду писать для Вас "много". Дочитайте посто до конца, там написано: "А пять?", "А десять?" Где здесь пять или десять? Вы же назвали сами такое количество таблиц, не я. А теперь "я не я, корова не моя". Вы просили пример запроса, вот Вам пример, недописанного до десяти столбцов. Хотите допишите=)=) Если разберетесь))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 15:05 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикThe Dim!пропущено... Где здесь пять или десять? Вы же назвали сами такое количество таблиц, не я. А теперь "я не я, корова не моя". Вы просили пример запроса, вот Вам пример, недописанного до десяти столбцов. Хотите допишите=)=) Если разберетесь))) Нет не хочу. а) Это будет акт плагиата с моей стороны б) Даже боюсь трогать код Мастера ;) в) Это уже будет не Ваш пример, а мой. г) 48 таблиц по и 48 вложенных - там и не пахнет. ЭникейщикThe Dim!пропущено... Т.е. по вашему и всё тут, аргументации и ссылок на какие либо литературные источники нет, так что же мне читать-то? да легко Аналогично было бы дать ссылку на любой поисковый сервер. Громогласные заявления, а из доводов ничего, только "по моему мнение". Извините, не авторитетное/голословное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 15:14 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Нет не могу. /fix The Dim!а) Это будет акт плагиата с моей стороны Ничего старшного The Dim!б) Даже боюсь трогать код Мастера ;) Глаза бояться - руки делают. The Dim!в) Это уже будет не Ваш пример, а мой. В этом нет особых различий The Dim!г) 48 таблиц по и 48 вложенных - там и не пахнет. Я уже Вам говорил, что там может быть много таблиц, взависимости от количества последних цен. The Dim!Аналогично было бы дать ссылку на любой поисковый сервер. Громогласные заявления, а из доводов ничего, только "по моему мнение". Извините, не авторитетное/голословное. В том то и дело, что копипастить Вам документацию не вижу смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 15:25 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Эникейщик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!Аналогично было бы дать ссылку на любой поисковый сервер. Громогласные заявления, а из доводов ничего, только "по моему мнение". Извините, не авторитетное/голословное. В том то и дело, что копипастить Вам документацию не вижу смысла. Спасибо, мне не нужно. А Вам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 18:01 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Это что и где? В этом месте нужно было подумать головой, Вы с этим не справились. The Dim!Да вот, пожалуйсто :) Что пожайлусто? Нерабочий запрос? Где данные по новому товару, у которых всего одна цена в регистра сведений проставлена? The Dim!Ну... и какие вложенные таблицы? Не вижу смысла обсуждать нерабочие запросы. The Dim!Есть и они очень значимы. Спасибо, что убедили меня в этом, Ваш запрос нерабочий, а мой рабочий, действительно, разница есть. The Dim!Спасибо, мне не нужно. А Вам? Несколько сообщений назад, Вы сами попросили и сказали, что Вам это нужно. Вы уж определитесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 18:33 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикThe Dim!пропущено... Вам нужно обосновать очевидное? Что запрос в котором одна таблица будет работать быстрее программного перебоары этих же объектов? Я думаю Вам стоит почитать литературу, по мне - мое утверждение очевидно. Т.е. по вашему и всё тут, аргументации и ссылок на какие либо литературные источники нет, так что же мне читать-то? да легко Тоесть ссылку на конкретную статью Вы не покажите? И никаких источников для подтверждения Ваших слов нету? Еще раз - прошу укажите на каком основании Вы считаете что данный код будет выполняться быстрее на сервере 1с (или как вы заметили на клиенте) чем на скуле? Прошу указать методичку по рекомендациям выполнения подобных запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 20:17 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1сЭникейщикпропущено... да легко Тоесть ссылку на конкретную статью Вы не покажите? И никаких источников для подтверждения Ваших слов нету? Еще раз - прошу укажите на каком основании Вы считаете что данный код будет выполняться быстрее на сервере 1с (или как вы заметили на клиенте) чем на скуле? Прошу указать методичку по рекомендациям выполнения подобных запросов. Как я дам Вам ссылку на свой мозг? Ловите, раз уж так хотите. Тестовые данные: Ноут (селерон кор дуо, 2 Гб ОП, венда 7 32 бит, скуль 2005, серверный вариант работы, платформа 8.1, УТ (много доработок, не думаю, что это важно), база 50 гБ Начнем пожалуй. Ваш вариант работы, связываем две таблицы (берем продажи с накоплением: авторВЫБРАТЬ Продажи.Номенклатура.Код КАК НоменклатураКод, Продажи.Период КАК Период, СУММА(Продажи1.Количество) КАК Количество1 ИЗ РегистрНакопления.Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи1 ПО Продажи.Номенклатура = Продажи1.Номенклатура И Продажи.Период >= Продажи1.Период ГДЕ Продажи.Период МЕЖДУ &ДН И &ДК И Продажи.Номенклатура В ИЕРАРХИИ(&Группа) И Продажи1.Период МЕЖДУ &ДН И &ДК СГРУППИРОВАТЬ ПО Продажи.Номенклатура.Код, Продажи.Период УПОРЯДОЧИТЬ ПО НоменклатураКод, Период Запускаем код, парамтеры ставлю за один месяц, по одной группе товара, засекаю по часам на ноуте, получилось ориентирововчно 25 секунд, запускал несколько раз. Берем мой вариант работы, я выбираю продажи и накопление собираю таблицей значений: авторЗапрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Продажи.Номенклатура.Код КАК Код, | Продажи.Период КАК Период, | Продажи.Количество |ИЗ | РегистрНакопления.Продажи КАК Продажи |ГДЕ | Продажи.Период МЕЖДУ &ДН И &ДК | И Продажи.Номенклатура В ИЕРАРХИИ(&Группа) | |СГРУППИРОВАТЬ ПО | Продажи.Период, | Продажи.Номенклатура.Код, | Продажи.Количество | |УПОРЯДОЧИТЬ ПО | Код, | Период"; Запрос.УстановитьПараметр("ДН",Элементыформы.ДН.Значение ); Запрос.УстановитьПараметр("ДК",Элементыформы.ДК.Значение ); Запрос.УстановитьПараметр("Группа",Элементыформы.Группа.Значение ); Результат = Запрос.Выполнить(); ТЗ=новый ТаблицаЗначений; ТЗ=Запрос.Выполнить().Выгрузить(); СтарыйКод=""; СтароеКоличество=0; Для каждого Стр Из ТЗ Цикл ТекущийКод=Стр.Получить(0); ТекушееКоличество=Стр.Получить(2); Если ТекущийКод=СтарыйКод тогда Стр.Установить(2, ТекушееКоличество+СтароеКоличество); СтарыйКод=ТекущийКод; СтароеКоличество=ТекушееКоличество+СтароеКоличество; иначе СтарыйКод=ТекущийКод; СтароеКоличество=ТекушееКоличество; конецесли; КонецЦикла; постр=новый построительотчета; постр.источникданных=новый описаниеисточникаданных(ТЗ); постр.заполнитьнастройки(); ТД=новый табличныйдокумент; постр.вывести(ТД); ТД.показать(); Получаю 2-4 секунды. Мой вариант минимум в 5 раз быстрее!!!! Какие Вам ее доказательства? Иите сами себе литературу. читайте про планы выполнения запросов и тренируйтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 23:22 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Когда используется такое соединение сначала нарастающие итоги съедят дубликатами память РСУБД и только в процессе группировки её освободит при этом кроме памяти будет неэффективно использован процессор при группировке. А у нас ещё кроме этого отчёта что-то в данный момент работает. Вот так при разработке не думаете, а потом нужны мега процессоры, килограммы памяти... зато быстро разрабатываем то, что мне в последующем нужно переписывать т.к. время исполнения не выдерживает никакой критики. PS: В вашем случае если во временную таблицу загнать итоги, а потом соединить итоги с итогами при маленьких данных страшного ничего не произойдёт, просто дело принципа сразу указать правильный подход, а не вариант предложенный позже, который я разумеется знал, но данный подход несёт в себе недостаток, в случае когда данных "килограммам". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 03:50 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикВЫБРАТЬ Продажи.Номенклатура.Код КАК НоменклатураКод, Продажи.Период КАК Период, СУММА(Продажи1.Количество) КАК Количество1 ИЗ РегистрНакопления.Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи1 ПО Продажи.Номенклатура = Продажи1.Номенклатура И Продажи.Период >= Продажи1.Период ГДЕ Продажи.Период МЕЖДУ &ДН И &ДК И Продажи.Номенклатура В ИЕРАРХИИ(&Группа) И Продажи1.Период МЕЖДУ &ДН И &ДК СГРУППИРОВАТЬ ПО Продажи.Номенклатура.Код, Продажи.Период УПОРЯДОЧИТЬ ПО НоменклатураКод, Период А вы пробовали, как вы выше же выражались, включить свой мозг? Подумайте над этим авторВЫБРАТЬ Продажи.Номенклатура.Код КАК Код, Продажи.Период КАК Период, Продажи.КоличествоОборот КАК Количество ПОМЕСТИТЬ ВТТаблицаПродаж ИЗ РегистрНакопления.Продажи.Обороты(&ДН, &ДК, Запись, Номенклатура В ИЕРАРХИИ (&Группа)) КАК Продажи ИНДЕКСИРОВАТЬ ПО Период, Код ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи1.Код КАК Код, Продажи1.Период КАК Период, СУММА(Продажи2.Количество) КАК Количество ИЗ ВТТаблицаПродаж КАК Продажи1 ЛЕВОЕ СОЕДИНЕНИЕ ВТТаблицаПродаж КАК Продажи2 ПО Продажи1.Код = Продажи2.Код И Продажи1.Период >= Продажи2.Период СГРУППИРОВАТЬ ПО Продажи1.Код, Продажи1.Период УПОРЯДОЧИТЬ ПО Код, Период ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 09:51 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикThe Dim!Да вот, пожалуйсто :)Что пожайлусто? Нерабочий запрос? Где данные по новому товару, у которых всего одна цена в регистра сведений проставлена?Да, действительно. Но тут "заслуга" нас обоих. Моя - что, не досмотрел последний юнион, а Ваша, в том что ваш запрос, формирующий таблицу ДатыПривязок не возвращает такую номенклатуру, вероятно, потому и юнион. На выходных, будет время, доделаю свой вариант. ЭникейщикThe Dim!Ну... и какие вложенные таблицы?Не вижу смысла обсуждать нерабочие запросы. Заявляя что-либо, будьте любезны давать аргументированный ответ. Запрос работает, но возвращает не всё данные. А эмоции оставьте при себе. ЭникейщикThe Dim!Есть и они очень значимы.Спасибо, что убедили меня в этом, Ваш запрос нерабочий, а мой рабочий, действительно, разница есть. :) Тенденция? ЭникейщикThe Dim!Это что и где? В этом месте нужно было подумать головой, Вы с этим не справились. Повежлевее... Вы приводите, якобы, мою цитатуЭникейщикThe Dim!Нет не могу. Укажите номер поста где я это сказал. ЭникейщикThe Dim!Спасибо, мне не нужно. А Вам?Несколько сообщений назад, Вы сами попросили и сказали, что Вам это нужно. Вы уж определитесь. Ровна таже ситуация, что и в предыдущем посте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 09:52 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim! А вы пробовали, как вы выше же выражались, включить свой мозг? Подумайте над этим Включайте мозг и тестируйте результаты. The Dim!Да, действительно. Но тут "заслуга" нас обоих. Моя - что, не досмотрел последний юнион, а Ваша, в том что ваш запрос, формирующий таблицу ДатыПривязок не возвращает такую номенклатуру, вероятно, потому и юнион. На выходных, будет время, доделаю свой вариант. Ага, я виноват, что Ваш запрос не работает, смех да и только. Вы сначала сделайте, а потом будет будем беседовать. The Dim!Заявляя что-либо, будьте любезны давать аргументированный ответ. Запрос работает, но возвращает не всё данные. А эмоции оставьте при себе. Ахаха, запрос рабоатет, но возвращает не все данные, идите объясните это менеджеру. Классная отмазка, возьму на вооружение. Не ну а что? Он же рабает, просто не все данные. Че тут такого? The Dim!Укажите номер поста где я это сказал. Ваш мозг не способен понять, что такое "/fix"? The Dim!Ровна таже ситуация, что и в предыдущем посте. Вранье ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 09:58 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ААА, весь отдел не может прийти в себя)))) "Запрос рабоатет, но просто не все данные возвращает" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 10:00 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикААА, весь отдел не может прийти в себя)))) "Запрос рабоатет, но просто не все данные возвращает" Китайцы, за одним ником весь отдел? ))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 10:01 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!ЭникейщикААА, весь отдел не может прийти в себя)))) "Запрос рабоатет, но просто не все данные возвращает" Китайцы, за одним ником весь отдел? ))))) Мне было достачно произнести это фразу вслух, что бы раздался жутких хохот)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 10:04 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
The Dim!Подумайте над этим Специально подумал над вашим запросом. Смешно, но он не отличается от моего практически ни чем. Реализация через таблицу значений так же оставит позади Ваш запрос. Я надеюсь Вы все включили и поймете, что "тяжесть" этого запроса не в двух таблицах, а практически в кросс соединии. Вы своей временной таблицей ни чуть не выйграли. Ничего, с опытом это придет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 11:27 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикПрограммист 1спропущено... Тоесть ссылку на конкретную статью Вы не покажите? И никаких источников для подтверждения Ваших слов нету? Еще раз - прошу укажите на каком основании Вы считаете что данный код будет выполняться быстрее на сервере 1с (или как вы заметили на клиенте) чем на скуле? Прошу указать методичку по рекомендациям выполнения подобных запросов. Как я дам Вам ссылку на свой мозг? Ловите, раз уж так хотите. Тестовые данные: Ноут (селерон кор дуо, 2 Гб ОП, венда 7 32 бит, скуль 2005, серверный вариант работы, платформа 8.1, УТ (много доработок, не думаю, что это важно), база 50 гБ Начнем пожалуй. Ваш вариант работы, связываем две таблицы (берем продажи с накоплением: авторВЫБРАТЬ Продажи.Номенклатура.Код КАК НоменклатураКод, Продажи.Период КАК Период, СУММА(Продажи1.Количество) КАК Количество1 ИЗ РегистрНакопления.Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи1 ПО Продажи.Номенклатура = Продажи1.Номенклатура И Продажи.Период >= Продажи1.Период ГДЕ Продажи.Период МЕЖДУ &ДН И &ДК И Продажи.Номенклатура В ИЕРАРХИИ(&Группа) И Продажи1.Период МЕЖДУ &ДН И &ДК СГРУППИРОВАТЬ ПО Продажи.Номенклатура.Код, Продажи.Период УПОРЯДОЧИТЬ ПО НоменклатураКод, Период Запускаем код, парамтеры ставлю за один месяц, по одной группе товара, засекаю по часам на ноуте, получилось ориентирововчно 25 секунд, запускал несколько раз. Берем мой вариант работы, я выбираю продажи и накопление собираю таблицей значений: авторЗапрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Продажи.Номенклатура.Код КАК Код, | Продажи.Период КАК Период, | Продажи.Количество |ИЗ | РегистрНакопления.Продажи КАК Продажи |ГДЕ | Продажи.Период МЕЖДУ &ДН И &ДК | И Продажи.Номенклатура В ИЕРАРХИИ(&Группа) | |СГРУППИРОВАТЬ ПО | Продажи.Период, | Продажи.Номенклатура.Код, | Продажи.Количество | |УПОРЯДОЧИТЬ ПО | Код, | Период"; Запрос.УстановитьПараметр("ДН",Элементыформы.ДН.Значение ); Запрос.УстановитьПараметр("ДК",Элементыформы.ДК.Значение ); Запрос.УстановитьПараметр("Группа",Элементыформы.Группа.Значение ); Результат = Запрос.Выполнить(); ТЗ=новый ТаблицаЗначений; ТЗ=Запрос.Выполнить().Выгрузить(); СтарыйКод=""; СтароеКоличество=0; Для каждого Стр Из ТЗ Цикл ТекущийКод=Стр.Получить(0); ТекушееКоличество=Стр.Получить(2); Если ТекущийКод=СтарыйКод тогда Стр.Установить(2, ТекушееКоличество+СтароеКоличество); СтарыйКод=ТекущийКод; СтароеКоличество=ТекушееКоличество+СтароеКоличество; иначе СтарыйКод=ТекущийКод; СтароеКоличество=ТекушееКоличество; конецесли; КонецЦикла; постр=новый построительотчета; постр.источникданных=новый описаниеисточникаданных(ТЗ); постр.заполнитьнастройки(); ТД=новый табличныйдокумент; постр.вывести(ТД); ТД.показать(); Получаю 2-4 секунды. Мой вариант минимум в 5 раз быстрее!!!! Какие Вам ее доказательства? Иите сами себе литературу. читайте про планы выполнения запросов и тренируйтесь. Вопросы все сняты. Идиот с кривыми руками критикующий других. Давно не видел столь дурацкого запроса. Автор Вы не возвражаете что можно будет приводить пример вашего первого запроса с намеком на вашу непризнанную гениальность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 13:11 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1сДавно не видел столь дурацкого запроса. Автор Вы не возвражаете что можно будет приводить пример вашего первого запроса с намеком на вашу непризнанную гениальность? Да, если Вы приведёте реализацию своей мысли. Этот запрос реализация Вашей идеи, про которую я сказал, что она идиотская так кк проиграет программной реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 13:23 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1сВопросы все сняты. Идиот с кривыми руками критикующий других. Пока кроме Ваших идиотских, ни чем неподтвержденных аргументов, я ничего не встертил. Где доказательства Вашей правоты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 13:25 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикПрограммист 1сВопросы все сняты. Идиот с кривыми руками критикующий других. Пока кроме Ваших идиотских, ни чем неподтвержденных аргументов, я ничего не встертил. Где доказательства Вашей правоты?ЭникейщикВЫБРАТЬ Продажи.Номенклатура.Код КАК НоменклатураКод, Продажи.Период КАК Период, СУММА(Продажи1.Количество) КАК Количество1 ИЗ РегистрНакопления.Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи1 ПО Продажи.Номенклатура = Продажи1.Номенклатура И Продажи.Период >= Продажи1.Период ГДЕ Продажи.Период МЕЖДУ &ДН И &ДК И Продажи.Номенклатура В ИЕРАРХИИ(&Группа) И Продажи1.Период МЕЖДУ &ДН И &ДК СГРУППИРОВАТЬ ПО Продажи.Номенклатура.Код, Продажи.Период УПОРЯДОЧИТЬ ПО НоменклатураКод, ПериодЛюбой умеющий делать запросы увидит. А вам доказывать что ваш запрос идиотский - глупо. Если вы этого не видите - все бесполезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 13:58 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикПрограммист 1сДавно не видел столь дурацкого запроса. Автор Вы не возвражаете что можно будет приводить пример вашего первого запроса с намеком на вашу непризнанную гениальность? Да, если Вы приведёте реализацию своей мысли. Этот запрос реализация Вашей идеи, про которую я сказал, что она идиотская так кк проиграет программной реализации.Вы даже не поняли смысл идеи. Но лавры идиотского воплощения идея, у вас никто не отберет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 13:59 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1сЛюбой умеющий делать запросы увидит. А вам доказывать что ваш запрос идиотский - глупо. Если вы этого не видите - все бесполезно. Я правильно понимаю, что доказательств быстроты работы через запрос не будет, а будут только ни чем не подтвержденные слова? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 14:00 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1сЭникейщикпропущено... Да, если Вы приведёте реализацию своей мысли. Этот запрос реализация Вашей идеи, про которую я сказал, что она идиотская так кк проиграет программной реализации.Вы даже не поняли смысл идеи. Но лавры идиотского воплощения идея, у вас никто не отберет. Покажите свою реализацию, тогда можно будет о чем-то поговрить, пока даже обсуждать нечего с Вами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 14:01 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикЗадача, вытащить последние 3 цены в разные столбцы запросом, решение: ... А 5 последних цен? А десять? Ну захотел манагер и все тут.Плохое решение. В СКД - вытащить по три строки последней цены для номенклатуры, ценам сопоставить порядок-номер, в СКД сгруппировать колонки по порядку-номеру цены. Все - никакого изврата с запросом, никакого 1С-кода вообще. Для типовой УТ 11 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Разворачиваешь в СКД группировки колонок по ВидЦены и Колво, а Цена объявляешь ресурсом. Все, задача решена. Никакого кода вообще писать не надо. Даже можно регулировать уровень 3 - подставить его как параметр, задаваемый пользователем. Для тех, кто в танке - это полное рабочее решение задачи, сделано за 10 минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 15:47 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
_VVP_Для тех, кто в танке - это полное рабочее решение задачи, сделано за 10 минут. Для тех кто в танке: Сделать решение запросом (без скд, да и кто просил делать это в скд? Вы зря потеряли время). Запрос необходим как реквизит справочника отчетов, по которым ночью прбегается регламентное задание, формирует отчеты в xls и отправляет на почту. Для тех кто в танке и в ушанке: Перед криками об отчетах с СКД (хоть внешних, хоть в составе конфигурации) прочитайте мануалы о доступности необходимых функциях в разных средах выполнения, а в частности на сервере 1С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 16:05 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
_VVP_Все, задача решена. Никакого кода вообще писать не надо. Если Вы не поняли, то вопрос стоит не в "надо\не надо" использовать код, а "эффективно\неэффективно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 16:09 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикЗапрос необходим как реквизит справочника отчетов, по которым ночью прбегается регламентное задание, формирует отчеты в xls и отправляет на почту. Вот это бред!!! Причем здесь реквизит справочника? Зачем тут тогда три колонки??? Пробег ты наш, объясни! СКД можно формировать в фоне, получать табличный документ из сформированного в фоне СКД и средствами платформы сохранить сформированный через СКД платформой табличный документ в Excel. ЭникейщикПеред криками об отчетах с СКД (хоть внешних, хоть в составе конфигурации) прочитайте мануалы о доступности необходимых функциях в разных средах выполнения, а в частности на сервере 1С Почитай про СКД, феномен ты наш! Вся компоновка доступна на сервере. Кури ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент, ТабличныйДокумент и ТабличныйДокумент.Записать Кроме того, в исходном посте на данную тему, про бред реквизита справочника, регламентного задания и отчета в Excel ничего не говорилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 16:41 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикЕсли Вы не поняли, то вопрос стоит не в "надо\не надо" использовать код, а "эффективно\неэффективно". Ага, 1С-код эффективнее обработки запроса на SQL-сервере - рассказывай сказки кому-то другому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 16:42 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
_VVP_ЭникейщикЕсли Вы не поняли, то вопрос стоит не в "надо\не надо" использовать код, а "эффективно\неэффективно". Ага, 1С-код эффективнее обработки запроса на SQL-сервере - рассказывай сказки кому-то другому. Все приведено на предущей странице, феномен Вы наш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 16:47 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
_VVP_ЭникейщикЗапрос необходим как реквизит справочника отчетов, по которым ночью прбегается регламентное задание, формирует отчеты в xls и отправляет на почту. Вот это бред!!! Причем здесь реквизит справочника? Зачем тут тогда три колонки??? Пробег ты наш, объясни! СКД можно формировать в фоне, получать табличный документ из сформированного в фоне СКД и средствами платформы сохранить сформированный через СКД платформой табличный документ в Excel. ЭникейщикПеред криками об отчетах с СКД (хоть внешних, хоть в составе конфигурации) прочитайте мануалы о доступности необходимых функциях в разных средах выполнения, а в частности на сервере 1С Почитай про СКД, феномен ты наш! Вся компоновка доступна на сервере. Кури ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент, ТабличныйДокумент и ТабличныйДокумент.Записать Научитесь читать: авторПри работе на сервере или через com-соединение использует только файлы форматов mxl и txt. _VVP_Кроме того, в исходном посте на данную тему, про бред реквизита справочника, регламентного задания и отчета в Excel ничего не говорилось. Кроме того, уважаемый, про разборе этого запроса, ни кто и ничего не говорил вообще, он был приведен в пример, как "идиотский" запрос, требующий оптимизации. P.S. Давай-те научимся читать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 16:52 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Эникейщик_VVP_пропущено...Ага, 1С-код эффективнее обработки запроса на SQL-сервере - рассказывай сказки кому-то другому.Все приведено на предущей странице, феномен Вы наш. Что приведено? Сделанный тобой через ж..у запрос приведен. Не осилил алгебру множеств и SQL заодно? Пиши говно код обработки выборки на клиенте. Пусть твой работодатель страдает и переплачивает за некомпетентность сотрудника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 16:54 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикНаучитесь читать: авторПри работе на сервере или через com-соединение использует только файлы форматов mxl и txt. P.S. Давай-те научимся читать?Научись читать! Платформа 8.2.15.310 из справки к ТабличныйДокумент.ЗаписатьДоступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Примечание: При работе на сервере, веб клиенте или через внешнее соединение нет возможности сохранять в формате XLS95.А остальное сохранение вполне доступно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 17:00 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
_VVP_Эникейщикпропущено... Все приведено на предущей странице, феномен Вы наш. Что приведено? Сделанный тобой через ж..у запрос приведен. Не осилил алгебру множеств и SQL заодно? Пиши говно код обработки выборки на клиенте. Пусть твой работодатель страдает и переплачивает за некомпетентность сотрудника. Я еще раз повторю. Где Ваш код для реализации той же задачи на языке запросов? Мне не инетерсны Ваши голословные, ни чем не подтвержденные аргументы. Приведите год реализации задачи, тогда можно будет пообщаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 17:01 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
_VVP_ЭникейщикНаучитесь читать: пропущено... P.S. Давай-те научимся читать?Научись читать! Платформа 8.2.15.310 из справки к ТабличныйДокумент.ЗаписатьДоступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Примечание: При работе на сервере, веб клиенте или через внешнее соединение нет возможности сохранять в формате XLS95.А остальное сохранение вполне доступно. Перчитывайте заново, платформы я озвучивал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 17:03 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикВЫБРАТЬ Продажи.Номенклатура.Код КАК НоменклатураКод, Продажи.Период КАК Период, СУММА(Продажи1.Количество) КАК Количество1 ИЗ РегистрНакопления.Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи1 ПО Продажи.Номенклатура = Продажи1.Номенклатура И Продажи.Период >= Продажи1.Период ГДЕ Продажи.Период МЕЖДУ &ДН И &ДК И Продажи.Номенклатура В ИЕРАРХИИ(&Группа) И Продажи1.Период МЕЖДУ &ДН И &ДК СГРУППИРОВАТЬ ПО Продажи.Номенклатура.Код, Продажи.Период УПОРЯДОЧИТЬ ПО НоменклатураКод, ПериодГоспода - О ЧЕМ РАЗГОВАРИВАТЬ С ЧЕЛОВЕКОМ(?) котороый вместо продажи.Обороты использует просто продажи. И естественно выкручиватеся медленным "где"... Плюс он еще 2 раза делает запрос к одной и той же таблице и гордится этим(!). Значит не умеет пользоваться виртуальными таблицами. Уж умолчу что даже забыл в второй таблице наложить аналогичные фильтры. 2 бала за сдачу по платформе. ps Я не зря сказал - ваш код это пример вашего дилетанства. Когда вы будете дальше выеживатся - легко привести пример этого кода и он все скажет о вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 19:56 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1сЭникейщикВЫБРАТЬ Продажи.Номенклатура.Код КАК НоменклатураКод, Продажи.Период КАК Период, СУММА(Продажи1.Количество) КАК Количество1 ИЗ РегистрНакопления.Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи1 ПО Продажи.Номенклатура = Продажи1.Номенклатура И Продажи.Период >= Продажи1.Период ГДЕ Продажи.Период МЕЖДУ &ДН И &ДК И Продажи.Номенклатура В ИЕРАРХИИ(&Группа) И Продажи1.Период МЕЖДУ &ДН И &ДК СГРУППИРОВАТЬ ПО Продажи.Номенклатура.Код, Продажи.Период УПОРЯДОЧИТЬ ПО НоменклатураКод, ПериодГоспода - О ЧЕМ РАЗГОВАРИВАТЬ С ЧЕЛОВЕКОМ(?) котороый вместо продажи.Обороты использует просто продажи. И естественно выкручиватеся медленным "где"... Плюс он еще 2 раза делает запрос к одной и той же таблице и гордится этим(!). Значит не умеет пользоваться виртуальными таблицами. Уж умолчу что даже забыл в второй таблице наложить аналогичные фильтры. 2 бала за сдачу по платформе. ps Я не зря сказал - ваш код это пример вашего дилетанства. Когда вы будете дальше выеживатся - легко привести пример этого кода и он все скажет о вас. Я специально сделал наихудший запрос, дабы Вам дать попробовать хотя бы его оптимизировать, что бы вы могли опровергнуть версию о том, что эта задача решается программным образом быстрее. Ваше дилетанство все говорит за Вас. Вы можете только кричать не предлагая своих решений. Один хоть попробовал автоматизировать (правда ничего не вышло), а Вы даже не попытались. У меня нет аргументов, так как Вы не опровергли ее мои. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 21:02 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикПрограммист 1спропущено... Господа - О ЧЕМ РАЗГОВАРИВАТЬ С ЧЕЛОВЕКОМ(?) котороый вместо продажи.Обороты использует просто продажи. И естественно выкручиватеся медленным "где"... Плюс он еще 2 раза делает запрос к одной и той же таблице и гордится этим(!). Значит не умеет пользоваться виртуальными таблицами. Уж умолчу что даже забыл в второй таблице наложить аналогичные фильтры. 2 бала за сдачу по платформе. ps Я не зря сказал - ваш код это пример вашего дилетанства. Когда вы будете дальше выеживатся - легко привести пример этого кода и он все скажет о вас. Я специально сделал наихудший запрос, дабы Вам дать попробовать хотя бы его оптимизировать, что бы вы могли опровергнуть версию о том, что эта задача решается программным образом быстрее. Ваше дилетанство все говорит за Вас. Вы можете только кричать не предлагая своих решений. Один хоть попробовал автоматизировать (правда ничего не вышло), а Вы даже не попытались. У меня нет аргументов, так как Вы не опровергли ее мои.Мдаа господин эникейщик не только дилетант но еще и врун. ЭникейщикКак я дам Вам ссылку на свой мозг? Ловите, раз уж так хотите. Тестовые данные: Ноут (селерон кор дуо, 2 Гб ОП, венда 7 32 бит, скуль 2005, серверный вариант работы, платформа 8.1, УТ (много доработок, не думаю, что это важно), база 50 гБ Начнем пожалуй. Ваш вариант работы, связываем две таблицы (берем продажи с накоплением: автор ВЫБРАТЬ Продажи.Номенклатура.Код КАК НоменклатураКод, Продажи.Период КАК Период, СУММА(Продажи1.Количество) КАК Количество1 ИЗ РегистрНакопления.Продажи КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи1 ПО Продажи.Номенклатура = Продажи1.Номенклатура И Продажи.Период >= Продажи1.Период ГДЕ Продажи.Период МЕЖДУ &ДН И &ДК И Продажи.Номенклатура В ИЕРАРХИИ(&Группа) И Продажи1.Период МЕЖДУ &ДН И &ДК СГРУППИРОВАТЬ ПО Продажи.Номенклатура.Код, Продажи.Период УПОРЯДОЧИТЬ ПО НоменклатураКод, Период Запускаем код, парамтеры ставлю за один месяц, по одной группе товара, засекаю по часам на ноуте, получилось ориентирововчно 25 секунд, запускал несколько раз.Он специально написал ОТВРАТИТЕЛЬНЫЙ запрос и его мерял несколько раз... А потом написал еще один отвратитльный запрос с дилетансткими ошибками и сравнивал их.... Мдаа... Эникейщик двойка за попытка выкрутится. В своей глупости надо уметь сознаваться. Только профессионал может допустить глупость, увидит и десять раз извинится. А дилетант будет придумывать байки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 21:26 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
ЭникейщикThe Dim!Подумайте над этим Специально подумал над вашим запросом. Смешно, но он не отличается от моего практически ни чем . Реализация через таблицу значений так же оставит позади Ваш запрос. Я надеюсь Вы все включили и поймете, что "тяжесть" этого запроса не в двух таблицах, а практически в кросс соединии. Вы своей временной таблицей ни чуть не выйграли. Ничего, с опытом это придет.А вот и замечательное доказательство вранья. Эникейщик говорит что его запрос "продажи с условием где" ничем не отличается от запроса сделанного с "продажи.оборот(условие)" Мдаа дилетанство выпирает и бьет через край. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2012, 21:31 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Где Ваш ример????????????????????????????????????????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2012, 03:48 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
программсит 1с - ты чмо и гавно, я не возьму тебя не работу, таких гавнюков не беру))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2012, 03:50 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Эникейщикпрограммсит 1с я бы вас взял))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2012, 03:53 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Программист 1с, я бы вам дал работу 150+++, но вы не стоит етого)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2012, 04:16 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
вот я напился)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2012, 04:22 |
|
||
|
СКД. Итог по строке
|
|||
|---|---|---|---|
|
#18+
Модератор: Эникейщик - постойнный бан. За оскорбления и за провоцирование других участников форума == троллинг. Программист 1С и _VVP_ - профилактический бан на 3 дня за то, что купились на выходки тролля Теперь по сути вопроса IMHO. SQL-запрос с левым объединением таблицы к самой себе и Group By может оказаться действительно более медленным для некоторых видов задач, если он использует условие <=, <, >=, >. Объясню, почему. Дело в том, что для формирования результатов такого запроса SQL-сервер формирует либо цикл-в цикле, либо эквивалентный ему план выполнения. Итоги нарастающим итогом формируются корректно (с эти никто не спорит), но уже рассчитанный подитог при этом не используется и для каждой выводимой записи рассчитывается повторно. Это не недостаток SQL-сервера, это недостаток метода - реляционная алгебра для некоторых задач работает менее эффективно, нежели рекуррентные алгоритмы. Ведь можно посчитатать сумму именно как нарастающий итог не в двух циклах, вложенных друг в друга, а в одном. То есть, взять значение первой записи, вывести его в виде результата для первой записи и запомнить как промежуточный итог. Затем к накопленному итогу добавить значение второй записи и вывести полученный результат для второй записи. Затем добавить к накапливаемому итогу значение третьей записи и вывести ее в итог для третьей записи. Таким образом, вместо алгоритма, который многократно суммирует записи с 1-й по 10-ю для всех записей с порядковым номером >=10, применяется алгоритм, который суммирует их однократно . С другой стороны, запрос, выполняемый на SQL-сервере, даже используя менее оптимальный алгоритм, может отработать быстрее, поскольку отрабатывает код более низкого уровня и без лишних посредников. Поэтому огульно я не берусь судить, что отработает быстрее - нужно ставить эксперименты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2012, 14:49 |
|
||
|
|

start [/forum/topic.php?all=1&fid=28&tid=1520417]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
115ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 515ms |

| 0 / 0 |
