Задача без исполнителя, решение проблемы

Иногда возникает неприятная проблема, по тем или иным причинам задача создаётся без исполнителя. Это вызывает ошибку и задача висит. Проблема решается 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 задачи исполнителя которой меняем.

Внимание если не указать условие WHERE [Id] = можно попортить всю таблицу!

При работе с Management Studio нажатия кнопки выполнить достаточно.

IBExpert требует ещё и нажать кнопку Commit Transaction.

 

Слева на рисунке кнопка выполнить, справа кнопка Commit Transaction. Если её не нажать, выполненный запрос не сохранится. Это делает операции в IBExpert более безопасными. 

Как установить IBExpert и подключиться к базе смотрите в других статьях