Имя: Пароль:
1C
1С v8
Модифицировать запрос для работы с двумя регистраторами. Как ?
,
0 El_Duke
 
гуру
17.05.13
09:25
Приветствую общественность !
Есть простой запрос:

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

Как сделать так, чтобы в качестве регистратора выступал не только документ ТребованиеНакладная но и док ПередачаМатериаловВЭксплуатацию ???
1 viktor_vv
 
17.05.13
09:30
Ну и чем ИЛИ в Где не устраивает?
2 El_Duke
 
гуру
17.05.13
09:35
(1) всем устраивает, только где его ставить ?

ВЫРАЗИТЬ((...) ИЛИ (...)) ?
3 Fragster
 
гуру
17.05.13
09:45
вот это: ВЫРАЗИТЬ(ХозрасчетныйОборотыДтКт.Регистратор КАК Документ.ТребованиеНакладная) ССЫЛКА Документ.ТребованиеНакладная писал наркоман. Выразить тут нафиг не надо
4 Fragster
 
гуру
17.05.13
09:45
(3)+ только вред от выразить
5 unregistered
 
17.05.13
09:51
Как-то так:

ВЫБРАТЬ
  ХозрасчетныйОборотыДтКт.Регистратор,
  ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Материал,
  СУММА(ХозрасчетныйОборотыДтКт.СуммаОборот) КАК Сумма,
  СУММА(ХозрасчетныйОборотыДтКт.КоличествоОборотКт) КАК Количество
ИЗ
  РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПериода, &КонПериода, Регистратор, , , СчетКт В (&Сч), , Организация В (&Орг)) КАК ХозрасчетныйОборотыДтКт
ГДЕ
  ХозрасчетныйОборотыДтКт.Регистратор ССЫЛКА Документ.ТребованиеНакладная ИЛИ ХозрасчетныйОборотыДтКт.Регистратор ССЫЛКА Документ.ПередачаМатериаловВЭксплуатацию
СГРУППИРОВАТЬ ПО
  ХозрасчетныйОборотыДтКт.СубконтоКт1,
  ХозрасчетныйОборотыДтКт.Регистратор
УПОРЯДОЧИТЬ ПО
  Материал
ИТОГИ
  СУММА(Сумма),
  СУММА(Количество)
ПО
  ОБЩИЕ,
  Материал
6 viktor_vv
 
17.05.13
09:52
(3) Таки +1. Че-то у меня выразить() сразу с обращением через точку связывается, а тут и не обратил внимание.
7 tushich
 
17.05.13
09:56
(2) + вместо "или" юзай объединить все, оптимизатору проще будет. Выразить нужно использовать когда получаешь через точку данные от поля составного типа(у тебя без точки)
8 Bober
 
17.05.13
10:01
(0) замени таблицу на ХозрасчетныйДвиженияССубконто
- там можно в параметрах виртуальной таблицы указывать отбор по регистратору
- таблица ОборотыДтКт при детализации до регистратора теряет приемущество
9 Bober
 
17.05.13
10:03
(7) интересно, где тут проблемы у оптимизатора будут? (идет отбор по колонке тип значения)
10 El_Duke
 
гуру
17.05.13
10:03
(5) Благодарю коллега, и всех остальных тоже
Комментировать чужой код,хорош он или нет, мне сложно, тем более в восьмерочном коде разбираюсь пока слабо
11 Maxus43
 
17.05.13
10:08
(9) рекомендация 1с, конструкция ИЛИ приводит к прекращению использования индексов
12 Bober
 
17.05.13
10:12
(11) в рекомендации не про это шла речь
13 Bober
 
17.05.13
10:16
(5) реальный трэш
14 Maxus43
 
17.05.13
10:16
(12) ну я хз тогда, что имел ввиду (7)
15 unregistered
 
17.05.13
10:46
(13) Трешовый вы наш...

Если уж говорить об оптимизации, то тогда целесообразнее использовать таблицу Обороты, а не ОборотыДтКт или ДвиженияССубконто.
Учитывая квалификацию автора ветки, самым простым и правильным решением было дать самый простой ответ, а не писать опус о структуре физических и виртуальных таблиц регистра бухгалтерии и особенностях работы сервера БД (может у него вообще файловая база).
16 tushich
 
17.05.13
11:33
(9) на ИТС статья была про это.
17 Fragster
 
гуру
17.05.13
12:04
(16) там речь про ИЛИ по разным полям
18 Bober
 
17.05.13
15:42
(15) давать глупые советы и есть самый настоящий треш. Ну нет у тебя мозгов понять как это работает на регистрах бухгалтерии.
19 hhhh
 
17.05.13
15:47
(15) не, в файловой базе тоже похоже ИЛИ подтормаживает.
20 tushich
 
20.05.13
14:25
(17) http://its.1c.ru/db/v8std#content:2149184307:1 про или в секции где.