Тестовая сборка FormEx

Автор АЛьФ, 16 февраля 2024, 10:21

« назад - далее »

АЛьФ

Тестовая сборка выложена на Яндекс.Диске.
Информация об обновлении тестовой сборки выкладывается в этой ветке.

АЛьФ

Обновлена тестовая сборка.
Поправлены глюки, связанные с глобализацией предопределенных процедур.

Первые наброски трассировки выполнения кода.
Добавлен метод Сервис::УровеньТрассировки(НовыйУровень, ИмяФайлаЛога, СписокПеременных)
Возвращает уровень лога до вызова метода.
Все аргументы не обязательные.
НовыйУровень - устанавливаемый уровень лога трассировки: 0 - отключена трассировка; 1 - в лог пишется момент времени, ид модуля, имя модуля, номер строки; 2 - добавляется имя процедуры, текста строки исходного кода; 3 - добавляются аргументы процедуры, отслеживаемые переменные; 1000 - лог не пишется, вызывается предопределенная процедура (см. ниже). По умолчанию уровень не меняется.
ИмяФайлаЛога - полное имя файла, в который пишется лог. По умолчанию: КаталогИБ() + "SYSLOG\Трассировка.txt".
СписокПеременных - строка с именами отслеживаемых переменных, разделенных запятой.

Предопределенная процедура:
ПриЛогеТрассировки(Конт, ИмяПроцедуры, НомерСтроки, ТексСтроки, идМодуля, имяМодуля)

Документацию пока не дополнял.
Известная проблема:
При заходе в функцию/процедуру не удается получить номер строки и все, что на него завязано.

АЛьФ

Обновлена тестовая сборка.

В объект Сервис добавлен метод:
EncodeFromUTF8(<?>)
Синтаксис:
EncodeFromUTF8(<Строка>)
Назначение:
Преобразует переданную строку из кодировки UTF-8.
Параметры:
<Строка> - начальная строка с текстом в кодировке UTF-8;
Возвращает:
Строку, преобразованную в системную кодировку.

Добавлена предопределенная процедура:
Процедура ПриПолученииПредставленияПеременнойТрассировки(<?>,,,)
КонецПроцедуры
Синтаксис:
Процедура ПриПолученииПредставленияПеременнойТрассировки(<Контекст>, <ИмяПеременной>, <ЗначениеПеременной>, <ПредставлениеПеременной>)
КонецПроцедуры
Назначение:
Вызывается для получения строкового представления отслеживаемой переменной (см. метоэ Сервис.УровеньТрассировки()) для записи в лог. Процедура вызывается только если переменная доступна в текущем контесте. 
Параметры:
<Контекст> - контекст, в котором идет исполнение
<ИмяПеременной> - имя отслеживаемой переменной
<ЗначениеПеременной> - текущее значение отслеживаемой переменной
<ПредставлениеПеременной> - текущее строкове представление отслеживаемой переменной.
Чтобы изменить записываемое представление, надо присвоить нужную строку параметру ПредставлениеПеременной.
Пример:
Процедура ПриПолученииПредставленияПеременнойТрассировки(Конт, ИмяПеременной, ЗначениеПеременной, ПредставлениеПеременной)
    Если ИмяПеременной = ''ТекстЗапроса'' Тогда
        ПредставлениеПеременной = ''Тут длинный текст запроса'';
    ИначеЕсли ТипЗначенияСтр(ЗначениеПеременной) = ''ТаблицаЗначений'' Тогда
        ПредставлениеПеременной = ''Текущая строка: '' + ЗначениеПеременной.НомерСтроки;
    КонецЕсли;
КонецПроцедуры // ПриПолученииПредставленияПеременнойТрассировки

АЛьФ

Обновлена текстовая сборка.

Добавлена предопределенная процедура:

Процедура ПриЗагрузкеФормыВнешнегоОтчета(<?>)
КонецПроцедуры
Синтаксис:
Процедура ПриЗагрузкеФормыВнешнегоОтчета(<ИмяФайлаОтчета>)
КонецПроцедуры
Назначение:
Предопределенная процедура вызывается при загрузке формы внешнего отчета.
Параметры:
<ИмяФайлаОтчета> - (Строка) Полный путь к файлу отчета (вместе с собственно именем файла).
ЗАМЕЧАНИЕ: 
Если в процедуре изменить переменную ИмяФайлаОтчета, то будет загружена форма указанного внешнего отчета.

АЛьФ

Тестовая сборка обновлена.

Допилил трассировку. Пока на этом с трассировкой закончил, перехожу к следующим хотелкам.

АЛьФ

#5
Тестовая сборка обновлена.

В объект РасширениеФормы добавлен атрибут (только для чтения):
ИмяФайлаНастроек
Синтаксис:
ИмяФайлаНастроек
Назначение:
Доступ к значению имени файла настроект отчета. Имеет смысл только для форм отчетов и обработок, внешних и встроенных. Атрибут для чтения.

Добавлены методы:
ЗагрузитьНастройки(<?>)
Синтаксис:
ЗагрузитьНастройки(<ИмяНастройки>)
Назначение:
Загружает сохраненные настройки отчета.
Параметры:
<ИмяНастройки> - имя загружаемой настройки.
СохранитьНастройки(<?>)
Синтаксис:
СохранитьНастройки(<ИмяНастройки>)
Назначение:
Сохраняет текущие настройки отчета.
Параметры:
<ИмяНастройки> - имя сохраняемой настройки.

В объект Сервис добавлен метод:
ПланРаскраскиПоУмолчанию(<?>)
Синтаксис:
ПланРаскраскиПоУмолчанию(<СтрокаМакросаРаскраски>)
Назначение:
Если включено использование плана раскраски, то с помощью этого метода можно задать макрос раскраски по умолчанию для тез таблиц, в которых нет колонки FormEx_ПланРаскраски.
Параметры:
<СтрокаМакросаРаскраски> - необязательная строка, содержащая макрос раскраски (см. раздел "Раскраска таблиц"). Если не указан, то просто возвращает текущее значение.
Возвращаемое значение:
Значение плана раскраски по умолчанию до вызова метода.
ПРИМЕР: 
Сервис = СоздатьОбъект("Сервис");
Сервис.ИспользоватьПланРаскраски(1);
Сервис.ПланРаскраскиПоУмолчанию("(BRUSH_S[255])");

АЛьФ

Тестовая сборка выложена в качестве релиза.
2.0.5.196

АЛьФ

Тестовая сборка обновлена.

Доработаны методы РасширениеФормы::ПолучитьАтрибут() и АтрибутФормы::УстановитьАтрибут()

Добавлена предопределенная процедура:
Процедура ПриЗаписиТаблицы(<?>,,,)
КонецПроцедуры
Синтаксис:
Процедура ПриЗаписиТаблицы(<Контекст>, <ИмяФайла>, <ФорматФайла>, <СтандартнаяОбработка>)
КонецПроцедуры
Назначение:
Вызывается при программном или интерактивном сохранении табличного документа в формат, отличный от MXL. 
Параметры:
<Контекст> - контекст табличного документа
<ИмяФайла> - имя файла, в который сохраняется таблица, можно изменить в процедуре
<ФорматФайла> - формат сохраняемого файла: 1 - xls; 2 - htm; 3 - txt, можно изменить в процедуре
<СтандартнаяОбработка> - флаг стандартной обработки; если в процедуре установить в 0, штатное сохранение не будет вызвано.
Замечание:
Не вызывается при сохранении в формате MXL!

АЛьФ

Обновлена тестовая сборка.

Выполнена хотелка: https://forum.dorex.pro/index.php?msg=279

АЛьФ

Обновлена тестовая сборка.

В объект Сервис добавлен метод:
ПолучитьСписокШрифтов(<?>,)
Синтаксис:
ПолучитьСписокШрифтов(<ИмяШрифта>, <НаборСимволов>)
Назначение:
Метод возвращает таблицу значений с параметрами установленных в системе шрифтов. Подробней см. функцию WinAPI EnumFontFamiliesEx.
Параметры:
<ИмяШрифта> - (необязательный) строка с именем шрифта, по умолчанию возвращаются все доступные шрифты
<НаборСимволов> - (необязательный) числовое значение набора символов, по умолчанию все доступные наборы символов

АЛьФ

Тестовая сборка обновлена.

Исправлена ошибка: 380

В объект Сервис добавлен метод:
ЗагрузитьВнешнююОбработку(<?>,,)
Синтаксис:
ЗагрузитьВнешнююОбработку(<ИмяФайла>, <ИмяОбъекта>, <ХэшПроверки>)
Назначение:
Метод предназначен для загрузки внешнего отчета, в качестве внутреннего. После после выполнения метода
к загруженному отчету можно обращаться, как к любому встроенному отчету.
Параметры:
<ИмяФайла> - (необязательный) имя файла загружаемого внешнего отчета. По умолчанию - пустая строка, т.е. подразумевается, что задан
параметр <ИмяОбъекта> и требуется вернуть хэш ранее загруженного отчета.
<ИмяОбъекта> - (необязательный) имя встроенного объекта. Может быть как существующий отчет или обработка, так и новый, которого
нет в конфигурации. По умолчанию - пустая строка, т.е. подразумевается, что задан параметр <ИмяФайла> и требуется вернуть
хэш внешнего файла. 
<ХэшПроверки> - (необязательный) строка с хешем для проверки. Если переданный хэш равен хэшу загружаемого файла, то отчет
не будет загружен.
Возвращает:
В случае успеха возвращает хэш файла или ранее загруженного объекта (в зависимости от переданных параметров).
В случае ошибки возвращается - 0.

АЛьФ

Тестовая сборка обновлена.

Добавлены макросы раскраски PADDINGLEFT[000] и PADDINGRIGHT[000], с помощью которых можно задать, соответственно, левый и правый отступ (в пикселях) текста от края ячейки. Работает только в плане раскраске.

АЛьФ

Обновлена тестовая сборка.

Убрано обязательное использование скобок в плане раскраски.

В объект Сервис добавлен метод:
СтатусРаскраски()
Синтаксис:
СтатусРаскраски()
Назначение:
Возвращает текущий статус раскраски, как сумму значений:
1 - раскраска включена;
2 - частичная раскраска;
4 - используется план раскраски.

АЛьФ

Тестовая сборка обновлена.

В метод Сервис::ВыбратьЗначение() добавлен еще один параметр, в который после выбора возвращается полный путь выбранного значения.

АЛьФ

Тестовая сбора обновлена.

Выполнены хотелки:
https://forum.dorex.pro/index.php?msg=515
https://forum.dorex.pro/index.php?msg=508
https://forum.dorex.pro/index.php?msg=502

Добавлен функционал формул в таблице значений.
Начиная с релиза 2.0.5.197, в компоненте реализована возможность добавления формул в штатный объект
"ТаблицаЗначений" по аналогии с формулами в многострочных частях. Формулы работают как в визуальном
представлении таблицы, так и в программно созданных объектах.
Для добавления формулы необходимо при создании колонки указать в параметре "Формат" формулу,
выделив ее знаками #. Примеры указания формулы:
#НомерСтроки
Ч4.2#ПолучитьЦену(Товар) - обращение к локальной функции
#глПолучитьОписание(Контекст, ВидЦен, Товар)#С50 - обращение к глобальной функции с передачей контекста
При вычислении формулы из строки формата вырезается строка, обрамленная символами #. Следует помнить, что
сложного анализа строки не происходит. Формула вида <С#"#" + Товар.Наименование#20> даст не ожидаемые формулу
<"#" + Товар.Наименование> и формат <С20>, а формулу <"> и формат <С" + Товар.Наименование#20>.
Формулы можно прописывать только при добавлении колонки методом НоваяКолонка() и вставке колонки методом
ВставитьКолонку(). Изменение строки формата методом УстановитьПараметрыКолонки() либо загрузка таблицы из
строки функцией ЗначениеИзСтроки() не приведет к корректной подготовке формулы для вычисления и может привести
к ошибочной ситуации вплоть до падения 1С:Предприятия.