Эта статья для тех, кто использует G Suite и 1С.

ПИК Digital — ИТ-компания, которая делает стройку технологичной. В прошлом году мы перевели Группу Компаний ПИК на G Suite. Для полноценной работы с Google Таблицами и Документами потребовалось доработать наши системы.

Одна из таких доработок — расширение для выгрузки отчетов и форм из 1С в Google Диск в формате Google Таблиц и Google Документов. В статье мы поделимся готовым решением и полезной информацией по его внедрению. Расширение бесплатное. Берите и пользуйтесь.

Скачать расширение

Посмотреть код на GitHub

Для работы расширения потребуется:

  1. Зарегистрировать аккаунт Google
  2. Создать проект в Google Cloud Platform
  3. Создать OAuth-клиент
  4. Настроить доступ к Google Drive API
  5. Установить расширение 1С
  6. Настроить подключение к Google API в 1С

Далее рассмотрим каждый этап в отдельности и приведем примеры кода.

Регистрация аккаунта Google

Для работы потребуется аккаунт Google. Без него расширение не сможет взаимодействовать с сервисами G Suite. Уже есть действующая учетка — используйте её.

Создание проекта в GCP

Для активации доступа к Google Drive API необходимо создать проект в Google Cloud Platform (GCP). Есть два варианта бесплатной работы с GCP:

  • 12-месячный пробный период — с бюджетом в 300 долларов США.
  • Always Free — доступ к большинству ресурсов GCP.

Оба способа имеют ограничения, подробнее о них рассказано в тут. Рекомендуем вариант с 12-месячным пробным периодом. После окончания пробного периода деньги не будут списываться, если вы не начнете пользоваться платными услугами. Все, что необходимо для работы интеграции бесплатно.Регистрируем проект по ссылке console.cloud.google.com, жмём «Выберите проект», затем — «Создать проект». После создания проекта выбираем его повторным нажатием кнопки «Выберите проект».

Создание OAuth-клиента

Создадим учетные данные для подключения к G Suite по протоколу OAUth 2.0. В GCP идём в пункт меню «API и сервисы» — «Учетные данные» — «Создать учетные данные» — «Идентификатор ключа OAUth».Появится предложение создать окно запроса доступа. Это окно формируется, когда у пользователя спрашивают разрешение на доступ к его данным.

Оставьте тип доступа «Открытый доступ» и введите название приложения, которое будет отображаться, когда сотрудник запустит проект и потребуется согласие на доступ к данным. Нажмите «Сохранить». После этого задайте «Тип приложения». Выберите «Другие типы» и введите идентификатор клиента OAuth. Обратите внимание, что это не то же самое, что отображаемое название приложения. В результате откроется окно с идентификатором и секретом клиента. Сохраните их, это важно.

Подключение библиотеки Google Drive API

Для получения доступа к функционалу API перейдите в пункт меню «Библиотека API», найдите нужную библиотеку и подключите ее.

Поскольку мы хотим работать с форматами G Suite, необходимо подключить к проекту библиотеку Google Drive API. Кроме того, нам понадобится библиотека Google Sheets API, Google Docs API. Найдите и подключите ее таким же способом.

Установка расширения в пользовательском режиме

Теперь можно формировать запросы к API. Напомним: наша задача — выгрузить данные из отчета 1С стандартной формы в Google Таблицу или Google Документ.

Скачайте расширение 1С.

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

Наше расширение работает с платформой начиная с версии 8.3.10, на конфигурациях БП (начиная с 3.0.65 и выше), ERP (начиная с 2.4.6 и выше) и УТ (начиная с 11.4.6 и выше).

Если при установке расширения у вас отобразится предупреждение безопасности, нажимайте «Да». Вы увидите сообщение о том, что «Текущее выполнение действия было прервано для выдачи предупреждения». Это означает, что у вас включен безопасный режим, поэтому процедуру добавления расширения нужно повторить, а безопасный режим — отключить. После добавления перезапустите 1С.

Если установка прошла успешно, то вы увидите кнопку «Сохранить на Google Drive» в отчётах и печатных формах.

Настройка параметров подключения к Google API в 1С

Осталось настроить параметры подключения к Google API, и можно работать. Снова выбираем в меню пункт «Все функции» и в разделе «Обработки» ищем пункт «Параметры подключения к Google API».

Заполняем поля Clientid, Clientsecret и «Порт» значениями, полученными при создании проекта в GCP. По умолчанию подставляются имя файла и папки, где будут сохранены временные ключи, используемые для подключения. Данные о ключах (refresh и access-токены) пользователя в целях безопасности сохраняются в каталог временных файлов текущего пользователя, в папку <имя папки> и в файл <имя файла>. Если один и тот же проект Google создается в разных конфигурациях, имя файла можно сделать одинаковым во всех из них, чтобы не создавать несколько файлов с одинаковой информацией. При сохранении параметры подключения сохраняются в хранилище общих настроек.

Сохранение отчета

Теперь вы сможете сохранять отчеты в формате Google Таблиц и Google Документов на Google Диске.При первой попытке сохранить отчет вам потребуется пройти в каждой конфигурации разовую процедуру авторизация пользователя, чтобы сервис получил права доступа для сохранения данных.

В появившемся окне введите адрес своей электронной почты Gmail и пароль. Далее в открывшемся окне нажмите «Разрешить». Так вы даёте приложению сохранить информацию в вашем Google Диске.

Вам потребуется ввести имя файла, выбрать его тип и каталог для сохранения на общем или личном диске. Нажмите «Сохранить». После сохранения отчет откроется в браузере. Приятного просмотра.

Разбор кода читайте в нашей статье на Habr https://habr.com/ru/company/pik_digital/blog/437824/