Wstępne wypełnianie odpowiedzi

W aplikacji Survey123 odpowiedzi można wypełniać wstępnie na wiele sposobów.

Odpowiedzi domyślne

Domyślne odpowiedzi na pytania w ankiecie można ustawiać w kolumnie default (wartość domyślna) arkusza kalkulacyjnego podczas projektowania ankiety. Powoduje to wstępne wypełnienie pytania w ankiecie tą samą odpowiedzią za każdym razem, gdy rozpoczyna się ankietę lub gdy pytanie stanie się ważne. Jest to szczególnie przydatne, gdy odpowiedź na pytanie w ankiecie będzie w większości przypadków taka sama. W razie potrzeby można zmodyfikować odpowiedź domyślną, ale jej ustawienie pozwala oszczędzić czas podczas wypełniania ankiety. Odpowiedzi domyślne mogą zawierać stałe, takie jak ciągi znakowe i liczby.

Odpowiedzi na pytania typu select_multiple (wybierz wiele) działają inaczej niż pozostałe — wszystkie zaznaczone odpowiedzi są wprowadzane w kolejności ich wyboru i są oddzielane przecinkami. Aby zdefiniować wiele wartości jako wartości domyślne w polu select_multiple (wybierz wiele), rozdziel je przecinkami, na przykład element1,element2,element3.

Odpowiedzi domyślne są obsługiwane w pytaniach typu geopoint (punkt geograficzny), geotrace (ślad geograficzny) i geoshape (kształt geograficzny). Więcej informacji na temat konfigurowania wartości domyślnych można znaleźć w sekcjach Punkty geograficzne oraz Ślad geograficzny i kształt geograficzny.

Obliczenia

Obliczenia są podobne do odpowiedzi domyślnych, ale istnieją pewne różnice. W przeciwieństwie do kolumny default (wartość domyślna), która jest wartościowana tylko w momencie otwierania ankiety lub gdy pytanie stanie się ważne, obliczenia są wartościowane przy każdej zmianie odpowiedzi w ankiecie stanowiących dane wejściowe do obliczeń lub gdy te odpowiedzi staną się ważne. W obliczeniach można korzystać z odpowiedzi istniejących w formularzu. Na przykład wyrażenie 100 - (${integer1} + ${integer2}) wprowadzone w kolumnie calculation (obliczenie) pytania spowoduje zsumowanie wartości z pytań integer1 i integer2, odjęcie tej sumy od wartości 100 i ustawienie wyniku jako odpowiedzi. Użytkownik może zastąpić tę wartość, ale obliczenie dostarcza odpowiedzi początkowej, która może być dla użytkownika wskazówką.

Wskazówka:

Jeśli wynik obliczeń zostanie ręcznie zmieniony, można za pomocą wyświetlonego przycisku skasować zmienioną wartość i ponownie uruchomić obliczenia.

Tryb obliczania

Parametr calculationMode wprowadzony w kolumnie bind::esri:parameters steruje ponownym wykonywaniem obliczeń w pytaniach, na przykład calculationMode=manual. Obsługiwane są cztery wartości:

  • auto — obliczanie, gdy pytanie jest puste lub nie zostało poprzednio zmodyfikowane przez użytkownika. Jeśli żadna wartość nie zostanie podana, jest to domyślne działanie obliczania.
  • manual — pytanie będzie obliczane tylko wtedy, gdy kliknięty zostanie znajdujący się obok niego przycisk Oblicz.
  • always — obliczanie w przypadku zmian dowolnej wartości, do której istnieje odniesienie w wyrażeniu obliczeniowym. Dotyczy to funkcji dynamicznych, takich jak now().
  • whenEmpty — obliczaj, dopóki nie zostanie zwrócona wartość niepusta. Po zwróceniu wartości niepustej pytanie zachowuje się w taki sam sposób jak w trybie manual. Obliczenia, które zawierają funkcje dynamiczne, takie jak now(), nie są ponownie wykonywane, dopóki nie zostanie kliknięty przycisk Oblicz. Tryb whenEmpty jest przydatny w sytuacji, kiedy pytanie, które zostało już obliczone z wartością niepustą, zostanie zaktualizowane po ponownym wczytaniu formularza, na przykład podczas otwierania z folderu Skrzynka odbiorcza.

Parametr calculationMode jest obsługiwany przez następujące typy pytań:

  • tekst
  • decimal
  • liczba całkowita
  • note
  • data
  • czas
  • dateTime
  • select_one
  • select_multiple
  • geopoint
  • oblicz
  • ukryte

Notatka:

Parametr calculationMode nie jest obsługiwany przez aplikację internetową Survey123.

Właściwości urządzenia i użytkownika

Funkcja pulldata("@property") umożliwia wyodrębnianie informacji dotyczących urządzeń, z których są przesyłane odpowiedzi na ankietę, oraz zalogowanych użytkowników, którzy przesłali te odpowiedzi. Ta funkcja jest przydatna do rejestrowania szczegółów technicznych o kontekście, w jakim została wypełniona ankieta.

Funkcja zwraca właściwość urządzenia lub użytkownika, korzystając z formatu pulldata("@property", '<property name>'). W poniższym przykładzie zwracana jest różnica między czasem lokalnym i czasem UTC urządzenia, co pozwala użytkownikowi zarejestrować strefę czasową, w której została utworzona ankieta:

pulldata("@property", 'utcOffset')

Funkcji pulldata("@property") można używać do wykrywania sposobu, w jaki użytkownik wchodzi w interakcję z odpowiedzią na ankietę:

pulldata("@property", 'mode')

Zwracane mogą być trzy wartości właściwości mode: new, gdy użytkownik tworzy nową odpowiedź na ankietę (w tym skopiowaną z istniejącej ankiety); edit, gdy użytkownik edytuje istniejącą odpowiedź; view, gdy użytkownik przegląda istniejącą odpowiedź w trybie tylko odczytu. W poniższym przykładzie funkcja umieszczona w kolumnie readonly (tylko do odczytu) wykrywa, czy użytkownik edytuje istniejącą odpowiedź i uniemożliwia mu edycję wybranego pytania:

pulldata("@property", 'mode') = 'edit'

Funkcja pulldata("@property") umożliwia także określenie, gdzie ankieta została otwarta. W poniższym przykładzie określa się, czy ankieta została otwarta z poziomu skrzynki odbiorczej:

pulldata("@property", 'status') = 'inbox'

Uwaga:

Zaleca się, aby nie zapisywać wyników właściwości mode (tryb) lub status w polu ukrytym ani obliczanym i nie włączać ani nie wyłączać pytania za pomocą tych właściwości w kolumnie relevant (odpowiednie). Takie postępowanie może spowodować usunięcie zawartości tych pól bądź zaktualizowanie wartości w sposób niezgodny z oczekiwanym.

Funkcja pulldata("@property") obsługuje następujące właściwości:

WłaściwośćOpis

pulldata("@property", 'portalUrl')

Adres URL portalu, do którego jest przesyłana ankieta.

pulldata("@property", 'token')

Token przekazywany do warstwy obiektowej.

pulldata("@property", 'portalInfo')

Wszystkie informacje o portalu jako obiekt JSON.

pulldata("@property", 'online')

Wartość logiczna. Prawda (true), jeśli urządzenie wykazuje aktywność sieciową. W przeciwnym razie fałsz (false).

pulldata("@property", 'utcOffset')

Przesunięcie w godzinach względem czasu UTC dla lokalnej strefy czasowej.

pulldata("@property", 'language')

Język używany w bieżącej ankiecie.

pulldata("@property", 'locale')¹

Obiekt Ustawienia regionalne używany w bieżącej ankiecie.

pulldata("@property", 'localeInfo')¹

Obiekt LocaleInfo aplikacji AppStudio używany w bieżącej ankiecie, który zawiera kod języka w różnych notacjach.

pulldata("@property", 'timeZone')

Kod strefy czasowej.

pulldata("@property", 'username')

Nazwa aktualnie zalogowanego użytkownika konta instytucji ArcGIS.

pulldata("@property", 'email')

Adres e-mail aktualnie zalogowanego użytkownika konta instytucji ArcGIS.

pulldata("@property", 'userFullName')

Imię i nazwisko aktualnie zalogowanego użytkownika.

pulldata("@property", 'userFirstName')²

Imię aktualnie zalogowanego użytkownika.

pulldata("@property", 'userLastName')²

Nazwisko aktualnie zalogowanego użytkownika.

pulldata("@property", 'deviceId')³

Unikalny identyfikator wygenerowany przez aplikację Survey123 reprezentujący konkretne urządzenie, na którym wypełniono ankietę. Nie jest to numer IMEI (International Mobile Equipment Identity) urządzenia przenośnego, ponieważ aplikacja Survey123 działa także na urządzeniach, które nie mają numeru IMEI.

pulldata("@property", 'deviceModel')³

Nazwa modelu urządzenia użytkownika.

pulldata("@property", 'OS')³

Nazwa systemu operacyjnego urządzenia użytkownika.

pulldata("@property", 'appVersion')

Numer wersji aplikacji terenowej lub numer kompilacji aplikacji internetowej.

pulldata("@property", 'surveyName')

Nazwa ankiety.

pulldata("@property", 'userAgent')

Ciąg znakowy agenta użytkownika urządzenia użytkownika.

pulldata("@property", 'mode')

Zwraca wartość new, jeśli użytkownik tworzy odpowiedź na ankietę, edit, jeśli użytkownik edytuje istniejącą odpowiedź lub view, jeśli użytkownik wyświetla odpowiedź w trybie tylko odczytu.

pulldata("@property", 'status')

Zwraca wartości draft, submitted, sent lub inbox, jeśli ankieta została otwarta odpowiednio ze skrzynki Wersje robocze, Skrzynka nadawcza, Wysłane lub Skrzynka odbiorcza. Jeśli odpowiedź jest nowa, zwracany jest pusty ciąg znakowy.

¹Do użytku tylko z funkcją pulldata("@javascript").

²Te parametry zależą od tego, co znajduje się w konfiguracji dostawcy tożsamości i mogą nie być dostępne w instytucjach, w których stosowane jest uwierzytelnianie inne niż uwierzytelnianie wbudowane.

³Tylko aplikacja terenowa Survey123.

Odpowiedzi ulubione

Po wprowadzeniu odpowiedzi w aplikacji terenowej Survey123 można je zapisać do użycia w kolejnych ankietach, ustawiając odpowiedzi ulubione. Za pomocą menu w prawym górnym rogu można skonfigurować bieżący stan ankiety w celu ustawienia jako ulubionych odpowiedzi.

Po ustawieniu odpowiedzi ulubionych można wstawiać je do nowych ankiet, otwierając to menu i klikając opcję Wklej odpowiedzi z ulubionych.

Jeśli w dowolnej chwili zajdzie konieczność zmiany ulubionych odpowiedzi, można je wprowadzić do bieżącej ankiety i kliknąć opcję Ustaw jako ulubione odpowiedzi. Jeśli w polu wprowadzane są powtarzające się informacje, można użyć bieżących odpowiedzi do wstępnego wypełnienia kolejnych ankiet. Ankieta użyta do skonfigurowania odpowiedzi ulubionych zostanie oznaczona gwiazdką.

Notatka:

Jeśli folder Wysłane został wyłączony, wysłanej ankiety nie można użyć dla ulubionych odpowiedzi. W tym przypadku zapisanie ankiety z ulubionymi odpowiedziami jako wersji roboczej umożliwia działanie opcji Wklej odpowiedzi z ulubionych.

Dane CSV

Wypełnienie odpowiedzi informacjami, które są zapisane w urządzeniu, może skrócić czas potrzebny do wypełnienia ankiety. Informacjami tymi mogą być dane zebrane w poprzedniej ankiecie. Możliwe jest także udostępnienie wielu odpowiedzi w oparciu o dane wprowadzone przez użytkownika w pojedynczej odpowiedzi.

Wstępne wypełnienie odpowiedzi jest przydatne w ankietach używanych do inspekcji zasobów. Po wprowadzeniu identyfikatora zasobu (przez jego wpisanie lub zeskanowanie kodu kreskowego) można pobrać z pliku .csv jego szczegóły i użyć ich w odpowiedziach na inne pytania, takie jak lokalizacja, data ostatniej inspekcji oraz stan w momencie ostatniej inspekcji.

Dodatkowe informacje na temat wypełniania odpowiedzi w ten sposób można znaleźć w sekcji Pobieranie wartości z formatu CSV.

Notatka:

Jeśli w pliku .csv brakuje nagłówka kolumny lub na końcu wierszy znajduje się przecinek, plik .csv nie zostanie zaimportowany do ankiety.