Имя: Пароль:
1C
1С v8
подскажите где ошибка в запросе в скд
,
0 zippygrill
 
12.07.12
21:11
ести один набор данных-объединение с двумя запросами. первый запрос написан правильно, вот кусок по его группировкам:

       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений._СведенияОДокументе КАК _СведенияОДокументе
       ПО УчетЗатрат.Регистратор = _СведенияОДокументе.Документ
ГДЕ
   УчетЗатрат.Период МЕЖДУ &НачалоПериода И &КонецПериода
   И НЕ _СвойстваНоменклатуры.ОКП = ЗНАЧЕНИЕ(Справочник._КлассификаторОКП.ПустаяСсылка)

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

вот второй запрос, полный, по остаткам, также сгруппированный по КодТовара и Наименование и не только:

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

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

ну и вот результат https://dl.dropbox.com/u/9627383/Screens/double.jpg
1 zippygrill
 
12.07.12
21:12
2 zippygrill
 
12.07.12
21:20
пояаляются лишние записи когда присутствует значение в колонке НачОстаток
3 hhhh
 
12.07.12
21:21
ну правильно. Остатки же в другом запросе.
4 zippygrill
 
12.07.12
21:24
как мне тогда переделать запрос чтобы в одной записи(по коду товара) был этот остаток. пробовал через Объеденение/Псевдонимы но не катит.
5 zippygrill
 
12.07.12
21:38
?
6 zippygrill
 
12.07.12
22:01
ну ну
7 zippygrill
 
13.07.12
09:30
ап
8 izekia
 
13.07.12
09:36
(4) неправильно пробовал
9 zippygrill
 
13.07.12
09:55
не понимаю.
10 izekia
 
13.07.12
09:57
объедини и сверни
11 zippygrill
 
15.07.12
17:05
уже немогу, зае*ал этот запрос, всеравно не получается эти 2 строки(скрин ниже) объединить в одной, извращаюсь уже так,вот запрос:

ВЫБРАТЬ
   оборот.ОКП КАК ОКП,
   оборот.Номенклатура КАК Номенклатура,
   СУММА(оборот.ПриходОтОптовика) КАК ПриходОтОптовика,
   оборот.КодТовара КАК КодТовара,
   0 КАК КоличествоНачальныйОстаток,
   0 КАК КоличествоКонечныйОстаток
ПОМЕСТИТЬ обороты
ИЗ
   (ВЫБРАТЬ
       рсАналитикаУчетаЗатрат.Затрата КАК Номенклатура,
       ВЫБОР
           КОГДА УчетЗатрат.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийПартииТоваров.Поступление)
                   И рсАналитикаУчетаЗатрат.Затрата.Производитель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
                   И УчетЗатрат.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
                   И УчетЗатрат.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
               ТОГДА ЕСТЬNULL(рсАналитикаУчетаЗатрат.Затрата.ЕдиницаДляОтчетов.Объем * УчетЗатрат.Количество / 10000, 0)
           ИНАЧЕ 0
       КОНЕЦ КАК ПриходОтОптовика,
       _СвойстваНоменклатуры.ОКП.КодТовара КАК КодТовара,
       _СвойстваНоменклатуры.ОКП.Наименование КАК ОКП
   ИЗ
       РегистрНакопления.УчетЗатратРегл КАК УчетЗатрат
           {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаВидаУчета КАК рсАналитикаВидаУчета
           ПО УчетЗатрат.АналитикаВидаУчета = рсАналитикаВидаУчета.Ссылка}
           {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаЗатрат КАК рсАналитикаУчетаЗатрат
               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений._СвойстваНоменклатуры КАК _СвойстваНоменклатуры
               ПО рсАналитикаУчетаЗатрат.Затрата = _СвойстваНоменклатуры.Номенклатура
               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений._СвойстваНоменклатуры_ВидЛицензирования.СрезПоследних(&КонецПериода {(&КонецПериода)}, Организация = &Организация) КАК _СвойстваНоменклатуры_ВидЛицензированияСрезПоследних
               ПО рсАналитикаУчетаЗатрат.Затрата = _СвойстваНоменклатуры_ВидЛицензированияСрезПоследних.Номенклатура
           ПО УчетЗатрат.АналитикаУчетаЗатрат = рсАналитикаУчетаЗатрат.Ссылка}
   ГДЕ
       УчетЗатрат.Период МЕЖДУ &НачалоПериода И &КонецПериода
       И НЕ _СвойстваНоменклатуры.ОКП = ЗНАЧЕНИЕ(Справочник._КлассификаторОКП.ПустаяСсылка)
       И рсАналитикаВидаУчета.Организация = &Организация
       И _СвойстваНоменклатуры.ОКП = &ОКП) КАК оборот
ГДЕ
   оборот.ПриходОтОптовика <> 0

СГРУППИРОВАТЬ ПО
   оборот.Номенклатура,
   оборот.КодТовара,
   оборот.ОКП
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   обороты.ОКП,
   СУММА(обороты.ПриходОтОптовика) КАК ПриходОтОптовика,
   обороты.КодТовара,
   СУММА(обороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
   СУММА(обороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
ИЗ
   обороты КАК обороты

СГРУППИРОВАТЬ ПО
   обороты.КодТовара,
   обороты.ОКП

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   остатки.ОКП,
   СУММА(остатки.ПриходОтОптовика),
   остатки.КодТовара,
   СУММА(остатки.КоличествоНачальныйОстаток),
   СУММА(остатки.КоличествоКонечныйОстаток)
ИЗ
   остатки КАК остатки

СГРУППИРОВАТЬ ПО
   остатки.ОКП,
   остатки.КодТовара

вот результат:
https://dl.dropbox.com/u/9627383/Screens/результатЗП.jpg
12 zippygrill
 
15.07.12
17:05
13 zippygrill
 
15.07.12
18:04
оооо видео от GROOVY спас меня.
14 izekia
 
15.07.12
18:06
(13) чем же?
15 izekia
 
15.07.12
18:07
тебе сначала надо объединить, а потом группировать, это же очевидно