Вопрос или проблема
У меня есть 2 списка SharePoint в SP2013: Ошибки и Локации. В списке ошибок есть поле с подбором для списка локаций. Мне нужно, чтобы информация о локации (телефон, адрес и т.д.) автоматически заполнялась в список ошибок по номеру локации, который уже есть в списке ошибок, когда я вставляю свои ошибки (из Excel). Как я могу это сделать? Сейчас мне нужно открывать каждый элемент, редактировать его и выбирать локацию из выпадающего списка.
Списки SharePoint с такими связями должны настраиваться вручную (хотя вы можете найти способ сделать это с помощью кода, я бы этого не рекомендовал). То же самое касается вычисляемых полей, они обновляются только при изменении поля.
С другой стороны, вы можете перейти на вкладку Список и (в зависимости от версии SharePoint, настроек списка и ваших прав) переключиться на режим таблицы данных, который позволит вам обновлять данные массово, как если бы вы работали с электронной таблицей.
Это изображение из SharePoint 2010
Ответ или решение
В SharePoint 2013 для автоматического заполнения столбца сдвигом (lookup column) в списке «Ошибки» на основе данных из списка «Локации», вы можете воспользоваться несколькими подходами, хотя интуитивно понятных решений для этой задачи не существует. Ваша ситуация заключается в том, что вы хотите использовать номер локации из списка «Ошибки», чтобы автоматически наполнять другие поля, такие как телефон и адрес, что требует определённых действий.
Вот несколько шагов и рекомендаций, которые помогут вам в этом процессе:
-
Переход в режим «Табличный вид» (Datasheet View):
- Перейдите в список «Ошибки».
- Убедитесь, что у вас есть нужные разрешения для изменения списка.
- В верхнем меню выберите «Список» и затем «Табличный вид» (или «Quick Edit»). Этот режим позволяет редактировать данные в виде таблицы, что значительно упрощает массовые изменения.
- В табличном режиме вы сможете вставлять данные из Excel, что может ускорить процесс.
-
Обновление полей с помощью JavaScript или SharePoint Designer:
- Если вы знакомы с программированием, вы можете использовать JavaScript для создания пользовательского решения, которое будет заполнять нужные поля автоматически при добавлении новой записи. Используйте SharePoint REST API для доступа к спискам и данных.
- Кроме того, вы можете рассмотреть возможность создания рабочего процесса (workflow) в SharePoint Designer, который будет срабатывать при создании новой записи в списке «Ошибки» и автоматически заполнять остальные данные из списка «Локации».
-
Использование Power Automate (если доступно):
- Если ваша версия SharePoint поддерживает интеграцию с Power Automate, вы можете создать поток, который будет срабатывать при добавлении новой записи и который будет брать данные из списка «Локации» на основе номера локации, а затем заполнять соответствующие поля в списке «Ошибки».
-
Ручной способ:
- В случае если автоматизация не подходит или трудоемка для внедрения, вам все же придется открывать каждую запись и вручную выбирать соответствующую локацию из списка. Однако, редактирование в табличном виде значительно упростит этот процесс.
К сожалению, как вы уже заметили, SharePoint Lists требуют ручного обновления связываемых данных, и автоматически обновляемые поля возможны только при редактировании исходных записей или при использовании программных средств. Если вы хотите более интегрированный подход, включая использование кода и других инструментов, стоит изучить возможности более новых версий SharePoint, если это применимо вашей ситуации.