//ирПортативный Перем ирПортативный Экспорт; //ирПортативный Перем ирОбщий Экспорт; //ирПортативный Перем ирСервер Экспорт; //ирПортативный Перем ирКэш Экспорт; //ирПортативный Перем ирПривилегированный Экспорт; Процедура УстановитьФлажкиПотомков(СтрокаДерева) Экспорт Для Каждого СтрокаДереваПотомок Из СтрокаДерева.Строки Цикл СтрокаДереваПотомок.Метка = СтрокаДерева.Метка; УстановитьФлажкиПотомков(СтрокаДереваПотомок); КонецЦикла; КонецПроцедуры // ЭлементыФормы.ДеревоПолей.ТекущаяСтрока() Процедура УстановитьФлажкиРодителей(СтрокаДерева, ТрехЗначныйФлажок = Ложь) Экспорт Родитель = СтрокаДерева.Родитель; Если Родитель = Неопределено Тогда Возврат; КонецЕсли; ИтоговаяМетка = Истина; КоличествоЛожь = 0; Для Каждого СтрокаСосед Из Родитель.Строки Цикл Если СтрокаСосед.Метка = 0 Тогда КоличествоЛожь = КоличествоЛожь + 1; Если Не ТрехЗначныйФлажок Тогда ИтоговаяМетка = Ложь; Прервать; КонецЕсли; КонецЕсли; КонецЦикла; Если ТрехЗначныйФлажок Тогда ИтоговаяМетка = ?(КоличествоЛожь = Родитель.Строки.Количество(), 0, ?(КоличествоЛожь = 0, 1, 2)); КонецЕсли; Если ИтоговаяМетка <> Родитель.Метка Тогда Родитель.Метка = ИтоговаяМетка; УстановитьФлажкиРодителей(Родитель, ТрехЗначныйФлажок); КонецЕсли; КонецПроцедуры // УстановитьФлажкиРодителей() Процедура УстановитьФлажокСтрокиПоПодчиненным(СтрокаДерева, ТрехЗначныйФлажок = Ложь) Экспорт Если СтрокаДерева.Строки.Количество() = 0 Тогда Возврат; КонецЕсли; ИтоговаяМетка = Истина; КоличествоЛожь = 0; Для Каждого ПодчиненнаяСтрока Из СтрокаДерева.Строки Цикл УстановитьФлажокСтрокиПоПодчиненным(ПодчиненнаяСтрока, ТрехЗначныйФлажок); Если ПодчиненнаяСтрока.Метка = 0 Тогда КоличествоЛожь = КоличествоЛожь + 1; КонецЕсли; ИтоговаяМетка = ИтоговаяМетка И ПодчиненнаяСтрока.Метка ; КонецЦикла; Если ТрехЗначныйФлажок Тогда ИтоговаяМетка = ?(КоличествоЛожь = СтрокаДерева.Строки.Количество(), 0, ?(КоличествоЛожь = 0, 1, 2)); КонецЕсли; СтрокаДерева.Метка = ИтоговаяМетка; КонецПроцедуры Функция ЕстьПолеСсылкаВТаблицеПолейРегистрации(ТаблицаПолейРегистрации) Экспорт Результат = Ложь; Для Каждого СтрокаТаблицы Из ТаблицаПолейРегистрации Цикл Если СтрокаТаблицы.ПолеРегистрации.Количество() = 1 И СтрокаТаблицы.ПолеРегистрации[0].Значение = "Ссылка" Тогда Результат = Истина; Прервать; КонецЕсли; КонецЦикла; Возврат Результат; КонецФункции //ирПортативный #Если Клиент Тогда //ирПортативный Контейнер = Новый Структура(); //ирПортативный Оповестить("ирПолучитьБазовуюФорму", Контейнер); //ирПортативный Если Не Контейнер.Свойство("ирПортативный", ирПортативный) Тогда //ирПортативный ПолноеИмяФайлаБазовогоМодуля = ВосстановитьЗначение("ирПолноеИмяФайлаОсновногоМодуля"); //ирПортативный ирПортативный = ВнешниеОбработки.ПолучитьФорму(ПолноеИмяФайлаБазовогоМодуля); //ирПортативный КонецЕсли; //ирПортативный ирОбщий = ирПортативный.ПолучитьОбщийМодульЛкс("ирОбщий"); //ирПортативный ирКэш = ирПортативный.ПолучитьОбщийМодульЛкс("ирКэш"); //ирПортативный ирСервер = ирПортативный.ПолучитьОбщийМодульЛкс("ирСервер"); //ирПортативный ирПривилегированный = ирПортативный.ПолучитьОбщийМодульЛкс("ирПривилегированный"); //ирПортативный #КонецЕсли