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

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

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

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

Переименования
Тип свойства НастройкиЧтенияОбъектов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С:Диалог
Изменения в программной модели
  • Тип КлючПриложения переименован в КлючиПриложенияВзаимодействия;
  • Тип ПараметрыПриложения переименован в ПараметрыПриложенияВзаимодействия;
  • Тип Сообщение переименовано в СообщениеВзаимодействия;
  • Переименование параметра АдресСервера в Сервер. Параметр переименован в следующих методах:
    • СистемаВзаимодействия.Подключиться;
    • СистемаВзаимодействия.ПодключитьсяБезПроверкиСертификата;
  • Метод СистемаВзаимодействия.СоздатьПриложение перемещен и переименован в УправлениеПриложениямиВзаимодействия.СоздатьПриложениеВзаимодействия;
  • Метод СистемаВзаимодействия.ЗапроситьКодАктивации перемещен в тип УправлениеПриложениямиВзаимодействия;
  • Добавлен новый объект ПользовательВзаимодействия — информация о пользователе взаимодействия.
  • Добавлено новое исключение ИсключениеОбъектСуществуетВСистемеВзаимодействия, выбрасываемое при попытке создать объект, который уже есть в системе взаимодействия;
  • В перечисление РежимСопоставленияПользователейВзаимодействия добавлено новое значение ПоКлючуСопоставления, используемое при объединении приложений взаимодействия;
  • В объект СистемаВзаимодействия добавлены новые методы:
    • ПолучитьТекущегоПользователяВзаимодействия — для получения информации о текущем пользователе взаимодействия.
    • НайтиПользователяВзаимодействия — для получения информации о пользователе взаимодействия по его идентификатору в системе взаимодействия.
    • НайтиПользователейВзаимодействия — для поиска пользователей взаимодействия по отбору.
    • СоздатьПользователяВзаимодействия — для создания нового пользователя взаимодействия.
    • РедактироватьПользователяВзаимодействия — для изменения свойств пользователя взаимодействия по его идентификатору в системе взаимодействия.
    • ПолучитьИдТекущегоПользователяВзаимодействия — для получения идентификатора текущего пользователя взаимодействия.
    • ПолучитьИдПользователяВзаимодействия — для получения идентификатора пользователя взаимодействия по его логину.
  • Метод СистемаВзаимодействия.ПолучитьСообщение переименован в СистемаВзаимодействия.НайтиСообщение;
  • Метод СистемаВзаимодействия.ПолучитьОбсуждение переименован в СистемаВзаимодействия.НайтиОбсуждение;
В подсистему "СистемаВзаимодействия" добавлена возможность работы с пользователями системы взаимодействия
Возможности:
  • Создавать нового пользователя взаимодействия без аутентификации под ним.
  • Изменять свойства пользователя, например ключ сопоставления, используемый при объединении приложений.
  • Искать пользователей взаимодействия с отборами.
  • Упрощенный способ получения данных текущего пользователя взаимодействия.