Имя: Пароль:
1C
1C 7.7
v7: Глюк с оборотным регистром
,
0 gun200
 
20.04.15
11:38
Есть такой запрос:    
ТекстЗапросаСкор =
    "//{{ЗАПРОС(ЗапросДляСкорости)
    |Период с ДатаНачалаПрод по ДатаКонцаПрод;
    |Фирма             = Регистр.Продажи.Фирма, Регистр.ОстаткиТоваров.Фирма;
    |Склад             = Регистр.Продажи.Склад, Регистр.ОстаткиТоваров.Склад;
    |Товар             = Регистр.Продажи.Товар, Регистр.ОстаткиТоваров.Товар;  
    |КатегорияТовара= Регистр.Продажи.Товар.КатегорияТовара, Регистр.ОстаткиТоваров.Товар.КатегорияТовара;
    |ТипТовара         = Регистр.Продажи.Товар.ТипТовара, Регистр.ОстаткиТоваров.Товар.ТипТовара;
    |Количество     = Регистр.Продажи.Количество;  
    |КоличествоВВ    = Регистр.Продажи.КоличествоВ;
    |ост            = Регистр.ОстаткиТоваров.ОстатокТовара;
    |Сумма          = Регистр.Продажи.Сумма;  
    |СуммаВВ         = Регистр.Продажи.СуммаВ;  
    |ВидТовара1     = Регистр.Продажи.Товар.ВидТовара, Регистр.ОстаткиТоваров.Товар.ВидТовара;
    |Клиент         =Регистр.Продажи.Клиент;
      |Функция ОстатокТовара = НачОст(ост);    
    |Функция Приход =Приход(ост);
    |Функция РасходТовара = Сумма(Количество-КоличествоВВ) Когда  (не(Клиент в спрсс));
    |Функция РасходТовараСумм = Сумма(Сумма-СуммаВВ) Когда (не(Клиент в спрсс));
    |Условие (ВидТовара1=Перечисление.ВидыТоваров.товар);  
    |Условие (Товар В ВыбТовар);";
    
    Если ВыбСклад.Выбран() = 1 Тогда
        ТекстЗапросаСкор = ТекстЗапросаСкор + "
        |Условие (Склад = ВыбСклад);"
    КонецЕсли;
    Если ВыбФирма.Выбран() = 1 Тогда
        ТекстЗапросаСкор = ТекстЗапросаСкор + "
        |Условие (Фирма = ВыбФирма);"
    КонецЕсли;  
    Если ПустоеЗначение(ВыбКатегорияТовара)=0 Тогда  
        ТекстЗапросаСкор = ТекстЗапросаСкор + "
        |Условие (КатегорияТовара = ВыбКатегорияТовара);";
    КонецЕсли;
    Если ПустоеЗначение(ВыбТипТовара)=0 Тогда
        ТекстЗапросаСкор = ТекстЗапросаСкор + "
        |Условие (ТипТовара = ВыбТипТовара);";  
    КонецЕсли;
    
    ТекстЗапросаСкор = ТекстЗапросаСкор + "
    |Группировка Товар;
    |Группировка День Все;

При выполнении выходит глюк, если в запросе пишу Сумма(Сумма-СуммаВВ), то РасходТовара и РасходТовараСумм равны 0. Если указать Сумма(Сумма), то данные есть и по количеству и по сумме. ТиИ не помогает. Что это может быть с оборотным регистром ?
Нет ни у кого обработки, что бы посмотреть движения оборотного регистра ?
1 dmpl
 
20.04.15
11:41
(0) Это нормально. Пробуй немного менять запрос пока не заработает.
2 gun200
 
20.04.15
11:48
(1) Каким образом менять ? :)
3 Андрей_Андреич
 
naïve
20.04.15
11:53
(2)
Функция РасходТовара = Сумма(Количество)
Функция РасходТовараВВ = Сумма(КоличествоВВ)
И уже потом, обрабатывая в цикле результаты, вычисляешь
РасходТовара=Запрос.РасходТовара - Запрос.РасходТовараВВ
4 Ёпрст
 
20.04.15
11:55
(3) щас прибежит,скажет, что там тоже ноль :)))
5 gun200
 
20.04.15
11:56
(3) Уже понял, спасибо. так это получается глюк 1С ? Именно по оборотному регистру ? В регистре накоплений никогда не встречал такого.
6 gun200
 
20.04.15
11:59
(4) Нет не ноль.
7 Ёпрст
 
20.04.15
12:12
Так, чего кажет ?

Функция Вася= Сумма(0+Количество-КоличествоВ);
8 gun200
 
20.04.15
12:15
(7) Пусто
9 Ёпрст
 
20.04.15
12:18
Не верю.
Ты в функцию Вася добавил своё Когда , поди, да ?
10 gun200
 
20.04.15
12:22
(9) Да, но есть без когда, в другом отчете, и тоже не работает.
11 gun200
 
20.04.15
12:33
Может ещё есть варианты ? Что бы запрос не переделывать ?
12 Ёпрст
 
20.04.15
14:50
Попробовать сделать через Принадлежит()=0