1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-04-09 07:04:10 +02:00

#288 Сделал, чтобы в задаче можно указывать сразу и описание и пример кода и таблицу

This commit is contained in:
Anton Ivanov 2021-06-30 18:07:17 +03:00
parent 7a41861aa6
commit 1c4dd764da
6 changed files with 320 additions and 50 deletions

View File

@ -1516,6 +1516,86 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="270e66be-632f-4a4e-bd93-d6fa987edf34">
<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>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="806f1384-fc6d-44f3-94e7-71cc0f69b318">
<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>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="b40e5381-0500-4391-963d-0f6c6753391b">
<Properties>
<Name>ПроверитьВыполнение</Name>
@ -1919,6 +1999,58 @@
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="7c2e33a6-bef5-4814-80b1-8c2b7857bd78">
<Properties>
<Name>ТекстСодержанияКод</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Содержание код (текст)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Content (text)</v8:content>
</v8:item>
<v8:item>
<v8:lang>ro</v8:lang>
<v8:content>Continut (text)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</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:type="xs:string"/>
<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>
<DataHistory>Use</DataHistory>
</Properties>
</Attribute>
<Attribute uuid="96b2e27b-49d4-4632-9f03-85a71ad412b5">
<Properties>
<Name>Удалить_ИспользоватьФорматированиеВСодержании</Name>

View File

@ -262,22 +262,6 @@
<Value xsi:type="xr:DesignTimeRef">Enum.узОформлениеТекста.EnumValue.Markdown</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation/>
<Value xsi:type="xr:DesignTimeRef">Enum.узОформлениеТекста.EnumValue.Код</Value>
</xr:Value>
</xr:Item>
<xr:Item>
<xr:Presentation/>
<xr:CheckState>0</xr:CheckState>
<xr:Value xsi:type="FormChoiceListDesTimeValue">
<Presentation/>
<Value xsi:type="xr:DesignTimeRef">Enum.узОформлениеТекста.EnumValue.Таблица</Value>
</xr:Value>
</xr:Item>
</ChoiceList>
<ContextMenu name="ОформлениеТекстаКонтекстноеМеню" id="436"/>
<ExtendedTooltip name="ОформлениеТекстаРасширеннаяПодсказка" id="437"/>
@ -285,6 +269,36 @@
<Event name="OnChange">ОформлениеТекстаПриИзменении</Event>
</Events>
</RadioButtonField>
<CheckBoxField name="ПоказыватьКод" id="736">
<DataPath>Объект.ПоказыватьКод</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код</v8:content>
</v8:item>
</Title>
<CheckBoxType>Switcher</CheckBoxType>
<ContextMenu name="ПоказыватьКодКонтекстноеМеню" id="737"/>
<ExtendedTooltip name="ПоказыватьКодРасширеннаяПодсказка" id="738"/>
<Events>
<Event name="OnChange">ПоказыватьКодПриИзменении</Event>
</Events>
</CheckBoxField>
<CheckBoxField name="ПоказыватьТаблицу" id="739">
<DataPath>Объект.ПоказыватьТаблицу</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Таблица</v8:content>
</v8:item>
</Title>
<CheckBoxType>Switcher</CheckBoxType>
<ContextMenu name="ПоказыватьТаблицуКонтекстноеМеню" id="740"/>
<ExtendedTooltip name="ПоказыватьТаблицуРасширеннаяПодсказка" id="741"/>
<Events>
<Event name="OnChange">ПоказыватьТаблицуПриИзменении</Event>
</Events>
</CheckBoxField>
<UsualGroup name="ГруппаСвязанныеЗадачи" id="523">
<Title>
<v8:item>

View File

@ -314,10 +314,12 @@
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Если ТребоватьЗаполнитьРодителя
И НЕ ЗначениеЗаполнено(Объект.Родитель) Тогда
пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения("Ошибка! необходимо указать родителя для задачи",6);
пТекстСообщения = узОбщийМодульСервер.ПолучитьТекстСообщения(
"Ошибка! необходимо указать родителя для задачи", 6);
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = пТекстСообщения;
@ -327,8 +329,8 @@
Отказ = Истина;
Конецесли;
Если Объект.ОформлениеТекста = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Код") Тогда
Объект.ТекстСодержания = Элементы.КонсольКода_ПолеHTML.Документ.defaultView.getText();
Если Объект.ПоказыватьКод Тогда
Объект.ТекстСодержанияКод = Элементы.КонсольКода_ПолеHTML.Документ.defaultView.getText();
КонецЕсли;
РезультатПроверкиWIPЛимит = ПроверитьWIPЛимитНаСервере();
@ -483,15 +485,18 @@
Элементы.ГруппаКоманднаяПанельMarkdown.Видимость = Истина;
Элементы.ГруппаСтраницаПросмотр.Видимость = Истина;
Элементы.ГруппаСтраницаТекст.Видимость = Истина;
ИначеЕсли Объект.ОформлениеТекста = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Код") Тогда
Элементы.ГруппаСтраницаКод.Видимость = Истина;
//+ #287 Пихоцкий Юрий (pihy86) 01.06.2021
ИначеЕсли Объект.ОформлениеТекста = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Таблица") Тогда
Элементы.ГруппаСтраницаТаблица.Видимость = Истина;
//- #287 Пихоцкий Юрий (pihy86) 01.06.2021
Иначе
Элементы.ГруппаСтраницаТекст.Видимость = Истина;
Конецесли;
Если Объект.ПоказыватьКод Тогда
Элементы.ГруппаСтраницаКод.Видимость = Истина;
КонецЕсли;
Если Объект.ПоказыватьТаблицу Тогда
Элементы.ГруппаСтраницаТаблица.Видимость = Истина;
КонецЕсли;
Если ТолькоСписокИзмененныхОбъектов Тогда
Элементы.ГруппаСтраницаСписокИзмененныхОбъектов.Видимость = Истина;
Иначе
@ -1156,6 +1161,30 @@
Возврат СсылкаНаЗадачу;
КонецФункции
&НаКлиенте
Процедура ПоказыватьКодПриИзменении(Элемент)
УстановитьВидимостьДоступность();
Если Объект.ПоказыватьКод Тогда
Элементы.ГруппаСтраницыОформлениеСодержания.ТекущаяСтраница = Элементы.ГруппаСтраницаКод;
ВыполнитьДействиеДляСтраницы();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьТаблицуПриИзменении(Элемент)
УстановитьВидимостьДоступность();
Если Объект.ПоказыватьТаблицу Тогда
Элементы.ГруппаСтраницыОформлениеСодержания.ТекущаяСтраница = Элементы.ГруппаСтраницаТаблица;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область Учет_времени
@ -1264,16 +1293,20 @@
&НаКлиенте
Процедура ВыполнитьДействиеДляСтраницы();
Если Объект.ОформлениеТекста = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Markdown") Тогда
Если Элементы.ГруппаСтраницыОформлениеСодержания.ТекущаяСтраница = Элементы.ГруппаСтраницаПросмотр Тогда
ПолучитьMarkdown();
Конецесли;
ИначеЕсли Объект.ОформлениеТекста = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Код") Тогда
КонсольКода_ЗагрузитьИзМакета();
КонсольКода_ПриОткрытии();
КонецЕсли;
ИначеЕсли Объект.ПоказыватьКод Тогда
Если Элементы.ГруппаСтраницыОформлениеСодержания.ТекущаяСтраница = Элементы.ГруппаСтраницаКод Тогда
КонсольКода_ЗагрузитьИзМакета();
КонсольКода_ПриОткрытии();
КонецЕсли;
Иначе
Конецесли;
//Ничего не делаем
КонецЕсли;
КонецПроцедуры
&НаКлиенте
@ -1289,6 +1322,7 @@
&НаКлиенте
Процедура ОформлениеТекстаПриИзменении(Элемент)
Если Объект.ОформлениеТекста = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Markdown") Тогда
Если ЗначениеЗаполнено(Объект.ТекстСодержания) Тогда
Элементы.ГруппаСтраницыОформлениеСодержания.ТекущаяСтраница = Элементы.ГруппаСтраницаПросмотр;
@ -1297,10 +1331,10 @@
Конецесли;
Конецесли;
Если ОформлениеТекстаПредыдущий = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Код") Тогда
пТекстСодержания = Элементы.КонсольКода_ПолеHTML.Документ.defaultView.getText();
Объект.ТекстСодержания = пТекстСодержания;
Конецесли;
//Если ОформлениеТекстаПредыдущий = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Код") Тогда
// пТекстСодержания = Элементы.КонсольКода_ПолеHTML.Документ.defaultView.getText();
// Объект.ТекстСодержанияКод = пТекстСодержания;
//Конецесли;
ОформлениеТекстаПриИзмененииНаСервере();
ВыполнитьДействиеДляСтраницы();
@ -1322,12 +1356,12 @@
Объект.ТекстСодержания = пТекстСодержания;
КонецЕсли;
ИначеЕсли Объект.ОформлениеТекста = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Код") Тогда
Если ОформлениеТекстаПредыдущий = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.ФорматированныйТекст") Тогда
пТекстСодержания = ПолучитьСодержаниеТекстИзФорматированногоТекста();
Объект.ТекстСодержания = пТекстСодержания;
КонецЕсли;
//ИначеЕсли Объект.ОформлениеТекста = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Код") Тогда
//
// Если ОформлениеТекстаПредыдущий = ПредопределенноеЗначение("Перечисление.узОформлениеТекста.ФорматированныйТекст") Тогда
// пТекстСодержания = ПолучитьСодержаниеТекстИзФорматированногоТекста();
// Объект.ТекстСодержания = пТекстСодержания;
// КонецЕсли;
Иначе
пТекстСодержания = ПолучитьСодержаниеТекстИзФорматированногоТекста();
@ -1822,7 +1856,7 @@
&НаКлиенте
Процедура КонсольКода_ЗакрытьКонсоль()
Если Объект.ОформлениеТекста <> ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Код") Тогда
Если НЕ Объект.ПоказыватьКод Тогда
Возврат;
КонецЕсли;
@ -1844,7 +1878,7 @@
&НаКлиенте
Процедура КонсольКода_ЗагрузитьИзТекстСодержания()
Если Объект.ОформлениеТекста <> ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Код") Тогда
Если НЕ Объект.ПоказыватьКод Тогда
Возврат;
КонецЕсли;
@ -1852,7 +1886,7 @@
УчитыватьОтступПервойСтроки = Ложь;
Элементы.КонсольКода_ПолеHTML.Документ.defaultView.setText(
Объект.ТекстСодержания,
Объект.ТекстСодержанияКод,
Позиция,
УчитыватьОтступПервойСтроки);
@ -1876,5 +1910,6 @@
КонецПроцедуры // -SZ #277 16.01.2021
#КонецОбласти

View File

@ -1,6 +1,6 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "УправлениеЗадачами";
Описание.Версия = "1.0.5.014";
Описание.Версия = "1.0.5.015";
//+ УрянскийД 2020-06-22 (начало)
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
@ -313,6 +313,13 @@
Обработчик.ОбщиеДанные = Истина;
Обработчик.Комментарий = "Обновление на версию 1.0.5.014";
Обработчик = Обработчики.Добавить();
Обработчик.НачальноеЗаполнение = Ложь;
Обработчик.Версия = "1.0.5.015";
Обработчик.Процедура = "узОбновлениеИнформационнойБазы.ОбновлениеНаВерсию_1_0_5_015";
Обработчик.ОбщиеДанные = Истина;
Обработчик.Комментарий = "Обновление на версию 1.0.5.015";
КонецПроцедуры
Процедура ПередОбновлениемИнформационнойБазы() Экспорт
КонецПроцедуры
@ -1180,7 +1187,89 @@
КонецЦикла;
КонецПроцедуры
Процедура ОбновлениеНаВерсию_1_0_5_015() Экспорт
ПеренестиКодВСодержаниеТекстКод();
ЗаполнитьРеквизитПоказыватьТаблицу();
КонецПроцедуры
Процедура ПеренестиКодВСодержаниеТекстКод() Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| узЗадачи.Ссылка КАК Ссылка,
| узЗадачи.ОформлениеТекста КАК ОформлениеТекста
|ИЗ
| Справочник.узЗадачи КАК узЗадачи
|ГДЕ
| узЗадачи.ОформлениеТекста = &ОформлениеТекста_Код
| И НЕ узЗадачи.ПоказыватьКод";
Запрос.УстановитьПараметр("ОформлениеТекста_Код",
ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Удалить_Код"));
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
СпрОбъектЗадача = Выборка.Ссылка.ПолучитьОбъект();
#Если Сервер И НЕ Сервер тогда
//Условие в конструкции специально сделано невыполнимым
СпрОбъектЗадача = Справочники.узЗадачи.СоздатьЭлемент();
#Конецесли
СпрОбъектЗадача.ПоказыватьКод = Истина;
СпрОбъектЗадача.ТекстСодержанияКод = СпрОбъектЗадача.ТекстСодержания;
СпрОбъектЗадача.Записать();
КонецЦикла;
КонецПроцедуры
Процедура ЗаполнитьРеквизитПоказыватьТаблицу() Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| узЗадачи.Ссылка КАК Ссылка,
| узЗадачи.ОформлениеТекста КАК ОформлениеТекста
|ИЗ
| Справочник.узЗадачи КАК узЗадачи
|ГДЕ
| узЗадачи.ОформлениеТекста = &ОформлениеТекста_Таблица
| И НЕ узЗадачи.ПоказыватьТаблицу";
Запрос.УстановитьПараметр("ОформлениеТекста_Таблица",
ПредопределенноеЗначение("Перечисление.узОформлениеТекста.Удалить_Таблица"));
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
СпрОбъектЗадача = Выборка.Ссылка.ПолучитьОбъект();
#Если Сервер И НЕ Сервер тогда
//Условие в конструкции специально сделано невыполнимым
СпрОбъектЗадача = Справочники.узЗадачи.СоздатьЭлемент();
#Конецесли
СпрОбъектЗадача.ПоказыватьТаблицу = Истина;
СпрОбъектЗадача.Записать();
КонецЦикла;
КонецПроцедуры

View File

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

View File

@ -108,11 +108,11 @@
</EnumValue>
<EnumValue uuid="f3c9ab3b-172e-4cad-84c2-6867db622ecd">
<Properties>
<Name>Код</Name>
<Name>Удалить_Код</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Код</v8:content>
<v8:content>(Не используется) код</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -120,11 +120,11 @@
</EnumValue>
<EnumValue uuid="45345741-a7f6-42d4-b6c9-7d4c82ec7738">
<Properties>
<Name>Таблица</Name>
<Name>Удалить_Таблица</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Таблица</v8:content>
<v8:content>(Не используется) Таблица</v8:content>
</v8:item>
</Synonym>
<Comment/>