Чтение и запись из таблиц гугл (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
482
.epf 1.0.2 18,52Kb 482 Скачать

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

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

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

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

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

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

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

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

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

я же написал запрос, которым можно получить доступ к опубликованной по ссылке таблице, зная ее id и свой apikey.
вводите в этом запросе id таблицы, api-ключ гугла и получаете ее в json.
Лично мне не требовалось вносить в нее изменения, только читать данные, поэтому я дальше не копал.
42. kassbar 154 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 32 16.03.19 11:32 Сейчас в теме
Укажите пожалуйста в вашей публикации, что для функционирования обработки требуется наличие БСП. Для меня данное требование оказалось сюрпризом. Неприятным.
44. Ko1t 336 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 336 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 78 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 336 01.08.19 12:12 Сейчас в теме
52. skyboy13 13 06.09.19 17:46 Сейчас в теме
А на автоматическое обновление таблицы в регламентных задачах ее заточить можно?
53. Ko1t 336 08.09.19 11:23 Сейчас в теме
(52) возможно для таких задач лучше подойдет такое решение как по ссылке https://infostart.ru/public/805071/ (хотя я сам лично пока его не изучал досконально)
54. Cthulhu 1 09.10.19 13:55 Сейчас в теме
(53) не т.е. если оттуда аккуратно "дернуть" блок авторизации и заменить в этом решении - то его можно будет использовать для регламентных заданий - я правильно понимаю?..
55. Ko1t 336 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 336 12.10.19 11:26 Сейчас в теме
(56)
о. т.е. стартовое получение рефреш-токена дает возможность в дальнейшем в любое время (без повторного диалогового логина) программно получать свежий токен и с ним обновлять целевую гугл-таблицу, да?

Да. Именно так. Полагаю всё должно заработать!
p.s.
Спасибо за оценку!
58. gdu199 6 26.10.19 18:46 Сейчас в теме
Можно ли сделать запись только определенных ячеек, чтобы не затереть работу, которую выполняют пользователи параллельно вручную?
61. Ko1t 336 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 336 06.12.19 18:22 Сейчас в теме
65. пользователь 16.03.20 13:51
Сообщение было скрыто модератором.
...
66. request4t 16.03.20 15:07 Сейчас в теме
Здравствуйте.

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

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

При открытии ругается:
Переменная не определена (НаправлениеПоиска)
67. Ko1t 336 18.03.20 23:38 Сейчас в теме
(66) Доброго времени суток, на какой версии платформы вы открываете обработку?
68. request4t 19.03.20 16:09 Сейчас в теме
69. Ko1t 336 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 336 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 336 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. Артано 738 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 336 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 20 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 174 07.02.22 00:28 Сейчас в теме
Подскажите, есть возможность записывать в гугл-таблицу без авторизации через сайт?
Или эмулировать авторизацию программно?
Хочу по регламентному заданию отправлять данные.
93. Ko1t 336 11.02.22 14:37 Сейчас в теме
(92) Я лично не занимался решением такой задачи.
94. ip0593 20 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 336 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", хотя если просто по ссылке перехожу под тем же аккаунтом таблица открывается нормально. Куда копать?

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

См. также

Перенос данных из Парус 8 в ЗГУ ред.3

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

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

84000 руб.

19.08.2020    18165    13    0    

15

Перенос данных из Парус 10 в ЗГУ ред.3

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

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

60000 руб.

05.10.2022    5902    3    8    

5

Перенос данных из Парус 10 (Торнадо) в ЗГУ ред.3 через Excel

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

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

24000 руб.

16.11.2018    27168    16    29    

17

Обмен 1С с порталом госзакупок (ЕИС)

Оптовая торговля WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Обмен с ГосИС Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Государственные, бюджетные структуры Россия Бухгалтерский учет Платные (руб)

Данное расширение позволяет выгрузить универсальный передаточный документ (УПД) и счет-фактуру на портал Госзакупок (44-ФЗ). Выгрузка документов производится из 1С в XML файл для дальнейшей загрузки в ЕИС из 1С Бухгалтерия, редакция 3.0.

18000 руб.

19.08.2022    14812    64    48    

31

Перенос начальных остатков из Парус 7.71 в БГУ

Внешние источники данных Взаиморасчеты Учет ОС и НМА Учет ТМЦ Бюджетный учет Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос словарей и начальных остатков из ПП Парус-Бухгалтерия Бюджет 7.71 в 1Сv8 БГУ2. Заполнение словарей и документов по вводу начальных остатков. Не требуется установка ПП Парус7. Возможна дозагрузка. Внешняя обработка с открытым кодом.

9000 руб.

08.12.2011    77143    116    120    

137

Перенос данных из Парус 7.хх в ЗГУ ред.3

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

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

24000 руб.

24.04.2017    44365    88    147    

80

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Данная обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.

6000 руб.

02.02.2021    12570    28    43    

15

Загрузка ресурсных спецификаций из файла Excel (ERP)

Обработка документов Загрузка и выгрузка в Excel Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 Управляемые формы 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)

Обработка «Загрузка ресурсных спецификаций из файла Excel, сформированного в САПР (ERP)» не требует изменений в конфигурации. Тестировалась на 1С:ERP Управление предприятием 2 (2.4.1.248)

36000 руб.

09.01.2018    35235    79    22    

20

Загрузка данных из F3 TAIL 3 (еФарма 2) в 1С: Бухгалтерия 3.0 (базовая, ПРОФ, КОРП)

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП).

13200 руб.

19.12.2016    40908    76    101    

62

Обмен с СУФД (Федеральным казначейством) для Бухгалтерии предприятия 3.0

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

Комплект обработок для обмена СУФД и Бухгалтерии 3.0. Содержит две обработки: для переноса платежных поручений из БП 3.0 в СУФД Федерального казначейства и загрузки выписок из СУФД в БП 3.0.

2400 руб.

30.03.2023    3765    5    0    

8

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ 3. Отчеты по данным загруженным в регистры сведений. Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен.

11856 руб.

25.05.2021    9556    6    4    

6

Драйвер облачной кассы для Бизнес.РУ Чеки

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

Универсальный драйвер для фискализации чеков для сервиса Бизнес.РУ. Чеки (https://online-check.business.ru/). Работает с любой кассой, подключенной к сервису, в том числе и без физической кассы (Аренда облачной ККТ в датацентре). Принцип работы аналогичен наличию физической кассы, подключенной к рабочему месту 1С. Фискализация выполняется с любого рабочего места через интернет. Нет ограничений на количество рабочих мест, касс, компьютеров. Поддерживает печать с нескольких рабочих мест на одну кассу. Работает в любой операционной системе (Windows, Linux) и в любом клиенте (Тонкий, Толстый, Web, Мобильный клиент).

6000 руб.

03.06.2021    10631    8    0    

5

Contragent+ 9.1 для 1С 8.2/8.3

Обработка справочников Обмен с ГосИС Взаиморасчеты WEB-интеграция Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Платные (руб)

Универсальная обработка для экспресс-регистрации новых и обновления реквизитов существующих элементов справочников «Контрагенты» & «Организации» по данным Федеральной Налоговой Службы РФ (ЕГРЮЛ&ЕГРИП). Минимизация ручного ввода и соответствие данных 1С учредительным сведениям юр. лиц & ИП.

3600 руб.

13.12.2012    88829    173    308    

248

SALE! 10%

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

10600 9540 руб.

28.05.2015    81584    25    51    

49

[Расширение] БОР-Навигатор.Культура

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

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    22952    7    0    

6

Расширение 1СПАРК риски для 1С:Документооборот 8 КОРП

WEB-интеграция Управление взаимоотношениями с клиентами (CRM) Документооборот и делопроизводство (СЭД) Взаиморасчеты Платформа 1С v8.3 1С:Документооборот Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для конфигурации 1С:Документооборот 8 КОРП, позволяющее с помощью сервиса "1СПАРК риски" проверять благонадежность контрагентов непосредственно из программы 1С.

7200 руб.

23.05.2018    26925    17    7    

14

Загрузка спецификаций в УНФ из системы Базис-мебельщик

Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

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

6000 руб.

24.06.2021    15947    41    36    

18

Загрузка в БГУ из УРМ "Криста"

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

Обработки для загрузки данных из УРМ "Криста" в бухгалтерию государственного учреждения редакция 2.0. Обработка условно-бесплатная - бесплатно в течение одного месяца со дня получения демонстрационного ключа регистрации. Поддерживает ПО "Web-исполнение" от НПО "Криста".

4800 руб.

19.06.2013    35635    133    83    

29

Sync1C: Синхронизация 1С и OpenCart

WEB-интеграция Оптовая торговля Розничная торговля Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка для обмена данными с интернет-магазином OpenCart. Позволяет быстро наполнить магазин товарами, затем обновлять цены и добавлять новые товары. Далее можно средствами OpenCart настраивать и дополнять карточки товаров как надо для магазина, при этом связь товаров с 1С не теряется.

3840 руб.

30.03.2018    39736    73    133    

77