Имя: Пароль:
1C
1С v8
90.01 90.02 90.03 Раскрыть по номенклатуре
0 KENT2007
 
15.08.11
14:27
ВЫБРАТЬ
   ВЫРАЗИТЬ(ПродажиПоСебестоимости.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
   СУММА(ПродажиПоСебестоимости.Количество) КАК Количество,
   СУММА(ТабЧастьРеализации.ЦенаРеализации) КАК ЦенаРеализации,
   СУММА(ТабЧастьРеализации.СуммаРеализации) КАК СуммаРеализации,
   СУММА(ПродажиПоСебестоимости.СуммаСебестоимость) КАК СуммаСебестоимость,
   ПродажиПоСебестоимости.Организация КАК Организация,
   СУММА(ТабЧастьРеализации.СуммаРеализации - (ПродажиПоСебестоимости.СуммаСебестоимость + ВЫБОР
           КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
                   ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
               ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.18
           ИНАЧЕ ВЫБОР
                   КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
                           ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
                       ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.2
                   ИНАЧЕ ВЫБОР
                           КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
                                   ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
                               ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.1
                           ИНАЧЕ 0
                       КОНЕЦ
               КОНЕЦ
       КОНЕЦ)) КАК Прибыль,
   СУММА(ВЫБОР
           КОГДА ПродажиПоСебестоимости.СуммаСебестоимость <> 0
               ТОГДА (ТабЧастьРеализации.СуммаРеализации / (ПродажиПоСебестоимости.СуммаСебестоимость + ВЫБОР
                       КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
                               ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
                           ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.18
                       ИНАЧЕ ВЫБОР
                               КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
                                       ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
                                   ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.2
                               ИНАЧЕ ВЫБОР
                                       КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
                                               ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
                                           ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.1
                                       ИНАЧЕ 0
                                   КОНЕЦ
                           КОНЕЦ
                   КОНЕЦ) - 1) * 100
           ИНАЧЕ 0
       КОНЕЦ) КАК ПроцентНаценки,
   СУММА(ВЫБОР
           КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
                   ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
               ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.18
           ИНАЧЕ ВЫБОР
                   КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
                           ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
                       ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.2
                   ИНАЧЕ ВЫБОР
                           КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
                                   ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
                               ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.1
                           ИНАЧЕ 0
                       КОНЕЦ
               КОНЕЦ
       КОНЕЦ) КАК НДССебестоимость,
   СУММА(ПродажиПоСебестоимости.СуммаСебестоимость + ВЫБОР
           КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
                   ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
               ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.18
           ИНАЧЕ ВЫБОР
                   КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
                           ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
                       ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.2
                   ИНАЧЕ ВЫБОР
                           КОГДА ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
                                   ИЛИ ТабЧастьРеализации.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
                               ТОГДА ПродажиПоСебестоимости.СуммаСебестоимость * 0.1
                           ИНАЧЕ 0
                       КОНЕЦ
               КОНЕЦ
       КОНЕЦ) КАК ВсегоСебестоимость,
   СУММА(ТабЧастьРеализации.СуммаНДСРеализации) КАК СуммаНДСРеализации
ИЗ
   (ВЫБРАТЬ РАЗЛИЧНЫЕ
       ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура,
       ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
       ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаСебестоимость,
       ХозрасчетныйОборотыДтКт.Регистратор КАК РегистраторСебестоимость,
       ХозрасчетныйОборотыДтКт.Организация КАК Организация,
       ХозрасчетныйОборотыДтКт.НомерСтроки КАК НомерСтроки
   ИЗ
       РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, Запись, , , , , ) КАК ХозрасчетныйОборотыДтКт
   ГДЕ
       (ХозрасчетныйОборотыДтКт.СчетДт = &Счет_90_2_1
               ИЛИ ХозрасчетныйОборотыДтКт.СчетДт = &Счет_90_3)
       И ХозрасчетныйОборотыДтКт.СчетКт В(&СчетаТоваров)) КАК ПродажиПоСебестоимости
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
           РеализацияТоваровУслугТовары.Ссылка КАК ДокументРеализации,
           РеализацияТоваровУслугТовары.Номенклатура КАК НоменклатураРеализации,
           РеализацияТоваровУслугТовары.Цена КАК ЦенаРеализации,
           РеализацияТоваровУслугТовары.Сумма + ВЫБОР
               КОГДА (НЕ РеализацияТоваровУслугТовары.Ссылка.СуммаВключаетНДС)
                   ТОГДА РеализацияТоваровУслугТовары.СуммаНДС
               ИНАЧЕ 0
           КОНЕЦ КАК СуммаРеализации,
           РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтроки,
           РеализацияТоваровУслугТовары.СтавкаНДС КАК СтавкаНДС,
           РеализацияТоваровУслугТовары.СуммаНДС КАК СуммаНДСРеализации
       ИЗ
           Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары) КАК ТабЧастьРеализации
       ПО ПродажиПоСебестоимости.НомерСтроки = ТабЧастьРеализации.НомерСтроки
           И ПродажиПоСебестоимости.РегистраторСебестоимость = ТабЧастьРеализации.ДокументРеализации
           И ПродажиПоСебестоимости.Номенклатура = ТабЧастьРеализации.НоменклатураРеализации
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Контрагент,
           ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК Договор,
           ХозрасчетныйОборотыДтКт.Регистратор КАК ДокументКонтрагент,
           ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаПоКонтрагенту
       ИЗ
           РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, Регистратор, , , , , ) КАК ХозрасчетныйОборотыДтКт
       ГДЕ
           ХозрасчетныйОборотыДтКт.СчетДт = &Счет62
           И ХозрасчетныйОборотыДтКт.СчетКт = &Счет_90_1_1) КАК ПродажиПоКлиентам
       ПО ПродажиПоСебестоимости.РегистраторСебестоимость = ПродажиПоКлиентам.ДокументКонтрагент

СГРУППИРОВАТЬ ПО
   ПродажиПоСебестоимости.Организация,
   ВЫРАЗИТЬ(ПродажиПоСебестоимости.Номенклатура КАК Справочник.Номенклатура)
ИТОГИ
   СУММА(Количество),
   СУММА(ЦенаРеализации),
   СУММА(СуммаРеализации),
   СУММА(СуммаСебестоимость),
   СУММА(Прибыль),
   СУММА(ПроцентНаценки),
   СУММА(НДССебестоимость),
   СУММА(ВсегоСебестоимость),
   СУММА(СуммаНДСРеализации)
ПО
   ОБЩИЕ,
   Организация,
   Номенклатура
1 KENT2007
 
15.08.11
14:30
из запроса
СуммаРеализации    СуммаСебестоимость
306 943 311,51    279 554 930,93
из ОСВ
СуммаРеализации    СуммаСебестоимость
311 116 640,35   275 851 986,16

что может не попасть?
2 mikecool
 
15.08.11
14:32
все, что не
ХозрасчетныйОборотыДтКт.СчетДт = &Счет62
           И ХозрасчетныйОборотыДтКт.СчетКт = &Счет_90_1_1
3 mikecool
 
15.08.11
14:32
+2 вернее
(ХозрасчетныйОборотыДтКт.СчетДт = &Счет_90_2_1
               ИЛИ ХозрасчетныйОборотыДтКт.СчетДт = &Счет_90_3)
       И ХозрасчетныйОборотыДтКт.СчетКт В(&СчетаТоваров)
4 KENT2007
 
15.08.11
14:37
а что тут не так ? в оборотах счета все сходится СчетаТоваров=43
5 Naumov
 
15.08.11
14:45
90.01 не корреспондирует с номенклатурой
90.03 не корреспондирует с номенклатурой.

главный вопрос: на хрена?
если очень-очень надо, то либо заведи себе регистр для этих целей, либо из документов собирай.
6 KENT2007
 
15.08.11
14:47
задача разложить 90,01 и 90,02 по номенклатуре
7 hhhh
 
15.08.11
14:55
(5) корреспондирует.
8 KENT2007
 
15.08.11
14:56
(7) что в запросе не так?
9 mikecool
 
15.08.11
14:57
вытягивай корр-сторону по проводкам, группируй
10 hhhh
 
15.08.11
15:02
(8) ну как бы ХозрасчетныйОборотыДтКт.НомерСтроки - это номер строки в регистре, а РеализацияТоваровУслугТовары.НомерСтроки - это номер строки в документе. По идее вообще у вас должен получиться бред, но похоже повезло, разница-то всего каких-то 4 миллиона.
11 KENT2007
 
15.08.11
15:15
а чем их связать еще можно, регистратором?
12 KENT2007
 
15.08.11
15:45
вверх
13 Синий зуб
 
15.08.11
16:13
(12) Ради интереса - продай услугу и посмотри, где там в проводках номенклатура.
14 KENT2007
 
15.08.11
16:16
в услугах нет, меня интересует то что с 43 счета
15 hhhh
 
15.08.11
16:20
(14) ну а в ОСВ всё вместе.
16 KENT2007
 
15.08.11
16:23
(15) на своей базе не пробывал, тоже рвет?
17 Nutsiiam
 
15.08.11
16:31
ПродажиПоСебестоимости.НомерСтроки = ТабЧастьРеализации.НомерСтроки

WTF?

Общее пожелание, если хочешь приблизиться к какому-то пониманию проблемы: все подзапросы для начала спрячь в темпы. Финальный запрос чуточку просияет здравым смыслом на уровне - чтож я тут накуралесил!
AdBlock убивает бесплатный контент. 1Сергей