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

Изменяющие RTF

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

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н)