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

Изменяющие RTF: различия между версиями

Материал из Химсофт Вики
 
(не показана 1 промежуточная версия этого же участника)
Строка 24: Строка 24:
==ЗаменитьINDEXES(заменить_где; заменить_что; заменить_чем)==
==ЗаменитьINDEXES(заменить_где; заменить_что; заменить_чем)==


Описание функции:
===Описание функции:===
заменить_где – текст, который необходимо обработать
*<code>заменить_где</code> – текст, который необходимо обработать
заменить_что – текст, который необходимой найти и заменить
*<code>заменить_что</code> – текст, который необходимой найти и заменить
заменить_чем – текст, которым заменяется текст заменить_что
*<code>заменить_чем</code> – текст, которым заменяется текст <code>заменить_что</code>
Назначение функции:
 
Объединяет в себе использование двух функций (заменить и RTFIndexes): сначала заменяет все вхождения текста заменить_что на текст заменить_чем, а затем применяет к заменённым участкам текста функцию RTFIndexes.
===Назначение функции:===
Подробнее: данная функция ищет в тексте заменить_где текст заменить_что, как только находит его – вырезает и вставляет на его место новый текст заменить_чем, затем ищет заменить_чем в справочнике представлений строк и если находит – расставляет нижние и верхние индексы. Затем повторяет операцию поиска и замены с оставшейся частью текста.
Объединяет в себе использование двух функций (<code>заменить</code> и <code>RTFIndexes</code>): сначала заменяет все вхождения текста <code>заменить_что</code> на текст <code>заменить_чем</code>, а затем применяет к заменённым участкам текста функцию <code>RTFIndexes</code>.
Применение:
 
Данная функция может применяться, когда нам необходимо внутри длинного текста расставить индексы для небольшой его части (например единицы измерения). В этом случае последовательное использование функций Заменить и RTFIndexes не даст необходимого эффекта, поскольку RTFIndexes обрабатывает текст целиком, он не может обработать только кусочек.
'''Подробнее:''' данная функция ищет в тексте <code>заменить_где</code> текст <code>заменить_что</code>, как только находит его – вырезает и вставляет на его место новый текст <code>заменить_чем</code>, затем ищет <code>заменить_чем</code> в справочнике представлений строк и если находит – расставляет нижние и верхние индексы. Затем повторяет операцию поиска и замены с оставшейся частью текста.
Пример 1:
 
===Применение:===
Данная функция может применяться, когда нам необходимо внутри длинного текста расставить индексы для небольшой его части (например единицы измерения). В этом случае последовательное использование функций <code>Заменить</code> и <code>RTFIndexes</code> не даст необходимого эффекта, поскольку <code>RTFIndexes</code> обрабатывает текст целиком, он не может обработать только кусочек.
 
===Пример 1:===
Необходимо вывести названия растворов с корректным обозначением индексов. Начальные данные:  
Необходимо вывести названия растворов с корректным обозначением индексов. Начальные данные:  
запрос, в котором хранится следующий текст:  
*запрос, в котором хранится следующий текст:  
Сульфат-ион, 2,5 мг/дм3 (градуировочный раствор)
 
запрос, в котором хранится единица измерения, используемая в тексте выше
<code>Сульфат-ион, 2,5 мг/дм3 (градуировочный раствор)</code>
[ЗаменитьINDEXES([Наименование раствора -> Полное наименование];[Единицы изм. -> Ед.изм];[Единицы изм. -> Ед.изм])]
*запрос, в котором хранится единица измерения, используемая в тексте выше
Результат: Сульфат-ион, 2,5 мг/дм3 (градуировочный раствор)
<code>[ЗаменитьINDEXES([Наименование раствора -> Полное наименование];[Единицы изм. -> Ед.изм];[Единицы изм. -> Ед.изм])]</code>
Пример 2:
::'''Результат:''' ''Сульфат-ион, 2,5 мг/дм<sup>3</sup> (градуировочный раствор)''
 
===Пример 2:===
Необходимо вывести название раствора с корректным обозначением индексов, при этом мы знаем какая единица измерения используется в названии раствора, и хотим изменить ее на другую:
Необходимо вывести название раствора с корректным обозначением индексов, при этом мы знаем какая единица измерения используется в названии раствора, и хотим изменить ее на другую:
[ЗаменитьINDEXES([Общая инф. -> Полное наименование];'мг/см3';'моль/дм3')]
<code>[ЗаменитьINDEXES([Общая инф. -> Полное наименование];'мг/см3';'моль/дм3')]</code>
Результат: Гидроокиси натрия раствор 0,1 моль/дм3 (0,1н)
::'''Результат:''' ''Гидроокиси натрия раствор 0,1 моль/дм<sup>3</sup> (0,1н)''

Текущая версия от 02:23, 18 февраля 2026

RTFINDEXES (х)

Описание функции:

Х – строковая переменная

Значение функции:

Преобразует строковую переменную в значение с верхними и/или нижними индексами, при условии, если указанная переменная есть в справочнике "Представление строк". Если соответствующего значения нет в справочнике "Представление строк", то результатом работы функции будет неизмененное значение строки.

Последовательность работы следующая:

  • Значение вносится в строковое поле (например, "Ед. изм." справочника "Объекты анализа" или "Формула" справочника "Химические вещества").
  • С помощью кнопки значение переносится в справочник "Представление срок", где при настраиваются необходимые индексы.

Примечание: Если рядом с текстовым поле нет кнопки можно скопировать значение и вручную создать соответствующую запись в справочнике "Представление строк" путем вставки скопированного ранее значения с последующей настройкой индексов. При несовпадении значений в строковом поле и в справочнике "Представления строк" функция не отработает.

Пример 1:

RTFINDEXES ([Показатели -> Размерность])

Результат: г/см3

Пример 2:

RTFINDEXES ([Каталог -> Формула])

Результат: N2O5

ЗаменитьINDEXES(заменить_где; заменить_что; заменить_чем)

Описание функции:

  • заменить_где – текст, который необходимо обработать
  • заменить_что – текст, который необходимой найти и заменить
  • заменить_чем – текст, которым заменяется текст заменить_что

Назначение функции:

Объединяет в себе использование двух функций (заменить и RTFIndexes): сначала заменяет все вхождения текста заменить_что на текст заменить_чем, а затем применяет к заменённым участкам текста функцию RTFIndexes.

Подробнее: данная функция ищет в тексте заменить_где текст заменить_что, как только находит его – вырезает и вставляет на его место новый текст заменить_чем, затем ищет заменить_чем в справочнике представлений строк и если находит – расставляет нижние и верхние индексы. Затем повторяет операцию поиска и замены с оставшейся частью текста.

Применение:

Данная функция может применяться, когда нам необходимо внутри длинного текста расставить индексы для небольшой его части (например единицы измерения). В этом случае последовательное использование функций Заменить и RTFIndexes не даст необходимого эффекта, поскольку RTFIndexes обрабатывает текст целиком, он не может обработать только кусочек.

Пример 1:

Необходимо вывести названия растворов с корректным обозначением индексов. Начальные данные:

  • запрос, в котором хранится следующий текст:

Сульфат-ион, 2,5 мг/дм3 (градуировочный раствор)

  • запрос, в котором хранится единица измерения, используемая в тексте выше

[ЗаменитьINDEXES([Наименование раствора -> Полное наименование];[Единицы изм. -> Ед.изм];[Единицы изм. -> Ед.изм])]

Результат: Сульфат-ион, 2,5 мг/дм3 (градуировочный раствор)

Пример 2:

Необходимо вывести название раствора с корректным обозначением индексов, при этом мы знаем какая единица измерения используется в названии раствора, и хотим изменить ее на другую: [ЗаменитьINDEXES([Общая инф. -> Полное наименование];'мг/см3';'моль/дм3')]

Результат: Гидроокиси натрия раствор 0,1 моль/дм3 (0,1н)