Тестовая сборка 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С:Предприятия.