Имя: Пароль:
1C
1С v8
Помогите с запросом
0 curys
 
28.06.12
14:29
Доброе время суток! Есть запрос по регистру ПартииТоваровНаСкладах и ТоварыНаСкладах, т.к в ут 10.3 не ведется партионный учет, необходимо чтобы в отчете был отбор по складу, а в регистре ПартииТоваровНаСкладах склад при проведении не проставляется, так вот чтобы была возможность отобрать по складу нужно объеденить эти два регистра, но что-то я делаю не так, подскажите что я не так делаю.
Вот код запроса:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   NULL КАК Док,
   NULL КАК ДатаДок,
   NULL КАК НомерДок,
   СУММА(ОстаткиТоваров.СтоимостьНачальныйОстаток) КАК НачОст,
   СУММА(ОстаткиТоваров.СтоимостьКонечныйОстаток) КАК КонОст,
   СУММА(ВЫБОР
           КОГДА ОстаткиТоваров.КоличествоПриход - ОстаткиТоваров.КоличествоРасход > 0
               ТОГДА ОстаткиТоваров.СтоимостьПриход
           ИНАЧЕ 0
       КОНЕЦ) КАК Приход,
   СУММА(ВЫБОР
           КОГДА ОстаткиТоваров.КоличествоРасход - ОстаткиТоваров.КоличествоПриход > 0
               ТОГДА ОстаткиТоваров.СтоимостьРасход
           ИНАЧЕ 0
       КОНЕЦ) КАК Расход
ИЗ
   РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&Дата1, &Дата2, , , ) КАК ОстаткиТоваров

ИМЕЮЩИЕ
   (СУММА(ОстаткиТоваров.СтоимостьНачальныйОстаток) <> 0
       ИЛИ СУММА(ОстаткиТоваров.СтоимостьКонечныйОстаток) <> 0
       ИЛИ СУММА(ВЫБОР
               КОГДА ОстаткиТоваров.КоличествоПриход - ОстаткиТоваров.КоличествоРасход > 0
                   ТОГДА ОстаткиТоваров.СтоимостьПриход
               ИНАЧЕ 0
           КОНЕЦ) <> 0
       ИЛИ СУММА(ВЫБОР
               КОГДА ОстаткиТоваров.КоличествоРасход - ОстаткиТоваров.КоличествоПриход > 0
                   ТОГДА ОстаткиТоваров.СтоимостьРасход
               ИНАЧЕ 0
           КОНЕЦ) <> 0)
;

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

СГРУППИРОВАТЬ ПО
   ОстаткиТоваров.Регистратор,
   ОстаткиТоваров.Период,
   ОстаткиТоваров.Регистратор.Номер,
   ОстаткиТоваров.Склад

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

ВЫБРАТЬ
   ТоварыНаСкладах.Регистратор,
   ТоварыНаСкладах.Период,
   ТоварыНаСкладах.Регистратор.Номер,
   0,
   0,
   0,
   0,
   ТоварыНаСкладах.Склад
ИЗ
   РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
ГДЕ
   ТоварыНаСкладах.Склад = &Склад
   И ТоварыНаСкладах.Период МЕЖДУ &Дата1 И &Дата2

УПОРЯДОЧИТЬ ПО
   ДатаДок
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой