![]() |
![]() |
![]() |
|
Что за тип ВыборкаСсылка? | ☑ | ||
---|---|---|---|---|
0
DirecTwiX
25.12.12
✎
19:20
|
Как-то раз получил ошибку в коде:
Выборка = Доки.АБС.Выбрать(); Выборка.Следующий(); ДокОб=Выборка.ПолучитьОбъект(); С тех пор всё время пишу ДокОб=Выборка.Ссылка.ПолучитьОбъект(); Чтобы наверняка) Может когда-то можно это не писать?) |
|||
1
zak555
25.12.12
✎
19:21
|
используй запросы
|
|||
2
zak555
25.12.12
✎
19:21
|
*не морочь себе голову "выборкой"
|
|||
3
DirecTwiX
25.12.12
✎
19:23
|
Использую по возможности)
Сути дела не меняет) Там всё равно будет ВыборкаСсылка) |
|||
4
Reset
25.12.12
✎
19:24
|
(0) Оба варианта идентичны
|
|||
5
zak555
25.12.12
✎
19:25
|
ДокументВыборка.<Имя документа> (DocumentSelection.<Имя документа>)
ДокументВыборка.<Имя документа> (DocumentSelection.<Имя документа>) Свойства: <Имя общего реквизита> (<Common attribute name>) <Имя реквизита> (<Attribute name>) <Имя табличной части> (<Tabular section name>) ВерсияДанных (DataVersion) Дата (Date) Номер (Number) ПометкаУдаления (DeletionMark) Проведен (Posted) Ссылка (Ref) Методы: ПолучитьОбъект (GetObject) Следующий (Next) Описание: Объект этого типа возвращается методом Выбрать у объекта типа ДокументМенеджер.<Имя документа> и представляет собой специализированный способ перебора документов. Обход документов выполняется системой динамически. Это означает, что использование выборки не считывает все документы сразу, а выбирает их порциями из базы данных. Такой подход позволяет достаточно быстро обходить с помощью выборки большие списки документов и не загружает в память всех элементов выборки. Важно! Данному объекту доступны все свойства объекта ДокументСсылка.<Имя документа>. Доступность: Сервер, толстый клиент, внешнее соединение. См. также: ДокументМенеджер, метод Выбрать ДокументОбъект ДокументСсылка ЖурналДокументовМенеджер, метод Выбрать |
|||
6
zak555
25.12.12
✎
19:26
|
(4) лишнее обращение к объекту через ссылку
|
|||
7
zak555
25.12.12
✎
19:26
|
+ (6)
ДокументВыборка.<Имя документа>.ПолучитьОбъект (DocumentSelection.<Имя документа>.GetObject) ДокументВыборка.<Имя документа> (DocumentSelection.<Имя документа>) ПолучитьОбъект (GetObject) Синтаксис: ПолучитьОбъект() Возвращаемое значение: Тип: ДокументОбъект; Неопределено. Неопределено - объекта в базе нет (например, при обмене данными или после непосредственного удаления объекта, на который есть ссылки). Описание: Получает объект для чтения, изменения, добавления и удаления документа, на котором в данный момент спозиционирована выборка. Доступность: Сервер, толстый клиент, внешнее соединение. Пример: ДокОбразец = Неопределено; ДокВыборка = Документы.СписаниеТоваров.Выбрать(НачДата, КонДата); Пока ДокВыборка.Следующий() Цикл Если ДокВыборка.Проведен Тогда Если ДокВыборка.Организация = Организация Тогда ДокОбразец = ДокВыборка.ПолучитьОбъект(); Прервать; КонецЕсли; КонецЕсли; КонецЦикла; |
|||
8
Reset
25.12.12
✎
19:27
|
(6) Нет
|
|||
9
DirecTwiX
25.12.12
✎
19:27
|
(4) (6) Да, сейчас тоже проверил. Значит раньше где-то не там косяк был))
Спасибо! |
|||
10
Reset
25.12.12
✎
19:27
|
(6) Ну то есть лишнее только визуально, "длиннее" оператор
|
|||
11
zak555
25.12.12
✎
19:28
|
(8) ты считаешь, что оптимальнее писать
ДокОб=Выборка.Ссылка.ПолучитьОбъект(); чем ДокОб=Выборка.ПолучитьОбъект(); ? |
|||
12
Reset
25.12.12
✎
19:31
|
(11) Нет, я бы использовал второй вариант, т.к. короче
|
|||
13
Reset
25.12.12
✎
19:32
|
(11) И "оптимальнее" - это ты мне приписываешь, я сказал (4)
|
|||
14
zak555
25.12.12
✎
19:50
|
(12) т.е. только из-за того, что короче писать ?
|
|||
15
Reset
25.12.12
✎
20:21
|
(14) Да. короче, читабельней.
При Выборка.Ссылка не происходит излишнее чтение объекта, т.к. "ссылка" уже считана (выборка спозиционирована). Напротив, Выборка.Ссылка.Реквизит - существенно хуже чем Выборка.Реквизит, тут происходит именно (6) Или я ошибаюсь? |
|||
16
kiruha
25.12.12
✎
20:26
|
(0)
П-ть Выборка происходит динамически Т.е. например если по основному представлению - кто то в базе что то сделал, поменял наименование - можно легко пропустить или дважды прочесть, или наткнуться на уже удаленный Отсюда и редкая ошибка - ПолучитьОбъект |
|||
17
kiruha
25.12.12
✎
20:27
|
Короче если алгоритм важный - не используй выборку - только запрос
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |