Чтение и запись из таблиц гугл (google sheets) в табличный документ 1С (8.3, управляемые формы)

Публикация № 813261 09.04.18

Интеграция и обмен данными - Внешние источники данных

Обработка Управляемые формы Google sheets загрузка выгрузка табличный документ таблица гугл OAuth 2.0

Внешняя обработка на управляемой форме для 1С версии 8.3 для доступа к сервисам Google Sheets c использованием протокола авторизации OAuth 2.0. Выполняет получение списка листов таблицы гугл, чтение таблицы гугл в табличный документ 1С и запись из табличного документа 1С в таблицу гугл. Тестирование проводилось на платформе 1С:Предприятие 8.3 (8.3.11.2954).
Внимание! В обработке использовано 3 функции из БСП:
ОбщегоНазначенияКлиентСервер.СообщитьПользователю() 
СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку() 
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку() 

Обновление

18.05.18. Версия обработки 1.0.2.

Добавлена функция "Удалить строки". Демонстрация возможность удаления строк из таблицы Google указав определенный диапазон индексов строк для удаления.

Функции

  1. Авторизация в google используя протокол OAuth 2.0

    1. Запрос для получения authorization code ("Код доступа").

    2. Запрос для получения access_token и refresh token.

    3. Запрос для получения access_token используя refresh token.

  2. Взаимодействие из 1С с Google Sheets.

    1. Получение списка листов таблицы гугл

    2. Чтение данных из таблицы гугл и заполнение табличного документа 1С.

    3. Запись данных из табличного документа 1С в таблицу гугл.

  3. Дополнительно

    1. Сохранение параметров подключения и списка листов таблицы в данных формы.

    2. Условное представление элементов в зависимости от срока действия токена.

    3. Формирование ссылки для перехода к выбранному листу таблицы при выборе названия листа из списка.

Используемые источники

  1. В качестве основы были использованы обработки для обычных форм разработанные пользователем: echo77.

  2. Некоторая информация была получена из статей на infostart.ru.:

    1. Google Analytics API, Oauth2.0 и 1c8

    2. Получение доступа к скачиванию гугл-таблицы

  3. Информация с сайта гугл:

    1. Google API Console

    2. Using OAuth 2.0 to Access Google APIs

    3. Refreshing an access token (offline access)

Инструкция

Авторизация в google

Получить client ID and client secret

Необходимо используя Google API Console в рамках созданного проекта получить client ID and client secret

Запросить "Код доступа"

Для доступа к данным гугл необходимо при каждом запросе передавать access_token. При этом чтобы получить access_token, необходимо сначало получить authorization code "Код доступа".

В обработке на закладке “Параметры подключения”, при нажатии на “Запросить” - открывается окно браузера и выполняется переход на страницу авторизации гугл. При этом обязательно должны быть указаны “Client id” и “Client secret”, полученные на предыдущем шаге.

Код доступа можно использовать только один раз для получения access_token. Если access_token утерян, необходимо получить новый “Код доступа” который использовать для получения нового access_token (или использовать refresh token для получения нового access token)

Получить access_token

Любой запрос для доступа к данным требует указания access token-а в параметрах запроса. Для первичного получения “access token”, необходимы: “Client id”, “Client secret” и “Код доступа”.

“Aсcess token” имеет непродолжительное время жизни (3600 сек.).После окончания действия, необходимо:

- либо использовать refresh token и обновить access token

- либо опять повторить процесс: получить код доступа, используя новый код доступа - получить новый access token.

При нажатии "Получить" будет выполнен запрос для получения Аccess token и Refresh token, и будет рассчитан “Срок действия токена”

Запрос возвращает .json содержащий требуемую информацию, и токены заполняются в соответствующие поля на форме обработки:

После получения “Access token”, пока он действует можно обращаться к данным в гугл.

 

Обновить access_token используя refresh_token

После того как истек срок действия “access token” или раньше, можно использовать “refresh token”, чтобы получить новый access token, без использования браузера и получения кода доступа.

Существуют определенные ограничения на использование “refresh token” (подробности по ссылке)

Работа с таблицей гугл (Google Sheet)

Подключение к таблице и получение списка листов таблицы

Необходимо указать ссылку на таблицу гугл в строке “Ссылка на таблицу google”.

При указании ссылки, программа получит “ID таблицы”, выполнит подключение к таблице, прочитает список листов таблицы и заполнит список выбора для поля “Лист”.

При выборе листа из списка - формируется новый URL для доступ к таблице. По кнопке “открыть” выполняется переход в браузере к выбранному листу таблицы.

 

Чтение данных из таблицы гугл в табличный документ 1С

По кнопке “Прочитать таблицу” выполняется запрос, результат запроса обрабатывается и заполняется табличный документ

 

Запись данных табличного документа 1С в таблицу гугл

По кнопке “Записать таблицу” выполняется запрос в котором передается информация для записи в таблицу гугл.

18.05.18. Удаление строк из таблицы Google

Для удаления строк необходимо указать диапазон индексов С - ПО. Нумерация с 0-ля. Например для удаления 2-ой строки в таблице необходимо задать диапазон С = 1 ПО = 2.

 
 Под спойлером процедура демонстрирующая удаление строк:

 

Скачать файлы

Наименование Файл Версия Размер
Чтение и запись из таблиц гугл (google sheets) в табличный документ 1С (8.3, управляемые формы):

.epf 18,52Kb
455
.epf 1.0.2 18,52Kb 455 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Dzenn 775 10.04.18 12:36 Сейчас в теме
Спасибо за такие возможности! Не скачивал (эту версию), но уверен, что хорошая, годная разработка. Пользователям 1С теперь доступны чтение/запись гугл таблиц, и это прекрасно.
2. Ko1t 329 10.04.18 13:19 Сейчас в теме
(1) И Вам спасибо за оценку :)
22. пользователь 24.05.18 05:41
Сообщение было скрыто модератором.
...
23. пользователь 27.05.18 06:38
Сообщение было скрыто модератором.
...
3. Артано 730 11.04.18 04:56 Сейчас в теме
4. Duketm 30 11.04.18 09:17 Сейчас в теме
Хорошая работа. Спасибо. Актуальная вещь
5. UncleVader 128 11.04.18 09:27 Сейчас в теме
6. Ko1t 329 11.04.18 09:37 Сейчас в теме
Артано Майаров, Евгений Сахненко, Вадим Скакун, спасибо коллеги :)
7. DrAku1a 1576 11.04.18 10:48 Сейчас в теме
Респект! Очень пригодится!
8. Ko1t 329 11.04.18 11:11 Сейчас в теме
9. starik-2005 2799 12.04.18 10:16 Сейчас в теме
10. Ko1t 329 12.04.18 10:17 Сейчас в теме
11. logarifm 1110 13.04.18 01:48 Сейчас в теме
Пробежался глазами - годный инструмент но не проверялеще. +
13. Ko1t 329 13.04.18 09:40 Сейчас в теме
12. KAV2 13.04.18 03:24 Сейчас в теме
14. Ko1t 329 13.04.18 09:41 Сейчас в теме
(12) Smartsheet судя по всему классная штука, но для меня на данный момент не актуальная :)
15. rintik 19 17.05.18 12:05 Сейчас в теме
Спасибо большое. Работает. Только не могу разобраться как удалять строки.
16. Ko1t 329 17.05.18 12:38 Сейчас в теме
(15) Пожалуйста ).
Ссылка на пример запроса по удалению строк или колонок:
https://developers.google.com/sheets/api/samples/rowcolumn#delete_rows_or_columns
17. rintik 19 17.05.18 13:01 Сейчас в теме
(16) Да пытаюсь разобраться, только у гугла для меня один ответ ""message": "Invalid JSON payload received. Unknown name \"requests\": Cannot find field.","
18. Ko1t 329 18.05.18 12:41 Сейчас в теме
(17) Я попробовал реализовать удаление строк, у меня получилось.
На форме обработки я добавил 2 реквизита: "УдалитьИндексС","УдалитьИндексПО".
Например для удаления 2-ой строки в таблице надо указать:
УдалитьИндексС = 1 (индексация начинается с 0-ля);
УдалитьИндексПО = 2;
Под спойлером код процедуры:
Процедура УдалитьСтрокиОбработка()
lexxmaster; rintik; +2 Ответить
19. rintik 19 18.05.18 14:24 Сейчас в теме
(18) Круть. Еще раз спасибо большое.
20. kolya_tlt 79 23.05.18 09:46 Сейчас в теме
нравятся мне проекты ради проектов :)
21. Ko1t 329 23.05.18 11:21 Сейчас в теме
(20) как показывает практика, полученный в процессе опыт конвертируется в итоге в материальные и не только блага :)
24. user658699_heinrich2906 30.06.18 14:55 Сейчас в теме
Подскажите:
1. Код обработки открытый?
2. Реализована ли возможность формировать многостраничную гугл таблицу?
3. Можно ли из обработки прописать пользователей (гугл), которым будет доступна созданная гугл таблица?
25. Ko1t 329 30.06.18 23:07 Сейчас в теме
(24)
1. Код обработки открытый?

> Да
2. Реализована ли возможность формировать многостраничную гугл таблицу?

> Нет
3. Можно ли из обработки прописать пользователей (гугл), которым будет доступна созданная гугл таблица?

> Нет
p.s.
Все что может обработка изложено в описании со скриншотами :)
26. leobrn 520 06.07.18 14:21 Сейчас в теме
Если считывать публичную таблицу обязательно ли нужны токены доступа?
27. пользователь 09.07.18 12:00
Сообщение было скрыто модератором.
...
28. Ko1t 329 09.07.18 12:05 Сейчас в теме
(26)
Данная обработка при каждого обращении к данным передает в заголовке токен доступа.

Какая авторизация нужна для чтения публичных и приватных данных, а также ответ на ваш вопрос можно получить по ссылке: https://developers.google.com/sheets/api/guides/authorizing
29. пользователь 09.07.18 12:08
Сообщение было скрыто модератором.
...
30. Ko1t 329 09.07.18 12:24 Сейчас в теме
(26)
Данная обработка при каждом обращении к данным передает токен доступа.
Я не проверял как будет происходить доступ к публичным данным, но почитать об этом можно по ссылке: https://developers.google.com/sheets/api/guides/authorizing
31. torch 123 02.10.18 17:05 Сейчас в теме
Запустил Вашу обработку. Не могу получить листы моей гугл-таблицы. Ошибка:
{
"error": {
"code": 403,
"message": "Request had insufficient authentication scopes.",
"status": "PERMISSION_DENIED"
}
}
Судя по описанию жалуется на способ идентификации. Непонятно... Может сталкивались с этой ошибкой?
32. Ko1t 329 02.10.18 18:17 Сейчас в теме
(31)
Добрый день, судя по ошибке есть какая-то проблема с токеном доступа который вы используете.
Используемый вами токен доступа не позволяет обращаться к запрашиваемым данным.
Я лично с такой ошибкой не сталкивался.
Моя рекомендация будет, заново проделать настройки как это написано в разделе "Инструкция/Авторизация в google", сверяясь с приведенными скринами экрана.
35. kassbar 153 01.03.19 20:58 Сейчас в теме
(31) "Request had insufficient authentication scopes" не задан ни один параметр scopes очевидно.
33. torch 123 18.11.18 18:05 Сейчас в теме
Господа, еще один трабл. Я при каждом изменении остатков обновляю гугл-таблицу, но с определенного момента у клиентов в гугл-таблице перестали обновляться данные. У одного из них я почистил кеш и куки - все заработало. Но это не выход - клиентов много и всем объяснять нет возможности, писать инструкции без толку. Предполагаю что надо как-то снести все версии изменений гугл-таблицы и оставить только последнюю, актуальную версию, но не могу найти где это делается. Может кто-то сталкивался с такой проблемой?
34. Ko1t 329 24.11.18 11:59 Сейчас в теме
(33)
Добрый день. Я пробовал искать решения по очистке истории...
В основном сталкивался с такими ответами:
https://productforums.google.com/forum/#!topic/docs/h_NWUzDL3Po
Т.е. удалить историю нельзя программными способами.
История очищается только если делать копию файла.
36. kassbar 153 01.03.19 21:01 Сейчас в теме
у кого есть рабочий пример как получать данные не диапазонами, а по отбору на значения в колонках ?
например, получить все строки со значением в колонке А1 = 1.

можно ли получить например только колонки А и С ?
40. Ko1t 329 03.03.19 21:53 Сейчас в теме
(36)
у кого есть рабочий пример как получать данные не диапазонами, а по отбору на значения в колонках ?
например, получить все строки со значением в колонке А1 = 1.

Судя повсему используя текущий API это не получиться сделать. Доступны только следующие возможности фильтации при запросе данных:
https://developers.google.com/sheets/api/reference/rest/v4/DataFilter
Что-то похожее можно сделать для данных отображаемых при просмотре используя Filters
Возможно если программно выполнить SetBasicFilterRequest и затем чтение из таблицы, будут прочитанных отфильтрованные данные... надо пробовать.

можно ли получить например только колонки А и С ?

https://developers.google.com/sheets/api/guides/concepts#a1_notation
https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchGetByDataFilter
Судя по всему, что используя batchGetByDataFilter, можно задать отдельные dataFilters[], и получить только колонки А и С
41. kassbar 153 04.03.19 00:13 Сейчас в теме
(40)
Возможно если программно выполнить SetBasicFilterRequest и затем чтение из таблицы, будут прочитанных отфильтрованные данные... надо пробовать.

пробовал, через batchupdate ставил фильтры - не работает, возвращает всю таблицу.
Как-то очень печально такое от гугла видеть.

Пришлось через запросы "select..." к таблице получать нужные данные
"https://docs.google.com/spreadsheets/d/id_таблицы/gviz/tq?tqx=out:html&tq=select*"
выгрузить в csv: "tqx=out:csv"

работает только для опубликованных "по ссылке" таблиц
37. kassbar 153 01.03.19 22:58 Сейчас в теме
а для чего такая сложная схема с идентификацией ? можно через постоянный API-ключ получать доступ:
https://sheets.googleapis.com/v4/spreadsheets/idтаблицы/?key=АпиКлюч&includeGridData=true
38. Ko1t 329 03.03.19 16:43 Сейчас в теме
(37)
а для чего такая сложная схема с идентификацией ?

В рамках данной обработки реализован рекомендуемый Гуглом метод аутентификации OAuth 2.0 описанный по ссылке: https://developers.google.com/identity/protocols/OAuth2
можно через постоянный API-ключ получать доступ

Я не уверен что правильно понял, что вы имеете ввиду, но мне было бы интересно узнать подробнее.
Сбросьте пжл. ссылки где можно изучить детали про такой способ подключения? Может быть он более простой, но менее безопасный?
39. kassbar 153 03.03.19 19:22 Сейчас в теме
(38)
Я не уверен что правильно понял, что вы имеете ввиду

я же написал запрос, которым можно получить доступ к опубликованной по ссылке таблице, зная ее id и свой apikey.
вводите в этом запросе id таблицы, api-ключ гугла и получаете ее в json.
Лично мне не требовалось вносить в нее изменения, только читать данные, поэтому я дальше не копал.
42. kassbar 153 04.03.19 17:57 Сейчас в теме
Еще вопрос, получалось ли у кого-то выгрузить не публичный файл типа "таблица Гугл" (доступ открыт пользователю, публичной ссылки нет) через API GoogleDrive ?
У меня запросы типа
Новый HTTPЗапрос("drive/v3/files/" +idТаблицы+"/export/?mimeType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
всегда возвращает ошибку "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup".
Подключил API Google+ и API Google Drive с областью действия "https://www.googleapis.com/auth/drive"
43. simy4 31 16.03.19 11:32 Сейчас в теме
Укажите пожалуйста в вашей публикации, что для функционирования обработки требуется наличие БСП. Для меня данное требование оказалось сюрпризом. Неприятным.
44. Ko1t 329 16.03.19 14:47 Сейчас в теме
(43) Добрый день.
Да, действительно в обработке использовано 3 функции, которые входят в состав БСП:
ОбщегоНазначенияКлиентСервер.СообщитьПользователю()
СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку()
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку()
Как мне кажется, основные сценарии использования данной обработки предполагают наличие данных функций в составе конфигурации, из которой данная обработка запускается.
В противном случае, мне кажеться исправление проблемы занимает относительно мало времени.
При этом внедрение БСП не требуетсся, а требуется просто замена в коде конфигураций всех вызывов обозначенных функций на свои локальные функции. Понять из названия и передаваемых параметров что делают данные функции, как мне кажется не составляет труда.
Но да, я согласен что следует упоминуть в описание обработки данный нюанс, что я и сделаю в ближайшее время.
45. German_Tagil 38 19.03.19 06:13 Сейчас в теме
Добавил в избранное...
меня заинтерисовало - переходим на БП 3.0
на КА 1.1 у меня была допиленная обработка https://infostart.ru/public/66842/
Может кто-то находил подобное на УФ?
46. Ko1t 329 19.03.19 10:58 Сейчас в теме
(45) Добрый день, если я правильно понял что вам надо, то это функционал из БСП
https://its.1c.ru/db/bsp302doc#content:1867:1
5.18 Загрузка данных из файла
47. German_Tagil 38 20.03.19 05:42 Сейчас в теме
Доступ к данному материалу ограничен
48. Mogilnikova 77 20.03.19 16:04 Сейчас в теме
Добавила в избранное. Однажды ненастным днем оно мне пригодится!
49. German_Tagil 38 21.03.19 10:35 Сейчас в теме
(48) угу я точно также поступаю
50. Lera_1c 15 01.08.19 11:08 Сейчас в теме
Очень пригодилось! Все разжевано, благодарю!
51. Ko1t 329 01.08.19 12:12 Сейчас в теме
52. skyboy13 12 06.09.19 17:46 Сейчас в теме
А на автоматическое обновление таблицы в регламентных задачах ее заточить можно?
53. Ko1t 329 08.09.19 11:23 Сейчас в теме
(52) возможно для таких задач лучше подойдет такое решение как по ссылке https://infostart.ru/public/805071/ (хотя я сам лично пока его не изучал досконально)
54. Cthulhu 1 09.10.19 13:55 Сейчас в теме
(53) не т.е. если оттуда аккуратно "дернуть" блок авторизации и заменить в этом решении - то его можно будет использовать для регламентных заданий - я правильно понимаю?..
55. Ko1t 329 12.10.19 11:07 Сейчас в теме
(54) Для регламентных обработчиков, в теории (я не пробовал), я полагаю также можно использовать и OAuth 2.0 (именно его я использую в моей публикации).
Сценарий при этом может быть такой:
1. Интерактивно: Получаем Код доступа (требуется ручной ввод данных)
2. Автоматически: Получаем и сохраняем access_token и refresh_token на основании Кода доступа
3. Автоматически: По расписанию: Выполняем необходимую обработку данных в гугл таблицах, при этом контролируя время жизни access_token.
4. Автоматически: При окончании срока действия: Обновляем access_token используя refresh_token
5. Автоматически: Если что-то пошло не так: Отправляем оповещение на почту ответственному за процесс, чтобы он вмешался интерактивно, и например заново запросил Код доступа.
6. Интерактивно: Если требуется: Переходим к Шаг-1.
56. Cthulhu 1 12.10.19 11:19 Сейчас в теме
(55) о. т.е. стартовое получение рефреш-токена дает возможность в дальнейшем в любое время (без повторного диалогового логина) программно получать свежий токен и с ним обновлять целевую гугл-таблицу, да? пожалуй, так и бум делать...
а переноса форматирования нет - я правильно понимаю?.. наверное, оно и понятно - там нешуточное ковыряние в api команд подразумевается - поэтому, да?..
и - спасибо огромное, очень толковое решение!
...
57. Ko1t 329 12.10.19 11:26 Сейчас в теме
(56)
о. т.е. стартовое получение рефреш-токена дает возможность в дальнейшем в любое время (без повторного диалогового логина) программно получать свежий токен и с ним обновлять целевую гугл-таблицу, да?

Да. Именно так. Полагаю всё должно заработать!
p.s.
Спасибо за оценку!
58. gdu199 6 26.10.19 18:46 Сейчас в теме
Можно ли сделать запись только определенных ячеек, чтобы не затереть работу, которую выполняют пользователи параллельно вручную?
61. Ko1t 329 11.11.19 20:26 Сейчас в теме
(58) Запись только определенных ячеек сделать можно. По ссылке можно посмотреть примеры как:
https://developers.google.com/sheets/api/samples/writing
59. Cthulhu 1 02.11.19 13:24 Сейчас в теме
помощи прошу опять.
приклеиваю к скачанному консольку управления доступом к файлу. ну как консольку. список прав получить, у юзера права забрать, юзеру (по указанному емылу) право выдать, права перезаписать (откорректировать)...
список получаю без проблем (GET-ом)
код:

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

------
А вот с созданием - лбом об стену...
простынка

и хоть убейся:
ответ

прим.: в scope уже добавил https://www.googleapis.com/auth/drive т.к. без него не работает permissions в goole drive api v3
60. Cthulhu 1 08.11.19 13:42 Сейчас в теме
(59) спасибо всем, решено добавлением в заголовок описания:
Заголовки.Вставить( "Content-Type", "application/json" );
Ko1t; starik-2005; +2 Ответить
62. Cthulhu 1 13.11.19 14:26 Сейчас в теме
(60) прим.: и - кстати, во все заголовки запросов, в которых тело json-истое - впиндюрил явно этот параметр, дабы неповадно было исполнителю путаться из-за своих перекосов в распознавании типов по формату...
63. dityaanime 05.12.19 22:28 Сейчас в теме
Очень годная статья!
Автор молодец!
64. Ko1t 329 06.12.19 18:22 Сейчас в теме
65. пользователь 16.03.20 13:51
Сообщение было скрыто модератором.
...
66. request4t 16.03.20 15:07 Сейчас в теме
Здравствуйте.

Скачал вашу обработку.

В конфигураторе ругается на:
Функция ПолучитьIDФайлаGoogleDocs(URLGoogleTable) Экспорт
Процедура аили функция не определена (СтрНайти)

При открытии ругается:
Переменная не определена (НаправлениеПоиска)
67. Ko1t 329 18.03.20 23:38 Сейчас в теме
(66) Доброго времени суток, на какой версии платформы вы открываете обработку?
68. request4t 19.03.20 16:09 Сейчас в теме
69. Ko1t 329 19.03.20 18:41 Сейчас в теме
(68)
Добрый день, я ещё раз проверил у себя:
Платформа: 8.3.16.1063, Режим совместимости конфигурации: Версия 8.3.8 - у меня ошибки нет!
Предположу, что вы открываете обработку в конфигурации которая работает в режиме совместимости.
Делаю такой вывод на основании синтаксис помощника:
СтрНайти (StrFind)
Синтаксис:
СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>)
...
Использование в версии:
Доступен, начиная с версии 8.3.6 (в режиме совместимости с версией 8.3.6 и последующими).


У вас включен режим совместимости? Если да, с какой версией?
70. Vix 28 07.05.20 22:47 Сейчас в теме
(66)Замените СтрНайти на обычную Найти
71. Ko1t 329 08.05.20 15:44 Сейчас в теме
72. Vix 28 09.05.20 15:14 Сейчас в теме
(71) Скорее всего режим совместимости стоит 8.3.5 и минимум, что можно сделать довольствоваться функцией "Найти", но при условии, что использует СтрНайти, первые два параметра СтрНайти(Строка,ПодстрокаПоиска). По хорошему нужно переходить уже на новую платформу выше 8.3.12, правда стабильную, о стабильных оч. много тем на форуме, и везде найдутся минусы))
73. Vix 28 09.05.20 15:32 Сейчас в теме
Автору плюс, разработка стоящая видимо, думаю в дальнейшем я смогу эту идею применить при хранении и раздачи ключей каждому пользователю, для работы, не с типовой конфигурацией 1С
74. script 126 01.06.20 19:51 Сейчас в теме
Добавьте в описание, что для работы чтения таблицы необходимо дать право Google Sheets API т.е. включить его в проект Google API.
75. Ko1t 329 02.06.20 18:25 Сейчас в теме
(74) Добрый день! Я не уверен на 100 %, но не помню что надо как-то специально "дать право Google Sheets API" в проекте Google API, но допускаю что я могу что-то упустить из вида, так прошло досточно много времени с момента публикации.

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

В описании к моей статье есть снимок экрана с запросом на доступ к нужным данным, и по-моему, когда я писал статью и тестировал обработку, не требовалось ничего более кроме как ответить утвердительно на запрос доступа как на картинке по ссылке https://prnt.sc/ssfnfu
89. mity1982 11.08.21 13:06 Сейчас в теме
(75) В ответ на попытку получить spreadsheet получаем ответ
{
"error": {
"code": 403,
"message": "Google Sheets API has not been used in project ############ before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/sheets.googleapis.com/overview?########## then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"status": "PERMISSION_DENIED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developers console API activation",
"url": "https://console.developers.google.com/apis/api/sheets.googleapis.com/overview?##########"
}
]
},
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "SERVICE_DISABLED",
"domain": "googleapis.com",
"metadata": {
"consumer": "#########",
"service": "sheets.googleapis.com"
}
}
]
}
}

По указанной в ответе ссылке идем на: https://console.developers.google.com/apis/api/sheets.googleapis.com/overview?########## Нажимаем кнопку Enable. На прикрепленной картинке кнопка Enable на месте Manage, я ее уже нажал :).
Прикрепленные файлы:
76. Артано 730 25.06.20 06:33 Сейчас в теме
Видимо имеется ввиду, что явным образом не написано, что для вашего приложения нужно создать проект или добавить его к существующему
77. TrashMaster 195 10.08.20 20:38 Сейчас в теме
есть косячок в вычислении диапазона - только 676 колонок

&НаСервере
Процедура ИницилизироватьМассивБукв()
	МассивБуквСтолбцов = Новый СписокЗначений;
	МассивБуквСтолбцов.Добавить("A");
	МассивБуквСтолбцов.Добавить("B");
	МассивБуквСтолбцов.Добавить("C");
	МассивБуквСтолбцов.Добавить("D");
	МассивБуквСтолбцов.Добавить("E");
	МассивБуквСтолбцов.Добавить("F");
	МассивБуквСтолбцов.Добавить("G");
	МассивБуквСтолбцов.Добавить("H");
	МассивБуквСтолбцов.Добавить("I");
	МассивБуквСтолбцов.Добавить("J");
	МассивБуквСтолбцов.Добавить("K");
	МассивБуквСтолбцов.Добавить("L");
	МассивБуквСтолбцов.Добавить("M");
	МассивБуквСтолбцов.Добавить("N");
	МассивБуквСтолбцов.Добавить("O");
	МассивБуквСтолбцов.Добавить("P");
	МассивБуквСтолбцов.Добавить("Q");
	МассивБуквСтолбцов.Добавить("R");
	МассивБуквСтолбцов.Добавить("S");
	МассивБуквСтолбцов.Добавить("T");
	МассивБуквСтолбцов.Добавить("U");
	МассивБуквСтолбцов.Добавить("V");
	МассивБуквСтолбцов.Добавить("W");
	МассивБуквСтолбцов.Добавить("X");
	МассивБуквСтолбцов.Добавить("Y");
	МассивБуквСтолбцов.Добавить("Z");
КонецПроцедуры


&НаКлиенте
Функция ПолучитьБуквуПоНомеру(Номер)
	Если Номер <= МассивБуквСтолбцов.Количество() Тогда
		Возврат МассивБуквСтолбцов[Номер-1].Значение;
	КонецЕсли;
	
	//Предполагаем что макс. кол-во столбоц не может быть больше определенного
	КолВоБукв = МассивБуквСтолбцов.Количество(); 
	МаксСтолбцов = КолВоБукв*КолВоБукв; 
	Если Номер > МаксСтолбцов Тогда
		ПоказатьПредупреждение(,"Не предусмотрена работа с таблицами у которых столбцов больше чем: "+МаксСтолбцов);
		Возврат "ZZ";
	КонецЕсли;
	
	НомерПервойБуквы = Цел(Номер/КолВоБукв);
	Смещение = Номер - (НомерПервойБуквы*КолВоБукв);
	
	Буква = ПолучитьБуквуПоНомеру(НомерПервойБуквы);
	Буква = Буква+ПолучитьБуквуПоНомеру(Смещение);
	
	Возврат Буква;
КонецФункции
Показать


исправление

Функция ПолучитьБуквуПоНомеру(НомерКолонки)
	Результат = "";
	Остаток = НомерКолонки;
	пока Остаток > 0 цикл
		Смещение = (Остаток - 1)%26;
		Результат = Символ(65 + Смещение) + Результат;
		Остаток = Цел((Остаток - Смещение)/26);
	конеццикла;
	Возврат Результат;
КонецФункции
Показать
78. request4t 06.10.20 14:20 Сейчас в теме
здравствуйте.

при получении токена ошибка

{
"error": "invalid_grant",
"error_description": "Bad Request"
}

кто может помочь?
79. Ko1t 329 15.11.20 21:42 Сейчас в теме
(78)
"error": "invalid_grant",
"error_description": "Bad Request"

доброго времени суток! не знаю актуально ли ещё...
Если попросить помощи у гугл, то получим следующий ответ:
https://groups.google.com/g/google-doubleclick-for-advertisers-api/c/FZo-6ZZGeyQ?pli=1
There are 2 common problems that cause invalid_grant errors:

1. Your server's clock is out of sync with NTP
2. You've exceeded the refresh token limit
80. request4t 18.11.20 16:32 Сейчас в теме
(79)
здравствуйте. уже нет, но спасибо за ответ.
81. Gold_Hunter 6 20.11.20 19:09 Сейчас в теме
Добрый день!
При попытке запросить код доступа, возникает такая ошибка:

{ВнешняяОбработка.ЧтениеЗаписьИЗGoogleSheet.Форма.Форма.Форма(188)}: Ошибка при вызове метода контекста (ПерейтиПоНавигационнойСсылке)
ПерейтиПоНавигационнойСсылке(URL);
по причине:
Не удалось перейти по ссылке "https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=515731690390-vh9ccjrl4pj9qssbec4042ce1ttn02uo.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&access_type=offline&scope=https://www.googleapis.com/auth/drive.readonly+https://www.googleapis.com/auth/drive.file+https://www.googleapis.com/auth/spreadsheets" по причине: Неверно задана навигационная ссылка.
82. request4t 28.04.21 15:03 Сейчас в теме
подскажите кто знает: возможно ли из 1С выгружать в таблицу изображения товаров?
83. ip0593 14.05.21 22:14 Сейчас в теме
возможно ли грузить только определенные ячейки с 1С в гугл таблицу? ведь там формулы введены в гугл таблице.
84. Bor_ka 97 18.05.21 16:34 Сейчас в теме
Добрый день,
Отличное решение, удалось подключиться, но примерно через час перестало работать.
Да, ключ не обновлял.
refresh_token не сохранил
Тогда решил восстановить КодДоступа, но уже после этого шага access_token получить не удается.

Ошибка 1С,
Ошибки при получении токена: Ошибка при выполнении HTTP запроса

Что делаю не так? Возможно, для повторного получения access_token, запрос должен быть немного другим?
85. Bor_ka 97 19.05.21 12:34 Сейчас в теме
(84) Уже разобрался! Моя ошибка! Все работает как нужно!
86. sys1c 01.07.21 05:19 Сейчас в теме
(79) добрый день.


в настройках нету Application type - Other
какой выбирать? пробовал WEB- не работает
unknown181538; +1 Ответить
87. sys1c 01.07.21 06:31 Сейчас в теме
(79) все получилось, указал Десктоп.
но, из 1с в Гугл, и из Гугл в 1с, не переносится ничего кроме текста (
ни форматирование колонок, ни обрамление шапки, картинки, только текст
88. manlak 77 11.08.21 09:52 Сейчас в теме
Большое спасибо за обработку! Все супер и работает
90. L3raa 04.10.21 15:07 Сейчас в теме
Есть ли возможность загружать pdf файлы?
91. Zabba 10.12.21 10:03 Сейчас в теме
Спасибо большое!
Отличная обработка в открытом доступе!
92. Pim 171 07.02.22 00:28 Сейчас в теме
Подскажите, есть возможность записывать в гугл-таблицу без авторизации через сайт?
Или эмулировать авторизацию программно?
Хочу по регламентному заданию отправлять данные.
93. Ko1t 329 11.02.22 14:37 Сейчас в теме
(92) Я лично не занимался решением такой задачи.
94. ip0593 25.03.22 17:12 Сейчас в теме
при запросе Кода доступа

Ошибка авторизации
Ошибка 400: invalid_request

Невозможно выполнить вход в приложение, поскольку оно не отвечает правилам Google в отношении безопасности OAuth 2.0.

Вы можете сообщить разработчику, что приложение не соответствует одному или нескольким правилам проверки Google.
Параметры запроса
Материалы в этом разделе предоставлены разработчиком приложения и не проверены компанией Google.
Если вы разработчик приложения, убедитесь, что эти параметры запроса соответствуют правилам Google.
redirect_uri: urn:ietf:wg:oauth:2.0:oob

как быть?
96. Tony_Medvedos 11.05.22 13:05 Сейчас в теме
(94)
С февраля 2022 года они отключили данную возможность
Повышение безопасности
Как временное решение - "&redirect_uri=http://localhost:1";
Но тогда нужно вручную копировать код доступа и вставлять в обработку
Также здесь есть решение для Python
Redirect_Uri error

Ну и как я понимаю этот код доступа нужно получить только 1 раз
95. Ko1t 329 05.04.22 12:00 Сейчас в теме
Судя по всему надо "шаматить" с настройками аккаунта гугл под которым вы подключаетесь
97. IrinaMakatukha 26.07.22 18:43 Сейчас в теме
Скажите пожалуйста , Прочитать таблицу - работает., а вот Записать таблицу выдает ошибку (при получении кода доступа там все права даю)
Что это значит ?

<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 404 (Not Found)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
</style>
<span id=logo aria-label=Google></span>
<p>404. <ins>That’s an error.</ins>
<p>The requested URL
/v4/spreadsheets/1kQnhnS1ijpVV0UKX70RbtIT4jd_It5Gkq-XarDVRBZ0/values/06/2022!A1:A1?valueInputOption=USER_ENTERED
was not found on this server. <ins>That’s all we know.</ins>
98. пользователь 23.08.22 11:17
Сообщение было скрыто модератором.
...
99. s_tagil@mail.ru 39 02.09.22 11:22 Сейчас в теме
Подскажите при получении таблицы прилетает сообщение "Не удалось получить список листов: Код состояния: 403", хотя если просто по ссылке перехожу под тем же аккаунтом таблица открывается нормально. Куда копать?

Мда надо было еще пошаманить в настройках. Вопрос снят можно удалить?
Оставьте свое сообщение

См. также

Загрузка данных инкассации по FTP из торговых аппаратов в 1С. Промо

Внешние источники данных Розничная торговля Платформа 1С v8.3 Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Бухгалтерия 2.0 Бытовые услуги, сервис Бытовые услуги, сервис Россия Россия Бухгалтерский учет Бухгалтерский учет Абонемент ($m) Абонемент ($m)

Данная обработка предназначена для загрузки данных после инкассации по вендинговым продажам в конфигурацию 1С (Бухгалтерия 3.0). Формат загрузки обмена в формате компании Unicum (Формат EVA DTS 6.1 - доработанный)

1 стартмани

11.08.2014    13950    0    BlackMoon123    0    

Распознавание паспорта РФ. Python+1С без сторонних сервисов

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

В данной публикации мы рассмотрим методы разработки приложений на Python + 1С для распознавания Паспорта РФ.

1 стартмани

30.01.2023    3231    16    Indgo    19    

Получение/отправка сообщений RabbitMQ через REST API

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Простой пример получения и отправки сообщений в брокер сообщений RabbitMQ через REST API из 1С без сторонних компонент и middleware.

1 стартмани

23.09.2022    4761    9    NikeeNik    16    

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

Инструментарий разработчика Внешние источники данных WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    6598    18    huxuxuya    29    

Api идеи для начинающих

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Данная обработка подойдет тем, кто только начинает знакомиться с механизмами api в 1С. В обработке представлены взаимодействия с 12 простыми сайтами на примерах. Решения не затрагивают полной документации, а носят лишь ознакомительный характер. Делал на платформе 8.3.20.

1 стартмани

16.06.2022    7467    22    user676027_svikator    5    

Делаем табло в обозревателе из 1Ски с нуля за полчаса. Без бутстрапов, реактов и ангуляров. Жизнетрюки от kuzkov.info

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

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

1 стартмани

02.05.2022    7091    124    Steelvan    0    

Консоль обмена по протоколу TCP

Внешние источники данных Обмен между базами 1C Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Внешняя консоль-обработка, позволяющая осуществить обмен пакетами данных между любыми приложениями или устройствами по сетевому протоколу TCP. Консоль работает как в режиме TCP-клиента, так и в режиме TCP-сервера. Реализована с использованием стандартной библиотеки Windows "MS Winsock".

3 стартмани

10.04.2022    6264    23    Bassgood    10    

Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.

2 стартмани

30.06.2020    16550    137    XilDen    19    

Сервис push-уведомлений для 1С (Push Notification Service For 1C - PNS4OneS)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

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

1 стартмани

02.02.2022    10855    33    ltfriend    9    

Расширение конфигурации для Web-доступа к 1С (1С в роли back-end)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Для реализации того, чтобы 1С формировала и отдавала страницу, которую можно было бы открыть через браузер было написано расширение, которое позволяет публиковать из 1С произвольные ресурсы, будь то API, сайт или изображения / прочие файлы.

1 стартмани

01.04.2021    16809    20    SaschaG    4    

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

WEB-интеграция Работа с интерфейсом Языки и среды Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

1 стартмани

31.03.2021    22021    59    Parsec1C    20    

Модуль обмена с QIWI Промо

Банковские операции WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Компании, которые используют систему моментальных платежей QIWI, ценят ее за удобство по скорости выплат и для платежей по запросу. Но такие переводы сложны для учета, а при большом объеме проводимых операций отнимают много времени и превращаются в дополнительную головную боль. Мы сотрудничали с компаниями, которые отправляют большое количество платеже на QIWI, и часто слышали боль бухгалтеров о том, как им сложно работать с такими переводами. Поэтому мы автоматизировали выплаты через QIWI в 1С и создали модуль интеграции 1С c API QIWI Wallet и QIWI TopUp.

5 стартмани

25.05.2020    14717    2    Neti    10    

BIM: взаимодействие с платформой Autodesk Forge

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Строительство Строительство Абонемент ($m) Абонемент ($m)

Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.

1 стартмани

25.11.2020    74912    16    kandr    3    

Учимся создавать http сервис (часть третья). Передача нескольких параметров в http сервис

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пошаговое руководство по созданию http сервиса (часть третья). Передача нескольких параметров в http сервис, a также формирование сложных JSON строк.

1 стартмани

02.10.2020    31205    9    hpi    18    

HTTP сервисы по OpenAPI спецификациям

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Начинаем путь разработки HTTP сервисов с создания спецификаций OpenAPI. Автодокументация сервисов формата Swagger UI без зависимостей. Настройка сервисов в режиме предприятия.

1 стартмани

29.06.2020    24415    28    shmalevoz    22    

Улучшенная обработка универсального обмена данными в формате XML (УФ)

Универсальные обработки Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).

1 стартмани

23.06.2020    21142    205    Lem0n    1    

oData – HTTP-сервис для ленивых.

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Бухгалтерия 3.0 Россия Россия Абонемент ($m) Абонемент ($m)

oData одним из последних появился в инструментах интеграции поддерживаемых платформой 1С. В данной статье хотел бы показать пример его использования. О преимуществах и недостатках oData предлагаю поделиться в комментариях исходя из реального опыта использования. Цель публикации. Дать разработчикам простой инструментарий обмена между идентичными конфигурациями.

1 стартмани

10.05.2020    19210    35    Forest83    2    

"Учет штрафов ГИБДД" с возможной загрузкой из открытых источников в интернет Расширение конфигурации 1С: Предприятие 8.3 Промо

Обработка документов WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бухгалтерский учет Бухгалтерский учет Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Расширение конфигурации Бухгалтерия предприятия, редакция 3.0 (при минимальных изменениях любой типовой конфигурации), позволяющее вести историю данных по штрафам ГИБДД для справочника транспортных средств компании. Бонусом поставляется внешняя обработка, способная загружать эти данные из открытых источников в интернет.

4 стартмани

30.12.2019    29315    40    capitan    30    

DaJet QL - расширяемый язык запросов

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

DaJet QL поддерживает практический полный синтаксис SQL Server 2005-2016. Кроме этого это расширяемый язык запросов. Обращение к объектам СУБД выполняется в терминах метаданных 1С. Доступ к возможностям этого языка запросов реализован в виде web api сервиса. Результаты запросов возвращаются в виде JSON.

1 стартмани

20.04.2020    19092    12    zhichkin    19    

Пример работы с Trello из 1С

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Управленческий учет Управленческий учет Абонемент ($m) Абонемент ($m)

Небольшая конфигурация содержит примеры обмена с онлайн-сервисом Trello.

1 стартмани

15.02.2020    25133    61    terrorion    18    

Работа с Яндекс-картами в 1С (вывод меток, прокладка маршрута, отображение балуна, вывод меток в кластеры) (обычное и управляемое приложение)

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Работа с Яндекс-картами в 1С (управляемое приложение). Обработка показывает, как можно найти адреса на карте Яндекс, проложить маршрут.

2 стартмани

20.11.2019    31415    175    Denr83    0    

Яндекс сервисы [Расширение]

Универсальные обработки WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Расширение для работы с Яндекс-сервисами (предиктор,переводчик,проверка орфографии)

1 стартмани

24.10.2019    21292    13    noprogrammer    12    

Получение изображения с IP-камеры

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

Получение изображения JPG с IP-камеры в виде двоичных данных. В 1С может применяться для фотографирования объектов.

1 стартмани

10.09.2019    21504    57    sivin-alexey    11    

Согласование задач из Outlook

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

Согласование задач непосредственно из почтовой программы, в моем случае Outlook 2013 без каких-либо дополнительных настроек. Из почты отправляется GET запрос к HTTP-сервису 1С, который в свою очередь выполняет задачу.

1 стартмани

06.09.2019    17679    19    duhh    17    

Выгрузка номенклатуры в социальную сеть Вконтакте

WEB-интеграция Оптовая торговля Розничная торговля Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Обработка для быстрой и легкой выгрузки товаров Вконтакт. Так просто еще не было)))

2 стартмани

14.08.2019    31958    73    kaliuzhnyi    48    

Внешняя компонента для работы по Web-socket протоколу x32 x64 Промо

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

2 стартмани

30.03.2018    47128    115    Ditron    120    

Шаблон http-сервиса для вашего проекта

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

Http-сервис для обмена данными в формате JSON. Обработчики этого сервиса находятся во внешней обработке, что позволяет дорабатывать его без изменения конфигурации. Также прилагаю пример мобильного приложения для работы с данным сервисом (получает номенклатуру и остатки на складе). Сервис очень быстро разворачивается и масштабируется под ваши задачи.

3 стартмани

04.05.2019    33728    109    MarkoSokolov    48    

1С и WebKit. Вариант взаимодействия

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

В результате перехода на WebKit тип свойства Документ у поля, имеющего вид ПолеHTMLДокумента, изменился с COMОбъект на ВнешнийОбъект. Также изменилась DOM модель документа, доступная через это свойство.

2 стартмани

23.02.2019    51458    98    mi1man    74    

Строим маршруты на картах в 1С с помощью OpenStreetMap, OSRM и Leaflet

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Транспорт, автопарки, такси Транспорт, автопарки, такси Абонемент ($m) Абонемент ($m)

Краткая статья о том как вывести на карту (в 1С) маршруты с помощью OpenStreetMap, OSRM и Leaflet. По данной системе очень мало примеров, но так как OpenStreetMap является бесплатным сервисом и не требует никаких ключей и регистраций, и является довольно мощным механизмом, решил написать небольшую статью "как это сделать?". В первую очередь скажу, все намного проще, если вы используете последнюю версию платформы (8.3.14), где есть поддержка практически всех браузеров (IE 11, EDGE, Mozilla), но что делать если у нас не самая свежая платформа, где поддержка только IE 9?

2 стартмани

12.02.2019    47296    154    Ditron    137    

Менеджер загрузки данных из весов с печатью этикеток Промо

Внешние источники данных Весы Логистика, склад и ТМЦ Платформа 1С v8.3 Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление производственным предприятием Абонемент ($m) Абонемент ($m)

Программное обеспечение "Менеджер загрузки данных из весов с печатью этикеток" предназначено для автоматического получения данных по сети Ethernet из весов МАССА-К моделей ВПМ и ТВ_Р3 (модификация MF) в режиме On-Line.

1 стартмани

20.12.2011    34957    81    hrip    10    

Яндекс карты 2.1. Построение маршрута. Передача длины маршрута в реквизит формы

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пригодится как пример использования Яндекс карты 2.1 для построения маршрута.

1 стартмани

24.01.2019    27174    105    John_d    33    

Проверка VAT номеров

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    25629    4    wtlz    1    

Автоматическое создание XSD-файла по выбранным типам объектов конфигурации для загрузки в XDTO пакет в 1С 8.3

WEB-интеграция Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Абонемент ($m) Абонемент ($m)

Данная обработка позволяет создать XSD-файл по выбранным реквизитам Справочника, Документа, Плана видов характеристик и даже Плана обмена. В обработке есть возможность выбрать, какие стандартные и обычные реквизиты, а также реквизиты табличных частей попадут в XSD-файл. Также есть опциональная возможность автоматически добавить в XSD-файл все ссылочные типы, находящиеся в реквизитах (рекурсивным обходом).

1 стартмани

22.10.2018    21438    110    q4a    9    

Загрузка чека онлайн-касс (загрузка товаров из чека)

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

Обработка-пример, позволяет любому и из любой конфигурации загрузить информацию о товарах из чека(и не только) из почтового сообщения, отправленного из приложения ФНС проверка чеков.

2 стартмани

08.10.2018    36381    46    echo77    76    

SOAP для чайников

WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Немножко про SOAP сервис. И пример работы с подключением и получением данных по SOAP за 5 минут.

1 стартмани

05.09.2018    107778    73    dusha0020    25    

Класс-обработка “Работа с картами Яндекс”

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Абонемент ($m) Абонемент ($m)

Как показать точку или маршрут на карте Яндекс. Как получить координаты по строке адреса (геокодирование).

1 стартмани

01.08.2018    43130    293    RSConsulting    20    

Пример использования REST API Яндекс Диска

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Абонемент ($m) Абонемент ($m)

Пример использования REST API Яндекс Диска: чтение диска, добавление каталога, загрузка файла, скачивание файлов или каталогов, удаление файлов или каталогов.

1 стартмани

26.06.2018    44928    77    MKFreeUser    17    

Обмен файловыми базами данных через Yandex диск

WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Абонемент ($m) Абонемент ($m)

Выполнение операций обмена с Yandex диском для файловых БД, по протоколу WebDav, в автоматическом или ручном режимах.

1 стартмани

11.06.2018    26860    8    slimper    1