Имя: Пароль:
1C
1С v8
Помогите с запросом
0 Elenchka
 
08.03.12
00:10
Добрый вечер!
Помогите, пожалуйста, разобраться с запросом (УТ 10.3): выводится остаток товара, цена закупочная и розничная в 3 раза больше от реальной(т.е. реальный остаток 11, а выводится 33)...
вот запрос:

ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура КАК Номенклатура,
   ВложенныйЗапрос.НоменклатураКод КАК НоменклатураКод,
   ВложенныйЗапрос.ВидДК КАК ВидДК,
   ВложенныйЗапрос.Скидка КАК Скидка,
   ЗакупочнаяЦена.РублеваяЦенаЗакупочная КАК РублеваяЦенаЗакупочная,
   РозничнаяЦена.РублеваяЦенаРозничная КАК РублеваяЦенаРозничная,
   Остатки.КоличествоОстаток КАК КоличествоОстаток
{ВЫБРАТЬ
   Номенклатура.*}
ИЗ
   (ВЫБРАТЬ
       МАКСИМУМ(ВЫБОР
               КОГДА ЦеныКомпании.ЕдиницаИзмерения = &ПустаяЕдиницаИзмерения
                   ТОГДА ЦеныКомпании.Цена * КурсыВалютДляЦенКомпании.Курс / КурсыВалютДляЦенКомпании.Кратность
               ИНАЧЕ ЦеныКомпании.Цена / ЦеныКомпании.ЕдиницаИзмерения.Коэффициент * ЦеныКомпании.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * КурсыВалютДляЦенКомпании.Курс / КурсыВалютДляЦенКомпании.Кратность
           КОНЕЦ) КАК РублеваяЦенаЗакупочная,
       ЦеныКомпании.Номенклатура КАК Номенклатура,
       ЦеныКомпании.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
   ИЗ
       РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &ТипЦеныЗакупочная) КАК ЦеныКомпании
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалютДляЦенКомпании
           ПО ЦеныКомпании.Валюта = КурсыВалютДляЦенКомпании.Валюта
   
   СГРУППИРОВАТЬ ПО
       ЦеныКомпании.Номенклатура,
       ЦеныКомпании.ХарактеристикаНоменклатуры) КАК ЗакупочнаяЦена
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура.Код КАК НоменклатураКод,
           СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
           СкидкиНаценкиНоменклатурыСрезПоследних.ЗначениеУсловия.Ссылка КАК ВидДК,
           МАКСИМУМ(СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки) КАК Скидка,
           0 КАК ПолеНеИспользуется
       {ВЫБРАТЬ
           Номенклатура.*,
           ВидДК,
           Скидка}
       ИЗ
           РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних(&ДатаКон, ) КАК СкидкиНаценкиНоменклатурыСрезПоследних
       {ГДЕ
           СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура.*}
       
       СГРУППИРОВАТЬ ПО
           СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура,
           СкидкиНаценкиНоменклатурыСрезПоследних.ЗначениеУсловия.Ссылка,
           СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура.Код
       
       ОБЪЕДИНИТЬ ВСЕ
       
       ВЫБРАТЬ
           Номенклатура.Код,
           Номенклатура.Ссылка,
           ВидыДисконтныхКарт.Ссылка,
           0,
           1
       {ВЫБРАТЬ
           Номенклатура.*,
           ВидДК.*,
           Скидка}
       ИЗ
           Справочник.Номенклатура КАК Номенклатура
               ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыДисконтныхКарт КАК ВидыДисконтныхКарт
               ПО (&ПоВсейНоменклатуре = ИСТИНА)
       ГДЕ
           Номенклатура.ЭтоГруппа = ЛОЖЬ
           И ВЫБОР
                   КОГДА &ПоВсейНоменклатуре = ИСТИНА
                       ТОГДА ИСТИНА
                   ИНАЧЕ ЛОЖЬ
               КОНЕЦ
       {ГДЕ
           Номенклатура.Ссылка.* КАК Номенклатура}
       
       СГРУППИРОВАТЬ ПО
           Номенклатура.Ссылка,
           ВидыДисконтныхКарт.Ссылка,
           Номенклатура.Код) КАК ВложенныйЗапрос
           ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
               ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
               ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
           ИЗ
               РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, ) КАК ТоварыНаСкладахОстатки) КАК Остатки
           ПО (Остатки.Номенклатура = ВложенныйЗапрос.Номенклатура)
           ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
               МАКСИМУМ(ВЫБОР
                       КОГДА ЦеныКомпании.ЕдиницаИзмерения = &ПустаяЕдиницаИзмерения
                           ТОГДА ЦеныКомпании.Цена * КурсыВалютДляЦенКомпании.Курс / КурсыВалютДляЦенКомпании.Кратность
                       ИНАЧЕ ЦеныКомпании.Цена / ЦеныКомпании.ЕдиницаИзмерения.Коэффициент * ЦеныКомпании.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент * КурсыВалютДляЦенКомпании.Курс / КурсыВалютДляЦенКомпании.Кратность
                   КОНЕЦ) КАК РублеваяЦенаРозничная,
               ЦеныКомпании.Номенклатура КАК Номенклатура,
               ЦеныКомпании.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
           ИЗ
               РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &ТипЦеныРозничная) КАК ЦеныКомпании
                   ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаКон, ) КАК КурсыВалютДляЦенКомпании
                   ПО ЦеныКомпании.Валюта = КурсыВалютДляЦенКомпании.Валюта
           
           СГРУППИРОВАТЬ ПО
               ЦеныКомпании.Номенклатура,
               ЦеныКомпании.ХарактеристикаНоменклатуры) КАК РозничнаяЦена
           ПО (РозничнаяЦена.Номенклатура = ВложенныйЗапрос.Номенклатура)
       ПО ЗакупочнаяЦена.Номенклатура = ВложенныйЗапрос.Номенклатура
{ГДЕ
   ВложенныйЗапрос.Номенклатура.*}
1 Maxus43
 
08.03.12
00:19
чот сомневаюсь что эту порятнку кто-то будет препарировать... предлагаю только куски запроса отработать в консоли, вложеные отдельно и т.д.
2 Elenchka
 
08.03.12
00:22
(1) у меня подозрение в том, что что-то со связями...
3 Maxus43
 
08.03.12
00:25
убирай соединения и смотри в консоли рез таблицу. потом смотри что во вложенном...
4 Maxus43
 
08.03.12
00:27
я б покопался даже если б данные были, чисто с запросом - не вариант...
5 Elenchka
 
08.03.12
00:30
хорошо, спасибо, буду разбираться...
6 Maxus43
 
08.03.12
00:40
с утра напиша ещё) поди проснуться люди умные, тем более праздник!
Поздравляю!
7 Elenchka
 
08.03.12
01:06
(6)спасибо!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.