Имя: Пароль:
1C
1C 7.7
v7: 7.7 Группировка .... Все - поясните что это значит
0 Злопчинский
 
05.04.20
22:10
Вынес вопрос в отдельную ветку.

Язык запросов.
Группировка ... [Все][ВошедшиеВзапрос]

Что значит "Все"..? откуда берутся эти "все" - не понимаю, мутно...
.
Просто тупой запрос (на примере ТИС)

        |Номенклатура    = Регистр.ПартииОтданные.Номенклатура;
        |Комиссионер    = Регистр.ПартииОтданные.Договор.Владелец;    
        |Количество     = Регистр.ПартииОтданные.Количество;
        |Функция КоличествоКонОст = КонОст(Количество);
        |Группировка Номенклатура Без Групп;
        |Группировка Комиссионер Без Групп;
        |Условие (Номенклатура в ВыбТМЦ);

- здесь как бы все понятно. выдрали из регистра данные, свернули, сгруппировали, ок. Результат ожидаем.

модифицируем добавлением ВСЕ
|Группировка Комиссионер Без Групп Все;

В результате имеем предыдущий масси данны + к нему записи с нулевыми значениями ресурса по номенклатурам, котореы есть на остатках, но ДЛЯ ВСЕХ записей справочника контрагентов. Откуда это тянется? "Все" - значит берем ВСЕ ЗНАЧЕНИЯ того справочника, вид которого стоит в "Группировка Все"...? Или как?
1 mishaPH
 
модератор
05.04.20
22:14
(0) так весь справочник без папок. так понятно не взирая что там в остатках
2 Злопчинский
 
05.04.20
22:33
(1) а "Все ВошедшиеВзапрос" - это что?
3 skafandr
 
05.04.20
22:44
(2) это как раз первый вариант - только контрагентов по которым есть ненулевые значения ресурсов
4 Builder
 
05.04.20
23:14
В документации написано:
Используется только для группировок, построенных на основе внутренней переменной типа "справочник" или для предопределенных группировок, задающих временной интервал (Год, Месяц, Квартал, Неделя, День)
ВошедшиеВЗапрос - Необязательное добавочное ключевое слово действие которого уточняет предыдущее ключевое слово "Все". Использование данного слова подразумевает, что в каждую строку запроса будут включены значения данных (в том числе нулевые), для которых есть ненулевое значение хотя бы в одной строке запроса.
5 Злопчинский
 
05.04.20
23:21
(4) z ghjcnj negj yt dnsrf.//

" что в каждую строку запроса будут включены значения данных (в том числе нулевые)," - значения КАКИХ ДАННЫХ И КАКИЕ ЗНАЧЕНИЯ БУДУТ? -"для которых есть ненулевое значение " - НЕНУЛЕВОЕ ЗНАЧЕНИЕ ЧЕГО? "хотя бы в одной строке запроса."
.
можете на приемер это растолковать?
6 Злопчинский
 
05.04.20
23:22
я просто тупо не втыка...
7 Харлампий Дымба
 
05.04.20
23:55
Отписался в предыдущей
8 vcv
 
05.04.20
23:57
(5) >> можете на приемер это растолковать?
Например, тебе надо построить шахматку. В строках номенклатра, в колонках покупатель.
Логично сделать две группировки
Группировка Номенклатура Без групп; Группировка Контрагент без групп;

Но для каждой номенклатуры в группировке свой список покупателей, что для построения шахматки неудобно.
Поэтому используешь Группировка Номенклатура Без групп; Группировка Контрагент без групп Все ВошедшиеВзапрос;
И у тебя для каждой номенклатуры при обходе группировки полный перечень покупателей.
И вывод шахматки превращается в банальное:
Пока Запрос.Группировка(1) = 1 Цикл
Таб.ВывестиСекцию();
Пока Запрос.Группировка(2) = 1 Цикл
Таб.ПрисоединитьСекцию();
...
9 Злопчинский
 
06.04.20
00:19
Спасибо за пояснения
10 Cthulhu
 
06.04.20
02:00
если сплясать от "зачем?" - может понятнее получиться.
эти пляски с "все" и "вошедшиевзапрос" - обеспечивают возможность вывода шахматки (кросс-таблицы) по группировкам тупым их перебором - т.к. в этих случаях выбираются "блоки" с одинаковым количеством значений групировки - что оч.удобно при выводе их "по колонкам" в тек.строке (по вышестоящей группировке). при этом "все" выбирает блоками тупо все имеющиеся в справочнике значения, а с "вошедшие в запрос" - из то же самое. что просто "все" только без "нулевых колонок"... как-то так...
11 DrZombi
 
гуру
06.04.20
06:44
(10) Да сама формулировка построителя запроса 7.7 Мутная. Толи дело запросы SQL, все понятно, ясно и открыто. Даже почти без документации :)
12 Ёпрст
 
06.04.20
09:05
(2)будут только те элементы, которые участвовали в запросе, даже по которым итоговые показатели нулевые
13 Ёпрст
 
06.04.20
09:06
И это, Чебур, ты кому аккаунт продал то ?
14 NorthWind
 
06.04.20
09:08
(12) ну я тоже не знал, честно сказать. Формулировка не вполне прозрачная, а таблицы, растущие вправо - строить приходится, мягко говоря, нечасто.
И я не знал про эту фичу, изгалялся другими способами.
15 Андрей_Андреич
 
naïve
06.04.20
09:31
Утерянные знания древних :)
16 fisher
 
06.04.20
09:39
Если я правильно помню (а помню я смутно), "Все ВошедшиеВошедшиеВЗапрос" - это аналог левого соединения, а просто "Все" - аналог левого соединения по ключу без условий (т.е. все элементы левой таблицы).
17 fisher
 
06.04.20
09:47
Но вообще 7.7 это жесть. Забыл как страшный сон. Особенности работы с ней можно было выяснить только методом научного тыка и разбором готовых решений. Поэтому народ ее постигал всем миром, делясь знаниями на форуме. На этом бурга и территория 1С и взлетели со своей атмосферой. Ламповое было время. Восьмерка на порядок прозрачнее и документированее.
Независимо от того, куда вы едете — это в гору и против ветра!