Чтение Google Spreadsheet из 1C на примере простой службы Help Desk

23.06.12

Интеграция - Загрузка и выгрузка в Excel

В статье рассматривается работа с Excel-подобными таблицами (spreadsheet) Гугл через Web API этой службы (только чтение). А также практический пример использования Google Spreadsheet для простейшей организации службы поддержки Help Desk.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
down.zip
.zip 8,88Kb
93
93 Скачать (1 SM) Купить за 1 850 руб.

В статье рассматривается работа с Excel-подобными таблицами (spreadsheet) Гугл через Web API этой службы (только чтение). А также практический пример использования Google Spreadsheet для простейшей организации службы поддержки Help Desk.

Организация службы поддержки с помощью Google Spreadsheet

Google Spreadsheet – это аналог таблиц Excel, с которыми могут работать несколько пользователей одновременно. Такой функционал позволяет развернуть на их базе простейшую коммуникацию специалистов службы поддержки.

Если все обращения пользователей поступают на один почтовый ящик, то кто-то назначается ответственным по разбору почты и регистрации заявок. Каждой заявке добавляется одна строка в Google-документе. Можно регистрировать заявки и каждому из специалистов поддержки при просмотре почты – зарегистрирована заявка или нет видно по списку.

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

Инструменты — Управление скриптами, далее функция onEdit:

Добавляем скрипт:

function twoDigit(value) {

    return (value < 10 ? '0' : '') + value;

}

function formatRfc3339(date) {

    var y = date.getUTCFullYear();
    var l = twoDigit(date.getUTCMonth() + 1);
    var d = twoDigit(date.getUTCDate());
    var h = twoDigit(date.getUTCHours() + 3);
    var m = twoDigit(date.getUTCMinutes());
    var s = twoDigit(date.getUTCSeconds());

    return d + '.' + l + '.' + y + ' ' + h + ':' + m + ':' + s;

}

function onEdit(event) {

    var range = event.source.getActiveRange();
    var Row = range.getRow();
    var timestamp = formatRfc3339(new Date());
    var user = event.user;
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
    var cell = sheet.getRange(Row, 2);
    var col = range.getColumnIndex();
    var shname = sheet.getName();

    if ((cell.getValue() == "") && (col != 2) && (shname == "HelpDesk")) {

        cell.setValue(timestamp);

    }

}

В таблице для организации службы поддержки используются следующие колонки:

  • Дата, время – дата и время обращения
  • Заявитель – кто обратился с заявкой
  • Тема – тема, краткое содержание заявки
  • Специалист – кто из специалистов поддержки взялся за задание
  • Статус – статус задания
  • Комментарий – комментарий по ходу выполнения
  • Часы – затраченное на задание время

 

При этом простым пользователям можно прямо в 1С показывать состояние обработки заданий. Хотя, конечно, можно и давать ссылку на гугл-страницу, но иногда проще реализовать монитор заданий в 1С, чем объяснять пользователям куда ходить и смотреть. К тому же, можно скрыть часть служебной информации, отфильтровать записи и т.п.

Принципы чтения Google Spreadsheet

Описание API Google реализовано тут:

http://code.google.com/apis/spreadsheets/data/1.0/reference.html

Нюансы, касающиеся аутентификации, рассмотрены тут:

http://code.google.com/apis/spreadsheets/data/1.0/developers_guide_protocol.html#AuthSubHTTP

Тем не менее, в реализации возникли некоторые сложности, которые удалось решить только обращением на форум sql.ru:

 

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

На практике для чтения публичных и приватных документов требуется указывать различные адреса потоков public/values и private/full соответственно, как это делается в коде обработки:

Соединение = Новый HTTPСоединение("spreadsheets.google.com", , , , , Истина);
ИДФайла = "0Ao9KCEqHCZbidGVlUVcyYmt0NTlid2VDZ1ZxSF9vbHc";
Если ИмяПользователя = "" Тогда
    Соединение.Получить("/feeds/list/" + ИДФайла + "/od8/public/values", ФайлИД);
Иначе
    Соединение = Новый HTTPСоединение("spreadsheets.google.com", , , , , Истина);
    Соединение.Получить("feeds/list/" + ИДФайла + "/od8/private/full", ФайлИд, Заголовки);
КонецЕсли;

Демонстрационная обработка

Обработка из примера читает гугл-документ, расположенный по адресу: https://docs.google.com/spreadsheet/ccc?key=0Ao9KCEqHCZbidGVlUVcyYmt0NTlid2VDZ1ZxSF9vbHc :

Обработка реализована для чтения документа определенной структуры, поэтому нет поля ввода для чтения документа по другому адресу.

При этом она разукрашивает статусы разным цветом.

Можно отбирать заявки только за последние две недели.

Результат имеет вид:

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    20786    21    49    

38

SALE! 20%

Загрузка и выгрузка в Excel Оптовая торговля Печатные формы Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С одним нажатием. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

6000 5100 руб.

09.11.2016    234521    1062    898    

1003

Поиск данных Внешние источники данных Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Если вам нужно автоматически генерировать представления (view) к вашей базе данных 1С (есть две версии - для СУБД MS SQL Server и для PostgreSQL) по структуре метаданных 1С, то вам необходима данная обработка. Наш "Генератор View", другими словами - это коннектор к данным 1С для Power BI - незаменимый помощник для бизнес-аналитиков, работающих с базами 1С из Yandex Datalens/Power BI и т.д. Работает для обычных и управляемых форм под 1С 8.3

230000 руб.

31.07.2020    13771    13    48    

25

Внешние источники данных Зарплата Бюджетный учет Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

48000 руб.

24.04.2017    51126    101    165    

89

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    10819    13    8    

15

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    25093    22    1    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 24.06.12 00:14
Сообщение было скрыто модератором.
...
2. sai_NT 24.06.12 00:27 Сейчас в теме
(1) Eugeneer, кстати не так много рускоязычной инфы по работе со спредшитами (таблицами) от корпорации добра...
Я в свое время когда писал выгрузку отчета в ранее отформатированный спредшит ой как намучался, хотя до этого уже был опыт постинга в гугл-календарь. В любом случае нужная разработка в своей тематике!
anderson; +1 Ответить
3. iov 407 24.06.12 00:58 Сейчас в теме
(1) Я вот прям никак не пойму картину "черный квадрат" но она стоит много денег и считается мировым достоянием или как-то так... Так вот это я к чему пусть пишет... Это лучше чем в политику или гопники...
И тем более не лукавь - ты же прочитал - да еще и отписался - хотя в реально бесполезных темах - тебя замечено не было...
4. fixin 4273 24.06.12 09:28 Сейчас в теме
(1) я на базе Google Spreadsheets делал службу HelpDesk, как и описано в примере. Мало ли где нужна коллективная работа, ;-)

(2)(3) спасибо.
5. rus128 2 27.06.12 13:37 Сейчас в теме
не, за информацию по взаимодействию с Google Spreadsheets - спасибо, конечно, но делать HelpDesk на ее базе - это жесть...
как в нее внести заявку "не работает интернет"? :-)
6. fixin 4273 27.06.12 14:14 Сейчас в теме
(5) это HelpDesk по вопросам 1С. а не по вопросам интернета. Интересно, а как вы внесете заявку про интернет в любой ХелпДекс? Бугога.
7. rus128 2 27.06.12 15:09 Сейчас в теме
(6) а чо "бугога"? или реализация HelpDesk без интернета невозможна по определению?
на одном из прошлых мест работы HelpDesk был реализован на веб-приложении, на другом - не поверите - даже на 1С 8.1/8.2! :-)
8. fixin 4273 27.06.12 15:38 Сейчас в теме
(7) это если специалисты поддержки находятся в пределах интранет. Что натянуто как-то.
9. Abadonna 3968 27.06.12 16:07 Сейчас в теме
(6), (7)
Если бы наш сисадмин не был таким ленивым, он бы опубликовал, как сделать правильный Help-Desk в совокупности с корпоративным чатом ;)
Subject: Сообщение дня

Добро пожаловать! Информационно-техническая служба Сервис-М приветствует вас!

Напоминаем Вам, что запросы в службу технической поддержки принимаются в электронной форме по адресу http://help.its
Справочная информация о чате http://doc.its/chat/help
.... бла бла
// ссылки, разумеется, отсюда никуда не приведут

А Сережа пусть лучше обработки пишет, чем в форумах ругается.
Так что, fixin, плюс (но в уме)
10. fixin 4273 27.06.12 16:12 Сейчас в теме
(9) вот видишь, чтобы поднять такой ХД как у тебя, нужно иметь сисадмина, сервер PHP и MySQL. А тут без всяких сись-админов, взял и поднял в Гугле... Речь не о том, что у меня крутой ХД, а о том, что дешевый и сердитый. Надеюсь, теперь всё понятно?
11. Abadonna 3968 27.06.12 16:19 Сейчас в теме
(10) Дык я и не говорил, что у тебя плохой. Даже плюс в уме поставил ;)
12. fixin 4273 27.06.12 17:06 Сейчас в теме
(11) загадочны помыслы твои. остался ты мною не понят.
15. awk 744 28.06.12 20:32 Сейчас в теме
(9) Abadonna, Почему в уме? Идея хоть и через G, но вполне интересная своей нетривиальностью.... Хотя думаю, что бесплатный хостинг трака или редмайна найти в сети можно. Так что я пожалуй плюсану.
16. Abadonna 3968 30.06.12 03:02 Сейчас в теме
(15)
Почему в уме?

Потому что, если уж делать чисто одноэсовский Help Desk через инет, то и делать его надо 1С web-клиенте. Дешево, сердито, юзверям почти привычно. Но и такое решение, в общем, право на жизнь имеет, поэтому и в уме.
17. fixin 4273 30.06.12 09:14 Сейчас в теме
(16) вы не вкурили суть идеи - минимальными средтсвами.
зашел в гугл, поднял документ, раздал доступы и все.
сравните с другими вариантами - подымать апач, СКЛ сервер - для редмайна и подобных трекеров.
у вас ваще надо писать еще на 1с клиента и раздавать ключи доступа пользователям.
к тому же интерфейс экселя более понятен, чем интерфейс редмайна и подобных трекеров.
я не к тому, что хелпедеск через гугл - самый клевый, просто он самый простой.
адуырщдв; +1 1 Ответить
20. Abadonna 3968 01.07.12 07:27 Сейчас в теме
(17)
я не к тому, что хелпедеск через гугл - самый клевый, просто он самый простой.

Я тебе еще раз повторяю: я вовсе не говорил, что твое решение плохое.
Решение как решение.
23. Новиков 292 19.06.13 13:19 Сейчас в теме
(17)
сравните с другими вариантами - подымать апач, СКЛ сервер - для редмайна и подобных трекеров.


1. апач для редмайна устанавливать не обязательно. Для сабжа, в том ключе, который он описал вполне можно:
- либо юзать WEBrick, который идет вместе Ruby.
- либо доставить mongrel.
В первом случае - НИЧЕГО ДЕЛАТЬ НЕ НУЖНО, "оно само уже работает". В втором случае - написать одну команду в консоле.
Поэтому непонятно, что какую сложность Фиксин вкладывает в слово "подымать".

2.по поводу СУБД - можно выбрать тот сервер из поддерживаемых, который больше устраивает. Бесплатные в т.ч. Вся установка сходится к дальше-дальше-да-да-да-ок-ок. Опять не понятно, в чем затраты и сложность этого действия?

Сухой остаток: Redmine вместе с веб-сервером поднимается за 20 минут неторопливых действий. Сколько автор потратил на свои изыскания?

Но за статью я ставлю плюс, однозначно. Как демонстрация технической стороны вопросы.
За идею баг-трекера, суппорт-трекера и какого-то еще трекера - минус.
24. fixin 4273 19.06.13 14:02 Сейчас в теме
(23) Новиков, насколько же зашорено ваше сознание, боже мой!!!

Поймите, что ньюбу проще начать сразу с колес работать с Google Desk, чем разбираться 20 минут, как ставить сервер БАЗЫ ДАННЫХ и веб-сервер, какими бы простыми они не были. НЕ бывает серверов баз данных и веб-серверов с нулевым администрированием.

И потом, если вы напрактиковались ставить базы данных и веб-сервера за 20 минут, это не значит, что у ньюба это взлетит быстрее, чем за два часа.



Новиков, вы как с луны упали.

Хотя, если бы в интернете существовал НЕДОРОГОЙ платный сервис хелп-деск или коллективной работы, можно было бы им воспользоваться, как вариант.

И кстати, у наших клиентов стоит Redmine - никому не советую его в качестве хелп-деск, редкостное гуано.
Поэтому добавьте еще часа четыре на выбор, какой же из бесплатных хелп-десков выбрать. Эксель-подобные решения универсальнее.

Да. если ВСЕРЬЕЗ и НАДОЛГО, то нормальный хелпдеск лучше, спору нет.
А если на коленке и с колес, то нормалек и через Гугл-докс.
Светлый ум; +1 Ответить
25. Новиков 292 19.06.13 14:07 Сейчас в теме
(24)
И потом, если вы напрактиковались ставить базы данных и веб-сервера за 20 минут, это не значит, что у ньюба это взлетит быстрее, чем за два часа.


Вы описываете "ньюба" в лице себя, я так полагаю?
26. fixin 4273 19.06.13 14:14 Сейчас в теме
(25) как вариант. Новиков, вы поймите, что потребность в ХД может возникнуть не только в конторе, укомплектованной тру-админами, но и в мелкой организации, где нужны коллективные действия, и где даже корпоративного сайта нет.

Выйдите за рамки своей организации, подумайте о проблеме в общем. Пока нормальных средств взаимодействия, кроме гугл-докс нету.

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

В ИТ кризис - нет нормальных решений и нет анализа решений. Поэтому так много автоматизации на Экселе, спуститесь уже к реальной жизни, уважаемый олимпиец.
27. Новиков 292 19.06.13 14:31 Сейчас в теме
(26) Сергей, я даже не критиковал Вас, а вы уже ярлыки навешиваете в виде олимпийцев, луны и еже с ними. Я только высказал свою точку зрения. Если вы неприемлете это, укажите это в тексте статьи, я бы прошел мимо :)
28. fixin 4273 19.06.13 15:32 Сейчас в теме
(27) Я критикую не вас, а вашу точку зрения, используя красочные эпитеты. Если для вас такой стиль ведения дискуссии неприемлим, не будем ее продолжать. По существу вопроса я ответил, не нужно обсуждать офорление ответа. Обсуждайте аргументы, если дискуссия интересна.
18. awk 744 30.06.12 11:06 Сейчас в теме
(16) Abadonna,
Но и такое решение, в общем, право на жизнь имеет, поэтому и в уме.
Ясно. Другими словами не хочется светить свой ник в решении: "Как проводить топором хирургические операции". Плюс если в конце статьи написано, "берем скальпель" (это я про
Обработка из примера читает гугл-документ, расположенный по адресу:
).
19. fixin 4273 30.06.12 13:23 Сейчас в теме
13. vasiliy_b 284 28.06.12 09:38 Сейчас в теме
Отличная идея! Кстати в google есть еще формы, поэтому собирать информацию можно и через эти формы. Т.е создать список вопросов: Описание проблемы, конфигурация, тип проблемы, важность и т.д т.п. а все данные собираются уже в Spreadsheet.
14. fixin 4273 28.06.12 10:45 Сейчас в теме
(13) да, я в курсе за формы. Такие решения из серии - дешево и сердито. вообще началось с того, что ящик почтовый поддержки был один, а спецов, которые решали задачи - трое. Нужно было как-то взаимодействовать, чтобы разделять задачи.
Начали юзать хелпдеск.
21. адуырщдв 28 24.11.12 23:02 Сейчас в теме
Хорошее решение. Годно, конечно ж, не только для задачей обозначенных автором. Однозначно плюс.
22. адуырщдв 28 24.11.12 23:09 Сейчас в теме
(21) адуырщдв,
Например, три раза делали такое для 1. торгпредов с андроидами, 2. замерщиков и сборщиков с андроидами, и 3. босса фирмы просиживающего штаны в думе с ипадом :) Плюсы очевидны, недорого и надежно. Плюс ненужно никакого левого софта.
29. Новиков 292 19.06.13 15:42 Сейчас в теме
Если для вас такой стиль ведения дискуссии неприемлим, не будем ее продолжать

ок.
30. 7OH 70 11.04.14 01:17 Сейчас в теме
Ваш файл считывается хорошо.
А вот свой по примеру не выходит.
Файл открыт на полный доступ - его надо считать (люди добавляют данные, я считываю).
Исправил ссылку на /private/full, ошибка считывания исчезла, но файл получает пустой.
Поможете ?
Интересует тупо считывание таблицы в таблицу значений (может есть ещё публикации на эту тему)
Оставьте свое сообщение