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