неділя, 5 січня 2020 р.

Перехід на Йоксель

// на верх Перем тзГрупи; // ================================================= Процедура ПідготуватиЙоксель(КстРівнів) тзГрупи.УдалитьСтроки(); Для г = 2 по КстРівнів Цикл РівеньПошуку = г; к = тз.КоличествоСтрок(); Кінець = к; Пока к > 0 Цикл ПотРівень = тз.ПолучитьЗначение(к,"Рівень"); Если ПотРівень = РівеньПошуку - 1 Тогда Початок = к + 1; тзГрупи.НоваяСтрока(); тзГрупи.Рівень = РівеньПошуку; тзГрупи.Початок = Початок; тзГрупи.Кінець = Кінець; Кінець = к - 1; ИначеЕсли ПотРівень = РівеньПошуку Тогда Иначе Если ПотРівень < РівеньПошуку Тогда Кінець = к - 1; КонецЕсли; // нічого не робимо КонецЕсли; к = к - 1; КонецЦикла; КонецЦикла; КонецПроцедуры // після формування тз до виводу Если СтандартнийЗвітНеЙоксель = 0 Тогда ПідготуватиЙоксель(сзГрупи.РазмерСписка()); КонецЕсли; // Вивести на друк замість Таб.Показать Если Йоксель = 1 Тогда Документ = СоздатьОбъект ("ТабличныйДокумент"); Документ.ЗагрузитьИзТаблицы(Таб); Фрейм = Документ.Показать("Тест Йоксель"); Фрейм.ОтображатьСтруктуру(1); Фрейм.ОтображатьКнопкиУровней(1); Панель = Фрейм.ПанельИнструментов; Панель.Видимость = 1; // Обратите внимание если у Вас переписана ОбработкаЯчейкиТаблицы и ее события то следущие // строки нужно привести к тому виду, какой он должен быть в Вашей конфигурации! //Панель.ПодписатьсяНаСобытие("ОбработкаЯчейкиТаблицы", "ОбработкаЯчейкиТаблицы", 1); тзГрупи.ВыбратьСтроки(); Пока тзГрупи.ПолучитьСтроку() = 1 Цикл Документ.ДобавитьГруппуСтрок(тзГрупи.Початок + 6,тзГрупи.Кінець + 6); КонецЦикла; Документ.ОбновитьВсеОтображения(); Иначе Таб.Показать(); КонецЕсли; // в кінець СтандартнийЗвітНеЙоксель = ВосстановитьЗначение("СтандартнийЗвітНеЙоксельЗвітЗРеалізаціїОбороти"); СохранитьЗначение("СтандартнийЗвітНеЙоксельЗвітЗРеалізаціїОбороти",СтандартнийЗвітНеЙоксель); тзГрупи = СоздатьОбъект("ТаблицаЗначений"); тзГрупи.НоваяКолонка("Рівень"); тзГрупи.НоваяКолонка("Початок"); тзГрупи.НоваяКолонка("Кінець");