На ИТС нашёл упоминание, что ТекущаяДата() работает в СКД (в справке про это ни слова), про другие методы описанные в статье ничего не нашёл.
Как собиралась информация: открыл в СП раздел «Глобальный контекст» и все методы проверял в СКД. Функции, которые помнил, что есть в СКД пропускал как заведомо рабочие. Также пропускал методы заведомо не рабочие, например ПоказатьВопрос. Прошёлся методом перебора по порядку по разделам «Функции работы со значениями типа Строка», «Функции работы со значениями типа Число», «Функции работы со значениями типа Дата» и т.д. до «Процедуры и функции сохранения значений».
Следующие за ним разделы решил не проверять, т.к. они явно не для работы из чистого СКД (например «Процедуры и функции работы с операционной системой», «Процедуры и функции работы с внешними компонентами» и т.д.).
Проверял в СКД на данных полученные запросом:
ВЫБРАТЬ "111,ааа" КАК Строка, ДАТАВРЕМЯ(2016, 1, 20, 12, 24, 59) КАК Дата, 1.5 КАК Число ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "ааа2фыава,пролджэ", ДАТАВРЕМЯ(2012, 2, 22, 2, 22, 52), 2.49
Перечень методов глобального контекста работающих в СКД на платформе «8.3.8.1652» «8.3.7.1845», «8.3.6.2390» и «8.2.19.130» в управляемом приложении клиенте:
- СтрНайти (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130). Найти на 8.2.19.130 тоже не работает.
- СтрСравнить (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
- СтрНачинаетсяС (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
- СтрЗаканчиваетсяНа (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
- СтрРазделить (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
- СтрСоединить (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
- ТекущаяДата()
- СтрШаблон (не работает на 8.3.7.1845, 8.3.6.2390 и 8.2.19.130)
- ЧислоПрописью
- НСтр
- ПредставлениеПериода
- ПолучитьОбщийМакет
- ПредопределенноеЗначение
- ПолучитьПолноеИмяПредопределенногоЗначения
- ПолучитьСкоростьКлиентскогоСоединения()
- ИмяКомпьютера()
- ИмяПользователя()
- ПолноеИмяПользователя()
- КаталогПрограммы()
- КаталогВременныхФайлов()
- ПравоДоступа – тут надо разбираться как передать ОбъектМетаданных в параметр
- РольДоступна
- ТекущийЯзык()
- ТекущийКодЛокализации()
- СтрокаСоединенияИнформационнойБазы()
- ПараметрыДоступа – тут надо разбираться как передать ОбъектМетаданных в параметр
- ПредставлениеПриложения
- ТекущийЯзыкСистемы()
- ТекущийРежимЗапуска()
- ЧасовойПоясСеанса()
- ТекущаяДатаСеанса()
- ПредставлениеПрава
- ПолучитьИнформациюЭкрановКлиента() (не работает на 8.2.19.130)
- ТекущийВариантОсновногоШрифтаКлиентскогоПриложения() (не работает на 8.2.19.130)
- ТекущийВариантИнтерфейсаКлиентскогоПриложения() (не работает на 8.2.19.130)
- ЗначениеВСтрокуВнутр
- ЗначениеИзСтрокиВнутр
- ПолучитьИмяВременногоФайла()
ЗначениеЗаполнено (зачеркнул, т.к. есть в справке)- ТекущаяУниверсальнаяДатаВМиллисекундах()
Среди этих методов есть абсолютно бесполезные, например «ПолучитьИнформациюЭкрановКлиента()» (даже представить не могу где это можно применить в чистом СКД), но есть и очень даже полезные, например «ЧислоПрописью». К сожалению, СокрЛП до сих пор не работает…
Получается использовать данные выражения можно только на свой страх и риск, т.к. в справке о них ни слова, значит работоспособность не гарантируется.
Ответ от разработчиков:
В выражениях компоновки данных можно использовать функции общих модулей и функции глобального контекста.
В отчете нет ничего нового относительно данной статьи, но к сожалению, написать бесплатную статью с файлом нельзя по правилам Инфостарта. В отчете все 40 методов тестируются на «чистом» СКД через вычисляемые поля. Результат работы отчета приведен в скриншоте к статье. Если проверять на базе где нет «Перечисление.ВидыИмущества.ОсобенностиОтсутствуют» то методы ПредопределенноеЗначение и ПолучитьПолноеИмяПредопределенногоЗначения работать не будут, поэтому требуется ручная замена на что-нибудь подходящее.