Казалось бы, вот оно общее информационное пространство, в котором можно распределять права доступа, систематизировать файлы и добавлять к ним дополнительные поля. Чего не хватает для электронного документооборота? Уже на нескольких крупных строительных объектах мы испробовали 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("Можно создать папку только в пустой ячейке")
}
}
Интересно узнать конструктивную критику от тех, кто в теме. Ну и любые полезные мнения, дополнения, советы.
OasisInDesert
Интересный опыт применения.