Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Май 2017, 20:35
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Обход дерева значений на клиенте / развернуть многоуровневое дерево на клиенте  (Прочитано 4288 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн virtus

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-07-07
  • Сайт: 
Подскажите, пожалуйста, как обойти дерево значений на клиенте. Или как развернуть те узлы дерева, которые были развернуты до пересчетов итогов в серверной процедуре.

У меня в серверной процедуре обсчитываются итоги. После этого я используя метод ЗначениеВРеквизитФормы(Дерево, "ДеревоЗначений") заполняю дерево на форме. При этом оно становится свернутым.

А я не хочу, чтоб оно сворачивалось. Я пробывал обойти его на клиенте после это и развернуть, но так не получается(нет подходящих методов)

Как можно это решить?

Спасибо.

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>


Оффлайн virtus

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-07-07
  • Сайт: 
Разобрался. Написал в итоге рекурсивные процедуры. Одна запоминает какие развернуты были узлы, потом на сервере процедура пересчитывает итоги, и третья раскрывает узлы, какие были раскрыты до пересчета. Может кому пригодится код:

&НаКлиенте
Процедура ДеревоЗначенийСуммаПриИзменении(Элемент)
    соотвКолонок = Новый Соответствие;
    соотвКолонок.Вставить("Сумма");
   
    РазвернутыеСтроки = Новый Соответствие();
   
   
    КоличествоСтрок = 0;
    ПроверитьСвернутостьДерева(ДеревоЗначений, РазвернутыеСтроки, КоличествоСтрок);
   
    ПосчитатьНаСервере(соотвКолонок);
   
    УстановитьРазвернутостьДерева(ДеревоЗначений, РазвернутыеСтроки, КоличествоСтрок);
   
КонецПроцедуры

&НаКлиенте
Процедура  ПроверитьСвернутостьДерева(пДеревоЗначений, РазвернутыеСтроки, КоличествоСтрок)
    ЭлементыДерева = пДеревоЗначений.ПолучитьЭлементы();
    КоличествоСтрок = КоличествоСтрок + 1;
    Если ЭлементыДерева.Количество() = 0 Тогда Возврат КонецЕсли;
   
    Для Каждого ЭлементДерева Из ЭлементыДерева Цикл
        Идентификатор = ЭлементДерева.ПолучитьИдентификатор();
        РазвернутыеСтроки.Вставить(Идентификатор, Элементы.ДеревоЗначений.Развернут(Идентификатор));
        ПроверитьСвернутостьДерева(ЭлементДерева, РазвернутыеСтроки, КоличествоСтрок);
    КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура УстановитьРазвернутостьДерева(пДеревоЗначений, РазвернутыеСтроки, КоличествоСтрок)
    ЭлементыДерева = пДеревоЗначений.ПолучитьЭлементы();
    Если ЭлементыДерева.Количество() = 0 Тогда Возврат КонецЕсли;
    Для Каждого ЭлементДерева Из ЭлементыДерева Цикл
        Идентификатор = ЭлементДерева.ПолучитьИдентификатор();
        Если РазвернутыеСтроки.Получить(Идентификатор - КоличествоСтрок + 1) = Истина Тогда
            Элементы.ДеревоЗначений.Развернуть(Идентификатор);
        КонецЕсли;
        УстановитьРазвернутостьДерева(ЭлементДерева, РазвернутыеСтроки, КоличествоСтрок);
    КонецЦикла;
КонецПроцедуры

Оффлайн Азиман

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-01
  • Сайт: 
  • Профессия: Ученик 1С
Зачем нужно соответствие, когда можно создать массив идентефикаторов "свернутых", потом обойти и развернуть иденты по списку.


Теги:
 

Ошибка - Обнаружено дублирование ключевых значений в колонке "Ссылка". Отображение данных в списке не возможно.

Автор welldoneРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 3388
Последний ответ 24 Ноя 2015, 15:38
от welldone
"Проверка мутабельных значений на заполненность не поддерживается"

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 17894
Последний ответ 13 Фев 2011, 17:36
от proofet
Почему реквизит типа "список значений" может оказаться недоступным для изменения

Автор VdegРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 5636
Последний ответ 28 Июл 2011, 23:55
от Dethmontt
1C ЗУП 2.5 Помогите с отчетом "Списки сотрудников организации" Объединение значений ячеек

Автор ksander-farsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 674
Последний ответ 10 Фев 2017, 10:49
от ksander-fars
Передача значений из Формы Списка одного документа в Таблицу другого документа

Автор MoZzArTРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 759
Последний ответ 21 Сен 2015, 13:07
от MoZzArT

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
Dethmontt Dethmontt
71 Сообщений
alex0402
66 Сообщений
MuI_I_Ika MuI_I_Ika
61 Сообщений
wise wise
57 Сообщений
ilyay ilyay
39 Сообщений
Сергей Федоров Сергей Федоров
36 Сообщений
magnifico61
22 Сообщений
ilnur75
21 Сообщений
BuhRust
21 Сообщений

* Кто онлайн

  • Точка Гостей: 364
  • Точка Скрытых: 0
  • Точка Пользователей: 7
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal