Имя: Пароль:
1C
1С v8
Разные результаты в отчете и СКД
0 Klesk
 
18.05.12
14:37
Такой запрос:

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

СГРУППИРОВАТЬ ПО
   НоменклатураСсылка.Ссылка,
   СвободныеОстаткиОстатки.Склад,
   ЦеныНоменклатурыСрезПоследних.ВидЦены,
   ЦеныНоменклатурыСрезПоследних.Цена,
   ЦеныНоменклатурыСрезПоследних.Валюта,
   НоменклатураСсылка.ЦеноваяГруппа

ИМЕЮЩИЕ
   СУММА(СвободныеОстаткиОстатки.ВНаличииОстаток) - СУММА(СвободныеОстаткиОстатки.ВРезервеОстаток) > 0

УПОРЯДОЧИТЬ ПО
   Номенклатура,
   ВидЦены,
   Склад

В запросе всее правильно, а в скд, какие то нереальные цифры в Доступно, такое ощущение что беретсЯ не конечный остаток а оборот

В СКД в ресурсах стоит Сумма(Остаток). Рассчитывать по пробовал менять ничего не меняет, может неправильно делаю что.

Настройки:

Отчет -
       Таблица -
            Строки -
                  Номенклатура (Иерархия)
           Колонки -
                   ВидЦены
                   Склад

у номенклатуры выбранные поля Авто
У вид цены - ВидЦены.Наимменование и Цена
У склада Склад.Наименование и доступно

Помогите разобраться, уже голову сломал
1 Redhatych
 
18.05.12
14:59
а если попробовать не группировать и не упорядочивать результат запроса?
2 Hans
 
18.05.12
15:01
зачем тебе тут со справочником номенклатура соединяться? упрости.
3 Klesk
 
18.05.12
15:18
Упростил

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

СГРУППИРОВАТЬ ПО
СвободныеОстаткиОстатки.Номенклатура,
   СвободныеОстаткиОстатки.Склад,
   ЦеныНоменклатурыСрезПоследних.ВидЦены,
   ЦеныНоменклатурыСрезПоследних.Цена,
   ЦеныНоменклатурыСрезПоследних.Валюта
   

ИМЕЮЩИЕ
   СУММА(СвободныеОстаткиОстатки.ВНаличииОстаток) - СУММА(СвободныеОстаткиОстатки.ВРезервеОстаток) > 0

только теперь цены не все проставляются
4 Klesk
 
18.05.12
15:18
Остатки верные вроде
5 Fragster
 
гуру
18.05.12
15:20
убери автозаполнение ;)

или сделай
ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1000

   ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
   ЦеныНоменклатурыСрезПоследних.Цена,
   ЦеныНоменклатурыСрезПоследних.Валюта,
   СУММА(СвободныеОстаткиОстатки.ВНаличииОстаток) - СУММА(СвободныеОстаткиОстатки.ВРезервеОстаток) КАК Доступно,
   СвободныеОстаткиОстатки.Склад КАК Склад,
   СвободныеОстаткиОстатки.Номенклатура
Поместить
   Данные
ИЗ
   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&Период, ДЕНЬ), ) КАК ЦеныНоменклатурыСрезПоследних
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(КОНЕЦПЕРИОДА(&Период, ДЕНЬ) ) КАК СвободныеОстаткиОстатки
       ПО ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка = СвободныеОстаткиОстатки.Номенклатура.Ссылка

СГРУППИРОВАТЬ ПО
СвободныеОстаткиОстатки.Номенклатура,
   СвободныеОстаткиОстатки.Склад,
   ЦеныНоменклатурыСрезПоследних.ВидЦены,
   ЦеныНоменклатурыСрезПоследних.Цена,
   ЦеныНоменклатурыСрезПоследних.Валюта
   

ИМЕЮЩИЕ
   СУММА(СвободныеОстаткиОстатки.ВНаличииОстаток) - СУММА(СвободныеОстаткиОстатки.ВРезервеОстаток) > 0
;
Выбрать * из данные
6 Fragster
 
гуру
18.05.12
15:23
а вообще - самое правильное:
скачать консоль точетов СКД, которая показывает реальный текст запроса и в ней посмотреть, что же на самом деле за запрос
7 Klesk
 
18.05.12
15:37
а это правильно?

РегистрНакопления.СвободныеОстатки.Остатки(КОНЕЦПЕРИОДА(&Период, ДЕНЬ) ) КАК СвободныеОстаткиОстатки

&Период - текущая дата
8 Fragster
 
гуру
18.05.12
15:39
(7) при автозаполнении - нет ;)
9 Klesk
 
18.05.12
15:42
(8) а как надо?
10 Bober
 
18.05.12
15:43
(7) посмотри статьи на ИТС по СКД
или
http://www.spec8.ru/kurs-po-skd-besplatno
11 Fragster
 
гуру
18.05.12
15:48
(9) -> (6)... я не уверен, что он с ИМЕЮЩИЕ ничего не делает помимо периода
12 Bober
 
18.05.12
15:51
Раз у тебя есть РС.СрезПоследних и РС.Остатки, то сделаай так:
- РегистрНакопления.СвободныеОстатки.Остатки({(&ПериодОстатков)}, ) КАК СвободныеОстаткиОстатки

и в СрезПоследних({(&ПериодЦен)}

-  переходишь на закладку параметры, снимаешь галку включать в параметры и ставишь галку ограничен

- у каждого параметра в поле выражение прописываешь ТекущаяДата()

все.

PS автозаполнение снимать не надо, намучаешься управлять полями вручную через запрос (в конструкторе запроса закладка компоновка данных)
13 Fragster
 
гуру
18.05.12
15:53
(12) ничего не намучаешься
14 Bober
 
18.05.12
15:57
(13) программируй на ассемблере, не мешай людям работать