|
v7: Группировка Товар Все зависает при обходе групп | ☑ | ||
---|---|---|---|---|
0
Pr0gLamer
29.03.12
✎
18:02
|
Доброго времени суток!
Период с Дата1 По Дата2; Автор=Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Автор, Регистр.ПартииТоваров.ТекущийДокумент.НарядЗаказ.Автор, Регистр.ПартииТоваров.ТекущийДокумент.НарядЗаказГидр.Автор, Регистр.ПартииТоваров.ТекущийДокумент.ГТДГидр.Автор, Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяРозничная.Автор, Регистр.ПартииТоваров.ТекущийДокумент.ПриходнаяНакладная.Автор, Регистр.ПартииТоваров.ТекущийДокумент.ЧекКА.Автор, Регистр.ПартииТоваров.ТекущийДокумент.ОтчетКА.Автор; Фирма = Регистр.ПартииТоваров.Фирма; Товар = Регистр.ПартииТоваров.Товар; КодОперации = Регистр.ПартииТоваров.КодОперации; ОстатокТовара = Регистр.ПартииТоваров.ОстатокТовара; ОборотТовара = Регистр.ПартииТоваров.ОборотДоллар; Группировка Товар Все; Условие (Фирма = ВыбФирма); Условие (Товар в СписокТоваров); Если в "СписокТоваров" есть группы - запрос зависает. Если вместо "Группировка Товар Все" написать "Группировка Товар" - запрос отрабатывает нормально.Если ничего не менять и в "СписокТоваров" нет групп - запрос отрабатывает нормально.Кто-то сталкивался с подобной проблемой? |
|||
1
snegovik
29.03.12
✎
18:06
|
"Если вместо "Группировка Товар Все" написать "Группировка Товар" - запрос отрабатывает нормально"
-------------------- Ну вот так и оставь, раз всё нормально:-) |
|||
2
Pr0gLamer
29.03.12
✎
18:08
|
=)
я бы оставил,но мне нужно получить непродоваемы товары |
|||
3
andrewalexk
29.03.12
✎
18:09
|
:) дбф?
|
|||
4
Pr0gLamer
29.03.12
✎
18:12
|
SQL
|
|||
5
Maxxxim
29.03.12
✎
18:12
|
Наверняка есть элемент у которого в качество ссылки на родитель указан он сам. В таких случаях обычно "Тестрование и исправление" тоже зависает и исправить ситуацию можно только отредакировав таблицу вручную...
|
|||
6
andrewalexk
29.03.12
✎
18:14
|
:) или кривая база или объем регистра критичен
|
|||
7
Ёпрст
29.03.12
✎
18:15
|
(0) это же не весь код ?
Где функции этого запроса ? |
|||
8
Pr0gLamer
29.03.12
✎
18:15
|
Если была бы такая ситуация(5),то наверняка бы без "Все" тоже бы зависало.Или оно как-то особенно влияет?
|
|||
9
Pr0gLamer
29.03.12
✎
18:16
|
Период с Дата1 По Дата2;
Автор=Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Автор, Регистр.ПартииТоваров.ТекущийДокумент.НарядЗаказ.Автор, Регистр.ПартииТоваров.ТекущийДокумент.НарядЗаказГидр.Автор, Регистр.ПартииТоваров.ТекущийДокумент.ГТДГидр.Автор, Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяРозничная.Автор, Регистр.ПартииТоваров.ТекущийДокумент.ПриходнаяНакладная.Автор, Регистр.ПартииТоваров.ТекущийДокумент.ЧекКА.Автор, Регистр.ПартииТоваров.ТекущийДокумент.ОтчетКА.Автор; Фирма = Регистр.ПартииТоваров.Фирма; Товар = Регистр.ПартииТоваров.Товар; КодОперации = Регистр.ПартииТоваров.КодОперации; ОстатокТовара = Регистр.ПартииТоваров.ОстатокТовара; ОборотТовара = Регистр.ПартииТоваров.ОборотДоллар; Группировка Товар; Условие (Фирма = ВыбФирма); Условие (Товар в СписокТоваров); Условие (Товар в СписокТоваровМНФ);Условие (Товар в сзОтфильтрПоз); Функция Продажи = Расход(ОстатокТовара); Функция Оборот = Расход(ОборотТовара); Условие (КодОперации В КодыОперацийПродажи); Вработе = Регистр.ПартииТоваров.ТекущийДокумент.НарядЗаказ.Вработе, Регистр.ПартииТоваров.ТекущийДокумент.ГТДГидр.Вработе; Условие (Вработе<>1); |
|||
10
Maxxxim
29.03.12
✎
18:18
|
(8) без "все" этот элемент может не поподать в выборку..
|
|||
11
Maxxxim
29.03.12
✎
18:19
|
(8) тем более если это "Группа"
|
|||
12
Pr0gLamer
29.03.12
✎
18:20
|
ситуацию решил добавлением всех элементов из групп в СЗ,потом уже обход этого СЗ
но очень коряво как-то |
|||
13
Maxxxim
29.03.12
✎
18:22
|
Выполни в SQLе примерно следующий запрос
SELECT Nom.CODE AS Код, FROM $Справочник.Номенклатура Nom (NOLOCK) WHERE Nom.ID = Nom.ParentId |
|||
14
Ёпрст
29.03.12
✎
18:22
|
запрос.ВулючитьSQl(0)
токма про скорость забудь, хотя.. при таком запросе её и так нет |
|||
15
Maxxxim
29.03.12
✎
18:23
|
он вернет коды таких элементов, ибо обязательно где-нибудь потом опять столкнешься с это проблемой!
|
|||
16
Pr0gLamer
29.03.12
✎
18:24
|
Спасибо,попробую сейчас.NOLOCK это что?
|
|||
17
Pr0gLamer
29.03.12
✎
18:29
|
ничего не вернул запрос
|
|||
18
Ёпрст
29.03.12
✎
18:30
|
(17) а где ты его запускал ?
:) в QA поди ? ^) |
|||
19
Pr0gLamer
29.03.12
✎
18:33
|
запусти его в своей обработке
|
|||
20
Pr0gLamer
29.03.12
✎
18:33
|
запустил*
|
|||
21
Ёпрст
29.03.12
✎
18:36
|
ну тогда тебе повезло - нет циклических ссылок
|
|||
22
Pr0gLamer
29.03.12
✎
18:40
|
нда,мне еще повезло,т.к. у меня через 20 минут заканчивается рабочий день,и по ходу моё бредовое решение проблемы пойдёт в рабочую )
|
|||
23
splayfooted
29.03.12
✎
18:50
|
скоко можно извращений?
сделай оборотный рег "движениеТовара", напихай туда в реквизиты информации и "выспрашивай" у него инфу. бороздить "ПартииТоваров" дурной вкус (имхо) |
|||
24
FN
29.03.12
✎
21:39
|
(22) сделай два запроса: первый из (0), второй просто к справочнику с нужными условиями.
Обход результатов делай по второму запросу а данные получай из первого с помощью метода Получить(...) |
|||
25
Pr0gLamer
30.03.12
✎
10:18
|
(24) примерно так и делаю,уже вопрос даже не в том "как сделать?",а "почему происходит?"
|
|||
26
FN
30.03.12
✎
11:22
|
(25) просто запомни, что использование "Все" в запросе приводит к значительному увеличению времени выполнения запроса.
Лично я использую "Все" только применительно к группировкам Месяц, Год и тп |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |