|
Дерево значений, 8.3 Отсутствует строка данных | ☑ | ||
---|---|---|---|---|
0
Zakella86
10.08.17
✎
11:21
|
Добрый день. Нужна помощь. В общем я программно заполняю дерево значений, все выводится норм. Затем считаю итоги по колонкам и по строкам. Но если при создании на сервере развертка происходит норм, то при изменении строки дерево, при попытки развернуть выдается ошибка Отсутствует строка данных . Подскажите пж , как это можно решить? Вот код
&НаКлиенте Процедура МесяцПриИзменении (Элемент) Экспорт ТекДанные =Элементы.ДеревоБюджет.ТекущиеДанные; РасчитатДеревоПоСтроке(ТекДанные.Ссылка); Элементы.ДеревоБюджет.Развернуть(0, Истина); //вот тут ошибка КонецПроцедуры &НаСервере Функция РасчитатДеревоПоСтроке(Ссылка) ДеревоБюджетОбъект = РеквизитФормыВЗначение("ДеревоБюджет"); КлючНастроек = "ПериодыМесяц"; ЗначениеНастроек = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ПериодыМесяц", КлючНастроек); Если ТипЗнч(ЗначениеНастроек) = Тип("Соответствие") Тогда МесяцыНомер = значениеНастроек.Получить("МесяцыНомер"); КонецЕсли; НайденнаяСтрока = ДеревоБюджетОбъект.Строки[0].Строки.Найти(Ссылка, "Ссылка", Истина); ПосчитатьИтогПоСтрокеДерева(НайденнаяСтрока,ДеревоБюджетОбъект); ЗначениеВРеквизитФормы(ДеревоБюджетОбъект,"ДеревоБюджет"); КонецФункции // () |
|||
1
igork1966
10.08.17
✎
11:26
|
Элементы.ДеревоБюджет.Развернуть(0, Истина);
первый параметр идентификатор строки, с чего ты решил что он равен 0 ? |
|||
2
Zakella86
10.08.17
✎
11:27
|
потому что это верхний уровень. При открытии отрабатывается такой же код, но он работает.
|
|||
3
igork1966
10.08.17
✎
11:31
|
(2) идентификаторы строк строго говоря "черный ящик"
твое предположение неверно |
|||
4
Zakella86
10.08.17
✎
11:33
|
хорошо, но как обратиться к идентификатору если ДеревоБюджет как данные формы дерево, создается программно?
|
|||
5
igork1966
10.08.17
✎
11:33
|
(4) ДанныеФормыЭлементДерева.ПолучитьИдентификатор (FormDataTreeItem.GetID)
ДанныеФормыЭлементДерева (FormDataTreeItem) ПолучитьИдентификатор (GetID) Синтаксис: ПолучитьИдентификатор() Возвращаемое значение: Тип: Число. Описание: Получает идентификатор элемента дерева. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). |
|||
6
igork1966
10.08.17
✎
11:36
|
(5) +
Возвратит идентификатор текущей строки Элементы.ДеревоБюджет.ТекущиеДанные.ПолучитьИдентификатор() или Элементы.ДеревоБюджет.ТекущаяСтрока |
|||
7
Zakella86
10.08.17
✎
11:37
|
не катит, я не могу обратиться
ДеревоБюджет.ПолучитьИдентификатор (),его на форме нет. Код выдает мне {Документ.ВводБюджетаПоПроектам.Форма.ФормаДокумента.Форма(215,1)}: Переменная не определена (ДеревоБюджет) |
|||
8
igork1966
10.08.17
✎
11:38
|
(7) ты совсем? Это метод ДанныеФормыЭлементДерева
|
|||
9
Zakella86
10.08.17
✎
11:41
|
Да я перепутал.
ок, подскажи пж как получить ДанныеФормыЭлементДерева? |
|||
10
Zakella86
10.08.17
✎
11:43
|
ок все получилось. Спасибо дружище, плюс сто тебе к карме
|
|||
11
Zakella86
10.08.17
✎
11:43
|
Элементы.ДеревоБюджет.Развернуть(Элементы.ДеревоБюджет.ТекущиеДанные.ПолучитьИдентификатор (), Истина);
Вот так правильно |
|||
12
igork1966
10.08.17
✎
11:45
|
(11) если тебе нужно развернуть текущую строку
можно еще вот так Элементы.ДеревоБюджет.Развернуть(Элементы.ДеревоБюджет.ТекущаяСтрока, Истина); |
|||
13
Zakella86
10.08.17
✎
11:45
|
спасибо большое
|
|||
14
Zakella86
10.08.17
✎
11:57
|
подкажи пж тогда уже как определить текущую колонку в упр. формах.
в обычных это выглядило вот так ЭлементыФормы.ДеревоБюджет.ТекущаяКолонка.Имя |
|||
15
igork1966
10.08.17
✎
12:00
|
ТаблицаФормы (FormTable)
ТекущийЭлемент (CurrentItem) Использование: Чтение и запись. Описание: Тип: ПолеФормы. Текущее поле в таблице. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). |
|||
16
Zakella86
10.08.17
✎
12:02
|
благодарю
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |