Шаблоны Чем отличается Как начать Статьи Вопросы
13 мин чтения

Онлайн-таблицы для совместной работы: кто что видит и кто что может

В «Таблицах Vakas» можно работать над таблицей вместе, показать часть данных по ссылке и собирать новые записи через форму. Разберем, какой способ доступа выбрать для сотрудника и для подрядчика, что дают роли и где их не хватит.

Совместная работа начинается с вопроса, кто что увидит

Условный, но типичный пример. Подрядчику отправили ссылку на таблицу с заказами, чтобы он видел адреса доставки. Вместе с адресами он получил колонку закупочных цен и телефоны клиентов, а через неделю, когда колонку спрятали, выгрузка у него уже была.

Так устроено большинство онлайн-таблиц для совместной работы: общий доступ выдается на файл целиком, а не на его часть. В «Таблицах Vakas» роли участников назначаются на таблицу или на проект целиком, а публичная ссылка открывает одно конкретное представление. Скрыть от участника часть ячеек или записей нельзя, и сказать об этом честнее до регистрации, чем после.

Способов дать доступ в «Таблицах Vakas» три, и путать их дорого. Найдите свою задачу в таблице и переходите сразу к нужному разделу:

Что нужно сделатьКакой способ разобрать дальше
Дать сотруднику доступ для просмотра или работы с записямиПриглашение участника и выбор роли
Показать подрядчику подготовленную выборкуПубличное представление
Собирать заявки, не давая отправителям доступа к таблицеФорма

Четыре роли: читатель, редактор, администратор, владелец

Роль в «Таблицах Vakas» выдается на отдельную таблицу или на проект, и тогда действует во всех таблицах проекта. Если у человека есть и роль в проекте, и своя роль в конкретной таблице, работает старшая из двух. На весь аккаунт роль не выдается: один и тот же человек может быть владельцем своей таблицы заказов и читателем в чужой таблице закупок.

Что можноЧитательРедакторАдминистраторВладелец
Смотреть записи, историю правок, выгружать данныедададада
Создать личное представление со своими фильтрамидададада
Добавлять, править и удалять записи, импортировать файлнетдадада
Менять поля таблицы, настройки, общие представлениянетнетдада
Приглашать людей и менять их ролинетнетдада
Создавать публичные ссылки и вебхукинетнетдада
Удалить таблицу, передать владение, назначить администраторанетнетнетда

Две детали, которые обычно выясняют на второй неделе работы. Администратор не может назначить другого администратора и не может тронуть того, кто уже им является: и то, и другое доступно только владельцу. А при передаче владения прежний владелец не выпадает из таблицы, он автоматически становится администратором.

Роль в таблице это не про доверие к человеку, а про объем ущерба от его случайной ошибки. Менеджер, который ведет сто заявок в день, рано или поздно удалит не ту строку. Вопрос только в том, сможет ли он при этом удалить заодно колонку со статусами.

Участников на таблицу может быть до 200.

Когда таблиц несколько и работают с ними одни и те же люди, удобнее выдать доступ к проекту. Это делается в меню проекта: «Действия проекта», затем «Доступ к проекту». Приглашенный получает все таблицы проекта с одной ролью, и звать его в каждую по отдельности не нужно. В окне участников таблицы такие люди показаны в разделе «Из проекта». Их роль в отдельной таблице можно только повысить, пригласив человека в эту таблицу напрямую.

Окно «Участники таблицы»: владелец, читатель, редактор с уровнем «Видит все, правит свои», участник из проекта «Продажи» и блок приглашения
Участники таблицы: роль и уровень доступа к записям выбираются списком. Люди из проекта показаны отдельно, их роль задается на весь проект.

Можно ли защитить отдельные ячейки от редактирования

Защиты диапазона в «Таблицах Vakas» нет. Нельзя разрешить менеджеру менять статусы заказов и одновременно запретить ему править цены в тех же записях. Если раздельные права на столбцы обязательны для работы, эту задачу «Таблицы Vakas» сейчас не решают.

Скрыть от сотрудника чужие записи тоже нельзя, а вот запретить их править можно. Для этого в настройках таблицы выбирают поле «Чьи записи» с типом «Участник», например «Ответственный», а редактору ставят уровень «Видит все, правит свои». Такой редактор видит всю таблицу, но меняет и удаляет только записи, где указан сам. Запись, которую он создал, в том числе импортом, сразу считается его: пустое поле «Чьи записи» заполняется им. На чужой записи он увидит подсказку «Изменять может ответственный». Уровень выбирается только у редактора, при приглашении в таблицу или в проект.

Фильтры, виды вроде «Мои заявки» и личные представления меняют то, что человек видит, но не закрывают от него остальные данные таблицы.

В Google Таблицах такая настройка есть, но работает она уже, чем принято думать: она ограничивает круг тех, кто редактирует диапазон, и не скрывает его содержимое от людей, которым открыт просмотр файла.

Ограничение просмотра в «Таблицах Vakas» настраивается отдельно и не через скрытие поля. Спрятанное в представлении поле исчезает с экрана, но остается доступным участникам таблицы через выгрузку и через API (программный интерфейс). Скрытая колонка это оформление, а не доступ.

Когда прав на таблицу достаточно: команда работает с одними данными, все видят все, разделение нужно только чтобы никто случайно не сломал структуру. Роли закрывают это целиком: читатель смотрит, редактор заполняет, администратор отвечает за поля. Если менеджеры не должны править заказы друг друга, редакторам добавляют уровень «Видит все, правит свои».

Когда недостаточно: в таблице есть то, что часть команды видеть не должна. Закупочные цены, маржа, персональные данные, зарплаты. Здесь нужно разделение на уровне таблиц: чувствительное выносится в отдельную таблицу со своим составом участников.

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

Общие и личные представления

Представление это сохраненный набор фильтров, сортировок, скрытых полей и их порядка. Общее видят все участники таблицы, личное видит только его автор.

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

Если прав на изменение общего представления нет, фильтр все равно можно применить, но он будет временным: изменения живут только в открытой вкладке и пропадают при перезагрузке страницы. Рядом появляется пометка, что вид не сохранен, и предложение сохранить его как личный.

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

Представлений на таблицу может быть до 50, типы: таблица, канбан, календарь и форма.

Публичная ссылка: показать данные тем, у кого нет аккаунта

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

Здесь работает другой режим доступа, и его стоит развести с предыдущим разделом. Скрытое поле в представлении не закрывает данные от участников самой таблицы. Но постороннему по публичной ссылке доступны только видимые поля и записи опубликованного представления, потому что участником таблицы он не становится вовсе.

Что получает человек по ссылке вида /s/…: название таблицы, видимые поля этого представления и сами записи. Только чтение. Гостевого редактирования по публичной ссылке нет вообще, это запрещено на уровне прав, а не спрятано в интерфейсе.

Таблица заказов глазами читателя: панель с полями, фильтром и сортировкой на месте, кнопка экспорта доступна, правка записей недоступна
Так таблица выглядит у читателя: он внутри таблицы, видит панель инструментов и может выгрузить данные, но не правит записи.
Та же таблица заказов по публичной ссылке без входа в аккаунт: панели редактирования нет, колонка «Сумма с НДС» отсутствует
Она же по публичной ссылке, без входа в аккаунт: ни панели полей, ни фильтров, а выгрузка в этом примере отключена. Колонки «Сумма с НДС» тоже нет: в опубликованном представлении она скрыта, и наружу не уходит.

Ссылку можно закрыть паролем, поставить срок действия и отдельно решить, разрешать ли выгрузку в CSV. Любое изменение настройки пароля сбрасывает ранее выданный доступ: если пароль сменили, посетителю придется ввести новый, если сняли, ссылка откроется без пароля. Отозванная ссылка перестает работать сразу, открытые страницы отключаются.

Диалог «Публичная ссылка»: адрес, галочка разрешения экспорта, установленный пароль с кнопками «Сменить» и «Снять», срок действия и кнопка отзыва
Настройки публичной ссылки: пароль, срок действия, разрешение на выгрузку и кнопка отзыва. Под паролем и под отзывом прямо предупреждают, что гости, уже открывшие ссылку, потеряют доступ.
Экран ввода пароля при открытии защищенной публичной ссылки: заголовок «Доступ по паролю», поле ввода и кнопка «Открыть»
Что видит человек, открывший защищенную ссылку: до ввода пароля данных нет.

Две границы, про которые лучше помнить заранее. Пароль ограничивает открытие ссылки, но не делает доступ адресным: это не приглашение конкретному человеку, а замок на общей двери. А отзыв ссылки прекращает дальнейший доступ, но не удаляет то, что получатель уже выгрузил себе.

И еще одно, о чем стоит знать заранее: гость по ссылке не появляется в истории записей, а сами открытия ссылки нигде не фиксируются. Если нужен ответ на вопрос «кто и когда смотрел», публичная ссылка его не даст.

Форма: принять данные от тех, кому таблица не нужна

Публичная ссылка показывает, форма принимает. Это разные вещи, и путать их дорого.

Форма вида /f/… это единственный способ записать данные в таблицу без учетной записи. Человек заполняет поля и создает запись, при этом он не видит ни остальных записей, ни структуры таблицы. Когда данные нужно собрать с людей из разных мест, не пуская их в таблицу, это задача формы, а не общего доступа.

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

О каждой новой заявке приходит уведомление в колокольчик приложения и письмом. Кого уведомлять, выбирают в конструкторе формы, в блоке «Кого уведомлять о новых заявках»: по умолчанию там отмечен создатель формы, а добавить можно любого, у кого есть доступ к таблице. Не путайте это с письмом о назначении: когда сотрудника выбирают ответственным в поле «Участник», ему приходит уведомление, но это отдельное событие, и к форме оно не относится.

Паролем форма не закрывается: это следует из ее назначения, ссылку на нее раздают открыто.

Что происходит, когда двое правят одну строку

Чужая правка появляется в вашей таблице сама, без обновления страницы. Но обещать работу совсем без конфликтов честно нельзя, и вот как устроен конфликт на самом деле.

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

Молча, без вашего участия, чужое значение не затирается: система всегда показывает оба варианта и ждет решения. Это защита от тихой потери данных, когда двое по очереди сохраняют одну строку и последний выигрывает, а первый об этом не узнает.

Чего в «Таблицах Vakas» нет: посимвольного соредактирования одного поля, как в текстовых документах, курсоров и аватарок «кто сейчас в таблице». Одновременная работа здесь означает, что все видят актуальные данные и конфликт разрешается явно, а не что двое набирают текст в одной ячейке.

История правок: кто, когда и что поменял

У каждой записи есть история: кто изменил, когда, какое поле, старое значение и новое. Смотреть ее может любой участник, включая читателя, и именно она отвечает на вопрос «кто стер статус у заявки».

В карточке записи история идет в общей ленте вместе с комментариями. Коллегу можно позвать упоминанием через @, и ему придет уведомление: обсуждение остается рядом с записью, а не теряется в мессенджере.

Отдельное значение можно вернуть прямо из истории, если есть право на правку. Полного отката записи к состоянию на вчера нет: возвращаются конкретные значения полей, по одному. Удаленные записи лежат 30 дней в корзине, она открывается кнопкой «Корзина» на панели таблицы, и оттуда их восстанавливают целиком. Редактор с уровнем «Видит все, правит свои» видит в корзине все удаленные записи, но вернуть может только свои.

Изменения полей хранятся полгода, комментарии сохраняются, пока существует запись. Для разбора «что случилось на прошлой неделе» этого хватает, для годового аудита нет, и это стоит учитывать заранее, если данные требуют долгого следа.

Технические ограничения
  • Обновления в реальном времени приходят по вебсокету. На одного человека до 10 одновременно открытых вкладок, одиннадцатая к обновлениям не подключится.
  • Любая причина недоступности публичной ссылки отвечает одинаково, страницей 404: ссылка отозвана, срок истек, представление удалено или ссылки никогда не было. Снаружи эти случаи неразличимы, и так сделано специально.

Пример распределения доступа в небольшом магазине

Таблица заказов небольшого магазина. Владелец таблицы это собственник: только он может ее удалить и передать владение. Руководитель отдела администратор: заводит новые поля, приглашает людей, настраивает публичные ссылки. Два менеджера редакторы: заполняют заказы, меняют статусы, не трогают структуру, а с уровнем «Видит все, правит свои» правят только свои заказы. Бухгалтер читатель: видит суммы, выгружает данные, ничего не меняет.

Курьерская служба доступа к таблице не получает вообще. Ей отдают публичную ссылку на представление, где отфильтрованы заказы на сегодня и оставлены четыре поля: адрес, телефон, сумма и комментарий. Закупочных цен в этом представлении нет, а значит их нет и в выгрузке.

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

Как пригласить человека в таблицу

Сначала о результате, чтобы выбирать осознанно: приглашенный участник видит все записи и поля таблицы, а менять может то, что позволяют роль и уровень доступа к записям. Даже читатель может выгрузить данные, а скрытие полей в представлении не защищает их от участников. Если часть данных показывать нельзя, это повод для публичной ссылки на подготовленное представление, а не для приглашения.

Приглашение адресное, по электронной почте. Ссылки вида «кто перешел, тот и в команде» в «Таблицах Vakas» нет, и это осознанный выбор: такие ссылки утекают в переписку и живут в ней годами.

Приглашение действует 7 дней. Принять его может только тот, у кого адрес подтвержден и совпадает с адресом приглашения, так что переслать письмо коллеге не выйдет. Регистрация сама по себе доступа не дает: человек, зарегистрировавшийся по вашей ссылке, в таблицу не попадет, пока вы его не пригласите.

Обратный ход тоже есть: если сотрудник открыл таблицу, к которой у него нет прав, он может запросить доступ, и владелец с администраторами получат уведомление.

Зарегистрируйтесь, и сразу поставится комплект «CRM услуг» с клиентами, сделками и задачами. Пригласите коллегу редактором и соберите отдельное представление для подрядчика. Пока идет обкатка, «Таблицы Vakas» бесплатны, а проверить схему доступа дешевле сейчас, чем после того, как данные уйдут наружу.

Понравилась статья? Расскажите нам о своей задаче — поможем настроить или построим под ключ.

Попробуйте «Таблицы Vakas»
уже сегодня

Пока идет обкатка, сервис бесплатный: создайте первую таблицу и оцените, как просто можно работать с данными.