Имя: Пароль:
1C
1С v8
Что это такое Выборка?
Ø (Волшебник 25.02.2016 17:28)
,
0 ROMA1927
 
25.02.16
14:29
Всем привет! Скажите, как понять слово "Выборка" в тексте

СуммаИтог = СуммаИтог + ВыборкаПереченьНоменклатуры.Сумма;

Привожу полный текст Модуля менеджера

Процедура Печать(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ОказаниеУслуги.Дата,
    |    ОказаниеУслуги.Клиент,
    |    ОказаниеУслуги.Мастер,
    |    ОказаниеУслуги.Номер,
    |    ОказаниеУслуги.Склад,
    |    ОказаниеУслуги.ПереченьНоменклатуры.(
    |        НомерСтроки,
    |        Номенклатура,
    |        Количество,
    |        Цена,
    |        Сумма
    |    )
    |ИЗ
    |    Документ.ОказаниеУслуги КАК ОказаниеУслуги
    |ГДЕ
    |    ОказаниеУслуги.Ссылка В (&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();

    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьПереченьНоменклатурыШапка = Макет.ПолучитьОбласть("ПереченьНоменклатурыШапка");
    ОбластьПереченьНоменклатуры = Макет.ПолучитьОбласть("ПереченьНоменклатуры");
    ОбластьИтог = Макет.ПолучитьОбласть("Всего"); // новые строки
    ТабДок.Очистить();

    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;

        ТабДок.Вывести(ОбластьЗаголовок);

        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());

        ТабДок.Вывести(ОбластьПереченьНоменклатурыШапка);
        ВыборкаПереченьНоменклатуры = Выборка.ПереченьНоменклатуры.Выбрать();
        СуммаИтог = 0; // новые строки
        Пока ВыборкаПереченьНоменклатуры.Следующий() Цикл
            ОбластьПереченьНоменклатуры.Параметры.Заполнить(ВыборкаПереченьНоменклатуры);
            ТабДок.Вывести(ОбластьПереченьНоменклатуры, ВыборкаПереченьНоменклатуры.Уровень());
            СуммаИтог = СуммаИтог + ВыборкаПереченьНоменклатуры.Сумма; // новые строки
        КонецЦикла;

        ОбластьИтог.Параметры.ВсегоПоДокументу = СуммаИтог;  // новые строки
        ТабДок.Вывести(ОбластьИтог);    // новые строки
        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры

В Синтаксисе-Помощнике, я такое слово не нашел.
Меня интересует, чем это является? То ли это переменная или объект, метод или свойство чего либо?

Спасибо за ответ!
13 kosts
 
25.02.16
14:42
(10) >  Намного удобнее выгрузить результат запроса в таблицу значений с прямым доступом.

Только если нужен будет этот произвольный доступ, а он нужен редко.
14 Irbis
 
25.02.16
14:43
(8) Так прежде чем буквицы в интернет выкладывать, думать нужно местом в которое кашу ешь, а не на котором сидишь.
15 Ващета
 
25.02.16
14:43
1927 - год рождения?
16 ROMA1927
 
25.02.16
14:43
Спасибо, буду разбираться с Вашими ответами.
17 Dotoshin
 
25.02.16
14:44
(0) Ну у тебя же по русски написано:
Выборка = Запрос.Выполнить().Выбрать();
То есть в конкретном примере это переменная которая содержит данные выбранные запросом.
18 ROMA1927
 
25.02.16
14:47
(17) Спасибо. Вопрос конечно странный, но для меня Ваши ответы помогут в освоении синтаксиса языка.
19 GROOVY
 
25.02.16
14:47
(17) Нет, это не переменная содержащая данные выбранные запросом.
Это объект получающий по 25 записей из результата запроса, в случае иерархии запроса, позволяющая получать данные в различных измерениях без перестроения запроса.
20 ROMA1927
 
25.02.16
14:50
(17) С начало, я так и подумал, что Выборка - это переменная. Но меня смутила запись ВыборкаПереченьНоменклатуры
21 Волшебник
 
модератор
25.02.16
14:52
(19) ссылка на объект, если уж совсем точно.
22 ROMA1927
 
25.02.16
14:54
(21) Спасибо, возможно по смыслу.
23 MishaD
 
25.02.16
14:54
переменная, в которой хранится ссылка на объект.
24 Ващета
 
25.02.16
14:55
(19) а что за 25 записей и почему не 5 или не 50?
25 ДенисЧ
 
25.02.16
14:55
(24) Потому что так сделала 1с.
И не тебе, смертному, обсуждать её решения
26 Качели
 
25.02.16
14:56
(21) "ОБЪЕКТ этого типа возвращается методом Выбрать у объекта типа РезультатЗапроса и представляет собой специализированный способ перебора записей запроса.
"
27 ЧеловекДуши
 
25.02.16
14:58
(15) Шифруется :)
28 ROMA1927
 
25.02.16
15:02
(23) Ты имел ввиду ВыборкаПереченьНоменклатуры?
29 ROMA1927
 
25.02.16
15:04
(26) Получается, что это объект?
30 Качели
 
25.02.16
15:05
(29) Тебе пока достаточно воспринимать его, как переменную.
31 Ващета
 
25.02.16
15:05
(25) я имел ввиду, уточнение про то что 25 это порции, и то что когда метод следующий() доходит до 25 - то считывается следующая порция, так?
32 GROOVY
 
25.02.16
15:08
(31)  Если нужно, то следующая порция будет получена.

У меня складывается такое впечатление, что документацию мало кто читает и сразу кодить бросается. А потом, если что, на форум...
33 Лефмихалыч
 
25.02.16
15:09
(32) >документацию мало кто читает и сразу кодить бросается. А потом, если что, на форум

бобро божаловадь в реальный мир
34 Качели
 
25.02.16
15:10
Зачем голову забивать внутренними механизмами, так для интереса, полезности ноль.
35 ROMA1927
 
25.02.16
15:10
(32) Подскажи, что за документация?
36 Лефмихалыч
 
25.02.16
15:10
+(33) даже те, которые типа, научились уже и программистами работают, получая задачу, первым делом думаю КАК эту всю елдонину накодить, вместо того, чтобы подумать, а что и зачем надо в результате получить
37 Irbis
 
25.02.16
15:11
(32) Правильные пацаны мануалы не читают
38 vladko
 
25.02.16
15:11
у тебя же написано в (0)
ВыборкаПереченьНоменклатуры = Выборка.ПереченьНоменклатуры.Выбрать();
смотри что возвращает метод Выбрать()
39 GROOVY
 
25.02.16
15:13
(34)  Полезности ноль? Ну когда кто-то для перебора результата запроса выгружает его в ТЗ и потом удивляется, что же так все тормозит, и память жрет... Ну да, наверно от понимания механизма выборки мало толку.

(35) Ну хотя бы ИТС.
40 Волшебник
 
модератор
25.02.16
15:14
(29) Мутабельный объект.
41 Irbis
 
25.02.16
15:15
(39) Так это денег стоит, а Синтаксис gjvjviybr b скомуниздить можно.
42 ROMA1927
 
25.02.16
15:15
(38) Спасибо
43 ROMA1927
 
25.02.16
15:16
(40) Спасибо
44 Волшебник
 
модератор
25.02.16
15:17
(43) Только не делай вид, что ты понял.
45 ROMA1927
 
25.02.16
15:18
(39) Спасибо за ИТС
46 ROMA1927
 
25.02.16
15:19
(44) Я пока разбираюсь с ответами, параллельно благодарю.
47 ROMA1927
 
25.02.16
15:22
Вот, что я понял по ответам.
Выборка - переменная.
ВыборкаПереченьНоменклатуры -  тоже переменная.
48 Irbis
 
25.02.16
15:23
(47) Немного, но лиха беда начало.
49 ROMA1927
 
25.02.16
15:25
(48) )))
50 mTema32
 
25.02.16
15:36
(19)"Это объект получающий по 25 записей из результата запроса"
А можно ссылочку на документацию, где этот факт описан. На ИТС не нашел.
51 Ващета
 
25.02.16
15:38
52 ROMA1927
 
25.02.16
15:40
(48) Если немного, то что я пропустил?
53 Irbis
 
25.02.16
15:44
(52) Кучу полезных рекомендаций по способам обращения к результатам запроса. Но жевать не стану, ибо самому разобраться полезнее.
54 ROMA1927
 
25.02.16
15:44
В модуле создается переменная Выборка, текст - Выборка = Запрос.Выполнить().Выбрать();

и переменная ВыборкаПереченьНоменклатуры, текст - ВыборкаПереченьНоменклатуры = Выборка.ПереченьНоменклатуры.Выбрать();

Так?
55 aka AMIGO
 
25.02.16
15:48
Кстати, поскольку Выборка - это твоя переменная, ты волен задать ей любое наименование, к примеру:
УраНашел = Запрос.Выполнить().Выбрать();

и переменная ВыборкаПереченьНоменклатуры, текст - ВыборкаПереченьНоменклатуры = УраНашел.ПереченьНоменклатуры.Выбрать();
56 mTema32
 
25.02.16
15:50
(51) Спасибо!
57 Dotoshin
 
25.02.16
15:50
(51) Интересно, а где и как можно применить знание того, что данные считываются порциями по 25 записей?
58 aka AMIGO
 
25.02.16
15:52
(57) В разговоре с друзьями-коллегами.
59 Dotoshin
 
25.02.16
15:53
(58) и еще наверно на экзамене...
60 Качели
 
25.02.16
15:53
(57) см (39)
61 ROMA1927
 
25.02.16
15:53
(55) Спасибо, я это понимаю. Когда читал листинг, был не внимателен.
62 Dotoshin
 
25.02.16
15:55
(60) Вообще-то в (39) имелось ввиду несколько другое.
Приведи конкретный пример, где можно использовать эти 25 записей.
63 aka AMIGO
 
25.02.16
15:56
(60) Ммм.. тогда - в разговоре с начальством :)
Для оправдывания :)
64 Провинциальный 1сник
 
25.02.16
15:59
(39) Как правило, обработка данных на языке 1с происходит в таблицах. А заполнять таблицу для обработки путем последовательного обхода выборки - изврат.
65 ROMA1927
 
25.02.16
16:00
Вот, что я заметил, что при изучении синтаксиса языка 1С на русском языке, появляются глупые вопросы в понимании.
Например, при изучении Паскаля, таких вопросов не возникало. Как ни-как английский язык более информативен.
66 kosts
 
25.02.16
16:01
(64) Как правило в 1С следует применять тот способ, который более оптимален.
Если нужна ТЗ - выгружаем в ТЗ, если нужен обход - делаем обход.
Слово "как правило" не следует употреблять.
67 Волшебник
 
модератор
25.02.16
16:03
(65) Пишется "Как-никак". Учите русский, юноша.
68 aka AMIGO
 
25.02.16
16:04
(65) Это ты зря.. Паскаль - универсальный язык, а 1С - объектно-ориентированный, потому содержит специфические наименования и функции.
69 Провинциальный 1сник
 
25.02.16
16:04
(66) ТЗ более соответствуют идеологии реляционных баз данных. Выборка - это доисторический навигационный доступ по своей сути.
70 aka AMIGO
 
25.02.16
16:05
(69) В реляционных БД тоже есть выборка/запрос
71 ROMA1927
 
25.02.16
16:05
(67) Опечатка,Сэр! У меня трекбол
72 aka AMIGO
 
25.02.16
16:05
(70) + оттуда Запрос и перекочевал в 1С
73 Волшебник
 
модератор
25.02.16
16:06
(71) Сейчас даже трекбол можно вылечить.
74 Провинциальный 1сник
 
25.02.16
16:06
(70) Идеологически более правильно, когда результат выборки - это тоже выборка. А не некая коллекция считываемых строк.
75 ROMA1927
 
25.02.16
16:08
Да он у меня не болеет. Я набираю текст трекболом на виртуальной клаве.
76 aka AMIGO
 
25.02.16
16:09
(74) Что-ж, имеем - что имеем.. Идеология заимствована, внедрена, и менять её не будут.
77 ROMA1927
 
25.02.16
16:09
(73) Да он у меня не болеет. Я набираю текст трекболом на виртуальной клаве.
78 Волшебник
 
модератор
25.02.16
16:09
(75) запущенный случай...
79 Dotoshin
 
25.02.16
16:09
(64) Никто не мешает обрабатывать данные в процессе обхода.
Выгружать запрос в ТЗ, для того чтобы обработать данные в процессе обхода ТЗ это как минимум не рационально.
80 Провинциальный 1сник
 
25.02.16
16:10
Вообще сложно представить, в каких случаях лучше применять выборку, а не ТЗ. Единственный аргумент - расход памяти. То есть, для каких-то редких портяночных запросов в миллионы строк типа егаисов.
81 Провинциальный 1сник
 
25.02.16
16:11
(79) Зато при обработке ТЗ можно вывести прогресс-бар, что немаловажно для комфорта пользователя.
82 aka AMIGO
 
25.02.16
16:12
(80) В ТЗ можно применить и дополнительную обработку - по свойствам ТЗ, свои функции. В Выборке их нет.
83 ROMA1927
 
25.02.16
16:13
(78) Работаю в AutoCadе, поэтому у меня трекбол. Виртуальная клава, потому что - лежу.
)))
84 Волшебник
 
модератор
25.02.16
16:14
(81) У выборки есть метод Количество()
85 Dotoshin
 
25.02.16
16:14
(81) ВыборкаИзРезультатаЗапроса (QueryResultSelection)
Количество (Count)
Синтаксис:

Количество()
Возвращаемое значение:

Тип: Число.

Описание:

Получает количество записей в выборке из результата запроса.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
86 aka AMIGO
 
25.02.16
16:14
(84) А ТЗ можно пересортировать, свернуть, и пр..
87 Aleksandr N
 
25.02.16
16:14
(84) Чорт, ты меня опередил)
88 Dotoshin
 
25.02.16
16:15
(80) >>Единственный аргумент - расход памяти.
Это кстати очень весомый аргумент
89 Dotoshin
 
25.02.16
16:16
(86) А зачем, если это можно сделать в запросе?
90 фобка
 
25.02.16
16:17
(65) по английски выборка это selection.. Но что это меняет?
91 фобка
 
25.02.16
16:18
(84) нету
92 фобка
 
25.02.16
16:19
(80) например, запрос с итогами
93 aka AMIGO
 
25.02.16
16:21
(89) Я иногда оставляю таблицу для дальнейшей расшифровки ячеек в отчете, или комбинационной выборки.. Да мало-ли.. Всего этого Запросом можно и не сделать..
Ну, ладно..
94 ROMA1927
 
25.02.16
16:23
(90) Возможно, ничего. Для меня проще - селекция, чем выборка.
95 фобка
 
25.02.16
16:23
(93) у ТЗ нет преимуществ перед выборкой, только если итоговые суммы по колонкам считать одной операцией или если предполагается модифицировать результат
96 фобка
 
25.02.16
16:24
(94) селекция - это что-то из области животноводства
97 ROMA1927
 
25.02.16
16:25
(90) У меня техническое образование, а не гуманитарное.
Но, это к делу не относится.
98 фобка
 
25.02.16
16:25
Выборка - это не термин 1С даже, это общепринятый русскоязычный аналог
99 Dotoshin
 
25.02.16
16:25
(93) Ну я как бы не отрицаю использование ТЗ там где без этого не обойтись, просто запросом можно делать очень многие вещи и это будет работать быстрей.
100 ROMA1927
 
25.02.16
16:28
(98) Согласен с Тобой, предложенный создателями аналог.
101 Карупян
 
25.02.16
16:32
(95) А как же отладка?
102 senior
 
25.02.16
16:34
(8) троль не хотел беспокоить тролей?)
103 ROMA1927
 
25.02.16
16:35
Спасибо Всем за проявленную помощь!
104 фобка
 
25.02.16
16:36
(101) а что с ней? при отладке в табло вбил "выборка.владелец().выгрузить()", посмотрел и забыл
105 DomovoiVShoke
 
25.02.16
16:41
(80)Отчет с иерархией и итоговыми суммами. Программить конечно легче, но разгребать потом код - Ад.
106 DomovoiVShoke
 
25.02.16
16:44
+(105)Да и дорабатывать сложнее.
107 Лефмихалыч
 
25.02.16
16:52
(39) вот это, кстати, отличный пример того, что бывает, когда теоретических знаний нету ни хрена о том, как внутри работают шестеренки:
Регистрация изменений регистра накоплений

на ровном месте беда...
108 Волшебник
 
модератор
25.02.16
17:01
(94) Селекция — наука о методах создания новых и улучшении существующих пород животных, сортов растений, штаммов микроорганизмов, с полезными для человека свойствами.
https://ru.wikipedia.org/wiki/Селекция

Учите русский, юноша.
109 ROMA1927
 
25.02.16
17:19
(108)
СЛОВАРЬСообщить об ошибке
selection [s??lek?n] сущ
выбор м, отбор м, подбор м, выборка ж
(choice, sampling, sample)
selection of wines – выбор вин
natural selection – естественный отбор
careful selection – тщательный подбор
random selection – случайная выборка
селекция ж
(breeding)
selection of plants – селекция растений
подборка ж
(compilation)
selection of articles – подборка статей
набор м
(set)
competitive selection – конкурсный набор
вариант выбора
Показать ещё
110 ROMA1927
 
25.02.16
17:21
(108) Зачем нужно делать замечания?
)
111 DomovoiVShoke
 
25.02.16
17:24
(110)Ему мяса недодают)))
112 ROMA1927
 
25.02.16
17:26
(111) Кому? модератору?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс