RDT1C/DataProcessors/ирДинамическийСписок/Ext/ObjectModule.bsl
Администратор 24d76d5724 .
2021-03-01 07:42:26 +03:00

84 lines
7.0 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.

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