Имя: Пароль:
1C
1С v8
Перетаскивание в УФ
, ,
0 Анатоль
 
03.11.12
23:56
На форме документа есть дерево значений и динамический список из которого происходит перетаскивание данных. Если документ записан и в дереве есть хоть одна строка, то событие перетаскивания генерируется. Если документ в дереве нет ни одной строки, то событие Перетаскивание не возникает. Вопрос: почему такое может быть?
Релиз платформы 8.2.16.368
1 Анатоль
 
04.11.12
00:19
Проверил то же самое не для документа, а для внешней обработки. То же самое - нельзя перетащить в пустое дерево!
2 vmv
 
04.11.12
12:23
глупый вопрос с очевидным ответом
3 vde69
 
04.11.12
12:32
подумай что перетаскиваем?

приметивный тип или объектный?
4 Анатоль
 
04.11.12
21:00
(2) а можно мне очевидный ответ сказать???
(3) пробовал устанавливать тип Массив и Строка, результат одинаковый
5 Wobland
 
04.11.12
21:00
тыкну наугад. потому что не во что перетаскивать
6 Анатоль
 
04.11.12
21:06
(5) Так дерево есть (думаю что дерево всегда имеет корневой элемент)
Если я перетаскиваю с наличием одной строки дерева - я могу перетащить как на эту строку, так и на поле дерева вообще. Событие в этом случае генерируется
7 Wobland
 
04.11.12
21:12
(6) Дуб=Новый ДеревоЗначений;
покажи корневой элемент
8 Анатоль
 
04.11.12
21:22
(7) Если его не видно не значит что его нет. Иначе это не будет куст какой-то, а не дерево.

Дуб это и есть корневой элемент, ведь потом ветки растут так:
Ветка = Дуб.Строки.Добавить();
9 Wobland
 
04.11.12
21:23
(8) Дуб - это переменная такая. а вот Ветка здесь - это корень
10 Wobland
 
04.11.12
21:24
(9) сторно, обдумаю
11 Анатоль
 
04.11.12
21:25
(9) так Веток же может быть много и они все будут расти от Дуба. В общем получается куст, а не дерево
12 Wobland
 
04.11.12
21:27
(11) у Ветки родитель - Неопределено. стало быть, куст ;)
13 vde69
 
04.11.12
23:13
(11) почитай про "ключ записи"...

по существу это примари кей физической таблицы, интересно какой он будет у того чего еще не записано в базу?
14 Анатоль
 
05.11.12
21:45
(13) почитал... Но я пока до записи в базу не дошёл. Я просто работаю с формой и при перетаскивании нарываюсь на глюки (пока что я логичного объяснения не нашёл)
15 Анатоль
 
05.11.12
21:45
Понял что перетаскивать в дерево можно только в том случае если там есть одна строка (или более).
16 Анатоль
 
05.11.12
21:47
Но вот почему событие перестаёт генерироваться если в дерево добавить несколько строк (проверил что событие генерируется).
Потом удалить все строки - и опять добавить строку -- в этом случае событие перестаёт генерироваться...
17 Анатоль
 
05.11.12
21:50
(16) добавочка для второго случа событие перестаёт генерироваться, если пытаться переносить данные просто на поле дерева значений, если переносим на конкретную строку - то всё Ок