Имя: Пароль:
1C
1С v8
Помогите с простым запросом. я в тупике уже второй день
,
0 Cerera
 
17.08.12
08:29
Вот окончательный запрос:
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Окончательная.Склад КАК Склад,
   Окончательная.Номенклатура КАК Номенклатура,
   Окончательная.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   СУММА(Окончательная.Остаток) КАК Остаток,
   СУММА(Окончательная.СДО) КАК СДО,
   СУММА(ВЫБОР
           КОГДА Окончательная.СДО = 0
               ТОГДА 0
           ИНАЧЕ Окончательная.Остаток / Окончательная.СДО
       КОНЕЦ) КАК ОстатокНаСДО
{ВЫБРАТЬ
   Склад.*,
   Номенклатура.*,
   ХарактеристикаНоменклатуры.*,
   СДО,
   Остаток}
ИЗ
   Окончательная КАК Окончательная
ГДЕ
   Окончательная.Склад = &Склад

СГРУППИРОВАТЬ ПО
   Окончательная.Склад,
   Окончательная.Номенклатура,
   Окончательная.ХарактеристикаНоменклатуры

Он по логике должен рассчитывать поле ОстатокНаСДО

Но нихрена он не рассчитывает. я через Консоль запросов отлаживаю его. появляется таблица в ней столбики Остаток и СДО заполнены во многих местах но вот третий столбик не рассчитывается. в чем я неправ скажите а?

Понимаю что пложу ветку просто та прошлая ветка не дала результата и я сам некорректно сформирмулировал запрос. Сейчас пятница прошу помогите.
1 shuhard
 
17.08.12
08:32
(0)[ Сейчас пятница прошу помогите.]
окуел ?
сегодня пятница, все честные одинэсники забивают на работу болт
2 andrewks
 
17.08.12
08:32
СКД?
3 Error pro
 
17.08.12
08:35
ВЫБРАТЬ
   Окончательная.Склад КАК Склад,

  Окончательная.Номенклатура КАК Номенклатура,

   Окончательная.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   СУММА(Окончательная.Остаток) КАК Остаток,
   СУММА(Окончательная.СДО) КАК СДО,
   СУММА(ВЫБОР
           КОГДА Окончательная.СДО = 0
               ТОГДА 0
           ИНАЧЕ Окончательная.Остаток / Окончательная.СДО
       КОНЕЦ) КАК ОстатокНаСДО,
  Окончательная.Остаток,
  Окончательная.СДО
ИЗ
   Окончательная КАК Окончательная
ГДЕ
   Окончательная.Склад = &Склад

СГРУППИРОВАТЬ ПО
   Окончательная.Склад,
   Окончательная.Номенклатура,
   Окончательная.ХарактеристикаНоменклатуры

и посмотри что на что ты делишь, сразу все станет ясно
4 Cerera
 
17.08.12
08:35
(2)в СКД отчет леплю. но отлаживаю в консоли запросов. даже в ней последний столбик не заполняется.
5 Wobland
 
17.08.12
08:37
(3) поля не входят в группировку (Окончательная.Остаток, Окончательная.СДО) надо бы вообще без группировки
6 Cerera
 
17.08.12
08:37
(3)так я в консоли запросов. передо мной таблица там столбик СДО и ОСтаток заполнены во многих случаях.
7 andrewks
 
17.08.12
08:38
(3) "и посмотри что на что ты делишь"

не увидит он ничего с таким запросом.

или группировки надо убрать, или...
8 Лоботряс
 
17.08.12
08:38
что непонятно? там где СДО<>0, там Остаток = 0, вот поле у тебя и пустое
9 Простенький вопросик
 
17.08.12
08:39
можно попробовать сделать запрос без итогов, выгрузить в ТЗ и сделать итог по ТЗ, если чето глючит
10 Error pro
 
17.08.12
08:39
(5)(7) Ессесно, даже с группировкой не то будет, ему сперва нужно просуммировать "колонки" а потом уже делить одну на другую, как я понял.
11 andrewks
 
17.08.12
08:40
(10) ну, тогда ВТ ему в помощь
12 Error pro
 
17.08.12
08:41
(11) +
13 Cerera
 
17.08.12
08:42
(10)вот это наводка.
14 Cerera
 
17.08.12
08:44
Знаете какая ситуация. сейчас расскажу и сразу станет ясно. похоже вы уже догадались в чем моя проблема. Есть Виртуальная таблица полученная объединением: она как раз называется "Окончательная"

В ней действительно: Набор склад, номенклатура, характеристика.... и там где Остаток<>0 Там СДО=0 и наоборот.

вот запросом из (0)я достаю эти данные в надежде сформировать полноценную таблицу. выходит мне надо сформировать полноценную а потом уже к ней запрос сделать???
15 andrewks
 
17.08.12
08:44
(13) что говорит об элементарном отсутствии понимания работы запросов с твоей стороны
16 Error pro
 
17.08.12
08:45
(14) А чем (0) не полноценная? Тебе нужно в ВТ просуммировать твои "колонки" а уже в следующем запросе делить что на что хочешь.
17 Cerera
 
17.08.12
08:45
(15)ну еслиб я совсем не понимал запросы то не смог бы написать даже такого...
но вот сейчас кажется начал понимать в чем проблема. надо сначала сформировать таблицу где остаток и сдо в одной строчке и потом только уже третье поле делать
18 Cerera
 
17.08.12
08:46
(16)вот вот. ключевое слово "в следующем"
19 andrewks
 
17.08.12
08:47
(17) поля детальных записей, группировки и агрегатные функции - это азы
20 Error pro
 
17.08.12
08:48
ВЫБРАТЬ
   Окончательная.Склад КАК Склад,

  Окончательная.Номенклатура КАК Номенклатура,


   Окончательная.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   СУММА(Окончательная.Остаток) КАК Остаток,
   СУММА(Окончательная.СДО) КАК СДО
ПОМЕСТИТЬ ВТ
ИЗ
   Окончательная КАК Окончательная
ГДЕ
   Окончательная.Склад = &Склад

СГРУППИРОВАТЬ ПО
   Окончательная.Склад,
   Окончательная.Номенклатура,
   Окончательная.ХарактеристикаНоменклатуры

;
ВЫБРАТЬ
   ВТ.Склад КАК Склад,

  ВТ.Номенклатура КАК Номенклатура,


   ВТ.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   ВТ.Остаток,
   ВТ.СДО,
   ВЫБОР
           КОГДА ВТ.СДО = 0
               ТОГДА 0
           ИНАЧЕ ВТ.Остаток / ВТ.СДО
       КОНЕЦ КАК ОстатокНаСДО,
ИЗ ВТ КАК ВТ

(18) Так пойдет?
21 Cerera
 
17.08.12
08:50
(20)да! спасибо большое! теперь я смогу спокойно до обеда закончить отчет и после обеда уже начать как положено в пятницу! висеть на мисте общаться в ветках, смотреть фотки девченок мистянок
22 Cerera
 
17.08.12
08:51
(19)у меня много пробелов в знаниях запросов. практики мало было. но сейчас такая работа что приходится постигать азы. не сразу но я научусь и тоже смогу на мисте помогать другим
23 Error pro
 
17.08.12
08:52
(21) книжки лучше почитай а не фотки девченок смотри.
24 andrewks
 
17.08.12
08:52
(22) ок, договорились
(23) +100500  :-)
25 m-serg74
 
17.08.12
11:01
(23) +100600
26 olegves
 
17.08.12
11:11
СУММА(Окончательная.Остаток) КАК Остаток,
   СУММА(Окончательная.СДО) КАК СДО,
   СУММА(Окончательная.Остаток) / СУММА(Окончательная.СДО)
       КАК ОстатокНаСДО


а так?
27 Ctyd
 
17.08.12
11:18
деление на null словиш так...
28 andrewks
 
17.08.12
12:21
(27) деление на null - это фигня. а вот деление на ноль - это уже хуже
29 olegves
 
17.08.12
13:46
(28) а кто запрещает ВЫБОР использовать?