Строковые: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| Строка 201: | Строка 201: | ||
*<code>[ДАННЫЕ("Формы док";"Классификация";"Дата модификации";"13.07.2005 9:54:37")]</code> | *<code>[ДАННЫЕ("Формы док";"Классификация";"Дата модификации";"13.07.2005 9:54:37")]</code> | ||
::'''Результат:''' ''Внутрилабораторнаяпрецинзионность. Сводный журнал'' | |||
*<code>[ДАННЫЕ("Формы док";"Готов";"Дата модификации";"13.07.2005 9:54:37")]</code> | *<code>[ДАННЫЕ("Формы док";"Готов";"Дата модификации";"13.07.2005 9:54:37")]</code> | ||
Версия от 10:15, 17 февраля 2026
ABBR (x ; y; z)
Описание функции:
х - первая строковая переменная;
y - вторая строковая переменная;
z - максимальное количество символов.
Значение функции:
Если количество символов в строке х меньше или равно количеству z, то выводить строковое значение х. В случае если количество символов в строке х превышает количество z, то выводить строковое значение y.
Образец:
[ABBR([Показатели -> Наименование показателя];[Показатели -> Краткое наименование показателя];18)]
Если наименование показателя больше 18 символов, выводить краткое наименование показателя.
Пример:
Наименование показателя: Механические примеси (20 символов).
Краткое наименование показателя: Мех.примеси (12 символов).
[ABBR([Показатели -> Наименование показателя];[Показатели -> Краткое наименование показателя];18)]
- Результат: Мех.примеси
FORMAT (х; ц)
Описание функции:
х- переменная в формате «дата» или «время»;ц- число, соответствующее типу форматирования:1- дата в формате - ДД.ММ.ГГ;2- дата в формате – ДД месяц ГГ;3- дата в формате – ДД.ММ.ГГГГ;4- дата в формате – ДД месяц ГГГГ;5- время в формате – ЧЧ.ММ;6- время в формате – ЧЧ.ММ.СС;7- год в формате ГГГГ;8- число месяца – ДД;9- месяц в формате ММ;10- дата в формате – месяц ГГГГ;11- преобразованиехв дату или время. Внимание, преобразование текста со словами невозможно. Например, «25 января 2005» не преобразуется, а «25.01.2005» преобразуется;12- время в формате ЧЧ ч ММ мин.
Значение функции:
Используется, если нужно сравнить даты или время между собой (приведение в единый формат) или вывести в определенном формате.
Если такое форматирование не использовать, то время 00:00 исчезает в документе.
Для сравнения времени с числом используется преобразование: [INT([[ИЗСТРОКИ([Проба в документ -> Время отбора пробы])]*24.0)]
Примеры:
[FORMAT([Записи ЛЖ -> Дата отбора пробы];1 )]
- Результат: 25.01.05
[FORMAT([Записи ЛЖ -> Дата отбора пробы];2 )]
- Результат: 25 января 05
[FORMAT([Записи ЛЖ -> Дата отбора пробы];3 )]
- Результат: 25.01.2005
[FORMAT([Записи ЛЖ -> Дата отбора пробы];4 )]
- Результат: 25 января 2005
[FORMAT([Записи ЛЖ -> Время отбора пробы];5 )]
- Результат: 14:58
[FORMAT([Записи ЛЖ -> Время отбора пробы];6 )]
- Результат: 14:58:32
[FORMAT([Записи ЛЖ -> Дата отбора пробы];7 )]
- Результат: 2005
[FORMAT([Записи ЛЖ -> Дата отбора пробы];8 )]
- Результат: 25
[FORMAT([Записи ЛЖ -> Дата отбора пробы];9 )]
- Результат: 01
[FORMAT([Записи ЛЖ -> Дата отбора пробы];10 )]
- Результат: январь 2005
[FORMAT([Записи ЛЖ -> Примечание (стр: 25.01.2005)];11)]
- Результат: 25.01.2005
[FORMAT([Записи ЛЖ -> Время отбора пробы];12)]
- Результат: 14 ч 58 мин
Примечание: для перевода времени в Московское необходимо сначала сложить дату и время и вычесть разницу часовых поясов (в сутках). Решение:
[Записи ЛЖ -> Время отбора пробы] = 13:00
[FORMAT([Записи ЛЖ -> Дата отбора пробы] + [Записи ЛЖ -> Время отбора пробы] – 4/24; 5)]Результат: 09:00
STR(х)
Описание функции:
х - любой формат данных: дата, время, число и т.п.
Значение функции:
Происходит преобразование не строкового формата (ц, ч, д, в) в строковый формат (с). Используется для предварительной подготовки данных, т.к. имеются функции, которые работают только со строками, например «Вырезать», «Длина» и т.п.
Пример:
STR([Результаты анализа -> Значение показателя (среднее)].Вырезать (ав;"в")
Описание функции:
ав - строка;
в - часть строки.
Значение функции:
Позволяет вырезать из строки ее часть в.
Следует помнить, что ту часть строки, которую следует вырезать, обязательно указывать в одинарных кавычках.
Пример:
Из наименования Массовая доля воды, % масс необходимо убрать единицу измерения.
Решение:
[Вырезать ([Массовая доля воды, % масс; ', % масс')]
- Результат: Массовая доля воды
Заменить(ав;"в";"г")
Описание функции:
ав - строка;
в - часть строки;
г - текст.
Значение функции:
Позволяет извлечь из строки ав ее часть в и заменить на г.
Следует помнить, что ту часть строки, которую следует вырезать и на какую заменить, обязательно указывать в двойных кавычках.
Пример:
Необходимо изменить единицу измерения с мг/дм3 на г/см3 в наименовании показателя.
Решение:
[ЗАМЕНИТЬ ([Запрос -> Наименование показателя]; мг/дм3; г/см3)]
- Результат: Показатель, г/см3
TRIM (строка)
Значение функции:
Обрезает лишние пробелы в строковом представлении результата. Обрезание лишних нулей если число представлено строкой.
Пример 1:
Имеется строка с текстом Определение хлорид-иона (серый фон указывает длину строки с учетом лишних пробелов).
Решение 1:
[TRIM(строка с текстом)]
- Результат: Определение хлорид-иона
Пример 2:
В строковом формате записаны числа 120,000 и 120,100.
Решение 2:
[TRIM(120,000)]
- Результат: 120
[TRIM(120,100)]
- Результат: 120,1
UPCASE (строка)
Значение функции:
Переводит строки в ЗАГЛАВНЫЕ буквы.
Пример:
[UPCASE([Результаты анализа → Наименование показателя])]
- Результат: ХЛОР, ФТОР и т.д.
Длина (строка)
Значение функции:
Определяет количество символов внутри текста. Возвращает длину строки (количество символов в строке).
Образец:
[Длина ([Показатели -> Наименование показателя])]
Пример:
[Длина ('Механические примеси')]
- Результат: 20
Норма ( ; ;)
Оформление:
[НОРМА([Показатели -> Дополнение к 1-й норме]+[Показатели -> Дополнение ко 2-й норме]; [Показатели -> 1-я норма];[Показатели -> 2-я норма])]Значение функции:
В БД пояснения к нормам отмечены как «не более» и «не менее». Функция «Норма» преобразует нормы показателей к символьному формату <,-, >.
Пример:
[НОРМА([Показатели -> Дополнение к 1-й норме]+[Показатели -> Дополнение ко 2-й норме]; [Показатели -> 1-я норма]; [Показатели -> 2-я норма])]Результат:
< 10(не более 10).0,1 - 10(не менее 0,1 не более 10).>0,1(не менее 0,1).
Данные (a;b;c;d)
Значение функции:
Выбирает (и возвращает) из таблицы а, значение из поля b, при условии, что поле c = значению d. Значение c и d могут быть пустыми.
В случае если выбирается данных больше, чем 1 строка, то берётся всегда первая строка при прямой сортировке по полю b.
Пример 1:
[ДАННЫЕ("Формы док";"Названиеформы";"Идентификатор записи";340)]
- Результат: Внутрилабораторнаяпрецинзионность. Сводный журнал
[ДАННЫЕ("Формы док";"Классификация";"Дата модификации";"13.07.2005 9:54:37")]
- Результат: Внутрилабораторнаяпрецинзионность. Сводный журнал
[ДАННЫЕ("Формы док";"Готов";"Дата модификации";"13.07.2005 9:54:37")]
- Результат: Да
[ДАННЫЕ("Отчет по удалениям записей";"Причина";"ФИО";"Администратор")]
- Результат: Удалена утилитой архивирования
Пример 2:
Та же задача с использованием переменной:
['x':='340']
[ДАННЫЕ("Формы док";"Названиеформы";"Идентификатор записи";{x})]- Результат: Внутрилабораторнаяпрецинзионность. Сводный журнал