Имя: Пароль:
1C
1С v8
Запрос...
,
0 Aragan
 
22.08.11
09:46
Есть запрос:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
   ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
   ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
   ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,

ИЗ
   РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
           &ДатаНачала,
           &ДатаКонцаОстатков,
           ,
           ,
           Номенклатура В ИЕРАРХИИ (&Номенклатура)
               И Склад В ИЕРАРХИИ (&Склад)) КАК ТоварыНаСкладахОстаткиИОбороты
       ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНачала, &ДатаКонца, , Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПродажиОбороты
       ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ПродажиОбороты.Номенклатура
ГДЕ
   ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток > 0


Запрос выводит только ту номенклатуру по которой были продажи, а нужно чтобы была вся номенклатура по которой был остаток на начало.... что не так?
1 lubja
 
22.08.11
09:48
выбери еще поле КоличествоНачальныйОстаток
2 lubja
 
22.08.11
09:50
а без условия ГДЕ выводит?
3 Aragan
 
22.08.11
09:52
Нет, не выводит... добавить поле начост тоже не помогает
4 lubja
 
22.08.11
09:54
я точно не уверена... попробуй условие перенести в соединение
5 Aragan
 
22.08.11
09:55
(4) как?
6 lubja
 
22.08.11
09:57
вроде как-то так

ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ПродажиОбороты.Номенклатура
И ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток > 0
7 Aragan
 
22.08.11
10:00
(6) Не помогает..
8 Aprobator
 
22.08.11
10:00
условие в сад вообще. В поля выбора КоличествоНачальныйОстаток, соединение ЛЕВОЕ, а не полное и соответственно ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0) КАК КоличествоОборот.
9 Aragan
 
22.08.11
10:03
(6) Нет
10 Aragan
 
22.08.11
10:03
Вот полная версия отчета:

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Ликвидность.Номенклатура КАК Номенклатура,
   Ликвидность.Склад КАК Склад,
   СУММА(Ликвидность.ПЛиквидность) КАК Ликвидность,
   СУММА(Ликвидность.КоличествоОстаток) КАК КоличествоОстаток,
   СУММА(Ликвидность.КоличествоОборот) КАК КоличествоОборот
{ВЫБРАТЬ
   Номенклатура.*,
   Склад.*,
   Ликвидность,
   КоличествоОстаток,
   КоличествоОборот}
ИЗ
   Ликвидность КАК Ликвидность
ГДЕ
   Ликвидность.ПЛиквидность <= &ПроцентЛиквидности
{ГДЕ
   Ликвидность.Номенклатура.*,
   Ликвидность.Склад.*}

СГРУППИРОВАТЬ ПО
   Ликвидность.Номенклатура,
   Ликвидность.Склад
{УПОРЯДОЧИТЬ ПО
   Номенклатура.*}
ИТОГИ
   СРЕДНЕЕ(Ликвидность),
   СУММА(КоличествоОстаток)
ПО
   ОБЩИЕ,
   Склад,
   Номенклатура
{ИТОГИ ПО
   Номенклатура.*,
   Склад.*}
11 Aragan
 
22.08.11
10:11
up
12 Aprobator
 
22.08.11
10:14
укажи периодичность то в параметрах виртуальных таблиц - ПЕРИОД.
13 Aragan
 
22.08.11
10:22
Тоже не выручает
14 Aprobator
 
22.08.11
10:25
тогда может всему виной РАЗРЕШЕННЫЕ?
15 Aragan
 
22.08.11
10:27
(14) RLS не настроен и у меня полные права, Если отдельно делаю запрос без Продаж то все ок
16 Aprobator
 
22.08.11
10:30
тогда растащи виртуальные таблицы по подзапросам и соединяй уже их результаты, а не виртуальные таблицы напрямую.
17 Aragan
 
22.08.11
11:10
Видимо прийдеться так и делать
18 Aragan
 
22.08.11
12:09
Блин... соединением запросов уж очень долго отрабатывает...Никто не подскажет как еще можно?
19 Aprobator
 
22.08.11
12:11
с чего бы вдруг долго то?
20 Aragan
 
22.08.11
12:14
хз, с 15 сек почти до минуты скорость упала
21 Aragan
 
22.08.11
12:18
я объединением делаю 2 полных выборки...
22 Aragan
 
22.08.11
12:19
при большом кол-ве номенклатуры скорость падает оч сильно
23 Aprobator
 
22.08.11
12:47
нафига полные то? Параметры виртуальных таблиц что ли условиями не заполняешь?