Difference between revisions of "Message"

From SunFlurry wiki
Jump to: navigation, search
1>Admin
m (1 revision imported)
 
(No difference)

Latest revision as of 11:07, 25 September 2023

  Message (Вывод информации)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку
Визуальность:Да

Функция выводит строковое представление аргумента в лог клиента. Важность выводимой информации и, соответственно, вид того, как она будет выглядеть, задается вторым аргументом. Функция работает как для визуального, так и для консольного клиента.

Синтаксис

Message(<Аргумент>,<Тип текста (STRING)>="",<Интерактивный объект 1 для подстановки в текст>,<Интерактивный объект 2 для подстановки в текст>...)

Аргументы

  • <Аргумент> - Аргумент любого типа, строковое представление которого необходимо вывести в лог
  • <Тип текста (STRING)> - (необязательный аргумент) Тип (важность) выводимого текста. Может иметь следующие значения:
    • пустая строка -- (по умолчанию) выводит строку в обычном виде.
    • I или i -- ("информация" либо "успех"), выводит зеленую строку (визуальный клиент).
    • . -- ("нейтральная информация"), выводит синюю строку (визуальный клиент).
    • ! -- ("ошибка"), выводит красную строку (визуальный клиент).
    • !! -- ("серьезная ошибка"), выводит красную строку, используется курсивный шрифт (визуальный клиент).
    • !!! -- ("критическая ошибка"), выводит белую строку на красном фоне (визуальный клиент).
  • <Интерактивный объект N для подстановки в текст> - (необязательный аргумент) При выводе информации в лог кроме обычного текста, также можно использовать ссылки на объекты БД. В этом случае, оператор сможет быстро открыть объект, информация по которому выводится в лог, если активирует мышью его представление, удерживая кнопку Ctrl. Объект подстанавливается в текст сообщения автоматически вместо кодового слова %LINK%. Таких кодовых слов в тексте может быть произвольное количество, и каждое из них будет заменено последовательно на объект, переданный в этих аргументах. На данный момент поддерживаются для подстановки только объекты БД.


Примеры

//Текст будет выведен красным шрифтом.
Message("Ошибка вычисления!","!");

//Будет выведено: "1+2*3=7"
Message("1+2*3="+(1+2*3));

aList:=List.Create(1/5,2/6,3/7);
//Будет выведено: "0.333333333333333333" зеленым шрифтом
Message(aList.Get(2),"I");

аДок:=Doc.Реализация;
аДок.Find("DocNum","К00000000394");
Message("Документ: %LINK%, контрагент: %LINK%",,аДок,аДок.Контрагент);
//Будет выведен интерактивный текст вида "Документ: Реализация №К00000000394 от 19.05.2020, контрагент: Розничный покупатель", 
//  при этом части "Реализация №К00000000394 от 19.05.2020" и "Розничный покупатель" будут интерактивными.