1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-03-19 21:07:53 +02:00

#22, Управление задачами, Возможность редактировать содержание без форматированного текста

This commit is contained in:
Anton Ivanov 2016-09-26 15:03:37 +03:00
parent c3d0ff693c
commit c69613e464
13 changed files with 264 additions and 48 deletions

View File

@ -1193,6 +1193,45 @@
<FullTextSearch>Use</FullTextSearch>
</Properties>
</Attribute>
<Attribute uuid="96b2e27b-49d4-4632-9f03-85a71ad412b5">
<Properties>
<Name>ИспользоватьФорматированиеВСодержании</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Использовать форматирование в содержании</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
<FillValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Use>ForItem</Use>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
</Properties>
</Attribute>
<TabularSection uuid="0d958c66-1f6d-4b4a-a9ce-2a378e7394ad">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.узЗадачи.История" category="TabularSection">

View File

@ -49,6 +49,9 @@
Если НовыйВидСтатуса = ВидСтатуса_Готово
И СтарыйВидСтатуса <> ВидСтатуса_Готово Тогда
ДатаВыполнения = ТекущаяДата();
Если НЕ ЗначениеЗаполнено(Исполнитель) Тогда
Исполнитель = ТекПользователь;
Конецесли;
Конецесли;
Если НовыйВидСтатуса = ВидСтатуса_ВРаботе
И СтарыйВидСтатуса <> ВидСтатуса_ВРаботе Тогда
@ -128,12 +131,16 @@
КонецПроцедуры
Процедура ОтправитьУведомлениеНаПочту(МассивСобытийВИстории)
ТекПользователь = Пользователи.ТекущийПользователь();
Если НЕ ЗначениеЗаполнено(Исполнитель) Тогда
Возврат;
Конецесли;
Если Исполнитель.узНеОтправлятьУведомленияНаПочту Тогда
Возврат;
Конецесли;
ТекПользователь = Пользователи.ТекущийПользователь();
Если ТекПользователь = Исполнитель Тогда
Возврат;
Конецесли;

View File

@ -144,6 +144,11 @@
<ContextMenu name="КонфигурацияКонтекстноеМеню" id="38"/>
<ExtendedTooltip name="КонфигурацияРасширеннаяПодсказка" id="39"/>
</LabelField>
<LabelField name="Спринт" id="78">
<DataPath>Список.Спринт</DataPath>
<ContextMenu name="СпринтКонтекстноеМеню" id="79"/>
<ExtendedTooltip name="СпринтРасширеннаяПодсказка" id="80"/>
</LabelField>
<LabelField name="ОсновнаяЗадача" id="52">
<DataPath>Список.ОсновнаяЗадача</DataPath>
<ContextMenu name="ОсновнаяЗадачаКонтекстноеМеню" id="53"/>

View File

@ -98,33 +98,76 @@
</ToolTip>
<ExtendedTooltip name="ГруппаСтраницаСодержаниеРасширеннаяПодсказка" id="84"/>
<ChildItems>
<CommandBar name="КоманднаяПанельРедактирования" id="76">
<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>
<CommandSource>Item.Содержание</CommandSource>
<ExtendedTooltip name="КоманднаяПанельРедактированияExtendedTooltip" id="77"/>
</CommandBar>
<FormattedDocumentField name="Содержание" id="73">
<DataPath>ФорматированныйТекст</DataPath>
<CheckBoxField name="ИспользоватьФорматированиеВСодержании" id="193">
<DataPath>Объект.ИспользоватьФорматированиеВСодержании</DataPath>
<CheckBoxType>CheckBox</CheckBoxType>
<ContextMenu name="ИспользоватьФорматированиеВСодержанииКонтекстноеМеню" id="194"/>
<ExtendedTooltip name="ИспользоватьФорматированиеВСодержанииРасширеннаяПодсказка" id="195"/>
<Events>
<Event name="OnChange">ИспользоватьФорматированиеВСодержанииПриИзменении</Event>
</Events>
</CheckBoxField>
<InputField name="ТекстСодержания" id="198">
<DataPath>Объект.ТекстСодержания</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Содержание</v8:content>
</v8:item>
</Title>
<ContextMenu name="СодержаниеКонтекстноеМеню" id="74"/>
<ExtendedTooltip name="СодержаниеРасширеннаяПодсказка" id="75"/>
</FormattedDocumentField>
<AutoMaxWidth>false</AutoMaxWidth>
<AutoMaxHeight>false</AutoMaxHeight>
<MultiLine>true</MultiLine>
<ContextMenu name="ТекстСодержанияКонтекстноеМеню" id="199"/>
<ExtendedTooltip name="ТекстСодержанияРасширеннаяПодсказка" id="200"/>
</InputField>
<UsualGroup name="ГруппаСодержаниеФорматированное" id="196">
<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>
<Group>Vertical</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаСодержаниеФорматированноеРасширеннаяПодсказка" id="197"/>
<ChildItems>
<CommandBar name="КоманднаяПанельРедактирования" id="76">
<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>
<CommandSource>Item.Содержание</CommandSource>
<ExtendedTooltip name="КоманднаяПанельРедактированияExtendedTooltip" id="77"/>
</CommandBar>
<FormattedDocumentField name="Содержание" id="73">
<DataPath>ФорматированныйТекст</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Содержание</v8:content>
</v8:item>
</Title>
<ContextMenu name="СодержаниеКонтекстноеМеню" id="74"/>
<ExtendedTooltip name="СодержаниеРасширеннаяПодсказка" id="75"/>
</FormattedDocumentField>
</ChildItems>
</UsualGroup>
</ChildItems>
</Page>
<Page name="ГруппаСтраницаДополнительно" id="85">
@ -588,13 +631,6 @@
</Page>
</ChildItems>
</Pages>
<InputField name="ТекстСодержания" id="25">
<DataPath>Объект.ТекстСодержания</DataPath>
<Visible>false</Visible>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ТекстСодержанияКонтекстноеМеню" id="26"/>
<ExtendedTooltip name="ТекстСодержанияРасширеннаяПодсказка" id="27"/>
</InputField>
<InputField name="РеквизитДопУпорядочивания" id="34">
<Visible>false</Visible>
<EditMode>EnterOnInput</EditMode>

View File

@ -7,9 +7,12 @@
// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов
Если Объект.Ссылка.Пустая() Тогда
Объект.ИспользоватьФорматированиеВСодержании = Истина;
Объект.Автор = Пользователи.ТекущийПользователь();
Объект.Важность = ПредопределенноеЗначение("Справочник.узВариантыВажностиЗадачи.Обычная");
ФорматированныйТекст = Параметры.ЗначениеКопирования.Содержание.Получить();
Если Объект.ИспользоватьФорматированиеВСодержании Тогда
ФорматированныйТекст = Параметры.ЗначениеКопирования.Содержание.Получить();
Конецесли;
Если Параметры.Свойство("ПараметрыНовойЗадачи") Тогда
ПараметрыНовойЗадачи = Параметры.ПараметрыНовойЗадачи;
ЗаполнитьЗначенияСвойств(Объект,ПараметрыНовойЗадачи);
@ -25,7 +28,9 @@
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ФорматированныйТекст = ТекущийОбъект.Содержание.Получить();
Если Объект.ИспользоватьФорматированиеВСодержании Тогда
ФорматированныйТекст = ТекущийОбъект.Содержание.Получить();
Конецесли;
КонецПроцедуры
@ -37,14 +42,12 @@
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
ТекущийОбъект.Содержание = Новый ХранилищеЗначения(ФорматированныйТекст, Новый СжатиеДанных(9));
ТекстHTML = "";
Вложения = Новый Структура;
ФорматированныйТекст.ПолучитьHTML(ТекстHTML, Вложения);
ТекущийОбъект.ТекстСодержания = СтроковыеФункцииКлиентСервер.ИзвлечьТекстИзHTML(ТекстHTML);
Если Объект.ИспользоватьФорматированиеВСодержании Тогда
ТекущийОбъект.Содержание = Новый ХранилищеЗначения(ФорматированныйТекст, Новый СжатиеДанных(9));
пТекстСодержания = ПолучитьСодержаниеТекстИзФорматированногоТекста();
ТекущийОбъект.ТекстСодержания = пТекстСодержания;
Конецесли;
КонецПроцедуры
&НаКлиенте
@ -67,11 +70,26 @@
&НаСервере
Процедура УстановитьВидимостьДоступность()
Элементы.Родитель.АвтоОтметкаНезаполненного = ТребоватьЗаполнитьРодителя;
Элементы.Родитель.АвтоВыборНезаполненного = ТребоватьЗаполнитьРодителя;
Элементы.Родитель.АвтоОтметкаНезаполненного = ТребоватьЗаполнитьРодителя;
Элементы.Родитель.АвтоВыборНезаполненного = ТребоватьЗаполнитьРодителя;
Элементы.ГруппаСодержаниеФорматированное.Видимость = Ложь;
Элементы.ТекстСодержания.Видимость = Ложь;
Если Объект.ИспользоватьФорматированиеВСодержании Тогда
Элементы.ГруппаСодержаниеФорматированное.Видимость = Истина;
Иначе
Элементы.ТекстСодержания.Видимость = Истина;
Конецесли;
КонецПроцедуры
&НаСервере
Функция ПолучитьСодержаниеТекстИзФорматированногоТекста()
ТекстHTML = "";
Вложения = Новый Структура;
ФорматированныйТекст.ПолучитьHTML(ТекстHTML, Вложения);
пТекстСодержания = СтроковыеФункцииКлиентСервер.ИзвлечьТекстИзHTML(ТекстHTML);
Возврат пТекстСодержания;
КонецФункции
#КонецОбласти
@ -188,5 +206,21 @@
ОбновитьЗаголовокФормы();
КонецПроцедуры
&НаКлиенте
Процедура ИспользоватьФорматированиеВСодержанииПриИзменении(Элемент)
ПриИзмененииИспользоватьФорматированиеВСодержанииНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПриИзмененииИспользоватьФорматированиеВСодержанииНаСервере()
Если Объект.ИспользоватьФорматированиеВСодержании Тогда
ФорматированныйТекст = Объект.ТекстСодержания;
Иначе
пТекстСодержания = ПолучитьСодержаниеТекстИзФорматированногоТекста();
Объект.ТекстСодержания = пТекстСодержания;
Конецесли;
УстановитьВидимостьДоступность();
КонецПроцедуры
#КонецОбласти

View File

@ -1,6 +1,6 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "УправлениеЗадачами";
Описание.Версия = "1.0.0.3";
Описание.Версия = "1.0.0.004";
// Требуется библиотека стандартных подсистем.
Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы");
КонецПроцедуры

View File

@ -49,7 +49,7 @@
<xr:Item xsi:type="xr:MDObjectRef">Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</xr:Item>
</DefaultRoles>
<Vendor>Управление задачами</Vendor>
<Version>1.0.0.3</Version>
<Version>1.0.0.004</Version>
<UpdateCatalogAddress/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication>

View File

@ -1766,7 +1766,12 @@
<dcsset:appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ЦветФона</dcscor:parameter>
<dcscor:value xsi:type="v8ui:Color">style:ReportHeaderBackColor</dcscor:value>
<dcscor:value xsi:type="v8ui:Color">#99CC00</dcscor:value>
</dcscor:item>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:use>false</dcscor:use>
<dcscor:parameter>ЦветТекста</dcscor:parameter>
<dcscor:value xsi:type="v8ui:Color">#FFFFFF</dcscor:value>
</dcscor:item>
</dcsset:appearance>
</dcsset:item>

View File

@ -2982,9 +2982,9 @@
<d3p1:fixedVariantMeasure>Day</d3p1:fixedVariantMeasure>
<d3p1:fixedVariantInterval>1</d3p1:fixedVariantInterval>
<d3p1:autoFullInterval>true</d3p1:autoFullInterval>
<d3p1:fullIntervalBegin>2016-09-26T13:00:00</d3p1:fullIntervalBegin>
<d3p1:fullIntervalEnd>2016-10-05T13:59:59</d3p1:fullIntervalEnd>
<d3p1:visualBegin>2016-09-26T13:00:00</d3p1:visualBegin>
<d3p1:fullIntervalBegin>2016-09-26T14:00:00</d3p1:fullIntervalBegin>
<d3p1:fullIntervalEnd>2016-10-05T14:59:59</d3p1:fullIntervalEnd>
<d3p1:visualBegin>2016-09-26T14:00:00</d3p1:visualBegin>
<d3p1:intervalDrawType>Gradient</d3p1:intervalDrawType>
<d3p1:noneVariantChars>3</d3p1:noneVariantChars>
<d3p1:noneVariantMeasure>Day</d3p1:noneVariantMeasure>

View File

@ -94,6 +94,10 @@
<dataPath>URLВнешнейЗаявки</dataPath>
<field>URLВнешнейЗаявки</field>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>Спринт</dataPath>
<field>Спринт</field>
</field>
<dataSource>ИсточникДанных1</dataSource>
<query>ВЫБРАТЬ
узЗадачи.Ссылка КАК Задача,
@ -103,6 +107,7 @@
узЗадачи.Статус.ВидСтатуса КАК ВидСтатуса,
узЗадачи.Статус,
узЗадачи.Конфигурация,
узЗадачи.Спринт,
узЗадачи.Важность,
узЗадачи.ОсновнаяЗадача,
узЗадачи.РеквизитДопУпорядочивания,

View File

@ -3989,6 +3989,25 @@
<value>false</value>
</right>
</object>
<object>
<name>Catalog.узСпринты</name>
<right>
<name>InteractiveDelete</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeleteMarked</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeletePredefinedData</name>
<value>false</value>
</right>
<right>
<name>InteractiveDeleteMarkedPredefinedData</name>
<value>false</value>
</right>
</object>
<object>
<name>InformationRegister.НастройкиТранспортаОбмена.Resource.FTPСоединениеПассивноеСоединение</name>
<right>

View File

@ -7607,6 +7607,57 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.узСпринты</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Insert</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>Delete</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InteractiveInsert</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>InteractiveSetDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InteractiveClearDeletionMark</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
<right>
<name>InteractiveSetDeletionMarkPredefinedData</name>
<value>true</value>
</right>
<right>
<name>InteractiveClearDeletionMarkPredefinedData</name>
<value>true</value>
</right>
</object>
<object>
<name>SessionParameter.ДатаОбновленияПовторноИспользуемыхЗначенийМРО</name>
<right>

View File

@ -4460,6 +4460,21 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.узСпринты</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>InputByString</name>
<value>true</value>
</right>
</object>
<object>
<name>SessionParameter.ДатаОбновленияПовторноИспользуемыхЗначенийМРО</name>
<right>