Имя: Пароль:
1C
1С v8
Вопрос по виртуальным таблицам
0 1C2SS
 
13.09.12
13:56
Всем привет!
Осваиваю 1С 8.1 по книжке "Практическое пособие разработчика".
Возник вопрос на который ни как не удается найти ответ.
Вот к примеру есть регистр накопления ПРОДАЖИ.
У него есть измерения: Номенклатура, Клиент, Мастер.
И ресурсы: Количество, Выручка, Стоимость.
К этому регистру автоматически создается виртуальная таблица Продажи.Обороты. В ней как я понял содержатся записи значений ресурсов для всех существующих комбинаций значений измерений, причем в пределах одной комбинации значений измерений значения ресурсов складываются. Т.е. одну запись (строку) однозначно определяют три значения (Номенклатура, Клиент, Мастер).
На основе этой виртуальной таблицы, а так же справочника НОМЕНКЛАТУРА формируется отчет, в котором отображается на какую сумму было продано такого то материала.
Запрос получается вот такой:
ВЫБРАТЬ
   СпрНоменклатура.Ссылка КАК Услуга,
   ПродажиОбороты.ВыручкаОборот КАК Выручка
ИЗ
   Справочник.Номенклатура КАК СпрНоменклатура
       ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
       ПО (ПродажиОбороты.Номенклатура = СпрНоменклатура.Ссылка)
ГДЕ
   СпрНоменклатура.ЭтоГруппа = ЛОЖЬ
   И СпрНоменклатура.ВидНоменклатуры = &ВидНоменклатуры


В результате получается что как будто в виртуальной таблице отбрасываются измерения Клиент и Мастер и остается только Номенклатура и в рамках номенклатуры суммируются все записи, но это суммирование ни где не описано. Почему так происходит ? Объясните пожалуйста кто понимает.
1 vmv
 
13.09.12
14:00
Справочник.Номенклатура КАК СпрНоменклатура
ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
       ПО (ПродажиОбороты.Номенклатура = СпрНоменклатура.Ссылка)

хрень - обе таблицы практичиски самые массивные в любой конфе
и при соединении будут коннектиться: полная таблица 1 и полная виртуальныая таблица. Итог печален - тармаза)

Виртуальную помести в ВТ и условие помести в параметры виртуальной таблицы. Получишь маленькую табличку из виртуальной - ее то и пихай в соедиялку
2 Feanorko
 
13.09.12
14:03
(0) >Почему так происходит ?

Значит это кому-то нужно :)
3 Hmster
 
13.09.12
14:14
для этого они и нужны
4 Hmster
 
13.09.12
14:15
чтобы не писать СГРУППИРОВАТЬ ПО
5 Reset
 
13.09.12
14:15
"Почему так происходит ?"
Такая фича виртуальной таблицы. Выбирая те или иные измерения, ты указвешь детализацию результата, не указывая - значит этот разрез тебе не нужен и результат не дробится
Сколько? 50
Сколько яблок? 10 яблок
Сколко яблок и какого цвета? 4 синих 6 черных
Сколько синих? 20
6 vmv
 
13.09.12
14:16
(5) пример с сиськами больше доходит, советую
7 Reset
 
13.09.12
14:17
(5) Что-то я прогнал с яблоками. Сложно аксиомы объяснять ]
8 1C2SS
 
13.09.12
14:17
Т.е. если обращаться к виртуальной таблице по одному  измерению, не смотря на то что у нее их 3, то она автоматически будет суммировать данные по ресурсам в рамках этого измерения ?
9 Hmster
 
13.09.12
14:18
(8) ДА
10 rs_trade
 
13.09.12
14:20
(8) виртуальная таблица, это запрос
11 vmv
 
13.09.12
14:20
(8)

http://help1c.com/faq8/view/1177.html

и всю главу там прочти, тогда мир не получит еще одного г-кодера
12 1C2SS
 
13.09.12
14:32
ясно. Спасибо.
Закон Брукера: Даже маленькая практика стоит большой теории.