Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: 7.7 Группировка .... Все - поясните что это значит

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

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

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

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

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

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

В результате имеем предыдущий масси данны + к нему записи с нулевыми значениями ресурса по номенклатурам, котореы есть на остатках, но ДЛЯ ВСЕХ записей справочника контрагентов. Откуда это тянется? "Все" - значит берем ВСЕ ЗНАЧЕНИЯ того справочника, вид которого стоит в "Группировка Все"...? Или как?
   mishaPH
 
Модератор
1 - 05.04.20 - 22:14
(0) так весь справочник без папок. так понятно не взирая что там в остатках
   Злопчинский
 
2 - 05.04.20 - 22:33
(1) а "Все ВошедшиеВзапрос" - это что?
   skafandr
 
3 - 05.04.20 - 22:44
(2) это как раз первый вариант - только контрагентов по которым есть ненулевые значения ресурсов
   Builder
 
4 - 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
Отписался в предыдущей
   vcv
 
8 - 05.04.20 - 23:57
(5) >> можете на приемер это растолковать?
Например, тебе надо построить шахматку. В строках номенклатра, в колонках покупатель.
Логично сделать две группировки 
Группировка Номенклатура Без групп; Группировка Контрагент без групп;

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.