Skip to main content

Методические указания по использованию механизма формирования отчета ФД с помощью ChatGPT

Основная информация

Добрый день! Механизм формирования отчетов ФД предназначен для автоматизированного выставления сотрудникам, которые оказывают нам услуги, отчета о проделанной за месяц работе в целях корректного формирования заработной платы по каждому из сотрудников.  В рамках данной статьи мы с Вами пройдем путь от сопоставления ФД до отправки отчета на почту или по ЭДО. И в нашем путешествии первое на чем мы остановимся это где располагается обработка. Обработка располагается в подсистеме "Нескучные финансы", которую вы можете в конце списка подсистем, при входе в программу (см. рис. 1).

image.png

Рисунок 1 -  Местоположение подсистемы "Нескучные финансы" 

Внутри самой подсистемы нам нужен блок "Chat GPT" (см. рис. 2).

image.png

Рисунок 2 - Местоположение раздела "Chat GPT"

Сам раздел состоит из 3 пунктов:

  1. Мой помощник Chat GPT;
  2. Отчет финансового директора (CFO);
  3. Шаблон запросов.

Но прежде, чем мы перейдем рассмотрению каждого из этих пунктов по отдельности, мы заглянем в другую не менее важную подсистему, которая называется "Platforma". Находится данная подсистема рядом с подсистемой "Нескучные финансы" (см. рис. 3).

image.png

Рисунок 3 - Местоположение подсистемы "Platforma"

Когда Вы попадете в подсистему, Вас будет интересовать только один справочник "Финансовые директора" (см. рис. 4). Ведь именно в этом справочнике содержатся все необходимые данные, которые первоначально необходимо заполнить перед началом работы. В противном случае работать вы не сможете, поскольку программе не будет хватать вводных данных.

image.png

Рисунок 4 - Местоположение справочника "Финансовые директора"

Заполнение первичных данных

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

image.png

Рисунок 5 - Карточка финансового директора

Данные в разделах "Персональная информация" и "Контактная информация" загружаются с платформы, и вы в любой можете можете их поменять на стороне платформы и они обновятся в 1С. В случае если Вы ждать не хотите, то можете отредактировать данные в ручную. Основными полями на данной форме является "Электронная почта", "Контрагент", "Адрес отчета". Поскольку эти данные используются для получения необходимо материала из Google Sheets и отправке данных по почте или ЭДО. Если с адресом электронной почты все понятно, то вот с контрагентом и адресом отчета не все так однозначно.  

Ссылка на контрагента нам необходима для того чтобы при формировании отчетов на основании ответа от Chat GPT, программа могла найти необходимый договор и указать корректного поставщика услуг. В большинстве случае контрагенты уже созданы в 1С и для поиска необходимо Вы можете воспользоваться командой "Создать контрагента по данным ФД". Не пугайтесь такого названия, программа без Вашего разрешения не создаст большое количество дублей одного и того же контрагента, а наоборот поможет вначале идентифицировать уже существующего по ФИО и в случае, если ни одно совпадение Вам не подошло, то предложит его создать. И так, нажмем на кнопку создать ФД (см. рис. 6): 

image.png

Рисунок 6 - Местоположение кнопки "Создать контрагента по данным ФД"

При нажатии этой кнопки вызывается отдельное окно, но тут важно учитывать два фактора, перед выполнение и вызовом формы обработки, проверяются два параметра карточки: "Профиль активен" (см. рис. 7) и сопоставление контрагенту не назначено (см. рис. 8).

image.png

Рисунок 7 - Ошибка при проверке активности профиля

image.png

Рисунок 8 - Ошибка при проверки заполнения контрагента 

При таких ошибках для продолжения, нам необходимо активировать профиль и разорвать связь с текущим контрагентом путем очистки поля (см. рис. 9), после чего будет доступен вызов окна создания и подбора контрагента (см. рис. 10).

Видео-04-08-2025 12_16_08.gif

Рисунок 9 - Принцип очистки поля "Контрагент"

image.png

Рисунок 10 - Формы выбора или создания контрагента 

Как мы можем видеть на рисунке 10, программа по указанному в поля ФИО нашла совпадения в программе и предлагает нам выбрать из имеющегося списка, последнее является приоритетным. Но Вам как конечному пользователю всегда предлагается выбрать конечное решение. Если Варианты в списке Вам не подходят, то для создания контрагента Вам необходимо заполнить два обязательных поля "Вид контрагента" и "Группа контрагента", ведь программа не знает какой вид у контрагента ввиду отсутствия ИНН на платформе и изменчивости иерархической структуры в 1С. После заполнения данных, если список похожих контрагентов заполнен хотя бы одним значением, у Вас еще раз поинтересуются, хотите ли вы продолжить создание, когда можно выбрать значение из списка (см. рис. 11).

image.png

Рисунок 11 - Уведомление при создании нового элемента справочника

И чтобы Вы не выбрали в окне, программа создаст элемент или поместит в окно контрагента выбранное Вами значение (см. рис. 12).

Видео-04-08-2025 12_39_32.gif

Рисунок 12 - Выбор или создание контрагента

Последним штрихом является уникальный идентификатор отчета, который Вы можете найти в адресе отчета ФД. Список ссылок на отчеты ФД вы можете найти по данной ссылке: https://docs.google.com/spreadsheets/d/1tLr0RYtTKWHNGUen8E057PfGg0DFnbLa8ry10J-trA0/edit?gid=0#gid=0.

Для получения уникального идентификатора отчета, откройте таблицу в Google и в строке с URL, найдите длинный номер состоящий из большого количества цифр и букв заключённым между двумя слэшами (см. рис. 13): 

image.png

Рисунок 13 - Местоположение уникального идентификатора в отчете ФД

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

Добавление сервисного аккаунта

Как уже было описано выше, при поиске идентификатора отчета, рекомендуется сразу выдать права на чтение сервисному аккаунту, с помощью которого 1С может получить доступ к данным ФД. Адрес электронной почты сервисного аккаунта: noboring-finance@noboring-finance-451607.iam.gserviceaccount.com

Для того чтобы добавить электронную почту в список, Вам в верхнем правом углу таблицы необходимо найти настройки доступа (см. рис. 14):

image.png

Рисунок 14 - Местоположение кнопки "Настройки доступа"

В открывшейся форме в виде в поле поиска указанную ранее почту (см. рис. 15):

Видео-04-08-2025 13_25_21.gif

Рисунок 15 - Механизм отправки доступа

После предоставления доступа рекомендуется вернуться в настройки доступа (см. рис. 14) и установить права на чтение, поскольку веб сервис работающий под данным аккаунтом только читает данные, а не изменяет последние (см. рис. 16):

image.png

Рисунок 16 - Назначение прав на чтение

Обработка "Мой помощник ChatGPT"

После всех необходимых приготовлений описанных выше, мы можем приступать к получению и формированию отчетов. Формирование актов происходит в обработке "Мой помощник  ChatGPT". Обработка находится в подсистеме "Нескучные финансы" и если в 1С на начальной странице у Вас не отображается данная подсистема, рекомендуется обратиться к администратору. При переходе в обработку нас встречает начальное окно (см. рис. 17), на котором приведена приветственная информация перед началом работы. Для перехода на основное окно необходимо нажать кнопку "Начать":

image.png

Рисунок 17 - Приветственное окно

Далее, открывается ваше основное рабочее поле (см. рис. 18): 

image.png

Рисунок 18 - Основное рабочее окно

Чат с ИИ

На одном окне мы с Вами  не ограничимся, а перед его рассмотрением я расскажу о еще одном вашем помощнике. И это закладка, которая позволит вам задать любой вопрос напрямую ИИ. Находится данный чат на соседней закладке с "Google Sheets" и называется "ChatGPT" (см. рис. 19):

image.png

Рисунок 19 - Местоположение закладки "ChatGPT"

Для того чтобы задать вопрос ИИ,, необходимо написать его в поле под основной таблицей (см. рис. 20):

image.png

Рисунок 20 - Поле ввода вопроса

После того как Вы сформировали вопрос для его передачи Вам необходимо нажать на кнопку "Отправить запрос" (см. рис 21):

image.png

Рисунок 21 - Местоположение кнопки "Отправить"

После отправки сообщения, в табло сверху высветится поле ожидания ответа от ИИ, поскольку ответы генерируются не моментально (см. рис. 22):

image.png

Рисунок 22 - Поле ожидания ответа от ИИ

После обработки это поле поменяется на сгенерированный ответ от ChatGPT (см. рис. 23):

image.png

Рисунок 23 - Ответ от нейросети

Все ваши запросы хранятся в  истории взаимодействий, которая по датам отражается справа в окне (см. рис. 24):

image.png

Рисунок 24 - История взаимодействий пользователей

Ваша история доступна только Вам и только Вам, другой пользователь не увидит что вы спрашивали у нейросети! История доступна Вам за весь период в рамках которого Вы общались с ИИ. В любой момент, если Вам понадобилась информация из прошлых запросов, вы можете найти необходимый запрос в истории и по двойному клику на строку он отобразится в верхнем поле (см. рис. 25):

Видео-04-08-2025 14_11_47.gif

Рисунок 25 - Взаимодействие с историей запросов

После ознакомления с дополнительными функциями мы смело можем переходить к созданию и получению информации Финансовых директоров.

Создание отчетов ФД с помощью ИИ

Получение данных от Google Sheets

Как говорил великий предприниматель "Кот Матроскин": "Чтобы продать что-то бесполезное, надо сначала купить что-то бесполезное". Так и нам, чтобы создать что-то полезное, надо сначала получить что-то полезное. И для получения пользы нам необходимо загрузить данные ФД за период. Делается это с помощью команды "Получить данные" (см. рис. 26):

image.png

Рисунок 26 - Местоположение команды "Получить данные"

Но если нажать кнопку без указания периода в блоке отборы, то программа Вам напомнит это сделать показав предупреждение (см. рис. 27):

image.png

Рисунок 27 - Уведомление о незаполненном периоде

К сожалению, период при заполнении является основным показателем, который влияет на отбор данных и дальнейшее формирование документов. Поэтому перед получением данных мы выбираем период, причем, он обязательно должен быть равен одному месяцу, т.е. мы получаем данные только за январь или только за февраль, в противном случае получите предупреждение (см. рис. 28):

image.png

Рисунок 29 - Предупреждение о большом периоде выборки

После того как Вы укажите правильное значение, можно приступать к получению данных по команде "Получить данные". После запуска команды, перед Вами откроется окно ожидания завершения получения данных (см. рис. 30). Следует отметить, что все задания выполняются в фоне и о время ожидания ответа, Вы можете пойти отправить письма из 1С или посмотреть какой-нибудь отчет. 

Видео-04-08-2025 14_38_43 (1).gif

Рисунок 30 - Окно ожидания 

После окончания завершения загрузки таблица заполняется данными полученными из Google Sheets, а если за этот период ранее были созданы акты и они не подписаны (об этом мы расскажем чуть позже), то они также подтянутся в таблицу (см. рис. 31):

image.png

Рисунок 31 - Заполненная таблица с данными актов

В случае если возникнет ошибка при получении данных, то программа по таким проблемным строкам подсветит ячейку с ошибкой (см. рис. 32):

image.png

Рисунок 32 - Ошибка при получении данных

В основном текст ошибки выглядит таким образом: 

Ошибка

Google API error - [403] The caller does not have permission

Данная ошибка означает, что у служебного пользователя нет доступа до данных в таблице и необходимо вернуться на пункт "Добавление сервисного аккаунта" и проделать описанные в нем процедуры.

После получения данных ез таблички, нам необходимо перейти к следующему этапу: "Получение данных от Chat GPT".

Получение данных от Chat GPT (часть 1)

После заполнения таблицы данными, нам необходимо сформировать небольшой отчет о проделанной работе финансового директора. Для выполнения этого пункта необходимо указать шаблон запроса, в котором описаны основные критерии для получения четкой и структурированной информации о проделанной работе. По умолчанию в систему будет существовать шаблон "Оператор 1С", который содержит в себе заранее готовые паттерны формирования сообщения (см. рис. 34), указывается данный шаблон в разделе шаблонов (см. рис. 33).  Текст шаблона приведен ниже:

Текст шаблона

Представь ты оператор 1С в компании, которая предоставляет услуги финансовых консультаций и аутстафф финансовых директоров. Каждый месяц ты выписываешь 100 актов выполненных работ по оказанию услуг. Твоя задача по нижеописанным пунктам сформировать отчет в [юридическом стиле] о проделанной работе длиной [250-300] слов. В котором избегались бы слова ["Работа", "Должностные обязанности", "не менее", "не более", "Изучено"], вместо это было бы использовано слово ["Услуга", "Сформирован баланс", "Проведена координация", "Осуществлена"]. Слово "Оказано" рекомендуется использовать пару раз за весь отчет. Слово [Кайдзен] заменить на [внутреннее мероприятие]. Исключить шапку из текста отчета и рассматривать выполнение в виде перечисления с формальной окраской пунктов. В случае если происходит группировка по повторяющимся услугам мы формируем представление данной услуги исходя из ее названия задачи, т.е., "Не оказано 3 услуги", а "Сформирован баланс", "Проведена координация" и т.д. Также не требуется делать вывод по оказанной работе. Только пункты содержащие структурированные данные. При этом при группировке услуг, числовые показатели необходимо исключить. При этом при разбиении пунктов, необходимо выделять цифровыми маркерами, например, 1. 2. 3. и т.д. Пункты для формирования отчета: 

image.png

Рисунок 33 - Местоположение поля "Шаблон"

image.png

Рисунок 34 - Основной шаблон запроса

Просмотреть данные шаблон, а также создать свой собственный можно в справочнике "Шаблоны запросов", который находится в подразделе "Chat GPT" (см. рис. 35): 

image.png

Рисунок 35 - Местоположение справочника "Шаблоны запросов"

Шаблоны запросов

Шаблон представляет из себя обычное текстовое поле в которое вы вводите сообщение для ИИ в произвольном формате. Для удобства и правильности формирования шаблона внутри элемента заключена краткая инструкция (см. рис. 36), которая поможет Вам согласно определённым правилам подготовить нужный Вам текст сообщения. Также новый шаблон Вы можете испробовать в чате с ИИ на основе тестовых данных, чтобы посмотреть какой ответ она присылает. Инструкция по взаимодействию через чат описана в пункте "Чат с ИИ".

image.png

Рисунок 36 - Инструкция для формирования шаблона

После написания шаблона, для сохранения информации, Вам необходимо будет придумать название для Вашего шаблона и записать его в одноименное поле внутри карточки шаблона (см. рис. 37):

image.png

Рисунок 37 - Поле для заполнения названия

После записи, Ваш шаблон будет для выбора в обработке (см. рис. 38):

image.png

Рисунок 38 - Список выбора шаблона

После выбора нужного Вам шаблона, его текст отобразится в верхнем относительно поля шаблона поле (см. рис. 39):

Видео-04-08-2025 15_28_46.gif

Рисунок 39 - Выбор шаблона

Получение данных от Chat GPT (часть 2)

После ознакомления и выбора шаблона пришла пора приступать к формированию ответа от ИИ. Для этого необходимо рядом с ранее выполненной командой "Получить данные" запустить команду "Получить результат от ChatGPT" (см. рис. 40):

image.png

Рисунок 40 - Местоположение команды "Получить результат от ChatGPT"

В случае, если Вы забыли выбрать шаблон, то программа автоматически напомнит Вам о том что шаблон пустой и требуется его выбрать (см. рис. 41), но если Вы захотите то можете отправить запрос без шаблона, но результат будет непредсказуемый:

image.png

Рисунок 41 - Текст уведомления

После запуска команды в правом нижнем углу отбора появится картинка ожидания и будет отображаться статус о том сколько строк на данном этапе обработано (см. рис. 42):

image.png

Рисунок 42 - Шкала прогресса обработки данных

После того как все строки в которых были заполнены данные задач этого месяца, в том же правом углу высветится окно о том что магия свершилась, а столбик "Результат выполнения задачи" заполнится ответами от Chat GPT (см. рис. 43):

image.png

Рисунок 43 - Заполненные данные и уведомление о готовности данных

Если Вас не устроил ответ ИИ, то вы можете в поле текста шаблона скорректировать шаблон и повторить попытку получения данных выполнить заново описанные выше действия.

Создание отчетов на основании ответа от ИИ

После того как вы получили от Google и сформировали данные результат работы, Вы можете приступать к формированию или обновлению отчетов. Отсюда может возникнуть логичный вопрос, что такое обновление отчетов, вот с созданием понятно, а что такое обновление? Под обновлением подразумевается обновление информации в табличной части уже сформированного отчета (см. рис. 44):

 image.png

Рисунок 44 - Данные которые будут заменены в уже существующем отчете

Здесь стоит помнить, что данные обновляются только в том случае, если отчет не подписан, в противном случае его даже не будет в данном списке как и ФД.

Для выполнения команды создания и обновления отчетов служит команда "Создать или обновить отчет" (см. рис. 45): 

image.png

Рисунок 45 - Местоположение команды "Создать или обновить отчет"

После выполнения команды в строках где был указан отчет, данные содержания обновятся, а по строкам в которых он отсутствует будет создан. При это в отчете будет указан именно тот контрагент, которого мы выбрали или создали в пункте заполнения карточки ФД (см. рис. 46):

Видео-04-08-2025 16_19_14 (1).gif

Рисунок 46 - Создание отчет ФД на основании данных в карточке ФД

На данном этапе работа по созданию отчетов завершена!

Отправка отчета на электронную почту

После того как мы сформировали акты, мы можем отправить их на электронную почту или через ЭДО, последний описан в отдельном пункте "Отправка отчета по ЭДО". 

Отправить письмо с отчетом мы можем из 3-х мест: 

  1. Обработка по созданию Отчетов;
  2. Форма списка всех отчетов; 
  3. Из документа "Отчет финансового директора".

Остановимся на каждом пункте отдельно:

Отправка из обработки по созданию отчетов

После создания или заполнения актов за период, Вы можете отправить данные прямо из списка. Но перед отправкой у Вас может возникнуть вопрос, а куда они будут отправлены? Отправлены они будут на ту почту, которая указана в карточке ФД (см. рис. 47): 

image.png

Рисунок 47 - Почта для отправки

Посмотреть карточку ФД можно прямо из списка отчетов, для этого надо выделить ячейку с финансовым директором и нажать на кнопку с двумя квадратами (см. рис. 48):

Видео-04-08-2025 16_31_42.gif

Рисунок 48 - Механизм расшифровки данных ФД

Отправка из обработки осуществляется с помощью выделения нужных строк. Для выделения вы можете при нажатии "ctrl" + ЛКМ (см. рис. 49). Для выделения всего списка, рекомендуется использовать "ctrl" + A (см. рис. 50).

Видео-04-08-2025 16_35_03.gif

Рисунок 49 - Частичное выделение

Видео-04-08-2025 16_35_19.gif

Рисунок 50 - Полное выделение

После выбора необходимых строк, Вам необходимо вызвать команду на которой изображен конверт (см. рис. 51). После чего запускается регламентное задание по отправке сообщения. Но перед вызовом этой команды Вам необходимо выбрать шаблон сообщения, который будет содержать желаемый для Вас текст сообщения и тему, которая будет отображаться у конечного получателя (см. рис. 52):

image.png

Рисунок 51 - Местоположение команды "Отправить"

image.png

Рисунок 52 - Поле выбора шаблона

Если Вы забудете выбрать шаблон, то программа Вам автоматически поле и скажет что отправка не может быть осуществлена без шаблона (см. рис. 53):

image.png

Рисунок 53 - Сообщение о выборе шаблона

После шаблона, начинается отправка данных на электронную почту, после которой Вам покажут сообщение о том сколько электронных писем было отправлено (см. рис. 54): 

image.png

Рисунок 54 - Сообщение по завершению отправки сообщений

Отправка через форму списка

Попасть на форму списка документов возможно из подсистемы "Нескучные финансы", для этого достаточно ее раскрыть и в подразделе "Chat GPT" вы увидите пункт "Отчет финаyсового директора (CFO)" (см. рис. 55):

image.png

Рисунок 55 -Местоположение списка документов в подсистеме

При открытии формы перед нами предстает весь список отчетов, которые доступны нам для отправки. Как и в случае со список из обработки на доступна функция выборочной или полной отправки (см. рис. 49-50). Для отправки письма Вам необходимо выбрать нужные документы и нажать на кнопку отправить (см. рис. 56): 

image.png

Рисунок 56 - Местоположение кнопки "Отправить"

После вызова команды откроется форма выбора шаблона для отправки (см. рис. 57):

image.png

Рисунок 57 - Форма выбора шаблона

Данная форма состоит из трех полей: 

  1. Поле учетной записи;
  2. Поле шаблона; 
  3. Поле содержания письма.

Поле учетной записи заполняется по умолчанию системной учетной запись, если она настроена. именно с данной почты осуществляется отправка писем клиентам и ФД. Вы можете ее сменить на любую другую, которая есть в программе, но я рекомендую ее не менять. 

В левой таблице приведен список всех доступных Вам шаблонов с помощью которых вы можете сформировать тему и тело письма. Я выбираю специальный шаблон в списке, который называется: "Шаблон отправки сообщений "Отчет ФД" (см. рис 58): 

image.png

Рисунок 58 - Искомый шаблон

Также, на рисунке 58 видно, что в правой таблице находятся пример текста сообщения указанного в шаблоне. Нужно это поле для демонстрации содержания сообщения, чтобы Вы не выбирали в слепую шаблон сообщения. После выбора шаблона и учетной записи, Вам нужно нажать кнопку "Сформировать и отправить", после чего сообщения отправятся на электронные почты финансовых директоров. После отправки, программа покажет Вам сообщение о том, сколько писем по данным скольки строк было отправлено (см. рис. 59): 

image.png

Рисунок 59 - Сообщение об отправленных письмах

Отправка через форму документа

Отправка печатной формы с формы документа осуществляется аналогично тому как это делается с формы списка в пункте "отправка через форму списка", за исключением того, что нельзя массово выбрать документы для отправки, а отправить можно только один открытый документ с помощью уже знакомой нам кнопки "Отправить" (см. рис. 60):

image.png

Рисунок 60 - Местоположение кнопки отправить на форме документа

Отправка отчета по ЭДО

Помимо отправки данных на электронную почту, у нас есть возможность отправить данные по ЭДО. Такая возможность доступна из формы списка или с формы документа. Для этого переназначена команда "Отправить в СБИС" (см. рис. 61): 

image.png

Рисунок 61 - Команда отправки по ЭДО

При выполнении данной команды по ЭДО отправляются данные в формате pdf, контрагенту, указанному внутри самого документа. Причем при отправке с формы списка, к печати будет направлен документ сформированный по последней выделенной строке, в случае массового выделения. Сам процесс похож на стандартную отправку через СБИС, например "Счета на оплату". Сначала вызывается форма авторизации (см. рис. 62):

image.png

Рисунок 62 - Форма авторизации

После прохождения формы авторизации открывается окно отправки отчета указанному финасовому директору (см. рис. 63):

image.png

Рисунок 63 - Форма отправки документа по ЭДО

При этом ПФ, которую мы отправляем по ЭДО мы перед отправкой можем просмотреть и в случае чего отменить отправку или скорректировать данные внутри документа и повторить отправку (см. рис. 64):

Видео-05-08-2025 08_18_36.gif

Рисунок 64 - Просмотр сообщения по ЭДО

После того как Вы проверите данные, вы можете приступать  к отправке используя команду "Отправить" (см. рис. 65):

image.png

Рисунок 65 - Местоположение команды отправить

Массовая отправка по ЭДО

Не смотря на то, что ранее я уже писал о невозможности отправить массово данные по отчетам, это не отрицает возможности отправки их через обработку сбиса. В ходе разработки, обработка была модернизирована и в список документов был добавлен новый документ "Отчет ФД" (см. рис. 66):

image.png

Рисунок 66 - Список документов в обработку СБИС

И именно отсюда мы можем массово отправить документы за период, выделив все строки за какой-то период и по нажатию на кнопку "отправить", сформировать сразу несколько писем по ЭДО (см. рис. 67):

image.png

Рисунок 67 - Список всех выделенных документов

Заключение

Таким образом, в ходе данной статьи мы с Вами разобрали все механизмы и прошли путь от заполнения данных контрагента до получения, формирования отчетов и отправки их по электронной почте или ЭДО. Приятно Вам пользовательского опыта на пути знакомства и работы с описанным выше механизмом! 

Ваш Maxis Team! ❤️