Выгрузка таблиц (Excel, OpenOffice) в Google Drive

03.08.15

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

Обработка позволяет загрузить файлы Excel и OpenOffice на Google Drive (Google Docs). Не требует дополнительных компонент. Может применяться для публикации документов из 1С (например, обновляемые финансовые отчеты для руководителей).

Скачать файл

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

Наименование По подписке [?] Купить один файл
ВыгрузкаТаблицыExcelВGoogleDrive1.2.epf
.epf 19,95Kb ver:1.2
100
100 Скачать (1 SM) Купить за 1 850 руб.
ВыгрузкаТаблицыExcelВGoogleDrive1.2.ert
.ert 16,00Kb ver:1.2
23
23 Скачать (1 SM) Купить за 1 850 руб.

Обработка работает через Google Apps API, используя напрямую http протокол. Загруженный файл автоматически конвертируется в таблицу (SpreadSheet).

В архиве две обработки - для 1С 7.7 и 8.2. Для работы нужны стандартные компоненты Windows - "WinHttp.WinHttpRequest.5.1", "ADODB.Stream", "Msxml2.DOMDocument" и "MSScriptControl.ScriptControl" (для 1С 7.7).

Работать с обработкой очень просто. Нужно заполнить реквизиты (см. рисунок):

1. Указать имя файла

2. Указать имя аккаунта на @gmail (полностью)

3а. Если в профиле Google включена двухэтапная аутентификация, то нужно сгенерировать имя и пароль приложения здесь и указать их.

3б. Если аутентификация обычная, то просто ввести пароль к аккаунту.

4. Указать имя документа на Google Drive. Если документ с таким именем существует, то его содержимое будет обновлено, иначе будет создан новый.


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


P.S. Для файлов Excel 97 Google Drive не поддерживает конвертацию - при загрузке обработка выдаст ошибку.

UPD 2015-08-03. Переделал обработку под новое API Google Drive.

Основные изменения:

1. Авторизация OAuth2. Внимание! Для возможности использования обработки в автоматическом режиме нужно один раз авторизироваться интерактивно (кнопка "Авторизироваться" на форме обработки). Обработка запоминает токен авторизации (refresh_token) для последующего использования.

2. Изменены процедуры поиска и загрузки документов на Google Drive (JSON).

UPD 2015-08-05. Исправлена ошибка - если имя таблицы содержало одинарные или двойные кавычки, то выдавалась "Parsing Error".


См. также

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

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

28500 руб.

15.11.2022    22595    23    49    

39

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

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

6000 руб.

09.11.2016    241097    1105    906    

1034

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

Реальный помощник, с помощью которого Вы преобразуете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, Детский мир, МагнитЭкспресс (быв.Казань-Экспресс), Леруа Мерлен, ЭНФАНТА (Акушерство), ЛаМода, Летуаль, Твой дом, Золотое Яблоко в документы "Отчет комиссионера (агента) о продажах" и другие. Работает в 1С:БП 3.0, 1С:БП 3.0 КОРП, 1С:УТ 11, 1С:УНФ, 1С:КА 2, 1С:ERP Управление предприятием. Возможность подключить любые маркетплейсы. Анализ продаж ОZON. 30 дней БЕСПЛАТНОГО пользования!

5400 руб.

12.08.2021    37563    402    68    

172

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

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

120000 руб.

19.08.2020    26269    25    1    

28

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С. Бесплатный период Техподдержки - 1 месяц.

60000 руб.

07.05.2019    34375    65    45    

26

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 10.02.2025, версия 9.9 - 9.15)

16800 руб.

20.11.2015    158863    386    378    

517

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

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

84000 руб.

24.04.2017    52522    104    165    

91

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2361    2    0    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. zato 14.11.12 12:17 Сейчас в теме
Пользуюсь Dropbox уже давно при синхронизации баз. С работы и дома.Если (мысль) поставить по более этих сервисов как где то видел обработку по выборе удаленок. Т.е яндексДиск,Dropbox и т.д но а так +
2. zan_od 55 19.11.12 12:19 Сейчас в теме
(1) zato1c,
Я эти обработки писал с другой целью. Клиенту необходима была онлайн-версия отчета из 1С (периодически обновляемая), которую он смог бы расшарить сотрудникам, не работающим в 1С непосредственно. После перебора возможных вариантов остановились на Google Docs.

Не совсем понимаю, зачем использовать 1С для синхронизации файлов в облачных хранилищах. Можно подробнее развить мысль насчет 1С<->Dropbox, например?
адуырщдв; +1 Ответить
3. zato 19.11.12 16:24 Сейчас в теме
В крцее могу сказать как я делаю. выгружаю конфу в Dropbox после этого прихожу в другое место уже с другого компа открываю свою базу уже с обновленного файла Dropbox.
4. Wanderer.nk 19 15.03.13 13:14 Сейчас в теме
для этой цели есть VPN.
Abadonna; +1 Ответить
5. 924 11.08.14 19:51 Сейчас в теме
Добрый день! Пришлите мне пожалуйста обработку на почту vodoroslia@gmail.com , у меня не хватает $ =)
6. hombre 14 03.07.15 07:28 Сейчас в теме
После двух недель нормальной работы, обработка перестала загружать файл на диск. Останавливалась с ошибкой
Ошибка запроса авторизации: Not Found
Ошибка авторизации: пустой wise токен авторизации

Через некоторое время зарабатала, но опять ненадолго. Пароли, Настройки доступа не менялись. Проверял на разных эккаунтах. С чем это может быть связано? Или что можете посоветовать, чтобы исправить ситуацию.
7. zan_od 55 03.07.15 12:57 Сейчас в теме
В очередной раз поменялось Google API. У меня тоже перестало выгружаться где-то неделю назад.
Разберусь - выложу обновление.
8. hombre 14 07.07.15 10:46 Сейчас в теме
(7) подскажите как часто происходят такие изменения?
9. zan_od 55 08.07.15 09:53 Сейчас в теме
(8) hombre, сложно сказать. Google постоянно меняют API, просто изменения могут не затрагивать используемый в обработке функционал. Судя по моим доработкам, функционал выгрузки меняется в среднем раз в год.
10. hombre 14 04.08.15 12:23 Сейчас в теме
Анатолий, спасибо за обновление. При попытке выгрузить файл выходит ошибка
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error"
}
],
"code": 400,
"message"

Подскажите, в чем может быть проблема?
11. zan_od 55 04.08.15 22:44 Сейчас в теме
(10) hombre, для того, чтобы я мог воспроизвести ошибку, приведите полный текст ошибки (судя по приведенному Вами отрывку - это не весь текст).
Имя модуля и номер строки не выводится?
Как выглядит ошибка: диалог посередине экрана или в окне сообщений внизу экрана?
Какой файл загружаете: Excel или OpenOffice?
В какой версии сохранен файл?
Это обновление существующего файла или загрузка нового?
На каком этапе возникает ошибка: авторизация или непосредственно загрузка?
13. hombre 14 05.08.15 10:52 Сейчас в теме
(11) Ошибка возникает только при обновлении существующего файла.
В окне сообщения ошибка:
Ошибка запроса обновления документа: (400) Bad Request
Отдельным текстовым окном:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error"
}
],
"code": 400,
"message": "Parse Error"
}
}

Имя таблицы на киррилице и на латиннице -результат одинаков.
14. zan_od 55 05.08.15 23:38 Сейчас в теме
(13) hombre, имя таблицы содержит кавычки? Исправил. Причина в том, что одинарные кавычки - спецсимвол в URL, а двойные кавычки - спецсимвол в JSON.
15. hombre 14 06.08.15 14:31 Сейчас в теме
(14) Без кавычек имя таблицы test
16. zan_od 55 06.08.15 18:01 Сейчас в теме
(15) hombre, странно. Давайте проверим такую версию: попробуйте выгрузить другой файл (попробуйте с пустого).
12. zan_od 55 04.08.15 22:53 Сейчас в теме
(10) hombre, как называется имя таблицы в Google Drive? Попробуйте выгрузить с простым именем, например "test"
17. xlmel 20.08.15 16:08 Сейчас в теме
Если просто положить файл на один определенный диск в Google Drive, то можно установить GoogleDrive для ПК на компьютер, сохранять файл в папку, на которую настроена синхронизация и не нужно все остальное. Для разных дисков нужно хранить разные refresh_token в разных файлах и где-то сохранять таблицу соответствия, чтобы не проводить при каждом соединении авторизацию. Да и с Google API часто проблемы бывают. В свое время убил кучу времени на Calendar.
18. kras_71 75 22.10.15 22:38 Сейчас в теме
В функции ОбновитьДокумент вот такие переделки и все работает:

Функция ОбновитьДокумент(Соединение, ТокенАвторизации, ИмяФайла, ИмяТаблицы, ИдДокумента)
	КоличествоБайт = РазмерФайла(ИмяФайла);
	
	Если ПустаяСтрока(ИдДокумента) = 1 Тогда
		
		Тело = 
		"{
		|	""title"": """ + ЭкранироватьСимвол(ИмяТаблицы, """") + """,
		|	""fileExtension"": ""xls""
		|}";
		
		Соединение.Open("POST", "https://www.googleapis.com/upload/drive/v2/files?uploadType=resumable&convert=true", 0); 
		Соединение.SetRequestHeader("Content-Length", СтрДлина(Тело));
		Соединение.SetRequestHeader("Content-Type", "application/json; charset=UTF-8");
	Иначе  
		 Сообщить("ОБНОВЛЯЕМ");
		Соединение.Open("PUT", "https://www.googleapis.com/upload/drive/v2/files/" + ИдДокумента + "?uploadType=resumable", 0);
		Тело = "";
	КонецЕсли;



  
	Соединение.SetRequestHeader("Authorization", "Bearer "+ТокенАвторизации);
	Соединение.SetRequestHeader("Content-Type", "application/json; charset=UTF-8");
	Соединение.SetRequestHeader("X-Upload-Content-Type", "image/jpeg");
	Соединение.SetRequestHeader("X-Upload-Content-Length", КоличествоБайт);
	//Соединение.SetRequestHeader("Authorization", "Bearer "+ТокенАвторизации);
	//Соединение.SetRequestHeader("X-Upload-Content-Type", "application/vnd.ms-excel");
	//Соединение.SetRequestHeader("X-Upload-Content-Length", КоличествоБайт);
	
	Соединение.Send(Тело); 
	
	Если Соединение.Status <>  200 Тогда
		Сообщить("Ошибка запроса обновления документа: (" + Соединение.Status + ") " + Соединение.StatusText, "!!");
		ВывестиСтроку(Соединение.ResponseText());
		Возврат 0;
	КонецЕсли;
	
	Ссылка = Соединение.GetResponseHeader("Location");
	
	Если ЗагрузитьФайлПоСсылке(Соединение, ТокенАвторизации, Ссылка, ИмяФайла, 0) <> 1 Тогда
		Сообщить("Ошибка загрузки файла на сайт", "!!");
		Возврат 0;
	КонецЕсли;
	
	Возврат 1;
КонецФункции
Показать
19. kras_71 75 23.10.15 00:06 Сейчас в теме
20. zan_od 55 23.10.15 16:15 Сейчас в теме
(19) kras_71, что пишет? Какая ошибка?
21. serviceonec 10.12.15 17:08 Сейчас в теме
За обработку спасибо. Все работает. Хотелось еще бы выгрузку в определенную папку.
22. Deryni 23 05.04.16 18:18 Сейчас в теме
Возникла проблема. Если загружать новый файл - то он загружается, а если попытаться обновить тот, что уже есть (даже тот, который только что загрузил), то выдаёт такую ошибку:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error"
}
],
"code": 400,
"message": "Parse Error"
}
}
23. Deryni 23 07.04.16 12:00 Сейчас в теме
Указанную проблему удалось решить так:
Вот этот блок
Соединение.SetRequestHeader("Content-Length", СтрДлина(Тело));
Соединение.SetRequestHeader("Content-Type", "application/json; charset=UTF-8");
Вставляем как для новых файлов, так и для обновляемых и всё работает.
В результате процедуры выглядит так:

Функция ОбновитьДокумент(Соединение, ТокенАвторизации, ИмяФайла, ИмяТаблицы, ИдДокумента) Экспорт
	КоличествоБайт = РазмерФайла(ИмяФайла);
	
	Если ПустаяСтрока(ИдДокумента) Тогда
		
		Тело = 
		"{
		|	""title"": """ + ЭкранироватьСимвол(ИмяТаблицы, """") + """,
		|	""fileExtension"": ""xls""
		|}";
		
		Соединение.Open("POST", "https://www.googleapis.com/upload/drive/v2/files?uploadType=resumable&convert=true", 0); 
	Иначе
		Соединение.Open("PUT", "https://www.googleapis.com/upload/drive/v2/files/" + ИдДокумента + "?uploadType=resumable&convert=true", 0);
		Тело = "";
	КонецЕсли;
	
	Соединение.SetRequestHeader("Content-Length", СтрДлина(Тело));
	Соединение.SetRequestHeader("Content-Type", "application/json; charset=UTF-8");	
	Соединение.SetRequestHeader("Authorization", "Bearer "+ТокенАвторизации);
	Соединение.SetRequestHeader("X-Upload-Content-Type", "application/vnd.ms-excel");
	Соединение.SetRequestHeader("X-Upload-Content-Length", КоличествоБайт);
Показать


Кроме того было обнаружено, что MSScriptControl.ScriptControl не работает на 64-битном сервере 1С.
Поэтому кодирование строки в URI было выполнено раскомментированием соотв. процедуры в модуле, которая делает это без внешних компонент.
Функция для преобразования имени в URI выглядит так:

Функция URLEncode(Знач Строка="")
	Строка = ЭкранироватьСимвол(Строка, "'");
	//ScrCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
	//ScrCtrl.Language = "JScript";
	//Сообщение = ScrCtrl.eval("var uri='"+Строка+"'; encodeURI(uri);");
	Сообщение = URLEncode0(Строка);
	Сообщение = ЭкранироватьСимвол(Сообщение, "'");
	Возврат Сообщение;
КонецФункции
Показать
24. zan_od 55 07.04.16 17:35 Сейчас в теме
25. script 128 17.10.16 13:56 Сейчас в теме
(23) Deryni,

После изменений в процедуре
URLEncode(Знач Строка="")

на 32 разрядном сервере 1С, файл не обновляется, а создается новый.
Если вернуть текст процедуры изначальный - все работает на УРА.

Спасибо огромное за технологию.
26. Aldvinq 11.04.17 12:08 Сейчас в теме
Добрый день!
Работаю на 64-разрядном сервере.
Сперва столкнулся с ошибкой "code": 400 при попытке обновить ранее выгруженный документ, затем воспользовался советом (23) - ошибка исчезла, но каждый раз начала создаваться новая таблица с одним и тем же наименованием. Что все-таки нужно поправить, чтобы обновлялась существующая таблица?
27. cwant 5 04.08.17 11:05 Сейчас в теме
28. Ark_W 14.09.17 12:15 Сейчас в теме
Здравствуйте!
Подскажите, как указать имя файла загружаемого на google диск?
29. zan_od 55 14.09.17 16:16 Сейчас в теме
(28) На форме реквизит "Имя таблицы"
30. user944024 27.03.18 17:22 Сейчас в теме
Добрый день! для 7.7. обработка в архиве есть? обработка конвертирует из xls в гугл док? умеет работать по расписанию?
31. zan_od 55 27.03.18 21:03 Сейчас в теме
(30) Добрый день. Обработка потеряла актуальность, работоспособность не проверял. Скорей всего не работает, так как с момента последней доработки API Google Drive менялся. Обработку можно использовать как основу для собственных наработок. Я пошел другим путем: написал небольшую Java-программу, которая использует официальный пакет Java на сайте разработчиков https://developers.google.com/drive/v3/web/quickstart/java, а из 1С запускаю JAR из командной строки с параметрами. Если кому-то интересно, могу выложить исходный код или проект.
32. hvh757 19.09.18 06:40 Сейчас в теме
(31) Доброго дня. Тема интересна. Если есть возможность - вышлите исходный код (можно и проект) на hvh@7-5-7.ru . Заранее благодарен.
33. user1076980 26.10.18 13:27 Сейчас в теме
Добрый день. Если еще актуальна данная помощь, то не могли бы Вы скинуть исходный код?)
34. DenMaxwell 17 25.03.19 16:44 Сейчас в теме
(31) Доброго дня. интересует исходный код на kirichenkod@gmail.com. Заранее благодарен.
35. user602990_lvv 28.03.19 13:34 Сейчас в теме
Здравствуйте.

Интересует чтение уже загруженного на google документа в 1с7.7

Подскажите, пожалуйста, на почту vitaliy1972li@yandex.ru.

Стартмани нет еще.

Спасибо.
36. bad_boys 17 11.10.19 11:22 Сейчас в теме
Здравствуйте.
А делал кто то создание папок с 1с в гугл диск?
Оставьте свое сообщение