Перейти к содержанию

Строковые: различия между версиями

Материал из Химсофт Вики
Строка 20: Строка 20:


==FORMAT (х; ц)==
==FORMAT (х; ц)==
===Описание функции:===
<code>х</code> - переменная в формате «дата» или «время»;
<code>ц</code> - число, соответствующее типу форматирования:
<code>1</code> - дата в формате - ДД.ММ.ГГ;
<code>2</code> - дата в формате – ДД месяц ГГ;
<code>3</code> - дата в формате – ДД.ММ.ГГГГ;
<code>4</code> - дата в формате – ДД месяц ГГГГ;
<code>5</code> - время в формате – ЧЧ.ММ;
<code>6</code> - время  в формате – ЧЧ.ММ.СС;
<code>7</code> - год в формате ГГГГ;
<code>8</code> - число месяца – ДД;
<code>9</code> - месяц в формате ММ;
<code>10</code> - дата в формате – месяц ГГГГ;
<code>11<code> - преобразование <code>х</code> в дату или время. Внимание, преобразование текста со словами невозможно. Например, «25 января 2005» не преобразуется, а «25.01.2005» преобразуется;
<code>12</code> - время в формате ЧЧ ч ММ мин.
===Значение функции:===
Используется, если нужно сравнить даты или время между собой (приведение в единый формат) или вывести в определенном формате. Если такое форматирование не использовать, то время 00:00 исчезает в документе.
Для сравнения времени с числом используется преобразование: <code>[INT([[ИЗСТРОКИ([Проба в документ -> Время отбора пробы])]*24.0)]</code>
===Пример:===
<syntaxhighlight>
1 [FORMAT([Записи ЛЖ -> Дата отбора пробы];1 )]. Результат: 25.01.05.
2 FORMAT([Записи ЛЖ -> Дата отбора пробы];2 )]. Результат: 25 января 05.
3 FORMAT([Записи ЛЖ -> Дата отбора пробы];3 )]. Результат: 25.01.2005.
4  FORMAT([Записи ЛЖ -> Дата отбора пробы];4 )]. Результат: 25 января 2005.
5 [FORMAT([Записи ЛЖ -> Время отбора пробы];5 )]. Результат: 14:58.
6 [FORMAT([Записи ЛЖ -> Время отбора пробы];6 )]. Результат: 14:58:32.
7 [FORMAT([Записи ЛЖ -> Дата отбора пробы];7 )]. Результат: 2005.
8 [FORMAT([Записи ЛЖ -> Дата отбора пробы];8 )]. Результат: 25.
9 [FORMAT([Записи ЛЖ -> Дата отбора пробы];9 )]. Результат: 01.
10 [FORMAT([Записи ЛЖ -> Дата отбора пробы];10 )]. Результат: январь 2005.
11 [FORMAT([Записи ЛЖ -> Примечание (стр: 25.01.2005)];11)]. Результат: 25.01.2005.
12 [FORMAT([Записи ЛЖ -> Время отбора пробы];12)]. Результат 14 ч 58 мин.
</syntaxhighlight>
Примечание: Для перевода времени в Московское необходимо сначала сложить дату и время и вычесть разницу часовых поясов (в сутках).
Решение:
<syntaxhighlight>
[Записи ЛЖ -> Время отбора пробы] = 13:00
[FORMAT([Записи ЛЖ -> Дата отбора пробы] + [Записи ЛЖ -> Время отбора пробы] – 4/24; 5)].
</syntaxhighlight>
Результат: 09:00


==STR(х)==
==STR(х)==

Версия от 09:21, 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)]


Пример:

1 [FORMAT([Записи ЛЖ -> Дата отбора пробы];1 )]. Результат: 25.01.05.
2 FORMAT([Записи ЛЖ -> Дата отбора пробы];2 )]. Результат: 25 января 05.
3 FORMAT([Записи ЛЖ -> Дата отбора пробы];3 )]. Результат: 25.01.2005.
4  FORMAT([Записи ЛЖ -> Дата отбора пробы];4 )]. Результат: 25 января 2005.
5 [FORMAT([Записи ЛЖ -> Время отбора пробы];5 )]. Результат: 14:58.
6 [FORMAT([Записи ЛЖ -> Время отбора пробы];6 )]. Результат: 14:58:32.
7 [FORMAT([Записи ЛЖ -> Дата отбора пробы];7 )]. Результат: 2005.
8 [FORMAT([Записи ЛЖ -> Дата отбора пробы];8 )]. Результат: 25.
9 [FORMAT([Записи ЛЖ -> Дата отбора пробы];9 )]. Результат: 01.
10 [FORMAT([Записи ЛЖ -> Дата отбора пробы];10 )]. Результат: январь 2005.
11 [FORMAT([Записи ЛЖ -> Примечание (стр: 25.01.2005)];11)]. Результат: 25.01.2005.
12 [FORMAT([Записи ЛЖ -> Время отбора пробы];12)]. Результат 14 ч 58 мин.

Примечание: Для перевода времени в Московское необходимо сначала сложить дату и время и вычесть разницу часовых поясов (в сутках). Решение:

[Записи ЛЖ -> Время отбора пробы] = 13:00
[FORMAT([Записи ЛЖ -> Дата отбора пробы] + [Записи ЛЖ -> Время отбора пробы] – 4/24; 5)].

Результат: 09:00

STR(х)

Вырезать (ав;'в')

Заменить(ав;в;г)

TRIM (строка)

UPCASE (строка)

Длина (строка)

Норма ( ; ;)

Данные (a;b;c;d)

ВБД(Ид; Название таблицы; ПолеИД; ПолеВставки; Значение)

СБРОС(название запроса)

Следующая(название запроса)

МногоСтрок (стр; "символ")

COPY (a ; b; c)

INDEXOF (a ; b)

УС2ВБД ("Название таблицы"; Идентификатор лаборатории)

LOWCASE (строка)

LOWCASERUS (строка)