Новое в версии 3.0

Среда разработки

Редактор кода
  • Подсветка синтаксиса:
    • Добавлена подсветка для интерполяции строк во встроенном языке;
  • Контекстная подсказка:
    • Автозамена ключевых слов знч и пер на исп для типа Закрываемое;
    • Автоматическое приведение типа при автодополнении;
  • Быстрые исправления:
    • Если в коде есть обращение к несуществующему методу, то система сама предложит создать такой метод с автоматически подобранной сигнатурой;
    • Теперь при вводе некорректного идентификатора объекта во встроенном языке, например имени переменной или метода, пользователю автоматически предлагаются варианты автоисправления. В частности, добавлена возможность автоисправления при попытке использования варианта встроенного языка, отличного от текущего;
    • Автоматическая замена конкатенации строк, включая многострочные и вложенные строки (например, когда в конкатенации участвуют методы со строкой-параметром), на форматированную строку;
    • Если переменная не найдена, то система сама предложит добавить её в сигнатуру метода, при этом автоматически вычислив ее тип;

Функциональность приложения на мобильных устройствах

  • Добавлена поддержка глубоких ссылок и ссылок с заданным протоколом. Глубокая ссылка — это ссылка на контент приложения, которая открывается в браузере, если приложение не установлено, и в приложении, если приложение установлено. Механизм ссылок с заданным протоколом позволяет обмениваться данными между приложениями.
  • Добавлены изменения в компоненте СтандартноеКлиентскоеПриложениеСРазделми:

    • Верхняя панель действий, вкладки последнего уровня навигации, заголовок формы с дополнительным командным интерфейсом (а также кнопка Назад, при наличии) помещаются в прокручиваемую область экрана;
    • При прокрутке и скрытии заголовка, в верхней части экрана, поверх контента, появляется панель, содержащая:
      • строку с кнопкой Назад (при наличии), однострочным заголовком формы и первым действием из панели действий;
      • переключатель страниц в навигации (при его наличии, если свойство типа СтандартноеКлиентскоеПриложениеСРазделми ВидПоследнегоУровняНавигации = ВПанелиНавигации);
    • Панель команд формы добавляется в прокручиваемую область.
  • Добавлены изменения в диалоговых окнах:

    • Заголовок формы с дополнительным командным интерфейсом помещается в прокручиваемую область;
    • При прокрутке и скрытии заголовка, сверху появляется компактная версия заголовка формы (элемент закрытия формы и однострочный заголовок);
    • Панель команд формы добавляется в прокручиваемую область.
  • Изменяются правила отображения локальной панели действий отмеченных строк:

    • Если таблица вложена в какую-либо форму:
      • При выделении строки локальная панель действия таблицы появляется внизу формы;
      • При появлении локальной панели действий плавающая кнопка создания и панель навигации скрываются;
      • При появлении локальной панели действий содержимое формы блокируется по следующим правилам:
        • заголовок, элемент закрытия формы, кнопка дополнительных команд не блокируются
        • блокируются все элементы интерфейса формы, с которыми может взаимодействовать пользователь (кнопки, поля ввода, иные кликабельные компоненты, а также компоненты, обрабатывающие жесты), кроме таблицы, с которой происходит работа в режиме выделения и самой локальной панели действий.
    • Если таблица не вложена в форму, а является частью произвольного клиентского приложения:
      • Локальная панель действий отображается под таблицей, с прилипанием к нижней границе таблицы.
  • Для мобильной адаптации таблиц (списка карточек) добавлена возможность отображения команд строки. Они отображаются в блоке кнопок, который открывается по жесту, смахиванием влево. Сами команды задаются в свойстве типа Таблица КомандыСтроки.
  • Добавлена возможность обновления данных формы по жесту, смахиванием вниз (pull-to-refresh)
    • Доступно в типах ФормаСписка и ФормаОбъекта;
    • Доступно в наследниках типа Форма при определении обработчика ПриОбновлении.
  • Компонент РедакторHtml адаптирован для мобильных устройств.

Прикладная функциональность

Переименования
Тип свойства НастройкиЧтенияОбъектовJson.ПсевдонимыСвойств изменен с Соответствие на ЧитаемоеСоответствие;
Параметры HTTP-запроса
В подсистему Http для объекта ЗапросHttp добавлены методы для работы с параметрами запроса:
  • УстановитьПараметрыЗапроса — для установки новых параметров запроса, с перезаписью старых.
  • ДобавитьПараметрыЗапроса — для добавления параметров запроса к уже установленным.
  • УстановитьПараметрЗапроса — для установки параметра запроса, с перезаписью уже установленного.
  • ДобавитьПараметрЗапроса — для добавления параметра запроса к уже установленным.
  • ОчиститьПараметрыЗапроса — для очистки параметров запроса.
  • УдалитьПараметрЗапроса — для удаления параметра запроса по его имени.

Криптография

Тип «ВычислительПодписи»
Добавлено свойство МоментПодписи, которое позволяет указать дату и время вычисления подписи. Если значение не указано, при вычислении подписи будет использовано текущее системное время. По умолчанию Неопределено.
Тип «ВерификаторПодписи»
Добавлено свойство МоментПодписи, которое возвращает дату и время вычисления подписи, указанные в данных подписи формата PKCS#7.
Тип «ЦифровойСертификат»
Добавлены новые методы для проверки подписи, разрыва и формирования цепочки сертификатов:
  • СформироватьЦепочку
    СформироватьЦепочку(
      СертификатИздателя: ЦифровойСертификат,
      Криптопровайдер: Криптопровайдер|Строка|? = Неопределено
    ): ЦифровойСертификат

    Возвращает копию текущего сертификата, у которой в качестве значения свойства СертификатИздателя используется сертификат, указанный в параметре СертификатИздателя. Метод также проверяет, что сертификат был подписан закрытым ключом, связанным с открытым ключом сертификата СертификатИздателя. Проверка выполняется с использованием алгоритмов указанного криптопровайдера. Если Криптопровайдер не задан, он подбирается автоматически.

  • РазорватьЦепочку
    РазорватьЦепочку(): ЦифровойСертификат

    Возвращает копию текущего сертификата, у которой свойство СертификатИздателя установлено в Неопределено.

  • ПроверитьПодпись
    ПроверитьПодпись(
      СертификатИздателя: ЦифровойСертификат,
      Криптопровайдер: Криптопровайдер|Строка|? = Неопределено
    ): Булево

    Проверяет, что сертификат был подписан закрытым ключом, связанным с открытым ключом сертификата СертификатИздателя. Проверка выполняется с использованием алгоритмов указанного криптопровайдера. Если Криптопровайдер не задан, он подбирается автоматически.

Тип «ВычислительПодписи»
Добавлен новый метод ЗаменитьСертификат:
Статический ЗаменитьСертификат(
  Подпись: Байты|ПотокЧтения,
  Сертификат: ЦифровойСертификат
): Байты

Позволяет заменить сертификат или цепочку сертификатов в указанной подписи формата CMS/PKCS#7. В результате будет сформирована новая электронная подпись, содержащая заданный сертификат. Вы можете использовать данный метод, чтобы удалить из подписи ненужные сертификаты цепочки сертификатов или добавить недостающие.

Электронная почта

Добавлена поддержка получения писем с почтовых серверов, работающих по протоколам POP3 и IMAP. Подробнее в разделе Электронная почта.

Система взаимодействия

Развитие работы с обсуждениями системы взаимодействия
Добавлен метод СистемаВзаимодействия.НайтиОбсуждения, который позволяет искать обсуждения по произвольному отбору, например по ключу обсуждения. Ранее была возможность поиска только по идентификатору, из-за чего приходилось хранить идентификатор и ключ обсуждения в данных приложения.
Развитие работы с сообщениями системы взаимодействия
В объект СистемаВзаимодействия добавлены следующие возможности:
Кроме того, реализована возможность управлять вложениями в сообщениях системы взаимодействия.
Развитие работы с приложениями взаимодействия
Также реализованы новые возможности по работе с приложением взаимодействия:
  • Получение почты абонента СистемаВзаимодействия.ПолучитьПочтуАбонента;
  • Получение версии протокола СистемаВзаимодействия.ПолучитьВерсиюПротокола;
  • Получение версии сервера взаимодействия СистемаВзаимодействия.ПолучитьВерсиюСервераВзаимодействия;
  • Получение информации о текущем приложении взаимодействия СистемаВзаимодействия.ПолучитьТекущееПриложение;
  • Получение информации о приложении взаимодействия по его идентификатору СистемаВзаимодействия.ПолучитьПриложениеАбонента;
  • Получение списка приложений абонента СистемаВзаимодействия.ПолучитьПриложенияАбонента.
Упростили указание адреса сервера системы взаимодействия при подключении
Упростили пользователям работу с подсистемой Система Взаимодействия при указании адреса сервера взаимодействия. Теперь для подключения можно не указывать транспорт и версию протокола в параметрах запроса подключения, система будет автоматически подставлять актуальную версию.

Минимально поддерживаемая версия протокола — версия 6.

// Подключение к системе взаимодействия с указанием транспорта и версии протокола
знч АдресСервера = "wss://develop.ecs.test:9094?transport=websocket&version=4"
СистемаВзаимодействия.Подключиться(Сервер = АдресСервера)

// Подключение к серверу взаимодействия без указания протокола
знч АдресСервера = "wss://develop.ecs.test:9094"
СистемаВзаимодействия.Подключиться(Сервер = АдресСервера) // по умолчанию версия протокола = 6

// Подключение к 1С:Диалог
СистемаВзаимодействия.Подключиться() // по умолчанию версия протокола = 6 для 1С:Диалог
Изменения в программной модели
  • Тип КлючПриложения переименован в КлючиПриложенияВзаимодействия;
  • Тип ПараметрыПриложения переименован в ПараметрыПриложенияВзаимодействия;
  • Тип Сообщение переименовано в СообщениеВзаимодействия;
  • Переименование параметра АдресСервера в Сервер. Параметр переименован в следующих методах:
    • СистемаВзаимодействия.Подключиться;
    • СистемаВзаимодействия.ПодключитьсяБезПроверкиСертификата;
  • Метод СистемаВзаимодействия.СоздатьПриложение перемещен и переименован в УправлениеПриложениямиВзаимодействия.СоздатьПриложениеВзаимодействия;
  • Метод СистемаВзаимодействия.ЗапроситьКодАктивации перемещен в тип УправлениеПриложениямиВзаимодействия;
  • Добавлен новый объект ПользовательВзаимодействия — информация о пользователе взаимодействия.
  • Добавлено новое исключение ИсключениеОбъектСуществуетВСистемеВзаимодействия, выбрасываемое при попытке создать объект, который уже есть в системе взаимодействия;
  • В перечисление РежимСопоставленияПользователейВзаимодействия добавлено новое значение ПоКлючуСопоставления, используемое при объединении приложений взаимодействия;
  • В объект СистемаВзаимодействия добавлены новые методы:
    • ПолучитьТекущегоПользователяВзаимодействия — для получения информации о текущем пользователе взаимодействия.
    • НайтиПользователяВзаимодействия — для получения информации о пользователе взаимодействия по его идентификатору в системе взаимодействия.
    • НайтиПользователейВзаимодействия — для поиска пользователей взаимодействия по отбору.
    • СоздатьПользователяВзаимодействия — для создания нового пользователя взаимодействия.
    • РедактироватьПользователяВзаимодействия — для изменения свойств пользователя взаимодействия по его идентификатору в системе взаимодействия.
    • ПолучитьИдТекущегоПользователяВзаимодействия — для получения идентификатора текущего пользователя взаимодействия.
    • ПолучитьИдПользователяВзаимодействия — для получения идентификатора пользователя взаимодействия по его логину.
  • Метод СистемаВзаимодействия.ПолучитьСообщение переименован в СистемаВзаимодействия.НайтиСообщение;
  • Метод СистемаВзаимодействия.ПолучитьОбсуждение переименован в СистемаВзаимодействия.НайтиОбсуждение;
В подсистему "СистемаВзаимодействия" добавлена возможность работы с пользователями системы взаимодействия
Возможности:
  • Создавать нового пользователя взаимодействия без аутентификации под ним.
  • Изменять свойства пользователя, например ключ сопоставления, используемый при объединении приложений.
  • Искать пользователей взаимодействия с отборами.
  • Упрощенный способ получения данных текущего пользователя взаимодействия.