Казалось бы, вот оно общее информационное пространство, в котором можно распределять права доступа, систематизировать файлы и добавлять к ним дополнительные поля. Чего не хватает для электронного документооборота? Уже на нескольких крупных строительных объектах мы испробовали Google Drive в деле документооборота, нашли популярные грабли и удачные решения. В майские праздники я (наконец-то!) упаковал этот опыт в 7-минутный ролик, отобрав самые полезные приемы.

Хотя примеры из строительной тематики, так как это моя область работы (управленческий учет, фин. планирование, визуализации и т.п.), они вполне применимы в любой другой:
Самое интересное, на мой взгляд, это структура на листе 2 объединяющая плюсы и человекопонятной формы и реляционной базы данных. С одной стороны люди просто заносят в удобной структуре данные, видят иерархию и всякие сумматоры, с другой к ним можно обратиться хоть с SQL запросом (для этого в Гугл таблицах есть формула QUERY), хоть сводную таблицу в пару кликов сформировать.
Ну и если кому пригодится скрипт для загрузки файлов “прямо в ячейки таблицы”, делюсь. С подробнейшими комментариями, читается легко, как рецепт пельменей:
Интересно узнать конструктивную критику от тех, кто в теме. Ну и любые полезные мнения, дополнения, советы.

Хотя примеры из строительной тематики, так как это моя область работы (управленческий учет, фин. планирование, визуализации и т.п.), они вполне применимы в любой другой:
Самое интересное, на мой взгляд, это структура на листе 2 объединяющая плюсы и человекопонятной формы и реляционной базы данных. С одной стороны люди просто заносят в удобной структуре данные, видят иерархию и всякие сумматоры, с другой к ним можно обратиться хоть с SQL запросом (для этого в Гугл таблицах есть формула QUERY), хоть сводную таблицу в пару кликов сформировать.
Ну и если кому пригодится скрипт для загрузки файлов “прямо в ячейки таблицы”, делюсь. С подробнейшими комментариями, читается легко, как рецепт пельменей:
// Создание папки в выделенной ячейке function createFolder(){ // берем ячейку, в которой стоит курсор var currentCell = SpreadsheetApp.getCurrentCell(); // проверяем, что она пустая (папки создаем только в пустых) if (currentCell.isBlank()) { // берем текущую таблицу var ss = SpreadsheetApp.getActiveSpreadsheet(); //берем текущую таблицу // при первом запуске рядом с таблицей создается родительска папка, в которой будут все папки, создаваемые в ячейках // чтобы каждый раз обращаться к родительской папке, ее id будет храниться в ячейке А1 на листе "settings", который тоже будет создан при первом запуске // берем в таблице лист settings var settingsSheet = ss.getSheetByName("settings"); // если взять не получилось, значит листа еще не существует и родительской папке тоже (т.е. это первый запуск) if (!settingsSheet) { // создаем родительскую папку var contentFolder = DriveApp.getFileById(ss.getId()).getParents().next().createFolder("Файлы "+ss.getName()); // создаем лист settings settingsSheet = ss.insertSheet('settings'); // скрываем его, чтобы людей не отвлекать settingsSheet.hideSheet(); // записываем в ячейку А1 id родительской папки settingsSheet.getRange(1, 1).setValue(contentFolder.getId()); }; // создаем папку в родительской папке (в качстве имени берется ставится текущая дата, но можете использовать значения из других ячеек) var newFolder = DriveApp.getFolderById(settingsSheet.getRange(1, 1).getValue()).createFolder((new Date()).toISOString()); // в текущую ячейку вставляем надпись "Файлы" и ссылку на папку currentCell.setFormula('=HYPERLINK("https://drive.google.com/drive/folders/' + newFolder.getId() + '";"Файлы")'); }else{ // если ячейка была все таки не пустая, выдаем сообщение Browser.msgBox("Можно создать папку только в пустой ячейке") } }
Интересно узнать конструктивную критику от тех, кто в теме. Ну и любые полезные мнения, дополнения, советы.
