1.
Noy
1079
23.04.08 11:09
Сейчас в теме
Для удобства работы с деревом предлагаю дополнить следующим кодом:
Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши,Alt,Shift,Ctrl,Символ,ФСО)
АтрФ=СоздатьОбъект("АтрибутФормы");
АтрФ.УстановитьАтрибут(Форма,"ТЗ");
Если (Форма.АктивныйЭлемент()="ТЗ") и (Alt+Shift+Ctrl=0) тогда
Если КодКлавиши=37 тогда
Если АтрФ.ТекущаяКолонкаДерева()=1 тогда
Если (АтрФ.ЭтоГруппа(атрф.ТекущаяСтрокаДерева())=1) и (атрф.УзелРазвернут(атрф.ТекущаяСтрокаДерева())=1) тогда
ФСО=0;
Атрф.СвернутьУзел(атрф.ТекущаяСтрокаДерева());
Иначе
ТекСтрока=атрф.ТекущаяСтрокаДерева();
Для х=1 по СтрДлина(атрф.ТекущаяСтрокаДерева()) Цикл
ТекСтрока=Лев(текСтрока,СтрДлина(ТекСтрока)-1);
Если Прав(ТекСтрока,1)="/" тогда
ТекСтрока=Лев(текСтрока,СтрДлина(ТекСтрока)-1);
Попытка
атрф.УстановитьТекущийУзел(ТекСтрока);
ФСО=0;
Исключение
КонецПопытки;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если КодКлавиши=39 тогда
Если АтрФ.ТекущаяКолонкаДерева()=1 тогда
Если АтрФ.ЭтоГруппа(атрф.ТекущаяСтрокаДерева())=1 тогда
Если атрф.УзелРазвернут(атрф.ТекущаяСтрокаДерева())=0 тогда
ФСО=0;
Атрф.РазвернутьУзел(атрф.ТекущаяСтрокаДерева());
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Да, и в названии присутствует слово "универсальная", а в коде есть строки:
Спр=СоздатьОбъект("Справочник.Номенклатура");
Осн=СоздатьОбъект("Справочник.Партии");...