|   |   | 
| 
 | Выбрать 5 самых продаваемых позиций по каждой номенклатурной группы. | ☑ | ||
|---|---|---|---|---|
| 0
    
        sashafish 03.10.09✎ 13:33 | 
        Как выбрать ограниченное количество? Поз номенклатурной группой подразумевается папка в которой лежит номенклатура. Общее количество выбрал так:
  ВЫБРАТЬ ПродажиОбороты.Номенклатура.Родитель КАК НоменклатураРодитель, ПродажиОбороты.Номенклатура, СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот ИЗ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты СГРУППИРОВАТЬ ПО ПродажиОбороты.Номенклатура, ПродажиОбороты.Номенклатура.Родитель УПОРЯДОЧИТЬ ПО НоменклатураРодитель, КоличествоОборот УБЫВ ИТОГИ СУММА(КоличествоОборот) ПО НоменклатураРодитель АВТОУПОРЯДОЧИВАНИЕ | |||
| 1
    
        Maniac 03.10.09✎ 13:38 | 
        ВЫБРАТЬ ПЕРВЫЕ 5     | |||
| 2
    
        Maniac 03.10.09✎ 13:40 | 
        хотя она выберет 5 из всех папок. если по каждой то надо думтаь     | |||
| 3
    
        sashafish 03.10.09✎ 13:41 | 
        (2) как не странно:)     | |||
| 4
    
        Maniac 03.10.09✎ 13:43 | 
        можно попробовать несколько вложенных запросов. один чисто по папкам для определения количество папок, во втором по номенклатуре с количеством получаемых элементов по формуеле - количество полученных папок из преидущего запроса * 5.     | |||
| 5
    
        izekia 03.10.09✎ 13:43 | 
        на 1С нереализуемо
  на транзакте нормальном вполне а в справочнике сколько уровней? и элементы есть на всех или только на последнем? | |||
| 6
    
        izekia 03.10.09✎ 13:44 | 
        (4) смешно, ты хоть сам понял что сказал?     | |||
| 7
    
        Maniac 03.10.09✎ 13:44 | 
        передай в запрос параметр с количество полученных папок. можно сделать отдельным запросом перед главным.
  Потом умножаешь на 5. получаешь количество требуемых для выборки элементов. Передаешь ээто количество в ВЫБРАТЬ ПЕРВЫЕ | |||
| 8
    
        sashafish 03.10.09✎ 13:45 | 
        (5) неопределенное количество уровней, элементы есть везде.     | |||
| 9
    
        izekia 03.10.09✎ 13:45 | 
        +(5) нереализуемо - в смысле на урезанном языке запросов     | |||
| 10
    
        bazvan 03.10.09✎ 13:45 | 
        на ИТС есть анализ данных (типа консоли) там вроде такое есть. поглядите     | |||
| 11
    
        sashafish 03.10.09✎ 13:45 | 
        (7) а если в некоторых папках пусто?     | |||
| 12
    
        Maniac 03.10.09✎ 13:45 | 
        (8) ну так сделай предварительный запрос пчисто по папкам. для определения.     | |||
| 13
    
        izekia 03.10.09✎ 13:46 | 
        (7) Евгений, успокойся, проблема нерешаема в запросе, если только не генерить текст запроса, что бессмысленно с учетом (8)     | |||
| 14
    
        Maniac 03.10.09✎ 13:46 | 
        (7) так ты запроссделай по данным продаж. но только по папкам.     | |||
| 15
    
        izekia 03.10.09✎ 13:47 | 
        (8) сделай запрос и далее уже обработай программно, на 1С запросом это не сделать     | |||
| 16
    
        Maniac 03.10.09✎ 13:48 | 
        (13) не гони пургу. двумя запросами все реализуемо. 
  1) получаем предварительным запросом структуру справочника по папкам. Получаем количество папок. умножаем на 5 = получеам общее количсетво элементов которые как раз будут искомыми. Во втором запросе делам выбрать первые +"количествоЭлементов Всё. задача решена. | |||
| 17
    
        Maniac 03.10.09✎ 13:49 | 
        на краяняк тупо в выборке запроса по счетчику выводить.     | |||
| 18
    
        Mikeware 03.10.09✎ 13:49 | 
        (10) В консоли это и в семерке работает     | |||
| 19
    
        izekia 03.10.09✎ 13:50 | 
        (16) Евгений, ты ничего не понимаешь в запросах и что самое смешное не стесняешься это показать     | |||
| 20
    
        Maniac 03.10.09✎ 13:51 | 
        (19) так и скажи что облажался утверждениями а вариант то рабочий.     | |||
| 21
    
        izekia 03.10.09✎ 13:51 | 
        (16) могу за 25 уе показать тебе ошибки в твоем методе
  хотя нет, за 25 я покажу тебе одну и + намек на втору в подарок | |||
| 22
    
        sashafish 03.10.09✎ 13:51 | 
        (17) задача-сделать запросом.  (18) о какой консоле речь. итс нет сейчас:( | |||
| 23
    
        izekia 03.10.09✎ 13:51 | 
        (22) кто такую задачу ставит?     | |||
| 24
    
        sashafish 03.10.09✎ 13:52 | 
        (23)я:) ворочаться с выборками- плохо это:)     | |||
| 25
    
        izekia 03.10.09✎ 13:53 | 
        ты пойми, в 1С ты имеешь дело с урезаным языком запросов, в нем такое сделать нереально
  хотя тут одна идея была, сейчас попробую накидать | |||
| 26
    
        izekia 03.10.09✎ 13:56 | 
        (24) здесь запросом нужно получить необходимые данные и дальше обработать, другого пути нет, по крайней мере имеющего смысл     | |||
| 27
    
        Maniac 03.10.09✎ 14:00 | 
        Можно динамический запрос сделать с вложенностью     | |||
| 28
    
        Maniac 03.10.09✎ 14:01 | 
        Тип выборка по группам справочника и присоединение к тексту запроса вложенного запроса по каждой папке. с получением 5 элементов     | |||
| 29
    
        izekia 03.10.09✎ 14:02 | 
        короче есть вариант, сделать соединение по группе пять раз, выбрать соединения имеющие наибольшую сумму для каждой группы, но это слегка неоптимально     | |||
| 30
    
        izekia 03.10.09✎ 14:03 | 
        (28) читай (13)     | |||
| 31
    
        sashafish 03.10.09✎ 14:08 | 
        (29) "слегка неоптимально":))     | |||
| 32
    
        izekia 03.10.09✎ 14:09 | 
        (29) + в условии исключить совпадения элементов
  ну и соответственно заджойнить это все на временную таблицу с итогами пять раз и сложить суммы и по этим суммам найти максимум по группам и на него еще раз заджойнить то же самое | |||
| 33
    
        Tafa 03.10.09✎ 14:10 | 
        ВЫБРАТЬ
  ПродажиОбороты.Номенклатура.Родитель КАК Родитель, ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.КоличествоОборот КАК Количество ПОМЕСТИТЬ Продажи ИЗ РегистрНакопления.Продажи.Обороты(, , , ) КАК ПродажиОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Родитель КАК Родитель, Продажи.Номенклатура КАК Номенклатура, Продажи.Количество КАК Количество ИЗ Продажи КАК Продажи ВНУТРЕННЕЕ СОЕДИНЕНИЕ Продажи КАК ПродажиНумерация ПО Продажи.Родитель = ПродажиНумерация.Родитель И Продажи.Количество <= ПродажиНумерация.Количество СГРУППИРОВАТЬ ПО Продажи.Родитель, Продажи.Номенклатура, Продажи.Количество ИМЕЮЩИЕ КОЛИЧЕСТВО(ПродажиНумерация.Количество) <= 5 УПОРЯДОЧИТЬ ПО Родитель, Количество УБЫВ | |||
| 34
    
        izekia 03.10.09✎ 14:10 | 
        (31) это единственное решение в данном случае, с использованием временных таблиц, оно вполне оптимальным будет     | |||
| 35
    
        izekia 03.10.09✎ 14:13 | 
        (33) а где сортировка, здесь просто первые пять     | |||
| 36
    
        Tafa 03.10.09✎ 14:14 | 
        (35)
  УПОРЯДОЧИТЬ ПО Родитель, Количество УБЫВ | |||
| 37
    
        jcage 03.10.09✎ 14:14 | 
        Все отметившиеся в это ветке - ламеры. Особенно maniac. Идите в институт учите коррелированные подзапросы.
  Вариант для 8.0. Работает примерно 40 секунд ВЫБРАТЬ Продажи.Номенклатура, Продажи.СтоимостьОборот КАК СтоимостьОборот, Продажи.Группа КАК Группа ИЗ (ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.Номенклатура.Родитель КАК Группа, ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот ИЗ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты) КАК Продажи ГДЕ Продажи.Номенклатура В (ВЫБРАТЬ ПЕРВЫЕ 5 ВложенныеПродажи.Номенклатура ИЗ РегистрНакопления.Продажи.Обороты КАК ВложенныеПродажи ГДЕ ВложенныеПродажи.Номенклатура.Родитель = Продажи.Группа УПОРЯДОЧИТЬ ПО ВложенныеПродажи.СтоимостьОборот УБЫВ) УПОРЯДОЧИТЬ ПО Группа, СтоимостьОборот УБЫВ ИТОГИ ПО Группа Вариант для 8.1. ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.Номенклатура.Родитель КАК Группа, ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот ПОМЕСТИТЬ Продажи ИЗ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Продажи.Номенклатура, Продажи.СтоимостьОборот КАК СтоимостьОборот, Продажи.Группа КАК Группа ИЗ Продажи КАК Продажи ГДЕ Продажи.Номенклатура В (ВЫБРАТЬ ПЕРВЫЕ 5 ВложенныеПродажи.Номенклатура ИЗ Продажи КАК ВложенныеПродажи ГДЕ ВложенныеПродажи.Группа = Продажи.Группа УПОРЯДОЧИТЬ ПО ВложенныеПродажи.СтоимостьОборот УБЫВ) УПОРЯДОЧИТЬ ПО Группа, СтоимостьОборот УБЫВ ИТОГИ ПО Группа Замеры произведены для компа 1 ГБ RAM, 2.2 ЦПУ. УТ за год работы - примерно 10 реализаций по 20 строк в день. | |||
| 38
    
        izekia 03.10.09✎ 14:15 | 
        (36) да правильно, я не обратил внимания, что речь идет про количество, а не про сумму     | |||
| 39
    
        izekia 03.10.09✎ 14:16 | 
        значит в (34) я был неправ     | |||
| 40
    
        jcage 03.10.09✎ 14:17 | 
        (33) уже лучше - ты не ламер =). Но запрос будет очень долго работать.     | |||
| 41
    
        jcage 03.10.09✎ 14:18 | 
        (37) + вариант для 8.1. работает примерно 5 секунд     | |||
| 42
    
        sashafish 03.10.09✎ 14:18 | 
        jcage- отец.     | |||
| 43
    
        izekia 03.10.09✎ 14:19 | 
        (37) мне почему-то всегда казалось, что конструкция 
  ГДЕ ВложенныеПродажи.Группа = Продажи.Группа в 1С не работает, спасибо за пример | |||
| 44
    
        izekia 03.10.09✎ 14:24 | 
        я похоже такой же тупой как Евгений, пойду лучше работать     | |||
| 45
    
        Maniac 03.10.09✎ 14:28 | 
        (37) я ламер? походу ты ламер. привел тоже самое о чем я говорил. в отличие от тебя мы в общении только идею предлагали. кокнретная верная реализация уже в процессе рождается.Я предложил самое главное - толчок от чего плясать.
  Походу ты ламер раз этого не понял. | |||
| 46
    
        jcage 03.10.09✎ 14:28 | 
        Разобрал запрос Tafa. Оценка в (40) была не верной. Запрос работает очень хорошо. Tafa - мое почтение.     | |||
| 47
    
        jcage 03.10.09✎ 14:32 | 
        (45) Да - ты ламер. Перечитай посты в этой ветке. Ты не предложил конкретного быстро работающего решения, а предлагал всякую фигню типа двух запросов. Понтов у тебя много, а толку - пшик.     | |||
| 48
    
        Maniac 03.10.09✎ 14:34 | 
        (47) придурок. я сразу сказал Про выборку ПЕРВЫЕ
  и про несколько запросов включая вложенный. Если у тебя готовое решение было - флаг в руки барабан на шею. Я не сидул код не писал. а прдлагал конструкцию. Конкретная реализация мне нафиг не нужна была - у меня таких задач нестоит. Если бы чел сел за код сделал бы тоже самое. | |||
| 49
    
        jcage 03.10.09✎ 14:38 | 
        (48)
  1. За базар ответить можно. Земля круглая. 2. Ты теперь свистеть можешь сколько угодно. Посты до (37) все говорят за тебя. Вместо того что бы теоритизировать как ты я потратил 1 минуту и написал запрос. | |||
| 50
    
        Maniac 03.10.09✎ 14:40 | 
        (49) думаешь перчатки и красные труселя одел пуп земли?
  Грубить не надо было в 37. | |||
| 51
    
        ukneo 03.10.09✎ 14:42 | 
        а у меня тоже есть красные труселя и перчатки=) значит я тоже пуп земли?
  правда я если чего нить не знаю я всякую лабуду не пишу на форуме | |||
| 52
    
        jcage 03.10.09✎ 14:43 | 
        (51) у тебя синие =) ты до пупа земли не дотягиваешь     | |||
| 53
    
        ink1981 03.10.09✎ 14:43 | 
        Суровые мужики не носят красные труселя     | |||
| 54
    
        jcage 03.10.09✎ 14:46 | 
        (53) если ты считаешь, что суровые мужики должны сидеть на форумах писать всякую фигню и пользуясь анонимность оскорблять других - то лучше я буду в красных труселях.     | |||
| 55
    
        jcage 03.10.09✎ 14:47 | 
        (50) А насчет перчаток - как будешь в москве - пиши. Проверим чего ты стоишь. Ламерок.     | |||
| 56
    
        Maniac 03.10.09✎ 14:48 | 
        Кстати где в этом запросе вложенность по иеархии.     | |||
| 57
    
        Maniac 03.10.09✎ 14:49 | 
        в отчет выведется только групп и номенклатура. многоуровневые группы в результат не выйдет. где они?     | |||
| 58
    
        Maniac 03.10.09✎ 14:50 | 
        (55) остынь шпана.     | |||
| 59
    
        Maniac 03.10.09✎ 14:51 | 
        ты наверно и пользователей своих за ламеров считаешь да? ну и как труселя спасают?     | |||
| 60
    
        izekia 03.10.09✎ 14:53 | 
        (56) Евгений, ты описание задачи читал?     | |||
| 61
    
        Maniac 03.10.09✎ 14:57 | 
        (60) а что описание задачи. Надо наперед думать о том что задачу сразу могут изменить. У меня дерево групп большое. Внутри группы которые относятся к нужным группам.
  Ты думаешь когда заказчик увидит что ему принесли не спросит а почему не видно верхних групп, или не скажет мне так неудобно смотреть папки все подряд. | |||
| 62
    
        Maniac 03.10.09✎ 14:58 | 
        я бы сразу понял что нужно делать наперед так как надо, потому что когда скажут вывести все дерево придется полностью все переписывать.     | |||
| 63
    
        izekia 03.10.09✎ 14:59 | 
        (61) ты что хочешь?
  человек задал вопрос на форуме, получил конкретный и исчерпывающий ответ, даже два (62) а ты уверен, что придется все полностью переписывать? | |||
| 64
    
        ukneo 03.10.09✎ 14:59 | 
        (61) а еще он может сказать что хочет видеть как космические корабли бороздят безкрайние просторы вселенной. ты тоже ето будешь делать, заглядывая наперед?     | |||
| 65
    
        Maniac 03.10.09✎ 15:01 | 
        (63) по временной таблице иеархия не работает.     | |||
| 66
    
        Maniac 03.10.09✎ 15:02 | 
        (64) может и такое сказать. но тут как бы ответ очевиден. могу поспорить что это будет первым же вопросом заказчика.     | |||
| 67
    
        Maniac 03.10.09✎ 15:03 | 
        причем задаст этот вопрос ровно чере 5 секунд.     | |||
| 68
    
        izekia 03.10.09✎ 15:04 | 
        (65) то есть такое по-твоему не работает:
  ВЫБРАТЬ Номенклатура.Ссылка ПОМЕСТИТЬ Тест ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ЭтоГруппа = ЛОЖЬ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Тест.Ссылка КАК Ссылка ИЗ Тест КАК Тест ИТОГИ ПО Ссылка ТОЛЬКО ИЕРАРХИЯ | |||
| 69
    
        Maniac 03.10.09✎ 15:06 | 
        (68) итоги по иеархии     | |||
| 70
    
        Maniac 03.10.09✎ 15:08 | 
        (68) не помню где но  меня не рабьотала выборка по временной таблицы чтобы в отчет в результате выводилось всё дерево.     | |||
| 71
    
        izekia 03.10.09✎ 15:09 | 
        ВЫБРАТЬ
  Номенклатура.Ссылка, 2 КАК Сумма ПОМЕСТИТЬ Тест ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ЭтоГруппа = ЛОЖЬ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Тест.Ссылка КАК Ссылка, Тест.Сумма КАК Сумма ИЗ Тест КАК Тест ИТОГИ СУММА(Сумма) ПО Ссылка ТОЛЬКО ИЕРАРХИЯ | |||
| 72
    
        jcage 03.10.09✎ 15:09 | 
        (56, 61, 62) не показывай дальше свое ламерство запросы из (33) от Tafa и из (37) от jcage легко модифицируются для работы с иерархией. Достаточно добавить ИЕРАРХИЯ в ИТОГИ. Кстати, прежде чем писать на форумах всякую фигню - я открыл УТ и ПРОВЕРИЛ будет ли это работать. Почему бы тебе не делать так же?     | |||
| 73
    
        izekia 03.10.09✎ 15:10 | 
        (70) Евгений, у тебя много что не работает, ответ в (47)     | |||
| 74
    
        Maniac 03.10.09✎ 15:14 | 
        лана пойду бьюсь аб стену     | |||
| 75
    
        jcage 03.10.09✎ 15:17 | 
        (74) первый стоящий пост от тебя     | |||
| 76
    
        izekia 03.10.09✎ 15:17 | 
        (74) лучше книжек умных почитай     | |||
| 77
    
        Maniac 03.10.09✎ 15:18 | 
        (76) лучше неделю протрезветь     | |||
| 78
    
        kumena 03.10.09✎ 15:19 | 
        можете еще вот здесь поразбиваться v8: Соединение с максимумом по сумме, реально?
  в производственных целях сделал не одним запросом и уже заниматься лень. | |||
| 79
    
        ukneo 03.10.09✎ 15:19 | 
        ну как вам не стыдно человека оскорблять. ну ошибся он, ну ошибся он, ну построил из себя самого умного, ну он же согласился биться головой ап стену=)
  вы зачем его еще подопнули к етой самой стене. ай ай ай. как не стыдно | |||
| 80
    
        kumena 03.10.09✎ 15:20 | 
        то есть запрос один, ограничитель не в запросе     | |||
| 81
    
        Maniac 03.10.09✎ 15:20 | 
        (79) да просто красные круселя кому то жмут видно     | |||
| 82
    
        jcage 03.10.09✎ 15:27 | 
        (81) ты сам виноват.     | |||
| 83
    
        Maniac 03.10.09✎ 15:31 | 
        (82) давай не будем возвращатся. я уже писал что я не кодер. Для меня решение задач в первую очередь начальная точка от которой плясать а дальше конкретная реализация. и я все верно изнчально понял. мож написал по тупому но понял я все как надо. и про выборку по количеству и про необходимость вложенного запроса. оставалось только сесть и конкретно найти вариант.
  Если бы я сидел и каждому тут готовые запросы шлепал то уж извини брат был бы лохом. А лох и ламер несопоставимы. | |||
| 84
    
        jcage 03.10.09✎ 15:35 | 
        (83) 
  1. Давай не будем пиписьками меряться - у меня длиннее. Я не буду своей должностью бравировать, но она выше. 2. Запрос написать заняло ровно 1 минуту - наглядно и понятно. Ты что бы всю ту фигню писать потратил минут 10. 3. Твои предложения 2-ух запросов по определению не верные в 8.х. В 7.7 может быть это и правильно. Получил ты за то что с уверенностью вещаешь про вещи которых не знаешь. А вообще спасибо тебе мы тут с Васей поржали над тобой от души. | |||
| 85
    
        bazvan 03.10.09✎ 15:38 | 
        (84) Нууу это тут Маня мало ж о г
  Вот тут OFF: В шоке от УправлениеТорговлей я понимаю что большая ветка НО там просто жжжесть | |||
| 86
    
        Maniac 03.10.09✎ 15:45 | 
        (84) человек. я сижу мне делать нечего. могу общатся и часами глянь ссылку в (85)     | |||
| 87
    
        Maniac 03.10.09✎ 15:46 | 
        (85) привет. нравятся большие ветки с маньяком?     | |||
| 88
    
        ptiz 03.10.09✎ 16:08 | 
        Через СКД можно. Там есть "первые N записей".     | |||
| 89
    
        izekia 03.10.09✎ 16:15 | 
        (88) дорого     | |||
| 90
    
        sashafish 03.10.09✎ 17:32 | 
        В общем не знаю будет ли этот пост последним, но все огромное спасибо:)     | |||
| 91
    
        Maniac 03.10.09✎ 17:38 | 
        (90) да не за что))))) будешь еще что нибудь нужно из готовых запросов пиши. Меня зови в ветку и обязательно получишь готовый текст кода совершенно забесплатно.     | |||
| 92
    
        jcage 03.10.09✎ 17:41 | 
        можно сделать проще - приходи работать в нашу компанию. Коллектив у нас сильный - быстро научишься писать правильные запросы.     | |||
| 93
    
        bazvan 03.10.09✎ 17:45 | 
        (92) Фрнач?     | |||
| 94
    
        jcage 03.10.09✎ 17:48 | 
        (93) формально - да. Но беготней принципиально не занимаемся. Работаем на нескольких проектов. По отделу на проект.     | |||
| 95
    
        Maniac 03.10.09✎ 17:50 | 
        газпром чтоле?     | |||
| 96
    
        bazvan 03.10.09✎ 17:50 | 
        (94)ясно спасибо     | |||
| 97
    
        BabySG 03.10.09✎ 23:46 | 
        (72) ИТОГИ не прокатят в СКД     | |||
| 98
    
        bvn13 04.10.09✎ 00:13 | 
        вот такой текст запроса по сабжевой теме приведен в каркасной конфигурации от Арутюнова Сергея (1С):  Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 5 | ИсточникДанных.Товар |ИЗ | (ВЫБРАТЬ | РезервТовара.Товар КАК Товар, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РезервТовара.Регистратор) КАК Сделок | ИЗ | РегистрНакопления.РезервТовара КАК РезервТовара | ГДЕ | РезервТовара.Цена <> 0 | | СГРУППИРОВАТЬ ПО | РезервТовара.Товар) КАК ИсточникДанных | |УПОРЯДОЧИТЬ ПО | ИсточникДанных.Сделок УБЫВ"; | |||
| 99
    
        simol 04.10.09✎ 00:27 | 
        (98)нужно не первые 5 а первые 5 в каждой группе     | |||
| 100
    
        eklmn гуру 04.10.09✎ 01:17 | 
        100!!!     | |||
| 101
    
        Злопчинский 04.10.09✎ 01:56 | 
        задача - фекалия! особенно если окажется, что после запроса элемент перекинули в другую группу... вот из-за таких долюоебов наши космические корабили и не бороздят просторы вселенной.     | |||
| 102
    
        sashafish 05.10.09✎ 18:20 | 
        Поразбирал временные таблицы, но что-то опять не в порядке:)  Если периодический регистр сведений СПЦ, в который пишется средняя цена прихода в разрезе Номенклатуры Серий. В запросе предпринита попытка вытащить из документов реализации номенклатуру и завязать ее на актуальном приходе. Т.к. есть измерение серий в регистре СПЦ, то срез последних дает СПЦ по каждой забитой серии. Надо вытащить только самую последнюю запись касательно серий. Запрос, который я навоял и который вешает систему: ВЫБРАТЬ РеализацияТоваровУслугТовары.Ссылка, РеализацияТоваровУслугТовары.Номенклатура, СПЦСрезПоследних.СПЦ, СПЦСрезПоследних.ЦенаПрихода, СПЦСрезПоследних.Период ПОМЕСТИТЬ Артикул ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СПЦ.СрезПоследних КАК СПЦСрезПоследних ПО РеализацияТоваровУслугТовары.Номенклатура = СПЦСрезПоследних.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Артикул.Ссылка, Артикул.Номенклатура, Артикул.СПЦ, Артикул.ЦенаПрихода, Артикул.Период ИЗ Артикул КАК Артикул ГДЕ Артикул.Период В (ВЫБРАТЬ ПЕРВЫЕ 1 ВАртикул.Период ИЗ Артикул КАК ВАртикул ГДЕ ВАртикул.Ссылка = Артикул.Ссылка) | |||
| 103
    
        sashafish 05.10.09✎ 18:32 | 
        Разобрался. Это не "Вешает систему", это "Очень долго работает":) Как оптимизировать запрос хотя бы в 5 раз, т.е. до времени выполнения в 2 минуты:)     | |||
| 104
    
        NewNick 05.10.09✎ 19:39 | 
        первая таблица ну очень жирная ) ее обязательно строить по всем товарным позициями всех реализаций в том числе и удаленных и тп ?)  второй запрос почему то потерял упорядочивание. в плане оптимизации все очень просто. вначале найди первые. а потом цепляй к реализациям а не наоборот ) | |||
| 105
    
        sashafish 05.10.09✎ 20:15 | 
        (104)Спасибо. Раскину мозгами. По итогам выложу запрос:)     | |||
| 106
    
        Bober 05.10.09✎ 20:20 | 
        номенклатурные группы - это папки спр.Номенклатура или отдельный спр.НоменклатурныеГруппы? Если папки, то нужно искать первые 5 родителя элемента или первые 5 по группах верхнего уровня, или еще как?     | |||
| 107
    
        Bober 05.10.09✎ 20:24 | 
        номенклатурные группы - это папки спр.Номенклатура или отдельный спр.НоменклатурныеГруппы? Если папки, то нужно искать первые 5 родителя элемента или первые 5 по группах верхнего уровня?     | |||
| 108
    
        sashafish 05.10.09✎ 21:34 | 
        (107)Вопрос по первым 5 решен, читай выше. Это папки.     | |||
| 109
    
        jcage 05.10.09✎ 22:04 | 
        1. Получаешь позиции запросом, которые писал выше.
  2. Делаешь левое соединение со средними ценами ТОЛЬКО ПО этим позициям 3. При соединении на регистр сведений накладываешь условие на виртуальную таблицу по принципу: ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СПЦ.СрезПоследних(,Номенклатура В (ВЫБРАТЬ Номенклатура из ТАБЛИЦАСПЕРВЫМИ5продаваемымиПОЗИЦИЯМИПОГРУППАМ) И будет намного быстрее. И отучайся делать запросы по документам для отчетов. | |||
| 110
    
        sashafish 06.10.09✎ 12:03 | 
        Товарищи растусуйте, пожалуйста. Почему первый запрос выполняется за 30 секунд, а второй вообще не выполняется на моей машине. Ну машина конечно не ахти, но хоть как-то это должно работать?!  Запрос №1: ВЫБРАТЬ СПЦСрезПоследних.Номенклатура, СПЦСрезПоследних.Период, СПЦСрезПоследних.СПЦ, СПЦСрезПоследних.ЦенаПрихода ПОМЕСТИТЬ ВременнаяТаблица ИЗ РегистрСведений.СПЦ.СрезПоследних КАК СПЦСрезПоследних ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВременнаяТаблица.Номенклатура КАК Номенклатура, ВременнаяТаблица.Период, ВременнаяТаблица.СПЦ, ВременнаяТаблица.ЦенаПрихода ИЗ ВременнаяТаблица КАК ВременнаяТаблица ГДЕ ВременнаяТаблица.Период В (ВЫБРАТЬ ПЕРВЫЕ 1 Таблица.Период ИЗ ВременнаяТаблица КАК Таблица ГДЕ Таблица.Номенклатура = ВременнаяТаблица.Номенклатура УПОРЯДОЧИТЬ ПО Таблица.Период УБЫВ) УПОРЯДОЧИТЬ ПО Номенклатура АВТОУПОРЯДОЧИВАНИЕ Запрос №2: ВЫБРАТЬ ВложенныйЗапрос.Период, ВложенныйЗапрос.Номенклатура, ВложенныйЗапрос.СПЦ ИЗ (ВЫБРАТЬ СПЦСрезПоследних.Период КАК Период, СПЦСрезПоследних.Номенклатура КАК Номенклатура, СПЦСрезПоследних.СПЦ КАК СПЦ ИЗ РегистрСведений.СПЦ.СрезПоследних КАК СПЦСрезПоследних) КАК ВложенныйЗапрос ГДЕ ВложенныйЗапрос.Период В (ВЫБРАТЬ ПЕРВЫЕ 1 СПЦСрезПоследних.Период КАК Период ИЗ РегистрСведений.СПЦ.СрезПоследних КАК СПЦСрезПоследних ГДЕ СПЦСрезПоследних.Номенклатура = ВложенныйЗапрос.Номенклатура УПОРЯДОЧИТЬ ПО Период УБЫВ) | |||
| 111
    
        73 06.10.09✎ 12:08 | 
        Во втором запросе СрезПоследних строится офигеть сколько раз.
  В первом - 1 раз и помещается во временную. | |||
| 112
    
        jcage 06.10.09✎ 12:15 | 
        Объясни структуру регистров и чего ты хочешь добиться.     | |||
| 113
    
        sashafish 06.10.09✎ 12:25 | 
        Регистр сведений СПЦ: периодический, с измерениями: номенклатура, характеристика номенклатуры, серия номенклатуры, склад; ресурсами: СПЦ, ЦенаПрихода. Регистр двигают все приходы на определенный склад. Каждый раз пишется новое значение СПЦ и  цены прихода. СПЦ=СуммаВсегоПрихода/ОбщееКолличествоПрихода.   Задача: вытащить последний приход по каждой номенклатуре без учета по сериям, т.е. просто последний приход. Это часть большей задачей, но с остальным проблем в понимании нет:) | |||
| 114
    
        jcage 06.10.09✎ 19:17 | 
        ВЫБРАТЬ
  СПЦСрезПоследних.Номенклатура, СПЦСрезПоследних.Характеристика, СПЦСрезПоследних.Серия, СПЦСрезПоследних.Период, СПЦСрезПоследних.СПЦ, СПЦСрезПоследних.ЦенаПрихода ПОМЕСТИТЬ ВременнаяТаблица ИЗ РегистрСведений.СПЦ.СрезПоследних КАК СПЦСрезПоследних ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВременнаяТаблица.Номенклатура, ВременнаяТаблица.Характеристика, ВременнаяТаблица.Период, ВременнаяТаблица.СПЦ, ВременнаяТаблица.ЦенаПрихода ИЗ ВременнаяТаблица КАК ВременнаяТаблица ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Номенклатура, Характеристика, Максимум(Серия), Максимум(Период) ИЗ ВременнаяТаблица КАК Таблица СГРУППИРОВАТЬ ПО Номенклатура, Характеристика ) КАК Фильтр ПО Фильтр.Номенклатура = ВременнаяТаблица.Номенклатура И Фильтр.Характеристика = ВременнаяТаблица.Характеристика и Фильтр.Серия = ВременнаяТаблица.Серия и Фильтр.Период = ВременнаяТаблица.Период УПОРЯДОЧИТЬ ПО Номенклатура АВТОУПОРЯДОЧИВАНИЕ | |||
| 115
    
        sashafish 06.10.09✎ 22:15 | 
        Спасибо,jcage. Буду копать:) Твой запрос работает у меня полторы секунды.  Грамотные запросы решают:) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |