Имя: Пароль:
1C
 
В чем разница между ТекущаяСтрока и ТекущиеДанные табличного поля?
0 Медвед1Сник
 
24.06.08
17:45
ТекущаяСтрока:

Описание:
Содержит текущую строку табличного поля.
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
Тип значения строки табличного поля приведен в описаниях расширений табличного поля у соответствующих объектов.

ТекущиеДанные:

Содержит данные текущей строки табличного поля.
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
Тип значения данных строки табличного поля приведен в описаниях расширений табличного поля у соответствующих объектов.
Для табличных полей, отображающих иерархический список в виде дерева, свойство может принимать значение Неопределено.

Они одинаковы по своему функциональному назначению. Или есть какие-то тонкости?
1 ТелепатБот
 
гуру
24.06.08
17:45
2 Лефмихалыч
 
24.06.08
18:02
ТекущиеДанные - Только чтение.

ТекущаяСтрока - Чтение и запись
3 and2
 
24.06.08
18:03
(2) михалыч? а ты не путаешь чего?
4 akiDemon666
 
24.06.08
18:08
Одинаково но Правильно ТекущиеДанные  !!!
5 Лефмихалыч
 
24.06.08
18:09
(3) х/з, сам фшоке, но так в СП нарисовано. Скрин показать?
6 and2
 
24.06.08
18:11
(5) да ладно уж.
а то я и сам испугался :).
7 Медвед1Сник
 
24.06.08
18:48
Т.е. функционально они дублируют друг друга? (Не считая различий в чтении/записи). А я голову ломаю что имели в виду разработчики...
8 acsent
 
24.06.08
18:55
Это примерно как Ссылка и Объект. Например позиционирование происходит с помощью ТекущаяСтрока, а изменение - ТекущиеДанные
9 Лефмихалыч
 
24.06.08
18:55
(7) У меня подозрение, что ТекущаяСтрока - быстрее, т.к. все равно обращение данным через ТекущуюСтроку.
10 VicAlex
 
24.06.08
21:08
На ИТС по этому вопросы комментарий есть.
В общем ТекущаяСтрока - это ссылка на текущую строку в целом, а ТекущиеДанные  для доступа к данным этой строки.
У Радченко используется ТекущиеДаные.
11 gae
 
24.06.08
21:14
На примере табличного поля типа РегистрСведенийСписок посмотрите, там сразу видно разницу. ТекущаяСтрока- ключ записи, ТекущиеДанные - сами данные записи, чтение/запись.
12 gae
 
24.06.08
21:20
(11)+ Например, в списке регистра сведений, если хотите отловить интерактивное изменение одного поля (измерения/ресурса/реквизита) событием "При изменении", а затем в зависимости от установленного значения изменить значение другого поля редактируемой записи, то получится только через ТекущиеДанные.
13 Медвед1Сник
 
26.06.08
21:08
Вот смотрю на эти ТекущиеДанные и ТекущаяСтрок на примере разных прикладных объектов. Сказать могу следующее. ТекущаяСтрока для объектных данных всегда имеет тип <Объект>Ссылка. Например для списка справочника это СправочникСсылка, для списка документов это ДокументСсылка и т.д. Т.е. через текущую строку можно писать (через точку) в реквизиты. Непонятно только зачем это нужно для ссылок на объекты (когда изменение данных происходит только через сам объект, извиняюсь за тавтологию, объекта :)).

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

Напомню что в Синтаксис Помощнике касательно поля ТекущиеДанные содержится следующая информация :

Описание:
Содержит данные текущей строки табличного поля.
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
Тип значения данных строки табличного поля приведен в описаниях расширений табличного поля у соответствующих объектов.

Что попросту говоря туфта, потому что тип значения ТекущиеДанные ОДИН и нехер отсылать в "описания расширений табличного поля у соотвествующих объектов"

Тоже можно и сказать про ТекущаяСтрока. Там тоже отсылают смотреть инфу в расширения табличного поля соотвествующих объектов. Ничего там нет. Но тут хотя бы справедливо то что тип значения ТекущаяСтрока в различных ситуациях разный.

В общем можно сделать вывод:
ТекущиеДанные - источник данных (ссылочный тип)
ТекущаяСтрока - копия данных из источника.

В плане чтения данных ТекущиеДанные и ТекущаяСтрока идентичны (по крайней мере для объектных данных, т.е. тех у которых есть поле Ссылка).

Поэтому у меня и возник естественный вопрос зачем нужно два одинаковых поля в обсуждаемом элементе формы.
14 Господин ПЖ
 
26.06.08
22:25
могу сказать что за текущаястрока сразу топят в ведре...
15 Медвед1Сник
 
26.06.08
23:04
(14) В смысле? На экзамене топят или что?
16 Матрейя
 
27.06.08
01:30
14. если бы топящие сами хоть что-то смыслили в программировании.....
17 GROOVY
 
27.06.08
01:36
Да все просо: ТекущаяСтрока отображает ТекущиеДанные. То есть модет быть ситуация когда данные одни а строка отображает старые. Не помню при каком событии, сча уже поздно проверять, но это точно.
Для расчета данных в ТП правильнее использовать ТекущиеДанные.
18 Матрейя
 
27.06.08
02:03
текущая строка - привязка к гриду, тек.данные - к источнику. Вот и вся разница.
19 Медвед1Сник
 
27.06.08
21:29
Наоборот. ТекущаяСтрока - привязка к источнику, ТекущиеДанные - к таблице. Хотя семантически должно быть наоборот.
20 Кураж
 
27.06.08
21:42
Писец! Все дятлы отметились?!...
Вот уж от кого не ожидал правильного ответа, так от матреи... )
Вот вам пример: есть ТабПоле связанное с ТабЗначений, так вот в этой ТабЗначений добавляем колонки программно... В ТекущейСтроке этих колонок не будет, зато будут в ТекущихДанных. А то ссылка/объект, чтение/запись, тьфу, балбесы!
21 Медвед1Сник
 
27.06.08
22:23
(20) табличное поле применяется не только с таблицами значений. Прежде чем гнуть пальцы проверил бы (как предлагалось выше) ситуации когда табличное поле связано со списком справочников, документов, регистрами сведений. Тогда бы и всплыли ссылка/объект, чтение/запись и т.д. Быдло.

Что же касается отображения таблицы значений, то тут типы ТекущиеДанные и ТекущиеСтрока совпадают а именно имеют тип СтрокаТаблицыЗначений. Они также идентичны в плане хранения данных. Создавай программно не создавай, я только что проверил на обработке. Создаешь програмно колонку в ТЗ источнике данных ТП и эта колонка (вкупе с хранимыми данными) появляется как в ТекущиеДанные так и в ТекущаяСтрока. Более того в данном случае это даже один и тот же объект (экземпляр оъекта в памяти), они проходят тест на сравнение (что косвенно говорит о том что это один и тот же объект в памяти).

Умиляет шпана из подворотни, пытающаяся учить жизнь. Вали к ебеням, дурачок.
22 Terv
 
27.06.08
23:33
видимостью колонок еще поиграйтесь
23 Медвед1Сник
 
28.06.08
21:48
(22) А это при чем? От видимости не зависит. Я добавлял программно колонки без обновления ТП (без СоздатьКолонки()), ТекущаяСтрока и ТекущиеДанные расширялись синхронно.