Имя: Пароль:
1C
1С v8
Какая-то мистика в запросе
, , ,
0 Viktosha
 
04.10.12
16:48
Пишу запрос, в котором получаю остатки на начало и конец периода и конкретные движения.
Выводится 0  по такой строке:
+code
ВЫБОР
           КОГДА Товарооборот.СтоимостьПоТребованию + Товарооборот.ПродажиСебестоимость + Товарооборот.СтоимостьПроизводственныеЗатраты <> 0
               ТОГДА (Товарооборот.СтоимостьКонечныйОстаток + Товарооборот.СтоимостьНачальныйОстаток) / 2 / (Товарооборот.СтоимостьПоТребованию + Товарооборот.ПродажиСебестоимость + Товарооборот.СтоимостьПроизводственныеЗатраты) / &КоличествоДнейПериода
           ИНАЧЕ 0
       КОНЕЦ КАК СтоимостьОборачиваемость,

-code

При этом если после ТОГДА ставить например "1" или Товарооборот.ПродажиСебестоимость Выводятся эти значения, если поставить просто Товарооборот.СтоимостьКонечныйОстаток или Товарооборот.СтоимостьКонечныйОстаток будет 0. Но если все тоже самое написать без условия - выводится нужная цифра. В чем м.б. проблема?
1 ОператорПК
 
04.10.12
16:49
ЕстьNull заюзай
2 Viktosha
 
04.10.12
16:58
В том-то и дело, что нет Null в результатах
3 Viktosha
 
04.10.12
16:58
все остатки и обороты через Объединить
4 Fram
 
04.10.12
17:01
интересно а в каком порядке выполняются арифметические действия в таком выражении?(Товарооборот.СтоимостьКонечныйОстаток + Товарооборот.СтоимостьНачальныйОстаток) / 2 / (Товарооборот.СтоимостьПоТребованию + Товарооборот.ПродажиСебестоимость + Товарооборот.СтоимостьПроизводственныеЗатраты) / &КоличествоДнейПериода
5 Viktosha
 
04.10.12
17:01
Попробовала,ЕстьNull не помогает, да и не в нем причина(((((
6 IronDemon
 
04.10.12
17:01
Выбери в конечном запросе все поля используемые в этой конструкции и посчитай.
7 Deon
 
04.10.12
17:03
может база битая?
8 Viktosha
 
04.10.12
17:03
(6) Это уже в конечном запросе считается, кому интересно сам запрос:
+Code
ВЫБРАТЬ
   Товарооборот.Номенклатура КАК Номенклатура,
   Товарооборот.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   Товарооборот.Регистратор,
   Товарооборот.Период,
   Товарооборот.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
   Товарооборот.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
   Товарооборот.СтоимостьНачальныйОстаток КАК СтоимостьНачальныйОстаток,
   Товарооборот.СтоимостьКонечныйОстаток КАК СтоимостьКонечныйОстаток,
   Товарооборот.КоличествоОприходовано КАК КоличествоОприходовано,
   Товарооборот.СтоимостьОприходовано КАК СтоимостьОприходовано,
   Товарооборот.КоличествоСписано КАК КоличествоСписано,
   Товарооборот.СтоимостьСписано КАК СтоимостьСписано,
   Товарооборот.КоличествоПоТребованию КАК КоличествоПоТребованию,
   Товарооборот.СтоимостьПоТребованию КАК СтоимостьПоТребованию,
   Товарооборот.КоличествоВыпущено КАК КоличествоВыпущено,
   Товарооборот.СтоимостьВыпущено КАК СтоимостьВыпущено,
   Товарооборот.КоличествоЗакуплено КАК КоличествоЗакуплено,
   Товарооборот.СтоимостьЗакуплено КАК СтоимостьЗакуплено,
   Товарооборот.ПродажиКоличество КАК ПродажиКоличество,
   Товарооборот.ПродажиНДС КАК ПродажиНДС,
   Товарооборот.ПродажиСтоимостьБезНДС КАК ПродажиСтоимостьБезНДС,
   Товарооборот.ПродажиСебестоимость КАК ПродажиСебестоимость,
   Товарооборот.ПродажиСтоимость КАК ПродажиСтоимость,
   Товарооборот.ПродажиВаловаяПрибыль КАК ПродажиВаловаяПрибыль,
   Товарооборот.RFE КАК RFE,
   Товарооборот.КоличествоПроизводственныеЗатраты КАК КоличествоПроизводственныеЗатраты,
   Товарооборот.СтоимостьПроизводственныеЗатраты КАК СтоимостьПроизводственныеЗатраты,
   Товарооборот.КоличествоОтклонение КАК КоличествоОтклонение,
   Товарооборот.СтоимостьОтклонение КАК СтоимостьОтклонение,
   Товарооборот.КоличествоИзменение КАК КоличествоИзменение,
   Товарооборот.СтоимостьИзменение КАК СтоимостьИзменение,
   Товарооборот.КоличествоОборачиваемость КАК КоличествоОборачиваемость,
   Товарооборот.СтоимостьОборачиваемость КАК СтоимостьОборачиваемость,
   Товарооборот.ЦенаНачальныйОстаток КАК ЦенаНачальныйОстаток,
   Товарооборот.ЦенаПродажи КАК ЦенаПродажи,
   Товарооборот.ЦенаВыпуск КАК ЦенаВыпуск,
   Товарооборот.ЦенаЗакупка КАК ЦенаЗакупка,
   Товарооборот.ЦенаОприходование КАК ЦенаОприходование,
   Товарооборот.ЦенаСписание КАК ЦенаСписание,
   Товарооборот.ЦенаТребование КАК ЦенаТребование,
   Товарооборот.ЦенаКонечныйОстаток КАК ЦенаКонечныйОстаток,
   Товарооборот.ВаловаяРентабельность КАК ВаловаяРентабельность
{ВЫБРАТЬ
   Номенклатура.*,
   ХарактеристикаНоменклатуры.*,
   Регистратор.*,
   Период,
   КоличествоНачальныйОстаток,
   КоличествоКонечныйОстаток,
   СтоимостьНачальныйОстаток,
   СтоимостьКонечныйОстаток,
   КоличествоОприходовано,
   СтоимостьОприходовано,
   КоличествоСписано,
   СтоимостьСписано,
   КоличествоПоТребованию,
   СтоимостьПоТребованию,
   КоличествоВыпущено,
   СтоимостьВыпущено,
   КоличествоЗакуплено,
   СтоимостьЗакуплено,
   ПродажиКоличество,
   ПродажиНДС,
   ПродажиСтоимостьБезНДС,
   ПродажиСебестоимость,
   ПродажиСтоимость,
   ПродажиВаловаяПрибыль,
   RFE,
   КоличествоПроизводственныеЗатраты,
   СтоимостьПроизводственныеЗатраты,
   КоличествоОтклонение,
   СтоимостьОтклонение,
   КоличествоИзменение,
   СтоимостьИзменение,
   КоличествоОборачиваемость,
   СтоимостьОборачиваемость,
   ЦенаНачальныйОстаток,
   ЦенаПродажи,
   ЦенаВыпуск,
   ЦенаЗакупка,
   ЦенаОприходование,
   ЦенаСписание,
   ЦенаТребование,
   ЦенаКонечныйОстаток,
   ВаловаяРентабельность}
ИЗ
   (ВЫБРАТЬ
       Товарооборот.Номенклатура КАК Номенклатура,
       Товарооборот.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
       Товарооборот.Регистратор КАК Регистратор,
       Товарооборот.Период КАК Период,
       Товарооборот.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
       Товарооборот.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
       Товарооборот.СтоимостьНачальныйОстаток КАК СтоимостьНачальныйОстаток,
       Товарооборот.СтоимостьКонечныйОстаток КАК СтоимостьКонечныйОстаток,
       Товарооборот.КоличествоОприходовано КАК КоличествоОприходовано,
       Товарооборот.СтоимостьОприходовано КАК СтоимостьОприходовано,
       Товарооборот.КоличествоСписано КАК КоличествоСписано,
       Товарооборот.СтоимостьСписано КАК СтоимостьСписано,
       Товарооборот.КоличествоПоТребованию КАК КоличествоПоТребованию,
       Товарооборот.СтоимостьПоТребованию КАК СтоимостьПоТребованию,
       Товарооборот.КоличествоВыпущено КАК КоличествоВыпущено,
       Товарооборот.СтоимостьВыпущено КАК СтоимостьВыпущено,
       Товарооборот.КоличествоЗакуплено КАК КоличествоЗакуплено,
       Товарооборот.СтоимостьЗакуплено КАК СтоимостьЗакуплено,
       Товарооборот.ПродажиКоличество КАК ПродажиКоличество,
       Товарооборот.ПродажиНДС КАК ПродажиНДС,
       Товарооборот.ПродажиСтоимостьБезНДС КАК ПродажиСтоимостьБезНДС,
       Товарооборот.ПродажиСебестоимость КАК ПродажиСебестоимость,
       Товарооборот.ПродажиСтоимость КАК ПродажиСтоимость,
       Товарооборот.ПродажиВаловаяПрибыль КАК ПродажиВаловаяПрибыль,
       Товарооборот.RFE КАК RFE,
       Товарооборот.КоличествоПроизводственныеЗатраты КАК КоличествоПроизводственныеЗатраты,
       Товарооборот.СтоимостьПроизводственныеЗатраты КАК СтоимостьПроизводственныеЗатраты,
       Товарооборот.КоличествоНачальныйОстаток - Товарооборот.ПродажиКоличество - Товарооборот.КоличествоКонечныйОстаток + Товарооборот.КоличествоОприходовано - Товарооборот.КоличествоСписано - Товарооборот.КоличествоПоТребованию + Товарооборот.КоличествоВыпущено + Товарооборот.КоличествоЗакуплено - Товарооборот.КоличествоПроизводственныеЗатраты КАК КоличествоОтклонение,
       Товарооборот.СтоимостьНачальныйОстаток - Товарооборот.СтоимостьКонечныйОстаток + Товарооборот.СтоимостьОприходовано - Товарооборот.СтоимостьСписано - Товарооборот.СтоимостьПоТребованию + Товарооборот.СтоимостьВыпущено + Товарооборот.СтоимостьЗакуплено - Товарооборот.ПродажиСебестоимость - Товарооборот.СтоимостьПроизводственныеЗатраты КАК СтоимостьОтклонение,
       Товарооборот.КоличествоКонечныйОстаток - Товарооборот.КоличествоНачальныйОстаток КАК КоличествоИзменение,
       Товарооборот.СтоимостьКонечныйОстаток - Товарооборот.СтоимостьНачальныйОстаток КАК СтоимостьИзменение,
       ВЫБОР
           КОГДА Товарооборот.ПродажиКоличество + Товарооборот.КоличествоПроизводственныеЗатраты + Товарооборот.КоличествоПоТребованию <> 0
               ТОГДА (Товарооборот.КоличествоКонечныйОстаток + Товарооборот.КоличествоНачальныйОстаток) / 2 / (Товарооборот.ПродажиКоличество + Товарооборот.КоличествоПроизводственныеЗатраты + Товарооборот.КоличествоПоТребованию) / &КоличествоДнейПериода
           ИНАЧЕ 0
       КОНЕЦ КАК КоличествоОборачиваемость,
       ВЫБОР
           КОГДА Товарооборот.СтоимостьПоТребованию + Товарооборот.ПродажиСебестоимость + Товарооборот.СтоимостьПроизводственныеЗатраты <> 0
               ТОГДА (Товарооборот.СтоимостьКонечныйОстаток + Товарооборот.СтоимостьНачальныйОстаток) / 2 / (Товарооборот.СтоимостьПоТребованию + Товарооборот.ПродажиСебестоимость + Товарооборот.СтоимостьПроизводственныеЗатраты) / &КоличествоДнейПериода
           ИНАЧЕ 0
       КОНЕЦ КАК СтоимостьОборачиваемость,
       ВЫБОР
           КОГДА Товарооборот.КоличествоНачальныйОстаток <> 0
               ТОГДА Товарооборот.СтоимостьНачальныйОстаток / Товарооборот.КоличествоНачальныйОстаток
           ИНАЧЕ 0
       КОНЕЦ КАК ЦенаНачальныйОстаток,
       ВЫБОР
           КОГДА Товарооборот.ПродажиКоличество <> 0
               ТОГДА Товарооборот.ПродажиСебестоимость / Товарооборот.ПродажиКоличество
           ИНАЧЕ 0
       КОНЕЦ КАК ЦенаПродажи,
       ВЫБОР
           КОГДА Товарооборот.КоличествоВыпущено <> 0
               ТОГДА Товарооборот.СтоимостьВыпущено / Товарооборот.КоличествоВыпущено
           ИНАЧЕ 0
       КОНЕЦ КАК ЦенаВыпуск,
       ВЫБОР
           КОГДА Товарооборот.КоличествоЗакуплено <> 0
               ТОГДА Товарооборот.СтоимостьЗакуплено / Товарооборот.КоличествоЗакуплено
           ИНАЧЕ 0
       КОНЕЦ КАК ЦенаЗакупка,
       ВЫБОР
           КОГДА Товарооборот.КоличествоОприходовано <> 0
               ТОГДА Товарооборот.СтоимостьОприходовано / Товарооборот.КоличествоОприходовано
           ИНАЧЕ 0
       КОНЕЦ КАК ЦенаОприходование,
       ВЫБОР
           КОГДА Товарооборот.КоличествоСписано <> 0
               ТОГДА Товарооборот.СтоимостьСписано / Товарооборот.КоличествоСписано
           ИНАЧЕ 0
       КОНЕЦ КАК ЦенаСписание,
       ВЫБОР
           КОГДА Товарооборот.КоличествоПоТребованию + Товарооборот.КоличествоПроизводственныеЗатраты <> 0
               ТОГДА (Товарооборот.СтоимостьПроизводственныеЗатраты + Товарооборот.СтоимостьПоТребованию) / (Товарооборот.КоличествоПоТребованию + Товарооборот.КоличествоПроизводственныеЗатраты)
           ИНАЧЕ 0
       КОНЕЦ КАК ЦенаТребование,
       ВЫБОР
           КОГДА Товарооборот.КоличествоКонечныйОстаток <> 0
               ТОГДА Товарооборот.СтоимостьКонечныйОстаток / Товарооборот.КоличествоКонечныйОстаток
           ИНАЧЕ 0
       КОНЕЦ КАК ЦенаКонечныйОстаток,
       100 - Товарооборот.RFE КАК ВаловаяРентабельность
   ИЗ
       (ВЫБРАТЬ
           ПартииТоваровНаСкладахОстаткиНач.Номенклатура КАК Номенклатура,
           ПартииТоваровНаСкладахОстаткиНач.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
           НЕОПРЕДЕЛЕНО КАК Регистратор,
           НЕОПРЕДЕЛЕНО КАК Период,
           ПартииТоваровНаСкладахОстаткиНач.КоличествоОстаток * ЕСТЬNULL(ПартииТоваровНаСкладахОстаткиНач.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоНачальныйОстаток,
           0 КАК КоличествоКонечныйОстаток,
           ПартииТоваровНаСкладахОстаткиНач.СтоимостьОстаток КАК СтоимостьНачальныйОстаток,
           0 КАК СтоимостьКонечныйОстаток,
           0 КАК КоличествоОприходовано,
           0 КАК СтоимостьОприходовано,
           0 КАК КоличествоСписано,
           0 КАК СтоимостьСписано,
           0 КАК КоличествоПоТребованию,
           0 КАК СтоимостьПоТребованию,
           0 КАК КоличествоВыпущено,
           0 КАК СтоимостьВыпущено,
           0 КАК КоличествоЗакуплено,
           0 КАК СтоимостьЗакуплено,
           0 КАК ПродажиКоличество,
           0 КАК ПродажиНДС,
           0 КАК ПродажиСтоимостьБезНДС,
           0 КАК ПродажиСебестоимость,
           0 КАК ПродажиСтоимость,
           0 КАК ПродажиВаловаяПрибыль,
           0 КАК RFE,
           0 КАК КоличествоПроизводственныеЗатраты,
           0 КАК СтоимостьПроизводственныеЗатраты
       ИЗ
           РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаНач1, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПартииТоваровНаСкладахОстаткиНач
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           ПартииТоваровНаСкладахОстаткиКон.Номенклатура,
           ПартииТоваровНаСкладахОстаткиКон.ХарактеристикаНоменклатуры,
           НЕОПРЕДЕЛЕНО,
           НЕОПРЕДЕЛЕНО,
           0,
           ПартииТоваровНаСкладахОстаткиКон.КоличествоОстаток * ЕСТЬNULL(ПартииТоваровНаСкладахОстаткиКон.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1),
           0,
           ПартииТоваровНаСкладахОстаткиКон.СтоимостьОстаток,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0
       ИЗ
           РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаКон, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПартииТоваровНаСкладахОстаткиКон
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           ПартииТоваровНаСкладахОбороты.Номенклатура,
           ПартииТоваровНаСкладахОбороты.ХарактеристикаНоменклатуры,
           ПартииТоваровНаСкладахОбороты.Регистратор,
           ПартииТоваровНаСкладахОбороты.Период,
           0,
           0,
           0,
           0,
           ПартииТоваровНаСкладахОбороты.КоличествоОборот * ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1),
           ПартииТоваровНаСкладахОбороты.СтоимостьОборот,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0
       ИЗ
           РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПартииТоваровНаСкладахОбороты
       ГДЕ
           ПартииТоваровНаСкладахОбороты.Регистратор ССЫЛКА Документ.ОприходованиеТоваров
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           ПартииТоваровНаСкладахОбороты.Номенклатура,
           ПартииТоваровНаСкладахОбороты.ХарактеристикаНоменклатуры,
           ПартииТоваровНаСкладахОбороты.Регистратор,
           ПартииТоваровНаСкладахОбороты.Период,
           0,
           0,
           0,
           0,
           0,
           0,
           ПартииТоваровНаСкладахОбороты.КоличествоРасход * ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1),
           ПартииТоваровНаСкладахОбороты.СтоимостьРасход,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0
       ИЗ
           РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПартииТоваровНаСкладахОбороты
       ГДЕ
           ПартииТоваровНаСкладахОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           ПартииТоваровНаСкладахОбороты.Номенклатура,
           ПартииТоваровНаСкладахОбороты.ХарактеристикаНоменклатуры,
           ПартииТоваровНаСкладахОбороты.Регистратор,
           ПартииТоваровНаСкладахОбороты.Период,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           ПартииТоваровНаСкладахОбороты.КоличествоРасход * ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1),
           ПартииТоваровНаСкладахОбороты.СтоимостьРасход,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0
       ИЗ
           РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПартииТоваровНаСкладахОбороты
       ГДЕ
           ПартииТоваровНаСкладахОбороты.Регистратор ССЫЛКА Документ.ТребованиеНакладная
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           НезавершенноеПроизводствоОбороты.Затрата,
           НезавершенноеПроизводствоОбороты.ХарактеристикаЗатраты,
           НезавершенноеПроизводствоОбороты.Регистратор,
           НезавершенноеПроизводствоОбороты.Период,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           -НезавершенноеПроизводствоОбороты.КоличествоОборот * ЕСТЬNULL(НезавершенноеПроизводствоОбороты.Затрата.ЕдиницаХраненияОстатков.Коэффициент, 1),
           -НезавершенноеПроизводствоОбороты.СтоимостьОборот,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0
       ИЗ
           РегистрНакопления.НезавершенноеПроизводство.Обороты(&ДатаНач, &ДатаКон, Регистратор, СтатьяЗатрат = &ОсновноеСырье {(Затрата).* КАК Номенклатура, (ХарактеристикаЗатраты).* КАК ХарактеристикаНоменклатуры}) КАК НезавершенноеПроизводствоОбороты
       ГДЕ
           НезавершенноеПроизводствоОбороты.Регистратор ССЫЛКА Документ.ТребованиеНакладная
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           НезавершенноеПроизводствоОбороты.Затрата,
           НезавершенноеПроизводствоОбороты.ХарактеристикаЗатраты,
           НезавершенноеПроизводствоОбороты.Регистратор,
           НезавершенноеПроизводствоОбороты.Период,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           НезавершенноеПроизводствоОбороты.КоличествоОборот * ЕСТЬNULL(НезавершенноеПроизводствоОбороты.Затрата.ЕдиницаХраненияОстатков.Коэффициент, 1),
           НезавершенноеПроизводствоОбороты.СтоимостьОборот
       ИЗ
           РегистрНакопления.НезавершенноеПроизводство.Обороты(&ДатаНач, &ДатаКон, Регистратор, СтатьяЗатрат = &ОсновноеСырье {(Затрата).* КАК Номенклатура, (ХарактеристикаЗатраты).* КАК ХарактеристикаНоменклатуры}) КАК НезавершенноеПроизводствоОбороты
       ГДЕ
           НезавершенноеПроизводствоОбороты.Регистратор ССЫЛКА Документ.ТребованиеНакладная
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           ВыпускПродукцииОбороты.Продукция,
           ВыпускПродукцииОбороты.ХарактеристикаПродукции,
           ВыпускПродукцииОбороты.Регистратор,
           ВыпускПродукцииОбороты.Период,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           ВыпускПродукцииОбороты.КоличествоОборот * ЕСТЬNULL(ВыпускПродукцииОбороты.Продукция.ЕдиницаХраненияОстатков.Коэффициент, 1),
           ВыпускПродукцииОбороты.СтоимостьОборот,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0
       ИЗ
           РегистрНакопления.ВыпускПродукции.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Продукция).* КАК Номенклатура, (ХарактеристикаПродукции).* КАК ХарактеристикаНоменклатуры}) КАК ВыпускПродукцииОбороты
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           ЗакупкиОбороты.Номенклатура,
           ЗакупкиОбороты.ХарактеристикаНоменклатуры,
           ЗакупкиОбороты.Регистратор,
           ЗакупкиОбороты.Период,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           ЗакупкиОбороты.КоличествоОборот * ЕСТЬNULL(ЗакупкиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1),
           ЗакупкиОбороты.СтоимостьОборот - ЗакупкиОбороты.НДСОборот,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0
       ИЗ
           РегистрНакопления.Закупки.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ЗакупкиОбороты
       ГДЕ
           НЕ ЗакупкиОбороты.Регистратор ССЫЛКА Документ.ГТДИмпорт
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           ПартииТоваровНаСкладахОбороты.Номенклатура,
           ПартииТоваровНаСкладахОбороты.ХарактеристикаНоменклатуры,
           ПартииТоваровНаСкладахОбороты.Регистратор,
           ПартииТоваровНаСкладахОбороты.Период,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           ПартииТоваровНаСкладахОбороты.КоличествоПриход * ЕСТЬNULL(ПартииТоваровНаСкладахОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1),
           ПартииТоваровНаСкладахОбороты.СтоимостьПриход,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0
       ИЗ
           РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПартииТоваровНаСкладахОбороты
       ГДЕ
           ПартииТоваровНаСкладахОбороты.Регистратор ССЫЛКА Документ.ГТДИмпорт
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           Продажи.Номенклатура,
           Продажи.ХарактеристикаНоменклатуры,
           Продажи.Регистратор,
           Продажи.Период,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           0,
           Продажи.Количество * ЕСТЬNULL(Продажи.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1),
           Продажи.НДС,
           Продажи.СтоимостьБезНДС,
           Продажи.Себестоимость,
           Продажи.Стоимость,
           Продажи.ВаловаяПрибыль,
           Продажи.RFE,
           0,
           0
       ИЗ
           (ВЫБРАТЬ
               ВложенныйЗапрос.Номенклатура КАК Номенклатура,
               ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
               ВложенныйЗапрос.Регистратор КАК Регистратор,
               ВложенныйЗапрос.Период КАК Период,
               СУММА(ВложенныйЗапрос.Количество) КАК Количество,
               СУММА(ВложенныйЗапрос.КоличествоЕдиницОтчетов) КАК КоличествоЕдиницОтчетов,
               СУММА(ВложенныйЗапрос.КоличествоБазовыхЕдиниц) КАК КоличествоБазовыхЕдиниц,
               СУММА(ВложенныйЗапрос.СтоимостьБезНДС) КАК СтоимостьБезНДС,
               СУММА(ВложенныйЗапрос.НДС) КАК НДС,
               СУММА(ВложенныйЗапрос.Стоимость) КАК Стоимость,
               СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость,
               ВЫБОР
                   КОГДА &НеВключатьНДСВСтоимостьПартий
                       ТОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
                   ИНАЧЕ СУММА(ВложенныйЗапрос.Стоимость)
               КОНЕЦ - СУММА(ВложенныйЗапрос.Себестоимость) КАК ВаловаяПрибыль,
               100 * ВЫБОР
                   КОГДА &НеВключатьНДСВСтоимостьПартий
                       ТОГДА ВЫБОР
                               КОГДА СУММА(ВложенныйЗапрос.СтоимостьБезНДС) <> 0
                                   ТОГДА СУММА(ВложенныйЗапрос.Себестоимость) / СУММА(ВложенныйЗапрос.СтоимостьБезНДС)
                               ИНАЧЕ 0
                           КОНЕЦ
                   ИНАЧЕ ВЫБОР
                           КОГДА СУММА(ВложенныйЗапрос.Стоимость) <> 0
                               ТОГДА СУММА(ВложенныйЗапрос.Себестоимость) / СУММА(ВложенныйЗапрос.Стоимость)
                           ИНАЧЕ 0
                       КОНЕЦ
               КОНЕЦ КАК RFE
           ИЗ
               (ВЫБРАТЬ
                   ПродажиОбороты.Номенклатура КАК Номенклатура,
                   ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                   ПродажиОбороты.Регистратор КАК Регистратор,
                   ПродажиОбороты.Период КАК Период,
                   ПродажиОбороты.КоличествоОборот КАК Количество,
                   ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетов,
                   ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоБазовыхЕдиниц,
                   ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот КАК СтоимостьБезНДС,
                   ПродажиОбороты.НДСОборот КАК НДС,
                   ПродажиОбороты.СтоимостьОборот КАК Стоимость,
                   ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0) КАК Себестоимость
               ИЗ
                   РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя}) КАК ПродажиОбороты
                       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                           ПродажиСебестоимость.Номенклатура КАК Номенклатура,
                           ПродажиСебестоимость.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                           ВЫБОР
                               КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
                                   ТОГДА ПродажиСебестоимость.ДокументДвижения
                               ИНАЧЕ ПродажиСебестоимость.Регистратор
                           КОНЕЦ КАК Регистратор,
                           СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот
                       ИЗ
                           РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
                       ГДЕ
                           ПродажиСебестоимость.Период МЕЖДУ &ДатаНачала И &ДатаКонца
                       
                       СГРУППИРОВАТЬ ПО
                           ПродажиСебестоимость.Номенклатура,
                           ПродажиСебестоимость.ХарактеристикаНоменклатуры,
                           ВЫБОР
                               КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
                                   ТОГДА ПродажиСебестоимость.ДокументДвижения
                               ИНАЧЕ ПродажиСебестоимость.Регистратор
                           КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость
                       ПО (ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура)
                           И (ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры)
                           И (ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор)) КАК ВложенныйЗапрос
           
           СГРУППИРОВАТЬ ПО
               ВложенныйЗапрос.Номенклатура,
               ВложенныйЗапрос.ХарактеристикаНоменклатуры,
               ВложенныйЗапрос.Регистратор,
               ВложенныйЗапрос.Период
           
           ИМЕЮЩИЕ
               (СУММА(ВложенныйЗапрос.Количество) <> 0
                   ИЛИ СУММА(ВложенныйЗапрос.Стоимость) <> 0
                   ИЛИ СУММА(ЕСТЬNULL(ВложенныйЗапрос.Себестоимость, 0
9 Deon
 
04.10.12
17:03
ой мама )
10 Viktosha
 
04.10.12
17:04
Как-то криво я вставила - кто может удалите
11 IronDemon
 
04.10.12
17:04
Не, нам такие простыни и даром не нужны ;)
12 Fram
 
04.10.12
17:05
а все таки a/b/c/d в каком порядке выполняется в запросе?
13 Deon
 
04.10.12
17:08
(12) А есть какая-то разница?
14 Kashemir
 
04.10.12
17:09
ВЫБОР
           КОГДА ЕстьNULL(Товарооборот.СтоимостьПоТребованию,0) + ЕстьNULL(Товарооборот.ПродажиСебестоимость,0) + ЕстьNULL(Товарооборот.СтоимостьПроизводственныеЗатраты,0) <> 0
               ТОГДА (ЕстьNULL(Товарооборот.СтоимостьКонечныйОстаток,0) + ЕстьNULL(Товарооборот.СтоимостьНачальныйОстаток,0)) / 2 / (ЕстьNULL(Товарооборот.СтоимостьПоТребованию,0) + ЕстьNULL(Товарооборот.ПродажиСебестоимость,0) + ЕстьNULL(Товарооборот.СтоимостьПроизводственныеЗатраты,0)) / &КоличествоДнейПериода
           ИНАЧЕ 0
КОНЕЦ КАК СтоимостьОборачиваемость,
15 Viktosha
 
04.10.12
17:10
(12) да просто даже поставьте Товарооборот.КоличествоНачальныйОстаток  все равно выведет 0
16 Viktosha
 
04.10.12
17:11
(14) не помогает
17 Fram
 
04.10.12
17:13
(13) еще какая!
18 Viktosha
 
04.10.12
17:13
При этом строчка      Товарооборот.КоличествоКонечныйОстаток - Товарооборот.КоличествоНачальныйОстаток КАК КоличествоИзменение,  - работает
19 Viktosha
 
04.10.12
17:14
(17) я расставляла скобки согласно формуле, конструктор их самостоятельно снял
20 Viktosha
 
04.10.12
17:48
Больше никаких идей ни у кого нет?
21 Viktosha
 
05.10.12
10:10
еще разочек апну
22 Ткачев
 
05.10.12
10:15
(8)Вот как упп оказывается выглядит в развернутом виде.
23 Sammo
 
05.10.12
10:23
(12) Слева направо.
(19) Бывает. В этом случае их можно расставить уже в готовом запросе руками.
24 Viktosha
 
05.10.12
10:26
(23) да расстановка скобок никак не влияет, почему он не выводит начальный и конечный остаток, если они выводятся через условие, если без условий - то все хорошо
2 + 2 = 3.9999999999999999999999999999999...