|
Задание 1С специалист. Почему в итогах используем функцию МАКСИМУМ? | ☑ | ||
---|---|---|---|---|
0
Scandsv
05.01.16
✎
20:55
|
Добрый день дорогие форумчане.
Если кому не трудно, подскажите. Решаю задачки по 1с специалист и сравниваю их с теми решениями, что предлагают на сайтах. Вот возник вопрос. Есть запрос который отбирает партии товаров для списания по ФИФО/ЛИФО "ВЫБРАТЬ | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура, | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.Услуга КАК Услуга, | СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество, | СУММА(РасходнаяНакладнаяСписокНоменклатуры.Сумма) КАК Сумма |ПОМЕСТИТЬ РасходнаяНакладная |ИЗ | Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры |ГДЕ | РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура, | РасходнаяНакладнаяСписокНоменклатуры.Номенклатура.Услуга |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РасходнаяНакладная.Номенклатура КАК Номенклатура, | РасходнаяНакладная.Услуга КАК Усуга, | РасходнаяНакладная.Количество КАК Количество, | РасходнаяНакладная.Сумма КАК Сумма, | ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | ЕСТЬNULL(ОстаткиНоменклатурыОстатки.СтоимостьОстаток, 0) КАК СтоимостьОстаток |ИЗ | РасходнаяНакладная КАК РасходнаяНакладная | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки( | &МоментВремени, | Номенклатура В | (ВЫБРАТЬ | РасходнаяНакладная.Номенклатура | ИЗ | РасходнаяНакладная)) КАК ОстаткиНоменклатурыОстатки | ПО РасходнаяНакладная.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура | |УПОРЯДОЧИТЬ ПО | ОстаткиНоменклатурыОстатки.Партии.МоментВремени" + СортировкаПартий + " |ИТОГИ | МАКСИМУМ(Услуга), | МАКСИМУМ(Количество), | МАКСИМУМ(Сумма), | СУММА(КоличествоОстаток) |ПО | Номенклатура"; Почему в итогах используем функцию МАКСИМУМ???? |
|||
1
Builder
05.01.16
✎
21:37
|
Насколько помню, можно использовать любую функцию, хоть СРЕДНЕЕ, результат будет одинаковый.
|
|||
2
RomanYS
05.01.16
✎
21:57
|
В данном случае логичнее поместить эти поля в раздел "По" итогов чтобы сгруппировать по ним. Но тогда последующая выборка будет содержать четыре вложенных цикла, что очччень не удобно. Поэтому идут на хитрость: итоги берут по одному заведомо уникальному полю (номенклатура), а по остальным полям берут минимум или максимум (от заведомо одинаковых значений). Если поля не помещать в итоги, то выборке по номенклатуре(итог первого уровня) эти поля будут NULL, а значения будут только в выборке детальных записей.
(1)СРЕДНЕЕ не применимо к типам булево и строка. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |