Имя: Пароль:
1C
1С v8
ЗначениеВРеквизитФормы "накапливает" индекс ВыделенныеСтроки 8.2
0 AET
 
13.10.11
20:12
Доброе!

Если написать:

ЗначениеВРеквизитФормы(Дерево1,"ДеревоНаФорме");
ЗначениеВРеквизитФормы(Дерево2,"ДеревоНаФорме");

А затем в процедуре ПриВыборе заглянуть в массив ВыделенныеСтроки, то индекс массива будет иметь значение ВерныйИндекс + Дерево1.КолЭлементов.

Почему ВыделенныеСтроки "накапливает" значение? Как Сбросить?

Надеюсь выразился понятно, выглядит конечно как бред )
1 Defender aka LINN
 
13.10.11
20:24
А зачем тебе их сбрасывать?
2 AET
 
13.10.11
20:27
(1) у меня используется этот массив, выбор множественный.
Когда я хочу получить выделенный строки Дерева2 - получаю чушь.
3 AET
 
13.10.11
20:47
Демо, кому интересно http://zalil.ru/31863524
4 Defender aka LINN
 
13.10.11
21:13
(2) Угу. Скажи, а ты, наверное, печатаешь мышью с экранной клавиатуры? Или все же с клавиатуры?
5 Defender aka LINN
 
13.10.11
21:13
+(4) И это не баг, а вполне нормальное поведение платформы.
6 vmv
 
13.10.11
21:19
это не баг, значение-то создается в памяти, следующая команда ЗначениеВРеквизитФормы создает новое значение.

А вот вот вам жвачка)

Такой код даст ошибку передачи управления с сервера на клиент, если дерево неодродное и сложное

&НаКлиенте
Процедура ЧтоТоСделатьСДеревомФормы()
  ЧтоТоСделатьСДеревомФормыНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЧтоТоСделатьСДеревомФормыНаСервере()
  Дерево = РеквизитФормыВЗначение("ТЗ");
  // что-то сделать
  //....
  //
КонецПроцедуры


А Такой код НЕ даст ошибку передачи управления с сервера на клиент, если дерево неодродное и сложное

&НаСервере
Процедура ЧтоТоСделатьСДеревомФормы()
  ЧтоТоСделатьСДеревомФормыНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЧтоТоСделатьСДеревомФормыНаСервере()
  Дерево = РеквизитФормыВЗначение("ТЗ");
  // что-то сделать
  //....
  //
  Дерево = 0;
КонецПроцедуры

Вывод - конструкторы и деструкторы "сложных" переменных, которые работатют на уровне платформы, далеко не всегда стабильны, но если вы вспомните азы программирования и будуте сами выполнять фкнкцию деструктива или конструктива - то все оке)
7 Defender aka LINN
 
13.10.11
21:29
(6) Что есть "неодродное и сложное" дерево?
8 Mort
 
13.10.11
21:29
И в чем Неодродность дерева?
9 Mort
 
13.10.11
21:30
Попахивает реквизитом формы "дерево" произвольного типа + какая-нибудь непередаваемая ересь в дереве.
10 AET
 
14.10.11
03:29
(4) да, через лупу
(5) в чем "Норма"?
11 AET
 
14.10.11
04:04
(6) не создает, а суммирует, причем Количество с Индексом
12 Defender aka LINN
 
14.10.11
08:53
(10) Объясняю на пальцах: была таблица на форме, ты ее заменил какой-то совсем более иначе другой. И хочешь, чтобы у тебя остались ссылки на строки неизменные. Так вот, такого фокуса не бывает.
13 AET
 
14.10.11
09:19
(12) ничего подобного я не хочу
14 Defender aka LINN
 
14.10.11
09:23
(13) "у меня используется этот массив, выбор множественный" - это, типа, кто-то за тебя написал? :)
15 AET
 
14.10.11
09:26
(14) ты видимо сабж не оценил, там есть описание задачи (ниже демо) и 2 вопроса : "почему" и "как". Пока ответы мимо каски к сожалению, главное участие?
16 Defender aka LINN
 
14.10.11
09:37
(15) Какбе, я тебе уже ответил давно и по существу. Если сквозь каску не проникло, могу попытаться еще раз:
1. Это не баг
2. Ты пытаешься решить задачу через задницу, а этим путем только у проктологов что-то получается
3. Описания задачи нет вообще, если описание выдуманного тобой метода ее решения (см. п. 2)
17 Defender aka LINN
 
14.10.11
09:38
*если описание = есть описание
18 AET
 
14.10.11
09:47
(16) о выборе метода никто не спрашивал, я думаю обработку для себя ты уже подправил? Раз не баг :)
Еще добавлю, сабж не планировался как сообщить о баге (имя файла - так, для себя называл), поэтому вопрос задал. Уже считаю багом и снимаю вопросы.
Проблема обходится легко, отказом от использования массива ВыделенныеСтроки, свой можно вести.