Вход | Регистрация

1С:Предприятие ::

Метки: 

Что за тип ВыборкаСсылка?

Я
   DirecTwiX
 
25.12.12 - 19:20
Как-то раз получил ошибку в коде:
Выборка = Доки.АБС.Выбрать();
Выборка.Следующий();
ДокОб=Выборка.ПолучитьОбъект();

С тех пор всё время пишу
ДокОб=Выборка.Ссылка.ПолучитьОбъект();

Чтобы наверняка) Может когда-то можно это не писать?)
 
 
   zak555
 
1 - 25.12.12 - 19:21
используй запросы
   zak555
 
2 - 25.12.12 - 19:21
*не морочь себе голову "выборкой"
   DirecTwiX
 
3 - 25.12.12 - 19:23
Использую по возможности)
Сути дела не меняет) Там всё равно будет ВыборкаСсылка)
   Reset
 
4 - 25.12.12 - 19:24
(0) Оба варианта идентичны
   zak555
 
5 - 25.12.12 - 19:25
ДокументВыборка.<Имя документа> (DocumentSelection.<Имя документа>)
ДокументВыборка.<Имя документа> (DocumentSelection.<Имя документа>)
Свойства:

<Имя общего реквизита> (<Common attribute name>)
<Имя реквизита> (<Attribute name>)
<Имя табличной части> (<Tabular section name>)
ВерсияДанных (DataVersion)
Дата (Date)
Номер (Number)
ПометкаУдаления (DeletionMark)
Проведен (Posted)
Ссылка (Ref)

Методы:

ПолучитьОбъект (GetObject)
Следующий (Next)

Описание:

Объект этого типа возвращается методом Выбрать у объекта типа ДокументМенеджер.<Имя документа> и представляет собой специализированный способ перебора документов.
Обход документов выполняется системой динамически. Это означает, что использование выборки не считывает все документы сразу, а выбирает их порциями из базы данных. Такой подход позволяет достаточно быстро обходить с помощью выборки большие списки документов и не загружает в память всех элементов выборки.
Важно! Данному объекту доступны все свойства объекта ДокументСсылка.<Имя документа>.

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

Сервер, толстый клиент, внешнее соединение.
См. также:

ДокументМенеджер, метод Выбрать
ДокументОбъект
ДокументСсылка
ЖурналДокументовМенеджер, метод Выбрать
   zak555
 
6 - 25.12.12 - 19:26
(4) лишнее обращение к объекту через ссылку
   zak555
 
7 - 25.12.12 - 19:26
+ (6)

ДокументВыборка.<Имя документа>.ПолучитьОбъект (DocumentSelection.<Имя документа>.GetObject)
ДокументВыборка.<Имя документа> (DocumentSelection.<Имя документа>)
ПолучитьОбъект (GetObject)
Синтаксис:

ПолучитьОбъект()
Возвращаемое значение:

Тип: ДокументОбъект; Неопределено.
Неопределено - объекта в базе нет (например, при обмене данными или после непосредственного удаления объекта, на который есть ссылки).
Описание:

Получает объект для чтения, изменения, добавления и удаления документа, на котором в данный момент спозиционирована выборка.

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

Сервер, толстый клиент, внешнее соединение.
Пример:

ДокОбразец = Неопределено;
ДокВыборка = Документы.СписаниеТоваров.Выбрать(НачДата, КонДата);
Пока ДокВыборка.Следующий() Цикл
    Если ДокВыборка.Проведен Тогда
        Если ДокВыборка.Организация = Организация Тогда
            ДокОбразец = ДокВыборка.ПолучитьОбъект();
            Прервать;
        КонецЕсли;
    КонецЕсли;
КонецЦикла;
   Reset
 
8 - 25.12.12 - 19:27
(6) Нет
   DirecTwiX
 
9 - 25.12.12 - 19:27
(4) (6) Да, сейчас тоже проверил. Значит раньше где-то не там косяк был))
Спасибо!
   Reset
 
10 - 25.12.12 - 19:27
(6) Ну то есть лишнее только визуально, "длиннее" оператор
 
 Рекламное место пустует
   zak555
 
11 - 25.12.12 - 19:28
(8) ты считаешь, что оптимальнее писать

ДокОб=Выборка.Ссылка.ПолучитьОбъект();

чем

ДокОб=Выборка.ПолучитьОбъект();


?
   Reset
 
12 - 25.12.12 - 19:31
(11) Нет, я бы использовал второй вариант, т.к. короче
   Reset
 
13 - 25.12.12 - 19:32
(11) И "оптимальнее" - это ты мне приписываешь, я сказал (4)
   zak555
 
14 - 25.12.12 - 19:50
(12) т.е. только из-за того, что короче писать ?
   Reset
 
15 - 25.12.12 - 20:21
(14) Да. короче, читабельней.

При Выборка.Ссылка не происходит излишнее чтение объекта, т.к. "ссылка" уже считана (выборка спозиционирована).
Напротив, Выборка.Ссылка.Реквизит - существенно хуже чем Выборка.Реквизит, тут происходит именно (6)

Или я ошибаюсь?
   kiruha
 
16 - 25.12.12 - 20:26
(0)
П-ть
Выборка происходит динамически
Т.е. например если по основному представлению -
кто то в базе что то сделал, поменял наименование -
можно легко пропустить или дважды прочесть, или наткнуться на уже удаленный
Отсюда и редкая ошибка - ПолучитьОбъект
   kiruha
 
17 - 25.12.12 - 20:27
Короче если алгоритм важный - не используй выборку - только запрос


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