RDT1C/DataProcessors/ирНастройкаЖурналаРегистрации/Ext/ObjectModule.bsl
Администратор cb1501a2ea .
2016-12-04 00:17:44 +03:00

106 lines
5.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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