13.79M

DevOps_1C_БСП_и_БПО__Система_взаимодействия-320971-163710

1.

DevOps 1C
БСП и БПО,
Система взаимодействий
otus.ru

2.

Проверить, идет ли запись
Меня хорошо видно
&& слышно?
Ставим “+”, если все хорошо
“-”, если есть проблемы

3.

Тема вебинара
БСП и БПО,
Система взаимодействия
Пасхин Юрий
Программист-разработчик
- Работаю в сфере технологий 1С более восемнадцати лет.
В проектах выступал в роли разработчика, руководителя
проектов, архитектора.
- ННГУ им.Лобачевского, Физический факультет
- Сертифицирован 1С:Специалист
- Руководитель курса Профессиональная разработка в EDT+Git

4.

Правила вебинара
Активно
участвуем
Условные
обозначения
Индивидуально
Off-topic обсуждаем
в учебной группе Telegram
Время, необходимое
на активность
Пишем в чат
Задаем вопрос
в чат или голосом
Вопросы вижу в чате,
могу ответить не сразу
Говорим голосом
Документ
Ответьте себе или
задайте вопрос

5.

Карта курса
Подготовка среды разработки
Обмен данными
EDT, СППР, брокеры, производительность
Скрипты, автотесты, CI/CD
Собственный проект

6.

Маршрут вебинара
Знакомство
Разработка с использованием
Библиотеки Стандартных Подсистем
БПО
Система взаимодействия
Рефлексия

7.

Цели вебинара
К концу занятия у вас сформируется представление
1.
О принципах проектирования конфигурации с использованием БСП.
2.
О принципах проектирования с использованием БПО.
3.
О работе Системы взаимодействия.

8.

1С:БСП - Библиотека
Стандартных Подсистем

9.

БСП
1С:Библиотека стандартных подсистем - это набор универсальных функциональных
подсистем.
Каждая из библиотек не является законченным (с предметной точки зрения) прикладным решением.
По способу внедрения все подсистемы библиотеки можно условно разделить на следующие категории:
1. Подсистемы, реализующие самостоятельную функциональность.
2. Интегрируемые подсистемы, реализующие функциональность, предназначенную для использования в
тех или иных объектах конфигурации-потребителя (тесная интеграция).
Подсистемы первой категории внедряются простым переносом библиотечных объектов метаданных в
конфигурацию, размещаются в командном интерфейсе и не требуют существенных дополнительных настроек.
Примеры подсистем: Валюты, Завершение работы пользователей.
При внедрении интегрируемых подсистем после переноса функциональности подсистемы требуется
определить состав объектов конфигурации-потребителя, для которых нужно выполнить внедрение
функциональности. После этого необходимо выполнить некоторое количество дополнительных настроек,
внести изменения в код и формы выбранных объектов, т. е. выполнить тесную интеграцию подсистемы в
объекты конфигурации-потребителя.
Состав библиотеки подробнейшим образом описан на ИТС: https://its.1c.ru/db/bsp3111doc

10.

БСП
Короткая инструкция для быстрого начала разработки собственной конфигурации на базе «Библиотеки стандартных
подсистем» описана на диске ИТС здесь: https://its.1c.ru/db/bsp3111doc#content:3:1 .
В ней описаны только обязательные действия, которые необходимы для первого запуска разрабатываемого решения.
Подготовка
Определиться со списком внедряемых подсистем. В самом простом случае внедряются все подсистемы библиотеки.
Рекомендуется воспользоваться обработкой ПервоеВнедрениеБСП из комплекта поставки, которая позволяет выбрать
подсистемы для внедрения с учетом их зависимостей друг от друга.
После определения состава подсистем нажать Сохранить настройки для конфигуратора и задать имя файла для
сохранения настроек.
Создать новую пустую базу.
Сравнение и объединение
Вызвать меню Конфигурация – Сравнить, объединить с конфигурацией из файла.
Выбрать файл 1Cv8.cf из поставки библиотеки.
На предложение выполнить полную загрузку конфигурации ответить Нет.
На предложение постановки на поддержку ответить Да.
Выбрать Действия – Загрузить настройки из файла.
Указать файл, сохраненный на шаге 2 этапа Подготовка. Затем нажать Выполнить.
Если возникло окно с информацией о наличии неразрешенных ссылок, то сообщения в этом окне нужно пропустить,
нажмите кнопку Продолжить. Это окно возникает в случае внедрения не всех подсистем библиотеки.
В окне Настройка правил поддержки нажать Ок.

11.

БСП
Короткая инструкция для быстрого начала разработки собственной конфигурации на базе «Библиотеки стандартных
подсистем» описана на диске ИТС здесь: https://its.1c.ru/db/bsp3111doc#content:3:1 .
В ней описаны только обязательные действия, которые необходимы для первого запуска разрабатываемого решения.
Действия после сравнения, объединения
Установить в свойствах конфигурации имя конфигурации, например, УправлениеНашимУчетом.
Установить в свойствах конфигурации номер версии разрабатываемой конфигурации.
Например, при начале разработки конфигурации можно установить 1.0.1.1 в качестве номера версии.
Скопировать общий модуль ОбновлениеИнформационнойБазыБСП.
Заменить в названии скопированного модуля на имя или сокращение имени конфигурации
(например, ОбновлениеИнформационнойБазыУНУ).

12.

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

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

Подключаемые команды
https://its.1c.ru/db/bsp318doc#content:4:1:issogl1_подключаемые_команды

27.

28.

29.

Удаление сеанса Конфигуратора

30.

Пример из практики: проведение документа через БСП

31.

Пример из практики: проведение документа через БСП

32.

Пример из практики:
внедрение Системы взаимодействия > Библиотека “Обсуждения”
Глава 1. Состав библиотеки :: Библиотека стандартных подсистем 3.1.11. Документация

33.

Пример из практики:
внедрение Системы взаимодействия > Библиотека “Обсуждения”

34.

Процедура внедрения подсистемы “Оценка производительности” в
существующую конфигурацию
Этап 1
Выбрать обязательные подсистемы из группы “Стандартные подсистемы”:
1. КонтактнаяИнформация
2. НастройкаПорядкаЭлементов
3. ОбновлениеВерсииИБ
4. ПолучениеФайловИзИнтернета
5. Пользователи
6. ОценкаПроизводительности
Этап 2
Выбрать нужную подсистему
ОценкаПроизводительности

35.

Ключевые тезисы
1.
Разработка на основе БСП путем выбора не полного перечня подсистем может
быть длительным процессом;
2.
Использование БСП в рамках стандартных конфигураций дает большое удобство
и ускорение при решении стандартных задач;
3.
Полезный и удобный механизм - использование переопределяемых общих
модулей для придания конфигурации индивидуальной функциональности.

36.

Вопросы?
Ставим “+”,
если вопросы есть
Ставим “–”,
если вопросов нет

37.

1С:БПО

38.

39.

БПО
Порядок внедрения БПО
При первом внедрении порядок действий следующий:
БПО 2.0 включает документ КассоваяСмена.
Если в конфигурации уже имеется документ КассоваяСмена и/или перечисление СтатусыКассовойСмены переименуйте эти объекты конфигурации. При этом определение необходимости сохранения данных
документа Кассовая смена, существовавшего в конфигурации ранее и алгоритмы переноса данных в новый
документ, определяется на уровне прикладного решения.
Выполните объединение с файлом поставки
(Конфигурация – Сравнить, объединить с конфигурацией из файла). Согласитесь с постановкой на поддержку.
Снимите все галочки с объединяемых объектов. В зависимости от используемых в конфигурации типов
оборудования возможны варианты:
Если используется всё оборудование из подсистемы БПО: Выполните действие «Отметить по подсистемам из
файла» и отметьте подсистему – ПодключаемоеОборудование. Флажок «Включать объекты подчинённых
подсистем» должна быть установлена. Нажмите «Установить».
Если используется часть оборудования из подсистемы БПО: Выполните действие «Отметить по подсистемам
из файла» и отметьте подсистему – ПодключаемоеОборудование. Снимите флажок «Включать объекты
подчинённых подсистем». Нажмите «Установить». Ещё раз выполните действие «Отметить по подсистемам из
файла». На этот раз отметьте подсистемы необходимого оборудования вложенные в
ПодключаемоеОборудование. Нажмите «Установить».

40.

БПО
Порядок внедрения БПО
Вручную поставьте галочку для объектов:
В Подсистемах установите галочку на подсистеме ПодключаемоеОборудование.
В Подсистемах установите галочку на подсистеме БазоваяФункциональность если не используется БСП, иначе
убедитесь что галочка снята.
В Общих модулях установите галочку на модулях МенеджерОборудованияКлиентПереопределяемый и
МенеджерОборудованияВызовСервераПереопределяемый и
КассовыйЧекКоррекцииКлиентПереопределяемый, КассовыеСменыПереопределяемый.
Выполнение объединения ролей прикладной конфигурации и библиотеки необходимо выполнять в режиме
"Объединить с приоритетом основной конфигурации"
Выполните объединение конфигураций с приоритетом из файла. В целевую конфигурацию в модуль
управляемого приложения в процедуры ПередНачаломРаботыСистемы(), ПриНачалеРаботыСистемы(),
ПередЗавершениемРаботыСистемы(), ОбработкаВнешнегоСобытия() перенести код отвечающий за
инициализацию и работу библиотеки.
Определите типы ОрганизацияБПО и КассаБПО. Как правило, определения должны быть
СправочникСсылка.Организация и СправочникСсылка.КассаККМ соответственно. В общем модулях
МенеджерОборудованияКлиентПереопределяемый и
МенеджерОборудованияВызовСервераПереопределяемый удалите код, отвечающий за то оборудование,
которое вы не используете. Если в конфигурации используется всё оборудование, то код не редактируйте.
Далее идет переопределение и адаптация кода необходимых модулей согласно инструкции на ИТС:
https://its.1c.ru/db/bpodoc#content:3:hdoc

41.

42.

43.

44.

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

45.

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

46.

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

47.

Система взаимодействия 1С
https://v8.1c.ru/platforma/sistema-vzaimodeystviy/
Система взаимодействия позволяет пользователям общаться между собой в рамках системы 1С.
Ядро технологии - программный продукт 1С:Сервер взаимодействия
Существует два технологических способа подключаться к нему:
- Через сервис 1cDialog.com
- Путем развертки на сервере предприятия Сервера взаимодействия как отдельного программного продукта.
Дистрибутив: https://releases.1c.ru/project/CollaborationSystem
Основной тип события - обсуждение:
Неконтекстные. Подобие чата в мессенджере
Контекстные - привязанные к какому-либо объекту конфигурации. Например, документу или элементу
справочника
Также умеет:
● Пересылка файлов
● Аудио и видеоконференции
● Демонстрация своего экрана с 16 релиза (без возможности управления)
● Внешние пользователи
● Совместное использование прикладных решений
● интеграция Telegram, WhatsApp, VK
● Интеграция с произвольным приложением через механизм вебхуков (webhook)

48.

Работа Системы взаимодействия через сервис 1cDialog.com
Подключение - через обработку Управление системой взаимодействия
активируется, когда в БД есть хотя бы один пользователь

49.

Работа Системы взаимодействия через сервис 1cDialog.com

50.

Работа Системы взаимодействия через сервис 1cDialog.com

51.

Обработка StandardCollaborationSystemManagement

52.

Регистрация пользователя в системе

53.

Неконтекстное обсуждение

54.

Неконтекстное обсуждение. Видеозвонок

55.

Неконтекстное обсуждение. Видеозвонок

56.

Неконтекстное обсуждение. Видеозвонок

57.

Контекстное обсуждение
Обсуждение в дальнейшем
сохраняется в рамках документа

58.

Оповещения при закрытом приложении
Программа "1С:Предприятие - оповещения и запуск" :: Система
взаимодействия. Коммуникации в бизнес приложениях

59.

Ключевые тезисы о работе в
Системе взимодействия через сервис
1cDialog.com
1.
Легкость регистрации;
2.
Ограничение по ежемесячному трафику https://1cdialog.com/ru/pricing/;
3.
Ограничение по размеру передаваемых файлов и времени их хранения;
4.
Вся информация хранится на серверах 1С.

60.

Установка сервера
взаимодействия под
Windows Server 2019

61.

Система взаимодействия. Устройство
Компоненты:
1С:Сервер взаимодействия
Сервер Hazelcast. Распределенное хранилище,
В нем хранятся сессии пользователей, подписки на
события, очереди
Сервер Elasticsearch. Поисковый кластер
Утилита ring
Внешняя обработка CollaborationSystemRegister.epf
Архитектура клиент-сервер
Работает под Windows и Linux
Протоколы Websocket - ws, wss

62.

Скачать сервер взаимодействия
https://releases.1c.ru/project/CollaborationSystem

63.

Скачать дополнительные компоненты
Для работы сервера взаимодействия 27.0 вам понадобятся:
Liberica Java 11 (64-bit);
PostgreSQL 9.6 или выше - рекомендуется версия 12.1;
Технологическая платформа 1С 8.3

64.

Скачать Java
https://bell-sw.com/pages/downloads/

65.

Устанавливаем Java.
Устанавливаем системную переменную JAVA_HOME
Перезагрузить сервер, иначе получим сообщение:

66.

Устанавливаем CS

67.

Устанавливаем CS

68.

Создаем пакеты
ring hazelcast instance create --dir %ProgramData%\1C\1CE\instances\<hc_instance>
ring hazelcast --instance <hc_instance> service create --stopped
ring elasticsearch instance create --dir %ProgramData%\1C\1CE\instances\<es_instance>
ring elasticsearch --instance <es_instance> service create --stopped
ring cs instance create --dir %ProgramData%\1C\1CE\instances\<cs_instance>
ring cs --instance <cs_instance> service create --stopped
Открываем службы и проверяем наличие наших созданных служб

69.

Интерфейсы CS
Сервер взаимодействия предоставляет два набора программных
интерфейсов:
Рабочий интерфейс - используется системой «1С:Предприятие» для своей
работы.
Интерфейс обслуживания - используется для обслуживания и контроля
работы сервера системы взаимодействия (REST, 8087, json, curl)

70.

Установка PostgreSQL
Указать пароль для postgres:
<db_user_pwd>

71.

Установка PostgreSQL

72.

Создание базы cs_db

73.

Создание расширения
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

74.

Настройка JDBC
ring cs --instance <cs_instance> jdbc pools --name common set-params --url
jdbc:postgresql://localhost:5432/cs_db?currentSchema=public
ring cs --instance <cs_instance> jdbc pools --name common set-params --username <db_user>
ring cs --instance <cs_instance> jdbc pools --name common set-params --password <db_user_pwd>
ring cs --instance <cs_instance> jdbc pools --name privileged set-params --url
jdbc:postgresql://localhost:5432/cs_db?currentSchema=public
ring cs --instance <cs_instance> jdbc pools --name privileged set-params --username <db_user>
ring cs --instance <cs_instance> jdbc pools --name privileged set-params --password <db_user_pwd>

75.

Настройка WebSocket
Конфигурируем cs для доступа с других компьютеров
ring cs --instance <cs_instance> websocket set-params --hostname <cs_host>
ring cs --instance <cs_instance> websocket set-params --port <cs_port>
cs_port пусть будет 8099
Настройка протокола WS завершена. Для работы по WSS нужно еще создавать
Хранилище ключей.

76.

Запуск сервисов. Инициализация БД
ring hazelcast --instance <hc_instance> service start
ring elasticsearch --instance <es_instance> service start
ring cs --instance <cs_instance> service start
curl -Sf -X POST -H "Content-Type: application/json" -d "{ \"url\" : \"jdbc:postgresql://localhost:5432/<cs_db>\",
\"username\" : \"<db_user>\", \"password\" : \"<db_user_pwd>\", \"enabled\" : true }" -u <ia_user>:<ia_password>
http://localhost:8087/admin/bucket_server
{"id":"1cc955df-b5e7-4532-8c57d34357b95b31","url":"jdbc:postgresql://localhost:5432/cs_db","username":"postgres"
,"password":"db_user_pwd","lastUsedAt":null,"enabled":true,"deleted":false}

77.

Ошибка connection refused
c:\CS>curl -Sf -X POST -H "Content-Type: application/json" -d "{ \"url\" :
\"jdbc:postgresql://localhost:5432/cs_db\", \"username\" : \"postgres\", \"password\" :
\"db_user_pwd\", \"enabled\" : true }" -u ia_user:ia_password
http://localhost:8087/admin/bucket_server
curl: (7) Failed to connect to localhost port 8087: Connection refused
Решение: Нужно запускать в создание расширения uuid-ossp в базе сервера
взаимодействия, а не базе postgres

78.

Причина ошибки connection refused

79.

Проверка работоспособности
http://localhost:8087/rs/health

80.

Вывести настройки экземпляра CS
ring cs --instance <cs_instance> websocket list-params
Response {hostname='cs', port=8099, keystorePath='null', keystoreFormat='JKS',
keystorePassword='null', wss=false, maxHttpContentLength=128 KB,
maxFramePayloadLength=128 KB, pingTimeout=60000, pingInterval=25000, bossThreads=0,
workerThreads=0}

81.

Параметры компонентов CS

82.

CollaborationSystemRegister.epf

83.

Программный интерфейс СВ

84.

Список материалов для изучения
1.
БСП на сайте ИТС: https://its.1c.ru/db/bsp3111doc
2.
Возможности СВ https://v8.1c.ru/platforma/sistema-vzaimodeystviy/
3.
Глава 7. Система взаимодействия https://its.1c.ru/db/v8327doc#bookmark:utx:TI000000335
4.
Руководство по установке и настройке сервера взаимодействия. Версия 2.1
https://its.1c.ru/db/cs21doc/bookmark/cs/TI000000003
5.
Книга. Система взаимодействия. Коммуникации в бизнес приложениях https://its.1c.ru/db/pubecs
6.
Инструкция по инсталлятору 1С https://its.1c.ru/db/inst10doc

85.

Вопросы?
Ставим “+”,
если вопросы есть
Ставим “–”,
если вопросов нет

86.

Рефлексия

87.

Цели вебинара
1.
Проектировать конфигурацию с помощью БСП;
2.
Проектировать конфигурацию с помощью БПО;
3.
Использовать Систему взаимодействия;
4.
Устанавливать Сервер взаимодействия.

88.

Следующий вебинар
1C:Enterprise Development Tools (1C:EDT):
Развертка среды разработки
Ссылка на вебинар
будет в ЛК за 15 минут
Материалы
к занятию в ЛК —
можно изучать
Обязательный
материал обозначен
красной лентой

89.

Заполните, пожалуйста,
опрос о занятии
по ссылке в чате

90.

Спасибо за внимание!
Приходите на следующие вебинары
Пасхин Юрий
Программист-разработчик
English     Русский Правила