Rozwiązywanie problemów

Ta strona zawiera znane problemy, które mogą występować przy używaniu aplikacji terenowej Survey123 do wypełniania ankiety, a także sugestie dotyczące sposobu ich rozwiązywania.

Błąd wysyłania

Jeśli wypełniona ankieta nie mogła zostać przesłana, może zostać wyświetlony następujący błąd:

Komunikat o błędzie wysyłania

W oknie komunikatu naciśnij opcję Tak i wróć do edycji odpowiedzi przed przesłaniem. Po naciśnięciu opcji Nie komunikat o błędzie zostanie zamknięty i nastąpi powrót do skrzynki nadawczej.

Niektóre z typowych błędów wysyłania zostały wymienione w poniższej tabeli:

Numer błęduOpis błęduDiagnoza

Brak

Nie spełniono wymagań usługi obiektowej. Właściwość supportsApplyEditsWithGlobalIds musi mieć wartość prawda (true).

Warstwa obiektowa nie ma właściwości supportsApplyEditsWithGlobalIds ustawionej na wartość true (prawda). Włącz właściwość supportsApplyEditsWithGlobalIds, wykonując czynności opisane w tym wpisie na blogu.

400

Nieprawidłowy adres URL

Warstwa obiektowa określona po wczytaniu formularza już nie istnieje, co mogło nastąpić z powodu zmiany formularza skutkującego modyfikacją schematu. Jedynym rozwiązaniem jest ręczna migracja danych z użyciem technik odzyskiwania.

498

Niewłaściwy token

Token, który aplikacja terenowa próbuje przekazać do systemu ArcGIS, został odrzucony. Często przyczyną jest wygaśnięcie ważności tokenu, który aplikacja próbuje przekazać. W takim przypadku powtórz czynność — błąd nie powinien więcej wystąpić.

1000

Ciąg znakowy lub dane binarne zostaną obcięte

Wynik pytania jest za długi dla pola w warstwie obiektowej. Edytuj swoją odpowiedź, aby dopasować ją do limitu liczby znaków.

1000

Nieprawidłowa nazwa kolumny 'Shape__Extents’

Przesłany punkt pochodzi spoza pełnego zasięgu tej warstwy obiektowej. Jeśli ten problem się powtarza, a lokalizacja, którą próbujesz przesłać jest poprawna, należy ponownie opublikować usługę obiektową, powiększając jej zasięg. Jednak należy pamiętać, że spowoduje to utratę informacji, które zostały już zapisane w tej warstwie obiektowej.

1003

Wycofano operację Survey123

Może to nastąpić, jeśli ankieta zawiera pytania typu hidden (ukryte) lub calculate (obliczane) z nieprawidłowym typem danych. Typ danych obliczenia zależy od typu danych poszczególnych elementów obliczenia. W specyfikacji XLSForm z pytaniem typu hidden (ukryte) lub calculation (obliczenie) domyślnie wiązany jest typ string (ciąg znakowy). Aby zastąpić to ustawienie domyślne, należy wprowadzić wymagany typ (na przykład int lub decimal) w kolumnie bind::type odpowiadającej danemu pytaniu.

1019

Nie można zaktualizować podanego obiektu.

Ten błąd może wystąpić podczas próby wysłania zmodyfikowanej ankiety zawierające powtórzenie w wersji aplikacji terenowej Survey123, która nie obsługuje tego typu ankiet. Edytowanie ankiet zawierających powtórzenia jest obsługiwane w aplikacjach terenowych Survey123 w wersji 2.4 lub nowszych.

Błąd skrzynki odbiorczej

Błąd Nie masz uprawnień do uzyskania dostępu do tego zasobu lub wykonania tej operacji. Kod 403 może się pojawić, gdy folder Skrzynka odbiorcza zostanie odświeżony przez użytkownika innego niż autor ankiety. Jeśli skrzynka odbiorcza zostanie włączona przed pierwszą publikacją ankiety, wymagane uprawnienia są włączone domyślnie. Jeśli autor ankiety najpierw ją opublikuje, gdy skrzynka odbiorcza jest wyłączona i włączy ją później, musi włączyć uprawnienia Usuwanie lub Aktualizacja w ustawieniach warstwy obiektowej, aby zapewnić aktualizację wymaganych uprawnień.

Nieobsługiwane odniesienie przestrzenne podczas pobierania map

Nieobsługiwane odniesienie przestrzenne podczas pobierania map

Ten komunikat może zostać wyświetlony w aplikacji terenowej Survey123 przy próbie pobrania mapy bazowej na urządzenie. Aplikacja Survey123 wymaga, aby mapy bazowe używały odniesienia przestrzennego Web Mercator Auxiliary Sphere. Jest to to samo odniesienie przestrzenne, które jest używane przez Topograficzną mapę świata firmy Esri i inne mapy bazowe. Jeśli aplikacja terenowa Survey123 wykryje, że ankieta jest powiązana z mapą bazową offline, która nie jest wyrażona w odwzorowaniu Web Mercator Auxiliary Sphere, jest nieprawidłowa lub nie istnieje, jest wyświetlane ostrzeżenie. Należy pamiętać, że w niektórych przypadkach mapy bazowe offline mogą nie zawierać informacji o odniesieniu przestrzennym. W takich przypadkach komunikat ostrzegawczy wskazuje, że brak odniesienia przestrzennego. Mapa bazowa offline z nieznanym (wyświetlanym jako brakujące) odniesieniem przestrzennym może nadal działać poprawnie w aplikacji Survey123, jeśli rzeczywista mapa bazowa została utworzona z użyciem odwzorowania Web Mercator Auxiliary Sphere.

Autozapis

Jeśli podczas wypełniania ankiety nastąpi awaria urządzenia lub aplikacji, odpowiedź na ankietę da się odzyskać. Każda zmiana aktywnego elementu ankiety, na przykład aktywowanie nowego pytania, powoduje zapisanie zawartości wcześniej wypełnionych pytań w pliku autosave.json. Podczas wypełniania ankiety ten plik znajduje się w folderze Moje ankiety i jest używany w przypadku, gdy w wyniku awarii aplikacji nie można było prawidłowo zapisać ankiety w bazie danych.

Przy uruchomieniu aplikacji terenowej Survey123 sprawdzana jest obecność pliku autozapisu. W przypadku jego znalezienia generowane jest powiadomienie o odzyskaniu odpowiedzi na ankietę z wyświetleniem nazwy oraz wystąpienia ankiety.

Okno dialogowe informujące o odzyskaniu ankiety

Naciśnięcie opcji Odrzuć ankietę powoduje usunięcie pliku autosave.json i utratę odzyskanych danych. Po wybraniu opcji Kontynuuj ankietę jest otwierana ankieta wypełniona odzyskanymi danymi. Plik autosave.json jest automatycznie usuwany po pomyślnym zakończeniu wypełniania ankiety lub po jej zapisaniu jako wersji roboczej.

Notatka:

W odzyskanej ankiecie znajdują się wszystkie wcześniej utworzone pytania z wyjątkiem tego, w trakcie tworzenia którego miała miejsce awaria. Wynika to z faktu, iż zapisanie pytania następuje po zmianie aktywnego miejsca.

Aby wyłączyć automatyczne zapisywanie ankiety każdorazowo po rozpoczęciu tworzenia nowego pytania, można za pomocą kolumny bind::saveIncomplete dodać do ankiety harmonogram zapisu. Ustaw wartość true dla każdego pytania, dla którego ma być wywoływane automatyczne zapisywanie. Kolumnę bind::saveIncomplete można zastosować do pytań następujących typów:

  • Tekst
  • Liczba całkowita
  • Czas
  • Data
  • Data-czas
  • Wybierz wiele
  • Wybierz jedną

Włącz rejestrowanie diagnostyczne

Jeśli występują komunikaty o błędach niewymienione w tym temacie lub inne nieoczekiwane zachowania, warto zarejestrować dziennik informacji z aplikacji terenowej Survey123, który może być pomocny podczas rozwiązywania problemów po udostępnieniu go innym osobom (na przykład pracownikom działu pomocy technicznej Esri).

Aby włączyć rejestrowanie, otwórz menu na stronie głównej aplikacji, naciśnij opcję Ustawienia i naciśnij kartę Diagnostyka.

Rejestrowanie w aplikacji terenowej

Aby gromadzić komunikaty w pliku, naciśnij przełącznik Rejestrowanie w celu włączenia rejestrowania. Opcja Lokalizacja rejestrowania danych wynikowych jest automatycznie wypełniana domyślną lokalizacją pliku dziennika. Tę ścieżkę do pliku można zmienić. Aby przechwytywać komunikaty w trybie online na konsoli zgodnej z protokołem syslog, wprowadź jej adres URL w polu tekstowym Lokalizacja rejestrowania danych wynikowych zamiast lokalizacji pliku dziennika.

Pliki dziennika można udostępniać lub wysyłać pocztą e-mail. Jeśli dziennik zostanie wysłany pocztą e-mail z aplikacji, w treści wiadomości e-mail znajdzie się numer wersji aplikacji, nazwa systemu operacyjnego i lokalizacja systemu, a dziennik będzie dołączony jako załącznik.

Notatka:

W przypadku rejestrowania w czasie rzeczywistym na karcie Diagnostyka są wyświetlane wszystkie instancje konsoli AppStudio otwarte w Twojej sieci. Na karcie Diagnostyka jest wyświetlany symbol okręgu wyszukiwania, dopóki nie zostanie znaleziona działająca konsola AppStudio. Jeśli najpierw zostanie wybrana konsola AppStudio, a następnie w celu włączenia rejestrowania zostanie naciśnięty przełącznik Rejestrowanie, rejestrowane informacje będą wyświetlane w tej konsoli. Więcej informacji na ten temat zawiera sekcja Przechwytywanie danych wynikowych konsoli w pomocy do aplikacji ArcGIS AppStudio.

Odzyskiwanie danych w komputerowej aplikacji terenowej

Czasami nie można wysłać ankiet z urządzenia przenośnego — albo z powodu braku łączności z internetem, albo z powodu nieoczekiwanych zdarzeń związanych z urządzeniem przenośnym lub serwerową bazą danych.

Dane ankiety są zapisane na urządzeniu przenośnym w postaci bazy danych .sqlite. Aby ułatwić odzyskiwanie danych, można skopiować i edytować tę bazę danych.

Jeśli problem jest związany z brakiem łączności urządzenia przenośnego z internetem, można skopiować bazę danych .sqlite na komputer i otworzyć ją w komputerowej w wersji aplikacji terenowej Survey123, a następnie wysłać ankiety.

Przed rozpoczęciem wykonywania następujących czynności pobierz ankietę, z której chcesz odzyskać wyniki, do komputerowej wersji aplikacji terenowej Survey123.

  1. Skopiuj z urządzenia plik .sqlite.
    Notatka:

    W przypadku urządzenia z systemem iOS należy użyć aplikacji do przeglądania plików iOS. W systemie macOS 10.15 Catalina lub nowszym jako przeglądarki plików można używać aplikacji Finder. We wcześniejszych wersjach systemu macOS lub w systemie Windows można używać aplikacji iTunes lub innej aplikacji do przeglądania plików. Plik zostanie automatycznie zapisany w folderze Survey123/ArcGIS/My Surveys/Databases.

    W przypadku urządzenia z systemem Android plik zostaje automatycznie zapisany w konkretnej lokalizacji przechowywania aplikacji: Android/data/com.esri.survey123/files/ArcGIS/My Surveys/Databases. W aplikacji Survey123 w wersji wcześniejszej niż 3.12 pliki były przechowywane w lokalizacji pamięci wewnętrznej: ArcGIS/My Surveys/Databases.

  2. Wklej ten plik .sqlite do odpowiedniego folderu Survey123 na komputerze (na przykład w systemie Windows będzie to C:\Users\<username>\ArcGIS\My Surveys\Databases).
    Notatka:

    Jeśli zgromadzone ankiety znajdują się już na Twoim komputerze, może tam znajdować się także baza danych. W takim przypadku można zapisać ją w podfolderze albo zmienić nazwę folderu bazy danych i utworzyć folder dla kopiowanych plików. Jeśli brak wypełnionych ankiet do przesłania, można bezpiecznie usunąć istniejącą bazę danych z komputera.

  3. Jeśli ankieta zawiera pytania typu image (obraz), audio (dźwięk) lub file (plik), skopiuj również folder Załączniki mojej ankiety z urządzenia na komputer.
  4. Otwórz aplikację terenową Survey123, przejdź do obszaru Ustawienia > Zaawansowane i naciśnij przycisk Napraw bazę danych.
  5. Przejdź do ankiety i sprawdź, czy są tam ankiety gotowe do wysłania.
  6. Wyślij swoje ankiety.

Odzyskiwanie danych w komputerowej aplikacji terenowej i ręczne wprowadzanie zmian w bazie danych

Czasem narzędzie Napraw bazę danych może nie odzyskać danych lub mogą wystąpić inne problemy związane z bazą danych. W takich przypadkach można również ręcznie zmodyfikować ścieżki przechowywane w bazie danych .sqlite.

Następujące instrukcje opisują sposób ręcznego modyfikowania bazy danych .sqlite.

    Przed rozpoczęciem wykonywania tych czynności pobierz ankietę, z której chcesz odzyskać wyniki, do komputerowej wersji aplikacji terenowej Survey123.
  1. Skopiuj z urządzenia plik .sqlite. Plik znajduje się w lokalizacji ArcGIS/My Surveys/Databases.
  2. Wklej ten plik .sqlite do odpowiedniego folderu Survey123 na komputerze (na przykład w systemie Windows będzie to C:\Users\<username>\ArcGIS\My Surveys\Databases).
  3. Otwórz bazę danych .sqlite w edytorze baz danych. Przykładowy edytor to DB Browser for SQLite.
  4. Jeśli używany jest edytor DB Browser for SQLite, sprawdź kolumnę path (ścieżka) na karcie Browse Data (Przeglądanie danych). Można zauważyć, że każdy rekord reprezentuje jedną wypełnioną ankietę i każdy zawiera odniesienie do urządzenia (w postaci ścieżki), na którym były gromadzone te rekordy. Aby wysłać ankiety na pulpit, należy zmienić ścieżkę na zgodną ze ścieżką danych ankiety na pulpicie.
  5. Aby zmienić rekord, przejdź na kartę Execute SQL (Wykonaj instrukcję SQL) i wpisz następujący tekst, używając szczegółów własnej ścieżki lokalnej:

    UPDATE Surveys SET path = REPLACE (path,"/sdcard", "C:/Users/Me") where path LIKE "/sdcard%"

  6. Wróć na kartę Browse Data (Przeglądanie danych) i sprawdź, czy ścieżki zostały zmienione.
  7. Zamknij aplikację SQLite.
  8. Otwórz aplikację terenową Survey123 i sprawdź, czy zawiera ona teraz pewną liczbę ankiet gotowych do wysłania (w narożniku miniatury ankiety powinna być czerwona liczba).
  9. Wyślij swoje ankiety.