mirror of
https://github.com/tormozit/RDT1C.git
synced 2025-12-17 13:14:11 +00:00
103 lines
6.3 KiB
Plaintext
103 lines
6.3 KiB
Plaintext
//ирПортативный Перем ирПортативный Экспорт;
|
||
//ирПортативный Перем ирОбщий Экспорт;
|
||
//ирПортативный Перем ирСервер Экспорт;
|
||
//ирПортативный Перем ирКэш Экспорт;
|
||
//ирПортативный Перем ирПривилегированный Экспорт;
|
||
|
||
Процедура УстановитьФлажкиПотомков(СтрокаДерева) Экспорт
|
||
|
||
Для Каждого СтрокаДереваПотомок Из СтрокаДерева.Строки Цикл
|
||
|
||
СтрокаДереваПотомок.Метка = СтрокаДерева.Метка;
|
||
УстановитьФлажкиПотомков(СтрокаДереваПотомок);
|
||
|
||
КонецЦикла;
|
||
|
||
КонецПроцедуры // ЭлементыФормы.ДеревоПолей.ТекущаяСтрока()
|
||
|
||
Процедура УстановитьФлажкиРодителей(СтрокаДерева, ТрехЗначныйФлажок = Ложь) Экспорт
|
||
|
||
Родитель = СтрокаДерева.Родитель;
|
||
Если Родитель = Неопределено Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ИтоговаяМетка = Истина;
|
||
КоличествоЛожь = 0;
|
||
Для Каждого СтрокаСосед Из Родитель.Строки Цикл
|
||
Если СтрокаСосед.Метка = 0 Тогда
|
||
КоличествоЛожь = КоличествоЛожь + 1;
|
||
Если Не ТрехЗначныйФлажок Тогда
|
||
ИтоговаяМетка = Ложь;
|
||
Прервать;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
Если ТрехЗначныйФлажок Тогда
|
||
ИтоговаяМетка = ?(КоличествоЛожь = Родитель.Строки.Количество(), 0, ?(КоличествоЛожь = 0, 1, 2));
|
||
КонецЕсли;
|
||
Если ИтоговаяМетка <> Родитель.Метка Тогда
|
||
Родитель.Метка = ИтоговаяМетка;
|
||
УстановитьФлажкиРодителей(Родитель, ТрехЗначныйФлажок);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры // УстановитьФлажкиРодителей()
|
||
|
||
Процедура УстановитьФлажокСтрокиПоПодчиненным(СтрокаДерева, ТрехЗначныйФлажок = Ложь) Экспорт
|
||
|
||
Если СтрокаДерева.Строки.Количество() = 0 Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
|
||
ИтоговаяМетка = Истина;
|
||
КоличествоЛожь = 0;
|
||
|
||
Для Каждого ПодчиненнаяСтрока Из СтрокаДерева.Строки Цикл
|
||
|
||
УстановитьФлажокСтрокиПоПодчиненным(ПодчиненнаяСтрока, ТрехЗначныйФлажок);
|
||
Если ПодчиненнаяСтрока.Метка = 0 Тогда
|
||
КоличествоЛожь = КоличествоЛожь + 1;
|
||
КонецЕсли;
|
||
ИтоговаяМетка = ИтоговаяМетка И ПодчиненнаяСтрока.Метка ;
|
||
|
||
КонецЦикла;
|
||
|
||
Если ТрехЗначныйФлажок Тогда
|
||
ИтоговаяМетка = ?(КоличествоЛожь = СтрокаДерева.Строки.Количество(), 0, ?(КоличествоЛожь = 0, 1, 2));
|
||
КонецЕсли;
|
||
|
||
СтрокаДерева.Метка = ИтоговаяМетка;
|
||
|
||
КонецПроцедуры
|
||
|
||
Функция ЕстьПолеСсылкаВТаблицеПолейРегистрации(ТаблицаПолейРегистрации) Экспорт
|
||
|
||
Результат = Ложь;
|
||
|
||
Для Каждого СтрокаТаблицы Из ТаблицаПолейРегистрации Цикл
|
||
Если СтрокаТаблицы.ПолеРегистрации.Количество() = 1 И СтрокаТаблицы.ПолеРегистрации[0].Значение = "Ссылка" Тогда
|
||
Результат = Истина;
|
||
Прервать;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
|
||
Возврат Результат;
|
||
|
||
КонецФункции
|
||
|
||
//ирПортативный лФайл = Новый Файл(ИспользуемоеИмяФайла);
|
||
//ирПортативный ПолноеИмяФайлаБазовогоМодуля = Лев(лФайл.Путь, СтрДлина(лФайл.Путь) - СтрДлина("Модули\")) + "ирПортативный.epf";
|
||
//ирПортативный #Если Клиент Тогда
|
||
//ирПортативный Контейнер = Новый Структура();
|
||
//ирПортативный Оповестить("ирПолучитьБазовуюФорму", Контейнер);
|
||
//ирПортативный Если Не Контейнер.Свойство("ирПортативный", ирПортативный) Тогда
|
||
//ирПортативный ирПортативный = ВнешниеОбработки.ПолучитьФорму(ПолноеИмяФайлаБазовогоМодуля);
|
||
//ирПортативный ирПортативный.Открыть();
|
||
//ирПортативный КонецЕсли;
|
||
//ирПортативный #Иначе
|
||
//ирПортативный ирПортативный = ВнешниеОбработки.Создать(ПолноеИмяФайлаБазовогоМодуля, Ложь); // Это будет второй экземпляр объекта
|
||
//ирПортативный #КонецЕсли
|
||
//ирПортативный ирОбщий = ирПортативный.ПолучитьОбщийМодульЛкс("ирОбщий");
|
||
//ирПортативный ирКэш = ирПортативный.ПолучитьОбщийМодульЛкс("ирКэш");
|
||
//ирПортативный ирСервер = ирПортативный.ПолучитьОбщийМодульЛкс("ирСервер");
|
||
//ирПортативный ирПривилегированный = ирПортативный.ПолучитьОбщийМодульЛкс("ирПривилегированный");
|