Имя: Пароль:
1C
1С v8
Помощь с отчетом, СКД
0 vineda
 
04.09.12
16:05
В УПП для украины 1.3 есть произвольный отчет "Потери от брака". Возникла необходимость добавить в него колонку "Возвратные отходы", данные в которой - стоимость из регистра накопления "Выпуск продукции БУ". Подскажите, как это можно реализовать?
Пробовал так:

ВЫБРАТЬ
   СУММА(ПартииТоваровНаСкладахБухгалтерскийУчет.Количество) КАК КоличествоБрак,
   ПартииТоваровНаСкладахБухгалтерскийУчет.Организация,
   ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура,
   ПартииТоваровНаСкладахБухгалтерскийУчет.СчетУчета,
   ПартииТоваровНаСкладахБухгалтерскийУчет.НалоговоеНазначение,
   ПартииТоваровНаСкладахБухгалтерскийУчет.Склад,
   ПартииТоваровНаСкладахБухгалтерскийУчет.ДокументОприходования,
   ПартииТоваровНаСкладахБухгалтерскийУчет.ХарактеристикаНоменклатуры,
   ПартииТоваровНаСкладахБухгалтерскийУчет.СерияНоменклатуры,
   ПартииТоваровНаСкладахБухгалтерскийУчет.Заказ,
   ПартииТоваровНаСкладахБухгалтерскийУчет.Качество
ПОМЕСТИТЬ КоличествоБрака
ИЗ
   РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет КАК ПартииТоваровНаСкладахБухгалтерскийУчет
ГДЕ
   ПартииТоваровНаСкладахБухгалтерскийУчет.Период МЕЖДУ &НачалоПериода И &КонецПериода
   И ПартииТоваровНаСкладахБухгалтерскийУчет.КодОперации = &КодОперации
   И ПартииТоваровНаСкладахБухгалтерскийУчет.КорСчет = &КорСчет

СГРУППИРОВАТЬ ПО
   ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура,
   ПартииТоваровНаСкладахБухгалтерскийУчет.НалоговоеНазначение,
   ПартииТоваровНаСкладахБухгалтерскийУчет.ДокументОприходования,
   ПартииТоваровНаСкладахБухгалтерскийУчет.СчетУчета,
   ПартииТоваровНаСкладахБухгалтерскийУчет.Организация,
   ПартииТоваровНаСкладахБухгалтерскийУчет.СерияНоменклатуры,
   ПартииТоваровНаСкладахБухгалтерскийУчет.Заказ,
   ПартииТоваровНаСкладахБухгалтерскийУчет.Качество,
   ПартииТоваровНаСкладахБухгалтерскийУчет.Склад,
   ПартииТоваровНаСкладахБухгалтерскийУчет.ХарактеристикаНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СУММА(ВЫБОР
           КОГДА ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.КоличествоРасход = 0
               ТОГДА 0
           ИНАЧЕ КоличествоБрака.КоличествоБрак / ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.КоличествоРасход * ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СтоимостьРасход
       КОНЕЦ) КАК СтоимостьБрак,
   ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Номенклатура,
   ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СерияНоменклатуры,
   СУММА(КоличествоБрака.КоличествоБрак) КАК КоличествоБрак
ПОМЕСТИТЬ Брак
ИЗ
   РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Обороты(, , , ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОбороты
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ КоличествоБрака КАК КоличествоБрака
       ПО ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Организация = КоличествоБрака.Организация
           И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Номенклатура = КоличествоБрака.Номенклатура
           И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СчетУчета = КоличествоБрака.СчетУчета
           И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.НалоговоеНазначение = КоличествоБрака.НалоговоеНазначение
           И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Склад = КоличествоБрака.Склад
           И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.ДокументОприходования = КоличествоБрака.ДокументОприходования
           И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.ХарактеристикаНоменклатуры = КоличествоБрака.ХарактеристикаНоменклатуры
           И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СерияНоменклатуры = КоличествоБрака.СерияНоменклатуры
           И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Заказ = КоличествоБрака.Заказ
           И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Качество = КоличествоБрака.Качество

СГРУППИРОВАТЬ ПО
   ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Номенклатура,
   ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СерияНоменклатуры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВыпускПродукцииБУ.Номенклатура,
   ВыпускПродукцииБУ.СерияНоменклатуры,
   ВыпускПродукцииБУ.КоличествоВыпуск - ЕСТЬNULL(ЗатртатыНаВЫпускБУ.КоличествоЗатраты, 0) КАК КоличествоПроизводство,
   ЗатртатыНаВЫпускБУ.Подразделение
ПОМЕСТИТЬ ОбъемПроизводства
ИЗ
   (ВЫБРАТЬ
       ВыпускПродукцииБухгалтерскийУчетОбороты.Подразделение КАК Подразделение,
       ВыпускПродукцииБухгалтерскийУчетОбороты.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
       ВыпускПродукцииБухгалтерскийУчетОбороты.Продукция КАК Номенклатура,
       ВыпускПродукцииБухгалтерскийУчетОбороты.ХарактеристикаПродукции КАК ХарактеристикаНоменклатуры,
       ВыпускПродукцииБухгалтерскийУчетОбороты.СерияПродукции КАК СерияНоменклатуры,
       ВыпускПродукцииБухгалтерскийУчетОбороты.Заказ КАК Заказ,
       СУММА(ВыпускПродукцииБухгалтерскийУчетОбороты.КоличествоОборот) КАК КоличествоВыпуск
   ИЗ
       РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет.Обороты(, , , Продукция В ИЕРАРХИИ (&СписокПродукции)) КАК ВыпускПродукцииБухгалтерскийУчетОбороты
   
   СГРУППИРОВАТЬ ПО
       ВыпускПродукцииБухгалтерскийУчетОбороты.Подразделение,
       ВыпускПродукцииБухгалтерскийУчетОбороты.Продукция,
       ВыпускПродукцииБухгалтерскийУчетОбороты.ХарактеристикаПродукции,
       ВыпускПродукцииБухгалтерскийУчетОбороты.НоменклатурнаяГруппа,
       ВыпускПродукцииБухгалтерскийУчетОбороты.СерияПродукции,
       ВыпускПродукцииБухгалтерскийУчетОбороты.Заказ) КАК ВыпускПродукцииБУ
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.Затрата КАК Номенклатура,
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.ХарактеристикаЗатраты КАК ХарактеристикаНоменклатуры,
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.СерияЗатраты КАК СерияНоменклатуры,
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.НоменклатурнаяГруппаНЗП КАК НоменклатурнаяГруппа,
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.ЗаказНЗП КАК Заказ,
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.ПодразделениеНЗП КАК Подразделение,
           СУММА(ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.КоличествоОборот) КАК КоличествоЗатраты
       ИЗ
           РегистрНакопления.ЗатратыНаВыпускПродукцииБухгалтерскийУчет.Обороты(, , , Затрата В ИЕРАРХИИ (&СписокПродукции)) КАК ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты
       
       СГРУППИРОВАТЬ ПО
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.Затрата,
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.ХарактеристикаЗатраты,
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.СерияЗатраты,
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.НоменклатурнаяГруппаНЗП,
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.ЗаказНЗП,
           ЗатратыНаВыпускПродукцииБухгалтерскийУчетОбороты.ПодразделениеНЗП) КАК ЗатртатыНаВЫпускБУ
       ПО ВыпускПродукцииБУ.Подразделение = ЗатртатыНаВЫпускБУ.Подразделение
           И ВыпускПродукцииБУ.НоменклатурнаяГруппа = ЗатртатыНаВЫпускБУ.НоменклатурнаяГруппа
           И ВыпускПродукцииБУ.Номенклатура = ЗатртатыНаВЫпускБУ.Номенклатура
           И ВыпускПродукцииБУ.ХарактеристикаНоменклатуры = ЗатртатыНаВЫпускБУ.ХарактеристикаНоменклатуры
           И ВыпускПродукцииБУ.СерияНоменклатуры = ЗатртатыНаВЫпускБУ.СерияНоменклатуры
           И ВыпускПродукцииБУ.Заказ = ЗатртатыНаВЫпускБУ.Заказ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
   ВыпускПродукцииБухгалтерскийУчет.Стоимость,
   ТоварыОрганизацийРегл.АА_МаркаСтали,
   ВыпускПродукцииБухгалтерскийУчет.Подразделение
ПОМЕСТИТЬ ВозврОтходы
ИЗ
   РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет КАК ВыпускПродукцииБухгалтерскийУчет
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыОрганизацийРегл КАК ТоварыОрганизацийРегл
       ПО ВыпускПродукцииБухгалтерскийУчет.Продукция = ТоварыОрганизацийРегл.Номенклатура
ГДЕ
   ВыпускПродукцииБухгалтерскийУчет.Период МЕЖДУ &НачалоПериода И &КонецПериода
   И ВыпускПродукцииБухгалтерскийУчет.СчетУчетаНЗП = &КорСчет

СГРУППИРОВАТЬ ПО
   ТоварыОрганизацийРегл.АА_МаркаСтали,
   ВыпускПродукцииБухгалтерскийУчет.Стоимость,
   ВыпускПродукцииБухгалтерскийУчет.Подразделение
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
   ЕСТЬNULL(ОбъемПроизводства.Номенклатура, Брак.Номенклатура) КАК Номенклатура,
   ЕСТЬNULL(ОбъемПроизводства.СерияНоменклатуры, Брак.СерияНоменклатуры) КАК СерияНоменклатуры,
   ОбъемПроизводства.КоличествоПроизводство КАК КоличествоПроизводство,
   Брак.КоличествоБрак КАК КоличествоБрак,
   Брак.СтоимостьБрак КАК СтоимостьБрак,
   0 КАК ВозврОтходы,
   0 КАК МаркаСтали,
   0 КАК ПодразделениеВыпуск
ИЗ
   ОбъемПроизводства КАК ОбъемПроизводства
       ПОЛНОЕ СОЕДИНЕНИЕ Брак КАК Брак
       ПО ОбъемПроизводства.Номенклатура = Брак.Номенклатура
           И ОбъемПроизводства.СерияНоменклатуры = Брак.СерияНоменклатуры
СГРУППИРОВАТЬ ПО
   ЕСТЬNULL(ОбъемПроизводства.Номенклатура, Брак.Номенклатура),
   ЕСТЬNULL(ОбъемПроизводства.СерияНоменклатуры, Брак.СерияНоменклатуры),
   ОбъемПроизводства.КоличествоПроизводство,
   Брак.КоличествоБрак,
   Брак.СтоимостьБрак
           
ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
   0,
   0,
   0,
   0,
   0,
   ВЫБОР КОГДА ТоварыОрганизацийРегл.АА_МаркаСтали.Наименование ЕСТЬ NULL
   ТОГДА NULL
   ИНАЧЕ ВыпускПродукцииБухгалтерскийУчет.Стоимость КОНЕЦ КАК ВозврОтходы,
   ВЫБОР КОГДА ТоварыОрганизацийРегл.АА_МаркаСтали.Наименование ЕСТЬ NULL
   ТОГДА NULL
   ИНАЧЕ ТоварыОрганизацийРегл.АА_МаркаСтали КОНЕЦ КАК МаркаСтали,
   ВЫБОР КОГДА ТоварыОрганизацийРегл.АА_МаркаСтали.Наименование ЕСТЬ NULL
   ТОГДА NULL
   ИНАЧЕ ВыпускПродукцииБухгалтерскийУчет.Подразделение КОНЕЦ КАК Подразделение
ИЗ
   РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет КАК

ВыпускПродукцииБухгалтерскийУчет
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыОрганизацийРегл КАК

ТоварыОрганизацийРегл
       ПО ВыпускПродукцииБухгалтерскийУчет.Продукция =

ТоварыОрганизацийРегл.Номенклатура
ГДЕ
   ВыпускПродукцииБухгалтерскийУчет.Период МЕЖДУ &НачалоПериода И &КонецПериода
   И ВыпускПродукцииБухгалтерскийУчет.СчетУчетаНЗП = &КорСчет

СГРУППИРОВАТЬ ПО
   ТоварыОрганизацийРегл.АА_МаркаСтали,
   ВыпускПродукцииБухгалтерскийУчет.Стоимость,
   ВыпускПродукцииБухгалтерскийУчет.Подразделение
       
{ХАРАКТЕРИСТИКИ
   ТИП(Справочник.Номенклатура)
   ВИДЫХАРАКТЕРИСТИК ПланВидовХарактеристик.СвойстваОбъектов
   ПОЛЕКЛЮЧА Ссылка
   ПОЛЕИМЕНИ Наименование
   ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
   ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
   ПОЛЕОБЪЕКТА Объект
   ПОЛЕВИДА Свойство
   ПОЛЕЗНАЧЕНИЯ Значение }


То есть, в запрос, который уже был, добавил


ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
   0,
   0,
   0,
   0,
   0,
   ВЫБОР КОГДА ТоварыОрганизацийРегл.АА_МаркаСтали.Наименование ЕСТЬ NULL
   ТОГДА NULL
   ИНАЧЕ ВыпускПродукцииБухгалтерскийУчет.Стоимость КОНЕЦ КАК ВозврОтходы,
   ВЫБОР КОГДА ТоварыОрганизацийРегл.АА_МаркаСтали.Наименование ЕСТЬ NULL
   ТОГДА NULL
   ИНАЧЕ ТоварыОрганизацийРегл.АА_МаркаСтали КОНЕЦ КАК МаркаСтали,
   ВЫБОР КОГДА ТоварыОрганизацийРегл.АА_МаркаСтали.Наименование ЕСТЬ NULL
   ТОГДА NULL
   ИНАЧЕ ВыпускПродукцииБухгалтерскийУчет.Подразделение КОНЕЦ КАК Подразделение
ИЗ
   РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет КАК

ВыпускПродукцииБухгалтерскийУчет
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыОрганизацийРегл КАК

ТоварыОрганизацийРегл
       ПО ВыпускПродукцииБухгалтерскийУчет.Продукция =

ТоварыОрганизацийРегл.Номенклатура
ГДЕ
   ВыпускПродукцииБухгалтерскийУчет.Период МЕЖДУ &НачалоПериода И &КонецПериода
   И ВыпускПродукцииБухгалтерскийУчет.СчетУчетаНЗП = &КорСчет

СГРУППИРОВАТЬ ПО
   ТоварыОрганизацийРегл.АА_МаркаСтали,
   ВыпускПродукцииБухгалтерскийУчет.Стоимость,
   ВыпускПродукцииБухгалтерскийУчет.Подразделение


Результат запроса получаю в виде
http://itmages.com/image/view/666238/91a4c694

Собственно, в чем вопрос: как в СКД теперь вывести ВозврОтходы из второго запроса, при условии когда Номенклатура.[Марка стали] = АА_МаркаСтали ?
1 vineda
 
04.09.12
17:08
чуть-чуть ап...
2 vicof
 
04.09.12
17:11
(1) не там объединяешь
3 vicof
 
04.09.12
17:14
+(2) вынес бы в отдельный набор данных и связал с имеющимся
4 vineda
 
04.09.12
17:18
v8: Помощь с отчетом, СКД
так по какому полю я их свяжу?

v8: Помощь с отчетом, СКД
а где тогда лучше?
5 vicof
 
04.09.12
17:29
(4) номера постов можно в скобках писать.
ВЫБРАТЬ * ИЗ (ВЫБРАТЬ РАЗЛИЧНЫЕ
   ЕСТЬNULL(ОбъемПроизводства.Номенклатура, Брак.Номенклатура) КАК Номенклатура,
   ЕСТЬNULL(ОбъемПроизводства.СерияНоменклатуры, Брак.СерияНоменклатуры) КАК СерияНоменклатуры,
   ОбъемПроизводства.КоличествоПроизводство КАК КоличествоПроизводство,
   Брак.КоличествоБрак КАК КоличествоБрак,
   Брак.СтоимостьБрак КАК СтоимостьБрак,
   0 КАК ВозврОтходы,
   0 КАК МаркаСтали,
   0 КАК ПодразделениеВыпуск
...
ОБЪЕДИНИТЬ
0,
   0,
   0,
   0,
   0,
   ВЫБОР КОГДА ТоварыОрганизацийРегл.АА_МаркаСтали.Наименование ЕСТЬ NULL
   ТОГДА NULL
   ИНАЧЕ ВыпускПродукцииБухгалтерскийУчет.Стоимость КОНЕЦ КАК ВозврОтходы,
   ВЫБОР КОГДА ТоварыОрганизацийРегл.АА_МаркаСтали.Наименование ЕСТЬ NULL
   ТОГДА NULL
   ИНАЧЕ ТоварыОрганизацийРегл.АА_МаркаСтали КОНЕЦ КАК МаркаСтали,
   ВЫБОР КОГДА ТоварыОрганизацийРегл.АА_МаркаСтали.Наименование ЕСТЬ NULL
   ТОГДА NULL
   ИНАЧЕ ВыпускПродукцииБухгалтерскийУчет.Подразделение КОНЕЦ КАК Подразделение
ИЗ
   РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет) КАК Вложенный

А после этого группировки уже накладывать.
Если я правильно тебя понял
6 vineda
 
04.09.12
18:10
(v8: Помощь с отчетом, СКД
по пробовал так, результат завпроса вообще далек, от того, что было и от того, что нужно
http://itmages.com/image/view/666410/d7eeb3d4
7 vineda
 
04.09.12
18:11
+ (#6)
так и не понял, как номера постов писать((
8 vicof
 
05.09.12
15:27
(7) (_7_) ,без подчеркиваний
9 vineda
 
05.09.12
16:02
еще разок ап, проблема все еще актуальна...