1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-01-28 03:57:18 +02:00

№185 Добавить кнопку "Изменить статус" в документ "Выпуск релиза"

This commit is contained in:
Anton Ivanov 2017-03-24 11:41:42 +03:00
parent c394f6dc3f
commit 5029b387fd
2 changed files with 79 additions and 0 deletions

View File

@ -228,6 +228,11 @@
<CommandName>Form.Command.КомандаПодборЗадач</CommandName>
<ExtendedTooltip name="ЗадачиКомандаПодборЗадачРасширеннаяПодсказка" id="137"/>
</Button>
<Button name="ТЧЗадачиКомандаИзменитьСтатус" id="193">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.КомандаИзменитьСтатус</CommandName>
<ExtendedTooltip name="ТЧЗадачиКомандаИзменитьСтатусРасширеннаяПодсказка" id="194"/>
</Button>
<Button name="ЗадачиКомандаРасширеннаяНастройкаПоВерсиям" id="134">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.КомандаРасширеннаяНастройкаПоВерсиям</CommandName>
@ -615,5 +620,20 @@
<Action>КомандаОбновитьДанныеПоЗадачам</Action>
<Representation>Picture</Representation>
</Command>
<Command name="КомандаИзменитьСтатус" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Изменить статус</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Команда изменить статус</v8:content>
</v8:item>
</ToolTip>
<Action>КомандаИзменитьСтатус</Action>
</Command>
</Commands>
</Form>

View File

@ -375,3 +375,62 @@
Процедура КомандаОбновитьДанныеПоЗадачам(Команда)
ЗаполнитьИсториюХранилищаПоЗадачам();
КонецПроцедуры
&НаСервере
Процедура КомандаИзменитьСтатусНаСервере()
// Вставить содержимое обработчика.
КонецПроцедуры
&НаКлиенте
Процедура КомандаИзменитьСтатус(Команда)
Перем НовыйСтатус;
МассивЗадач = Новый Массив();
Для каждого ИдентификаторСтроки Из Элементы.ТЧЗадачи.ВыделенныеСтроки Цикл
СтрокаТЧЗадачи = Объект.ТЧЗадачи.НайтиПоИдентификатору(ИдентификаторСтроки);
МассивЗадач.Добавить(СтрокаТЧЗадачи.Задача);
КонецЦикла;
ПараметрыФормыВвода = Новый Структура();
ПараметрыФормыВвода.Вставить("МассивЗадач",МассивЗадач);
НовыйСтатус = ПредопределенноеЗначение("Справочник.узСтатусыЗадачи.НаТестированииПоказПользователям");
ОписаниеТипов = Новый ОписаниеТипов("СправочникСсылка.узСтатусыЗадачи");
Оповещение = Новый ОписаниеОповещения("ПослеВыбораНовогоСтатусаДляЗадач",ЭтаФорма, ПараметрыФормыВвода);
ПоказатьВводЗначения(Оповещение, НовыйСтатус, "Укажите новый статус для выбранных задач", ОписаниеТипов);
КонецПроцедуры
&НаКлиенте
Процедура ПослеВыбораНовогоСтатусаДляЗадач(НовыйСтатус, ПараметрыФормыВвода) Экспорт
Если НЕ ЗначениеЗаполнено(НовыйСтатус) Тогда
Сообщить("Ошибка! не выбран новый статус для задач");
Возврат;
Конецесли;
МассивЗадач = ПараметрыФормыВвода.МассивЗадач;
ИзменитьСтатусДляВыбранныхЗадачНаСервере(НовыйСтатус, МассивЗадач);
Для каждого пЗадача из МассивЗадач цикл
Сообщить("Указан новый статус ["+НовыйСтатус+"] для задачи ["+пЗадача+"]");
ОповеститьОбИзменении(пЗадача);
Конеццикла;
Элементы.ТЧЗадачи.Обновить();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ИзменитьСтатусДляВыбранныхЗадачНаСервере(НовыйСтатус, МассивЗадач)
Для каждого пЗадача из МассивЗадач цикл
#Если Тромбон тогда
пЗадача = Справочники.узЗадачи.ПустаяСсылка();
#Конецесли
СпрОбъект = пЗадача.ПолучитьОбъект();
СпрОбъект.Статус = НовыйСтатус;
СпрОбъект.Записать();
Конеццикла;
КонецПроцедуры