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