Задача без исполнителя: решение проблемы
Иногда возникает неприятная проблема, по тем или иным причинам задача создаётся без исполнителя. Это вызывает ошибку и задача висит. Проблема решается SQL-запросом в базу данных. На странице с ошибкой в адресной строке нужно подсмотреть ID задачи. Или просто пойти в базу данных ELMA и открыть таблицу TaskBase. Если работаем с версией STANDART, то запускаем Management Studio, если с Express, то подключаемся к базе через IBExpert.
Запрос к таблице TaskBase выдаст примерно такую информацию:
Нас интересует столбец Executor. Для проблемной задачи он будет пустым. Почему так происходит неизвестно, но иногда происходит. Можно такое сделать скриптом, если неумело его написать.
Решение проблемы – установить какое-то значение в поле Executor. Значение, равное значению поля CreationAutor. Тогда исполнителем будет назначен автор и сможет задачу закрыть.
Изменить значение поля в таблице базы данных можно только SQL-запросом.
Нам нужен запрос UPDATE.
UPDATE имеет следующий синтаксис:
UPDATE [таблица, которую будем менять] SET [поле, которое хотим изменить] = значение, которое хотим поместить в поле WHERE условие, которое позволяет определить, какие строки будем менять;
Для решения данной проблемы запрос имеет следующий вид:
UPDATE [TaskBase] SET [TaskBase].[Executor] = 1 WHERE [Id] = 46;
где [TaskBase] – имя таблицы, где нужно изменить значение;
[TaskBase].[Executor] = 1 – поле в таблице которое надо изменить. Ставим его значение, равным значению поля CreationAutor;
[Id] = 46 – id задачи, исполнителя которой меняем.
При работе с Management Studio нажатия кнопки Выполнить достаточно.
IBExpert требует ещё и нажать кнопку Commit Transaction.
Слева на рисунке кнопка Выполнить, справа кнопка Commit Transaction. Если её не нажать, выполненный запрос не сохранится. Это делает операции в IBExpert более безопасными.
Подробнее об установке IBExpert и подключении к базе данных см. соответствующую статью.