22. Когда что-то не так

Четыре ситуации, в которых редактор говорит «стоп», и что с каждой делать.

Пропала связь

Подпись в шапке сменилась на Переподключение… — соединение с сервером потеряно. Редактор восстанавливает его сам, увеличивая паузы между попытками.

Работать можно. Правки продолжают идти в черновик на вашей машине, ничего не теряется. Нельзя одного — сохранить: кнопка Сохранить сообщит об ошибке.

Что делать

дождаться подписи Соединение установлено и повторить. Если не восстанавливается несколько минут — проверьте сеть и обновите страницу: черновик подхватится.

Отдельно стоит Сессия потеряна: сессия удалена на сервере, и переподключение не поможет. Редактор покажет окно с просьбой войти заново. Правки при этом остаются в черновике.

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

Так что если редактор внезапно попросил войти заново, а сеть в порядке — вспомните, что вы только что делали в соседней вкладке.

Версия на сервере новее

Окно конфликта версий
Figure 1. Конфликт версий при сохранении

Между тем, как вы открыли сценарий, и тем, как нажали Сохранить, его успел изменить кто-то ещё. Редактор говорит, когда и кто, и спрашивает, перезаписывать ли.

Слияния правок нет. Перезапись означает, что чужие изменения будут потеряны целиком — не «объединены», а именно потеряны.

Что делать:

  1. Отменить — ваш сценарий останется несохранённым, но и чужие правки не пострадают.

  2. Открыть Историю и посмотреть, что именно изменил коллега.

  3. Если его правки не пересекаются с вашими — перезаписать. Если пересекаются — договориться, чьи применять, и внести вторые руками.

Метаданные изменились

Окно синхронизации метаданных
Figure 2. Расхождение метаданных

На сервере обновился состав компонентов и свойств: что-то добавили, что-то убрали. Редактор заметил это при сверке после сохранения и предлагает привести сценарий к новой версии.

Позже

ничего не менять сейчас. В шапке останется метка-напоминание.

Метка расхождения метаданных в шапке
Figure 3. Метка в шапке
Синхронизировать

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

Синхронизация — одно действие и один шаг отмены: Ctrl+Z вернёт всё как было. Но удалённые компоненты после сохранения уже не вернутся, поэтому перед сохранением стоит посмотреть, что именно исчезло.

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

Окно диагностики

Когда объяснить происходящее не получается, есть журнал: ВидДиагностика.

Журнал обмена с сервером
Figure 4. Окно диагностики

В нём видно всё, что вкладка отправила и получила: метод, размер, длительность, порядок. Сверху — обстановка: версия редактора, хеш метаданных, домен стенда, сколько места занимают черновики.

Скачать отчёт сохраняет это файлом — его и стоит прикладывать к обращению в поддержку.

В отчёте нет ни содержимого сценария, ни значений свойств, ни идентификатора сессии — только названия методов, размеры и события. Отправлять его безопасно.

Короткий разбор частых симптомов

Симптом Скорее всего

Поле, которое было, исчезло

Условие видимости: изменилось значение поля выше по списку (глава 11)

Связь пропала после удаления компонента

Так и задумано: ссылка на удалённый компонент очищается (глава 6)

Файл «потерялся» после перезагрузки

Вложение не было закреплено сохранением сценария (глава 18)

Переменная не подставилась

Имя в выражении не совпало с именем переменной; проверьте окно переменных (глава 13)

Вызов обрывается после перевода

Не заполнены запасные ветки перевода (глава 16)

Трассировка обрывается на переходе

Переход по метке связью не является — это нормально (глава 20)

Непонятно, что происходит при реальном вызове

Расставить уведомления и посмотреть, где сценарий и что в переменных (глава 26)

◀ 21. Выключение компонентов

23. Черновик и сохранение ▶