Имя: Пароль:
1C
1С v8
УФ таблица формы номер текущей строки
0 scanduta
 
27.11.13
17:44
Как в УФ корректно получить номер текущей строки для таблицы формы?

Делаю так

НомерСТроки=Элементы.ДоговорГрафикАвансовыхПлатежей.ТекущиеДанные


Но в данном случае номер строки отражается корректно только если не удалять строки и не делать с таблицей каких либо действий. Если скажем удалить строки и заново внести. То полученный номер строки уже не будет совпадать с фактическим. (будет больше)

П.С. Для табличной части объекта номер строки знаю как получить. Там проблем нет. Меня интересует как получить номер строки ИМЕННО для ТаблицыФормы.
1 scanduta
 
27.11.13
17:47
ХМ похоже вот так взлетает

Элементы.ДоговорГрафикАвансовыхПлатежей.ТекущиеДанные.ПолучитьИдентификатор()
2 scanduta
 
27.11.13
17:54
Хотя нет рано я радовался

так тоже не катит Элементы.ДоговорГрафикАвансовыхПлатежей.ТекущиеДанные.ПолучитьИдентификатор()
3 scanduta
 
27.11.13
17:54
номер строки при удалении строки не сбрасывается. Если скажем внести 10 строк , удалить их а потом внести одну то ее номер выдаст 11
4 scanduta
 
27.11.13
18:07
УФ сырые еще видимо....

У таблицы Формы есть метод ДобавитьСтроку()

А вот метода Удалить() почему то нет
5 RomaH
 
naïve
28.11.13
00:02
Элементы.ДоговорГрафикАвансовыхПлатежей.ТекущиеДанные.ПолучитьИдентификатор()

объект.ДоговорГрафикАвансовыхПлатежей.НайтиПоИдентификатору().НомерСтроки

за синтаксис не ручаюсь
(4) ты просто не в курсе еще
6 Salimbek
 
28.11.13
00:32
(0) Эм-м, должно же работать просто:

Элементы.ДоговорГрафикАвансовыхПлатежей.ТекущиеДанные.НомерСтроки

(4) Разумеется нет, это же работа с данными, соответственно вызываешь серверную процедуру, куда передаешь, например, номер удаляемой строки, а уже на сервере:

Объект.Состав.Удалить
7 GROOVY
 
28.11.13
00:39
Опять? Номер строки <> ID и индексу строки.
8 scanduta
 
05.12.13
13:14
(5)(6) Еще раз специально напомню для тех кто не в теме что я рассматриваю "ТаблицуФормы" а не данные объекта.
9 scanduta
 
05.12.13
13:16
и если использовать метод Элементы.ДоговорГрафикАвансовыхПлатежей.ТекущиеДанные.ПолучитьИдентификатор()

то:
номер строки при удалении строки не сбрасывается. Если скажем внести 10 строк , удалить их а потом внести одну то ее номер выдаст 11
10 scanduta
 
05.12.13
13:22
(7) GROOVY... скажите пожалуйста как методист по платформе 8.2

1)почему у ТаблицыФормы есть метод добавить строку, и нету метода УдалитьСтроку
2) Как пееребрать строки ТаблицыФормы
3) Как получить нормально номер строки ТаблицыФормы.


Под таблицей формы я понимаю реквизит формы(а не объ с типом таблица формыекта)
11 scanduta
 
05.12.13
13:23
опечатка:
Под таблицей формы я понимаю реквизит формы(а не реквизит объекта) с типом ТаблицаФормы
12 Cube
 
05.12.13
13:32
(10) Давай я:

1). Потому что не надо работать с таблицей формы.

2). См. п. 1.

3). Юзай ПолучитьИдентификатор() и НайтиПоИдентификатору(), если я правильно тебя протелепатировал.
13 scanduta
 
05.12.13
13:33
(12)

1) Это не выход
2) См п.1

3) Работают неверно при удалении строк и новом добавлении - читай тему внимательней.
14 Cube
 
05.12.13
13:36
(13) 1). Обоснуй
3). Ты не пользуешься НайтиПоИдентификатору(), поэтому ошибочно полагаешь, что платформа делает ошибки, а не ты...
15 scanduta
 
05.12.13
13:40
(14)

Смотри есть таблицаФормы мне не нужен метод   НайтиПоИдентификатору(),  так как у меня нету номера строки текущей.


Мне наоборот нужно получить номер текущей строки в таблице соотвественно юзаем так

Элементы.ДоговорГрафикАвансовыхПлатежей.ТекущиеДанные.ПолучитьИдентификатор()


Но этот метод выдает неверные номера строк при удалении, и новом добавлении - читай выше.

Перед тем как писать хоть бы попробывал сделать чтоли
16 scanduta
 
05.12.13
13:42
Точнее как бы сказать идентификатор то может и верный.

Но допустим добавишь 10 строк удалишь 10.

И еще одну добваишь

он идентификатор выдаст -11
17 Cube
 
05.12.13
13:43
(15) Остынь.

Давай тогда так:
"Мне наоборот нужно получить номер текущей строки"
Зачем?
18 scanduta
 
05.12.13
13:43
Но не соответствует реальному номеру строки
19 Cube
 
05.12.13
13:43
(16) И это правильно.
20 Cube
 
05.12.13
13:44
(18) И пофиг. Кому какое дело?))
21 scanduta
 
05.12.13
13:46
ТОгда вопрос как получить номер строки при удалении строк. Допустим ты ткнешь мышкой по строке а он должен сообщить номер строки
а он тебе вместо Номер 1 скажет Номер 11

вот тебе и пример
22 Defender aka LINN
 
05.12.13
13:46
(15) 1. Ничего, что в таблице значений, которую ты почему-то упорно кличешь таблицей формы, НЕТ никаких номеров строк и никогда в 8.х не было?
2. Про метод "Удалить" - тоже свистежь:

ДанныеФормыКоллекция (FormDataCollection)
Элементы коллекции:

ДанныеФормыЭлементКоллекции
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы.

Методы:

Вставить (Insert)
Выгрузить (Unload)
Добавить (Add)
Загрузить (Load)
Индекс (IndexOf)
Итог (Total)
Количество (Count)
НайтиПоИдентификатору (FindByID)
НайтиСтроки (FindRows)
Очистить (Clear)
Получить (Get)
Сдвинуть (Move)
Сортировать (Sort)
Удалить (Delete)
23 scanduta
 
05.12.13
13:48
(22) еще один теоретик вылез
24 scanduta
 
05.12.13
13:48
разберись сначала что такое таблица формы а потом пиши
25 scanduta
 
05.12.13
13:49
И при чем здесь ДанныеФормыКоллекция
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.