1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-04-13 11:40:39 +02:00

Merge pull request #13 from BUDIVAL/develope

Последняя выгрузка двух задач "Учет времени" и "Цветовое оформление задач"
This commit is contained in:
Anton Ivanov 2016-12-26 12:02:39 +03:00 committed by GitHub
commit bb149bc1e7
41 changed files with 1607 additions and 15 deletions

View File

@ -19,8 +19,12 @@
И я нажимаю на кнопку "Создать"
Тогда открылось окно "Статусы задачи (создание)"
И в поле "Наименование" я ввожу текст "Тестовая111"
И я открываю выпадающий список "Вид статуса"
И из выпадающего списка "Вид статуса" я выбираю "Backlog"
И я выбираю значение реквизита "Вид статуса" из формы списка
Тогда открылось окно "Виды статусов"
И В форме "Виды статусов" в таблице "Список" я перехожу к строке:
| 'Наименование' |
| 'Backlog' |
И я нажимаю на кнопку "Выбрать"
И я изменяю флаг "Видимость по умолчанию"
И я нажимаю на кнопку "Записать и закрыть"
И Я нажимаю кнопку командного интерфейса "Меню функций (F10)"

View File

@ -7,12 +7,71 @@
Я хочу включать и использовать механиз учета времени по задачам
Чтобы фиксировать часы: план, факт, к оплате и описание выполненых работ по задаче
Контекст:
Допустим я удаляю группу справочника с именем "ЭтоТестоваяГруппаДляПроверкиОшибок" из справочника "узКонфигурации"
Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий
Сценарий: Влючение механизма "Учет времени по задачам"
Контекст:
Допустим я подготавливаю константу с наименованием "узИспользоватьУчетВремени"
И Я запускаю сценарий открытия TestClient или подключаю уже существующий
Сценарий: Включение механизма "Учет времени по задачам"
Когда В панели разделов я выбираю "Управление задачами"
И Я нажимаю кнопку командного интерфейса "Использовать учет времени"
И В открытой форме я устанавливаю флаг "Использовать учет времени"
И я нажимаю на кнопку "Записать и закрыть"
Сценарий: Добавление выполненой работы по задаче
Когда Я нажимаю кнопку командного интерфейса "Задачи"
Тогда открылось окно "Задачи"
И я нажимаю на кнопку "Создать"
И в поле "Наименование" я ввожу текст "ЭтоТестоваяЗадача"
И я перехожу к закладке "Учет времени"
И я перехожу к закладке "Группа страницы"
И в поле "План" я ввожу текст "10,00"
И в поле "К оплате" я ввожу текст "10,00"
И в ТЧ "ФактическиеЧасы" я нажимаю на кнопку "Добавить"
И в ТЧ "ФактическиеЧасы" в поле "Дата начала" я ввожу текст "01.12.2016 0:00:00"
И я перехожу к следующему реквизиту
И в ТЧ "ФактическиеЧасы" я активизирую поле "Дата окончания"
И в ТЧ "ФактическиеЧасы" в поле "Дата окончания" я ввожу текст "01.12.2016 9:30:00"
И в ТЧ "ФактическиеЧасы" я активизирую поле "Комментарий"
И в ТЧ "ФактическиеЧасы" в поле "Комментарий" я ввожу текст "Я выполнил тестовое задание"
И В форме "ЭтоТестоваяЗадача *" в ТЧ "ФактическиеЧасы" я завершаю редактирование строки
И в ТЧ "ФактическиеЧасы" я нажимаю на кнопку "Добавить"
И в ТЧ "ФактическиеЧасы" в поле "Дата начала" я ввожу текст "02.12.2016 0:00:00"
И я перехожу к следующему реквизиту
И в ТЧ "ФактическиеЧасы" я активизирую поле "Дата окончания"
И в ТЧ "ФактическиеЧасы" в поле "Дата окончания" я ввожу текст "02.12.2016 5:30:00"
И в ТЧ "ФактическиеЧасы" я активизирую поле "Комментарий"
И в ТЧ "ФактическиеЧасы" в поле "Комментарий" я ввожу текст "Я выполнил тестовое задание еще раз"
И В форме "ЭтоТестоваяЗадача *" в ТЧ "ФактическиеЧасы" я завершаю редактирование строки
Тогда таблица формы с именем "ФактическиеЧасы" стала равной:
| 'Дата начала' | 'Дата окончания' | 'Часы факт' |'Комментарий' |
| '01.12.2016 0:00:00' | '01.12.2016 9:30:00' | '9,50' | 'Я выполнил тестовое задание' |
| '02.12.2016 0:00:00' | '02.12.2016 5:30:00' | '5,50' | 'Я выполнил тестовое задание еще раз'|
И я нажимаю на кнопку "Записать"
Тогда поле формы с именем "ЧасыФакт" стало равным '15'
И я нажимаю на кнопку "Записать и закрыть"
И Пауза 2
Сценарий: Проверка вывода "ЧасыПлан", "ЧасыФакт", "ЧасыКОплате" в отчете "узОтчетПоЗадачам"
Когда Я нажимаю кнопку командного интерфейса "Отчет по задачам"
Тогда открылось окно "Основной"
И я открываю выпадающий список "Основная задача"
И я выбираю значение реквизита "Основная задача" из формы списка
Тогда открылось окно "Задачи"
И В форме "Задачи" в таблице "Список" я перехожу к строке:
| 'Наименование' |
| 'ЭтоОсновнаяТестоваяЗадача'|
И В форме "Задачи" в ТЧ "Список" я выбираю текущую строку
И я нажимаю на кнопку "Сформировать"
И Пауза 5
Тогда табличный документ формы с именем "ОтчетТабличныйДокумент" стал равен:
| 'Отбор:' | 'Основная задача Равно "ЭтоОсновнаяТестоваяЗадача"' | '' | '' | '' | '' | '' | '' | '' | '' | '' | '' |
| '' | '' | '' | '' | '' | '' | '' | '' | '' | '' | '' | '' |
| 'Основная задача' | '' | '' | '' | '' | '' | '' | '' | 'Часы план' | 'Часы факт' | 'Часы к оплате' | 'Количество задач' |
| 'Статус' | '' | '' | '' | '' | '' | '' | '' | '' | '' | '' | '' |
| 'Номер задачи' | 'Задача' | 'Исполнитель' | 'Конфигурация' | 'Важность' | 'Дата создания' | 'Дата передачи исполнителю' | 'Срок исполнения' | '' | '' | '' | '' |
| 'ЭтоОсновнаяТестоваяЗадача'| '' | '' | '' | '' | '' | '' | '' | '10,00' | '15,00' | '10,00' | '1' |
| 'Зарегистрирована' | '' | '' | '' | '' | '' | '' | '' | '10,00' | '15,00' | '10,00' | '1' |
| '*' | 'ЭтоТестоваяЗадача' | '' | '' | '' | '19.12.2016 23:17:58' | '' | '' | '10,00' | '15,00' | '10,00' | '1' |
| 'Итого' | '' | '' | '' | '' | '' | '' | '' | '10,00' | '15,00' | '10,00' | '1' |

View File

@ -60,7 +60,7 @@
<SearchStringModeOnInputByString>Begin</SearchStringModeOnInputByString>
<FullTextSearchOnInputByString>DontUse</FullTextSearchOnInputByString>
<ChoiceDataGetModeOnInputByString>Directly</ChoiceDataGetModeOnInputByString>
<DefaultObjectForm/>
<DefaultObjectForm>Catalog.узВариантыВажностиЗадачи.Form.ФормаЭлемента</DefaultObjectForm>
<DefaultFolderForm/>
<DefaultListForm>Catalog.узВариантыВажностиЗадачи.Form.ФормаСписка</DefaultListForm>
<DefaultChoiceForm>Catalog.узВариантыВажностиЗадачи.Form.ФормаВыбора</DefaultChoiceForm>
@ -128,8 +128,48 @@
<FullTextSearch>Use</FullTextSearch>
</Properties>
</Attribute>
<Attribute uuid="4e2206e5-fe3e-470e-b1dd-2e0d17d85616">
<Properties>
<Name>ЦветВажности</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Цвет важности</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>v8:ValueStorage</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>
<Form>ФормаСписка</Form>
<Form>ФормаВыбора</Form>
<Form>ФормаЭлемента</Form>
</ChildObjects>
</Catalog>
</MetaDataObject>

View File

@ -1296,6 +1296,177 @@
<FullTextSearch>Use</FullTextSearch>
</Properties>
</Attribute>
<Attribute uuid="7dfab6ee-9fb4-48f1-b673-8d0c9e20d8bb">
<Properties>
<Name>ЦветЗадачи</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Цвет задачи</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>v8:ValueStorage</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>
<Attribute uuid="fe1d34e9-6082-4053-902c-31356fc2f325">
<Properties>
<Name>ЧасыПлан</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Часы план</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>15</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</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>
<Attribute uuid="1599c5f8-6b37-459f-8177-7e30e8d3c13c">
<Properties>
<Name>ЧасыФакт</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Часы факт</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>15</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</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>
<Attribute uuid="527b8a61-dd54-4361-b60b-2362d42a5299">
<Properties>
<Name>ЧасыКОплате</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Часы к оплате</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>15</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</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">
@ -1911,6 +2082,192 @@
</Attribute>
</ChildObjects>
</TabularSection>
<TabularSection uuid="a30234e8-db88-448f-8020-766219c638f5">
<InternalInfo>
<xr:GeneratedType name="CatalogTabularSection.узЗадачи.ФактическиеЧасы" category="TabularSection">
<xr:TypeId>113684bf-30ef-4b5d-a5b3-98059a294868</xr:TypeId>
<xr:ValueId>8e69dd4f-8f1c-4901-8a3f-d13cf2d08a96</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="CatalogTabularSectionRow.узЗадачи.ФактическиеЧасы" category="TabularSectionRow">
<xr:TypeId>d0d9b19b-9a0a-4fa6-921a-db05e73878b6</xr:TypeId>
<xr:ValueId>3655c749-a185-4167-8372-bb79e3e5b5ba</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<Properties>
<Name>ФактическиеЧасы</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Фактические часы</v8:content>
</v8:item>
</Synonym>
<Comment/>
<ToolTip/>
<FillChecking>DontCheck</FillChecking>
<Use>ForItem</Use>
</Properties>
<ChildObjects>
<Attribute uuid="125b56b4-2590-4404-9100-d31765fa348c">
<Properties>
<Name>ДатаНачала</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата начала</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</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"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
</Properties>
</Attribute>
<Attribute uuid="e04f5b33-722c-4209-be19-8e5102852110">
<Properties>
<Name>ДатаОкончания</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата окончания</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</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"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
</Properties>
</Attribute>
<Attribute uuid="3409d467-0358-4ecc-81bf-337b73c86947">
<Properties>
<Name>ЧасыФакт</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Часы факт</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:decimal</v8:Type>
<v8:NumberQualifiers>
<v8:Digits>15</v8:Digits>
<v8:FractionDigits>2</v8:FractionDigits>
<v8:AllowedSign>Any</v8:AllowedSign>
</v8:NumberQualifiers>
</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"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
</Properties>
</Attribute>
<Attribute uuid="28fbeb0b-963a-48cd-aaf5-04f08b557207">
<Properties>
<Name>Комментарий</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Комментарий</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>500</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"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<Indexing>DontIndex</Indexing>
<FullTextSearch>Use</FullTextSearch>
</Properties>
</Attribute>
</ChildObjects>
</TabularSection>
<Form>ФормаСписка</Form>
<Form>ФормаЭлемента</Form>
<Form>ФормаВыбора</Form>

View File

@ -202,7 +202,7 @@
<ExtendedTooltip name="СрокИсполненияРасширеннаяПодсказка" id="36"/>
</LabelField>
<LabelField name="НомерЗаявки" id="43">
<DataPath>1/16</DataPath>
<DataPath>Список.ЕстьЗаметки</DataPath>
<ContextMenu name="НомерЗаявкиКонтекстноеМеню" id="44"/>
<ExtendedTooltip name="НомерЗаявкиРасширеннаяПодсказка" id="45"/>
</LabelField>

View File

@ -985,6 +985,148 @@
</Pages>
</ChildItems>
</Page>
<Page name="ГруппаСтраницаУчетВремени" id="320">
<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>
<ExtendedTooltip name="ГруппаСтраницаУчетВремениРасширеннаяПодсказка" id="321"/>
<ChildItems>
<UsualGroup name="ГруппаЧасы" id="359">
<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>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name="ГруппаЧасыРасширеннаяПодсказка" id="360"/>
<ChildItems>
<InputField name="ЧасыПлан" id="350">
<DataPath>Объект.ЧасыПлан</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>План</v8:content>
</v8:item>
</Title>
<ContextMenu name="ЧасыПланКонтекстноеМеню" id="351"/>
<ExtendedTooltip name="ЧасыПланРасширеннаяПодсказка" id="352"/>
</InputField>
<InputField name="ЧасыФакт" id="353">
<DataPath>Объект.ЧасыФакт</DataPath>
<ReadOnly>true</ReadOnly>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Факт</v8:content>
</v8:item>
</Title>
<ContextMenu name="ЧасыФактКонтекстноеМеню" id="354"/>
<ExtendedTooltip name="ЧасыФактРасширеннаяПодсказка" id="355"/>
</InputField>
<InputField name="ЧасыКОплате" id="356">
<DataPath>Объект.ЧасыКОплате</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>К оплате</v8:content>
</v8:item>
</Title>
<ContextMenu name="ЧасыКОплатеКонтекстноеМеню" id="357"/>
<ExtendedTooltip name="ЧасыКОплатеРасширеннаяПодсказка" id="358"/>
</InputField>
</ChildItems>
</UsualGroup>
<Table name="ФактическиеЧасы" id="322">
<AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<DataPath>Объект.ФактическиеЧасы</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="ФактическиеЧасыКонтекстноеМеню" id="323"/>
<AutoCommandBar name="ФактическиеЧасыКоманднаяПанель" id="324"/>
<ExtendedTooltip name="ФактическиеЧасыРасширеннаяПодсказка" id="325"/>
<SearchStringAddition name="ФактическиеЧасыСтрокаПоиска" id="326">
<AdditionSource>
<Item>ФактическиеЧасы</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="ФактическиеЧасыСтрокаПоискаКонтекстноеМеню" id="327"/>
<ExtendedTooltip name="ФактическиеЧасыСтрокаПоискаРасширеннаяПодсказка" id="328"/>
</SearchStringAddition>
<ViewStatusAddition name="ФактическиеЧасыСостояниеПросмотра" id="329">
<AdditionSource>
<Item>ФактическиеЧасы</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="ФактическиеЧасыСостояниеПросмотраКонтекстноеМеню" id="330"/>
<ExtendedTooltip name="ФактическиеЧасыСостояниеПросмотраРасширеннаяПодсказка" id="331"/>
</ViewStatusAddition>
<SearchControlAddition name="ФактическиеЧасыУправлениеПоиском" id="332">
<AdditionSource>
<Item>ФактическиеЧасы</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="ФактическиеЧасыУправлениеПоискомКонтекстноеМеню" id="333"/>
<ExtendedTooltip name="ФактическиеЧасыУправлениеПоискомРасширеннаяПодсказка" id="334"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="ФактическиеЧасыНомерСтроки" id="335">
<DataPath>Объект.ФактическиеЧасы.LineNumber</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ФактическиеЧасыНомерСтрокиКонтекстноеМеню" id="336"/>
<ExtendedTooltip name="ФактическиеЧасыНомерСтрокиРасширеннаяПодсказка" id="337"/>
</LabelField>
<InputField name="ФактическиеЧасыДатаНачала" id="338">
<DataPath>Объект.ФактическиеЧасы.ДатаНачала</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ФактическиеЧасыДатаНачалаКонтекстноеМеню" id="339"/>
<ExtendedTooltip name="ФактическиеЧасыДатаНачалаРасширеннаяПодсказка" id="340"/>
<Events>
<Event name="OnChange">ФактическиеЧасыДатаНачалаПриИзменении</Event>
</Events>
</InputField>
<InputField name="ФактическиеЧасыДатаОкончания" id="341">
<DataPath>Объект.ФактическиеЧасы.ДатаОкончания</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ФактическиеЧасыДатаОкончанияКонтекстноеМеню" id="342"/>
<ExtendedTooltip name="ФактическиеЧасыДатаОкончанияРасширеннаяПодсказка" id="343"/>
<Events>
<Event name="OnChange">ФактическиеЧасыДатаОкончанияПриИзменении</Event>
</Events>
</InputField>
<InputField name="ФактическиеЧасыЧасыФакт" id="344">
<DataPath>Объект.ФактическиеЧасы.ЧасыФакт</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ФактическиеЧасыЧасыФактКонтекстноеМеню" id="345"/>
<ExtendedTooltip name="ФактическиеЧасыЧасыФактРасширеннаяПодсказка" id="346"/>
</InputField>
<InputField name="ФактическиеЧасыКомментарий" id="347">
<DataPath>Объект.ФактическиеЧасы.Комментарий</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ФактическиеЧасыКомментарийКонтекстноеМеню" id="348"/>
<ExtendedTooltip name="ФактическиеЧасыКомментарийРасширеннаяПодсказка" id="349"/>
</InputField>
</ChildItems>
</Table>
</ChildItems>
</Page>
</ChildItems>
</Pages>
<InputField name="РеквизитДопУпорядочивания" id="34">
@ -1114,8 +1256,8 @@
</Type>
<UseAlways>
<Field>ИзмененныеОбъектыСписок.ПорядокКоллекции</Field>
<Field>ИзмененныеОбъектыСписок.ПолноеИмяМетаданных</Field>
<Field>6/8</Field>
<Field>6/1</Field>
</UseAlways>
<Settings xsi:type="DynamicList">
<ManualQuery>true</ManualQuery>

View File

@ -76,6 +76,8 @@
Сообщение.Сообщить();
Отказ = Истина;
Конецесли;
Объект.ЧасыФакт = Объект.ФактическиеЧасы.Итог("ЧасыФакт");
КонецПроцедуры
&НаСервере
@ -447,7 +449,38 @@
Конецесли;
Объект.ПоказыватьВОтчетахИКанбанДоске = Истина;
КонецПроцедуры
// Конец СтандартныеПодсистемы.Свойства
#КонецОбласти
#Область Учет_времени
&НаКлиенте
Процедура ФактическиеЧасыДатаНачалаПриИзменении(Элемент)
ЗаполнитьКоличествоФактическихЧасовСтроки(Элементы.ФактическиеЧасы.ТекущиеДанные);
КонецПроцедуры
&НаКлиенте
Процедура ФактическиеЧасыДатаОкончанияПриИзменении(Элемент)
ЗаполнитьКоличествоФактическихЧасовСтроки(Элементы.ФактическиеЧасы.ТекущиеДанные);
КонецПроцедуры
&НаКлиенте
Функция ПолучитьКоличествоЧасовПоРазностиДат(ДатаНач, ДатаКон)
Часов = 0;
Если ДатаКон > ДатаНач Тогда
Часов = (ДатаКон - ДатаНач) / 3600;
КонецЕсли;
Возврат Часов;
КонецФункции
&НаКлиенте
Процедура ЗаполнитьКоличествоФактическихЧасовСтроки(ТекущаяСтрока)
ТекущаяСтрока.ЧасыФакт = ПолучитьКоличествоЧасовПоРазностиДат(ТекущаяСтрока.ДатаНачала, ТекущаяСтрока.ДатаОкончания);
КонецПроцедуры
#КонецОбласти

View File

@ -204,7 +204,7 @@
<v8:Type>cfg:DynamicList</v8:Type>
</Type>
<UseAlways>
<Field>3/7</Field>
<Field>ИсторияХранилища.Задача</Field>
</UseAlways>
<Settings xsi:type="DynamicList">
<ManualQuery>true</ManualQuery>

View File

@ -434,6 +434,45 @@
<FullTextSearch>Use</FullTextSearch>
</Properties>
</Attribute>
<Attribute uuid="7962e25d-4094-4a9b-8cd3-3fb1d1bdcfe1">
<Properties>
<Name>ЦветСпринта</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Цвет спринта</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>v8:ValueStorage</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>
<Form>ФормаЭлемента</Form>
<Form>ФормаВыбора</Form>
</ChildObjects>

View File

@ -95,6 +95,9 @@
</Type>
<MainAttribute>true</MainAttribute>
<SavedData>true</SavedData>
<UseAlways>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
</UseAlways>
</Attribute>
<Attribute name="ЛогинДляОтправкиSMS" id="2">
<Title>

View File

@ -919,6 +919,7 @@
<FunctionalOption>СтандартныеПодсистемыВЛокальномРежиме</FunctionalOption>
<FunctionalOption>СтандартныеПодсистемыВМоделиСервиса</FunctionalOption>
<FunctionalOption>ХранитьФайлыВТомахНаДиске</FunctionalOption>
<FunctionalOption>узИспользоватьУчетВремени</FunctionalOption>
<FunctionalOptionsParameter>ДополнительныеОтчетыИОбработкиОбъектНазначения</FunctionalOptionsParameter>
<FunctionalOptionsParameter>ДополнительныеОтчетыИОбработкиТипФормы</FunctionalOptionsParameter>
<FunctionalOptionsParameter>ТипВерсионируемогоОбъекта</FunctionalOptionsParameter>
@ -1094,6 +1095,7 @@
<Constant>УдалитьПарольДляОтправкиSMS</Constant>
<Constant>ХранитьФайлыВТомахНаДиске</Constant>
<Constant>ЭтоАвтономноеРабочееМесто</Constant>
<Constant>узИспользоватьУчетВремени</Constant>
<CommonForm>АвторизацияНаСайтеПоддержкиПользователей</CommonForm>
<CommonForm>АдреснаяКнига</CommonForm>
<CommonForm>БлокировкаРаботыСВнешнимиРесурсами</CommonForm>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.2">
<Constant uuid="1f45c05c-f6c5-466e-8df3-ee6d910fb159">
<InternalInfo>
<xr:GeneratedType name="ConstantManager.узИспользоватьУчетВремени" category="Manager">
<xr:TypeId>7d802284-565b-4f8a-a62c-b2a1121138e8</xr:TypeId>
<xr:ValueId>8f3cb950-a841-4f3e-84ee-56cd4e385503</xr:ValueId>
</xr:GeneratedType>
<xr:GeneratedType name="ConstantValueManager.узИспользоватьУчетВремени" category="ValueManager">
<xr:TypeId>ee7dfc28-f961-42d8-8f82-5e88ca04f23c</xr:TypeId>
<xr:ValueId>ec4c94d9-cf7e-4fbb-813f-3b49151e7765</xr:ValueId>
</xr:GeneratedType>
</InternalInfo>
<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>
<UseStandardCommands>true</UseStandardCommands>
<DefaultForm/>
<ExtendedPresentation/>
<Explanation/>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
<DataLockControlMode>Managed</DataLockControlMode>
</Properties>
</Constant>
</MetaDataObject>

View File

@ -415,6 +415,7 @@
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
<Field>НаборКонстант.ЗаголовокСистемы</Field>
</UseAlways>
</Attribute>

View File

@ -653,6 +653,7 @@
<Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field>
<Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field>
<Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
<Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field>
<Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field>
<Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field>

View File

@ -742,6 +742,7 @@
<Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field>
<Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field>
<Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
<Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field>
<Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field>
<Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field>

View File

@ -432,6 +432,7 @@
<Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field>
<Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field>
<Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
<Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field>
<Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field>
<Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field>

View File

@ -873,6 +873,7 @@
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
<Field>НаборКонстант.ИспользоватьРазделениеПоОбластямДанных</Field>
</UseAlways>
</Attribute>

View File

@ -1037,6 +1037,7 @@
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
<Field>НаборКонстант.ЗаголовокСистемы</Field>
<Field>НаборКонстант.АдресПубликацииИнформационнойБазыВИнтернете</Field>
</UseAlways>

View File

@ -400,6 +400,7 @@
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
<Field>НаборКонстант.ЗаголовокСистемы</Field>
</UseAlways>
</Attribute>

View File

@ -2040,6 +2040,7 @@
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
<Field>НаборКонстант.ИспользоватьРазделениеПоОбластямДанных</Field>
<Field>НаборКонстант.ИспользоватьПолнотекстовыйПоиск</Field>
<Field>НаборКонстант.ИспользоватьДополнительныеОтчетыИОбработки</Field>

View File

@ -293,6 +293,9 @@
<v8:Type>cfg:ConstantsSet</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
</UseAlways>
</Attribute>
<Attribute name="РежимРаботы" id="2">
<Title>

View File

@ -377,6 +377,7 @@
</Type>
<MainAttribute>true</MainAttribute>
<UseAlways>
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
<Field>НаборКонстант.ИспользоватьПолнотекстовыйПоиск</Field>
<Field>НаборКонстант.ИзвлекатьТекстыФайловНаСервере</Field>
</UseAlways>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.2">
<FunctionalOption uuid="d602d98e-2d5b-46b9-837e-1ade327c50b7">
<Properties>
<Name>узИспользоватьУчетВремени</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Использовать учет времени</v8:content>
</v8:item>
</Synonym>
<Comment>Использовать учет времени</Comment>
<Location>Constant.узИспользоватьУчетВремени</Location>
<PrivilegedGetMode>true</PrivilegedGetMode>
<Content>
<xr:Object>Catalog.узЗадачи.Attribute.ЧасыПлан</xr:Object>
<xr:Object>Catalog.узЗадачи.Attribute.ЧасыФакт</xr:Object>
<xr:Object>Catalog.узЗадачи.Attribute.ЧасыКОплате</xr:Object>
<xr:Object>Catalog.узЗадачи.TabularSection.ФактическиеЧасы</xr:Object>
<xr:Object>Catalog.узЗадачи.TabularSection.ФактическиеЧасы.Attribute.ДатаНачала</xr:Object>
<xr:Object>Catalog.узЗадачи.TabularSection.ФактическиеЧасы.Attribute.ДатаОкончания</xr:Object>
<xr:Object>Catalog.узЗадачи.TabularSection.ФактическиеЧасы.Attribute.ЧасыФакт</xr:Object>
<xr:Object>Catalog.узЗадачи.TabularSection.ФактическиеЧасы.Attribute.Комментарий</xr:Object>
</Content>
</Properties>
</FunctionalOption>
</MetaDataObject>

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-05T13:00:00</d3p1:fullIntervalBegin>
<d3p1:fullIntervalEnd>2016-09-14T14:59:59</d3p1:fullIntervalEnd>
<d3p1:visualBegin>2016-09-05T13:00:00</d3p1:visualBegin>
<d3p1:fullIntervalBegin>2016-09-05T12:00:00</d3p1:fullIntervalBegin>
<d3p1:fullIntervalEnd>2016-09-14T13:59:59</d3p1:fullIntervalEnd>
<d3p1:visualBegin>2016-09-05T12:00:00</d3p1:visualBegin>
<d3p1:intervalDrawType>Gradient</d3p1:intervalDrawType>
<d3p1:noneVariantChars>3</d3p1:noneVariantChars>
<d3p1:noneVariantMeasure>Day</d3p1:noneVariantMeasure>

View File

@ -63,6 +63,18 @@
<v8:content>Номер задачи</v8:content>
</v8:item>
</title>
<appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:use>false</dcscor:use>
<dcscor:parameter>Формат</dcscor:parameter>
<dcscor:value xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ЧГ=0</v8:content>
</v8:item>
</dcscor:value>
</dcscor:item>
</appearance>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>СрокИсполнения</dataPath>
@ -98,6 +110,18 @@
<dataPath>Спринт</dataPath>
<field>Спринт</field>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>ЧасыФакт</dataPath>
<field>ЧасыФакт</field>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>ЧасыКОплате</dataPath>
<field>ЧасыКОплате</field>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>ЧасыПлан</dataPath>
<field>ЧасыПлан</field>
</field>
<dataSource>ИсточникДанных1</dataSource>
<query>ВЫБРАТЬ
узЗадачи.Ссылка КАК Задача,
@ -116,7 +140,10 @@
узЗадачи.СрокИсполнения,
узЗадачи.НомерВнешнейЗаявки,
узЗадачи.URLВнешнейЗаявки,
1 КАК КоличествоЗадач
1 КАК КоличествоЗадач,
узЗадачи.ЧасыПлан,
узЗадачи.ЧасыФакт,
узЗадачи.ЧасыКОплате
ИЗ
Справочник.узЗадачи КАК узЗадачи
ГДЕ
@ -126,6 +153,18 @@
<dataPath>КоличествоЗадач</dataPath>
<expression>Сумма(КоличествоЗадач)</expression>
</totalField>
<totalField>
<dataPath>ЧасыКОплате</dataPath>
<expression>Сумма(ЧасыКОплате)</expression>
</totalField>
<totalField>
<dataPath>ЧасыПлан</dataPath>
<expression>Сумма(ЧасыПлан)</expression>
</totalField>
<totalField>
<dataPath>ЧасыФакт</dataPath>
<expression>Сумма(ЧасыФакт)</expression>
</totalField>
<settingsVariant>
<dcsset:name>Основной</dcsset:name>
<dcsset:presentation xsi:type="xs:string">Основной</dcsset:presentation>
@ -155,6 +194,15 @@
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>СрокИсполнения</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ЧасыПлан</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ЧасыФакт</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>ЧасыКОплате</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>КоличествоЗадач</dcsset:field>
</dcsset:item>

View File

@ -42,6 +42,8 @@
<xr:Item xsi:type="xr:MDObjectRef">CommonPicture.узНеСледитьЗаЗадачей</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">InformationRegister.узНаличиеЗаметокПоПредмету</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Catalog.Заметки</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">FunctionalOption.узИспользоватьУчетВремени</xr:Item>
<xr:Item xsi:type="xr:MDObjectRef">Constant.узИспользоватьУчетВремени</xr:Item>
</Content>
</Properties>
<ChildObjects/>

View File

@ -0,0 +1,313 @@
//начало текста модуля
///////////////////////////////////////////////////
//Служебные функции и процедуры
///////////////////////////////////////////////////
&НаКлиенте
// контекст фреймворка Vanessa-Behavior
Перем Ванесса;
&НаКлиенте
// Структура, в которой хранится состояние сценария между выполнением шагов. Очищается перед выполнением каждого сценария.
Перем Контекст Экспорт;
&НаКлиенте
// Структура, в которой можно хранить служебные данные между запусками сценариев. Существует, пока открыта форма Vanessa-Behavior.
Перем КонтекстСохраняемый Экспорт;
&НаКлиенте
// Функция экспортирует список шагов, которые реализованы в данной внешней обработке.
Функция ПолучитьСписокТестов(КонтекстФреймворкаBDD) Экспорт
Ванесса = КонтекстФреймворкаBDD;
ВсеТесты = Новый Массив;
//описание параметров
//Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,Снипет,ИмяПроцедуры,ПредставлениеТеста,Транзакция,Параметр);
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ПолеФормыСИменемСталоРавным(Парам01,Парам02)","ПолеФормыСИменемСталоРавным","Тогда поле формы с именем ""ЧасыФакт"" стало равным '15'");
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ЯПодготавливаюКонстантуСНаименованием(Парам01)","ЯПодготавливаюКонстантуСНаименованием","Допустим я подготавливаю константу с наименованием ""узИспользоватьУчетВремени""");
Возврат ВсеТесты;
КонецФункции
&НаСервере
// Служебная функция.
Функция ПолучитьМакетСервер(ИмяМакета)
ОбъектСервер = РеквизитФормыВЗначение("Объект");
Возврат ОбъектСервер.ПолучитьМакет(ИмяМакета);
КонецФункции
&НаКлиенте
// Служебная функция для подключения библиотеки создания fixtures.
Функция ПолучитьМакетОбработки(ИмяМакета) Экспорт
Возврат ПолучитьМакетСервер(ИмяМакета);
КонецФункции
///////////////////////////////////////////////////
//Работа со сценариями
///////////////////////////////////////////////////
&НаКлиенте
// Процедура выполняется перед началом каждого сценария
Процедура ПередНачаломСценария() Экспорт
СостояниеVanessaBehavior = Ванесса.ПолучитьСостояниеVanessaBehavior();
ИмяСценария = СостояниеVanessaBehavior.ТекущийСценарий.Имя;
ПредставлениеСправочника = "узЗадачи";
Если ИмяСценария = "Проверка вывода ""ЧасыПлан"", ""ЧасыФакт"", ""ЧасыКОплате"" в отчете ""узОтчетПоЗадачам""" Тогда
СоздатьЭлементСправочникаСНаименованиеНаСервере(ПредставлениеСправочника, "ЭтоОсновнаяТестоваяЗадача");
ОсновнаяЗадача = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , "ЭтоОсновнаяТестоваяЗадача",,ИСТИНА);
УстановитьЗначениеРеквизитаСправочника(ОсновнаяЗадача, "ПоказыватьВОтчетахИКанбанДоске", ИСТИНА);
СоздатьЭлементСправочникаСНаименованиеНаСервере(ПредставлениеСправочника, "ЭтоТестоваяЗадача");
Задача = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , "ЭтоТестоваяЗадача",,ИСТИНА);
УстановитьЗначениеРеквизитаСправочника(Задача, "Код" , 9999999);
УстановитьЗначениеРеквизитаСправочника(Задача, "ЧасыПлан" , 10);
УстановитьЗначениеРеквизитаСправочника(Задача, "ЧасыФакт" , 15);
УстановитьЗначениеРеквизитаСправочника(Задача, "ЧасыКОплате" , 10);
УстановитьЗначениеРеквизитаСправочника(Задача, "ПоказыватьВОтчетахИКанбанДоске", ИСТИНА);
УстановитьЗначениеРеквизитаСправочника(Задача, "ДатаСоздания" , Дата(2016,12,19,23,17,58));
УстановитьЗначениеРеквизитаСправочника(Задача, "Родитель" , ОсновнаяЗадача);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
// Процедура выполняется перед окончанием каждого сценария
Процедура ПередОкончаниемСценария() Экспорт
ПредставлениеСправочника = "узЗадачи";
ЭлементСправочника = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , "ЭтоТестоваяЗадача");
утвУдалитьЭлементСправочника(ПредставлениеСправочника, ЭлементСправочника);
ЭлементСправочника = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , "ЭтоОсновнаяТестоваяЗадача");
утвУдалитьЭлементСправочника(ПредставлениеСправочника, ЭлементСправочника);
КонецПроцедуры
///////////////////////////////////////////////////
//Реализация шагов
///////////////////////////////////////////////////
&НаСервере
Процедура СоздатьЭлементСправочникаСНаименованиеНаСервере(ИмяСправочника, Наименование)
ЭлементСправочника = Справочники[ИмяСправочника].СоздатьЭлемент();
ЭлементСправочника.Наименование = Наименование;
ЭлементСправочника.Записать();
КонецПроцедуры
&НаСервере
Функция утвПолучитьЭлементГруппуСправочника(ИмяСправочника, Код = "", Наименование = "", ИскатьГруппу = Ложь, ДолженБыть = ЛОЖЬ)
ПредставлениеПоиска = "";
Если Истина
И ПустаяСтрока(Код)
И ПустаяСтрока(Наименование)
Тогда
ВызватьИсключение "Не заполнено ни одно свойство поиска";
ИначеЕсли Истина
И ЗначениеЗаполнено(Код)
И ЗначениеЗаполнено(Наименование)
Тогда
ПредставлениеПоиска = "коду """ + Код + """ и наименованию """ + Наименование + """";
ИначеЕсли ЗначениеЗаполнено(Код) Тогда
ПредставлениеПоиска = "коду """ + Код + """";
ИначеЕсли ЗначениеЗаполнено(Наименование) Тогда
ПредставлениеПоиска = "наименованию """ + Наименование + """";
КонецЕсли;
ТекстИсключения = "Не нашли #ГруппуИлиЭлемент справочника #ИмяСправочника по #ПредставлениеПоиска";
ТекстИсключения = СтрЗаменить(ТекстИсключения, "#ГруппуИлиЭлемент" , ?(ИскатьГруппу, "группу", "элемент"));
ТекстИсключения = СтрЗаменить(ТекстИсключения, "#ИмяСправочника" , ИмяСправочника);
ТекстИсключения = СтрЗаменить(ТекстИсключения, "#ПредставлениеПоиска", ПредставлениеПоиска);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Справочник.Ссылка
|ИЗ
| Справочник.Пользователи КАК Справочник
|ГДЕ
| &МоиУсловия";
ТекстМоиУсловия = "";
Если ИскатьГруппу Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, "Справочник.ЭтоГруппа = &ИскатьГруппу");
КонецЕсли;
Если ЗначениеЗаполнено(Код) Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, "Справочник.Код = &Код");
КонецЕсли;
Если ЗначениеЗаполнено(Наименование) Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, "Справочник.Наименование = &Наименование");
КонецЕсли;
Если ПустаяСтрока(ТекстМоиУсловия) Тогда
ТекстМоиУсловия = "ИСТИНА";
КонецЕсли;
СтрокаЗаменыСправочника = "Справочник." + ИмяСправочника + " КАК Справочник";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&МоиУсловия", ТекстМоиУсловия);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.Пользователи КАК Справочник", СтрокаЗаменыСправочника);
Запрос.УстановитьПараметр("ИскатьГруппу", ИскатьГруппу);
Запрос.УстановитьПараметр("Код", Код);
Запрос.УстановитьПараметр("Наименование", Наименование);
РезультатЗапроса = Запрос.Выполнить();
Если ДолженБыть И РезультатЗапроса.Пустой() Тогда
ВызватьИсключение ТекстИсключения;
КонецЕсли;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();
Возврат ВыборкаДетальныеЗаписи.Ссылка;
КонецФункции
&НаСервере
Процедура СформироватьТекстУсловияЗапроса(ТекстРезультат, ТекстУсловия)
Если НЕ ПустаяСтрока(ТекстРезультат) Тогда
ТекстРезультат = ТекстРезультат + " И "
КонецЕсли;
ТекстРезультат = ТекстРезультат + ТекстУсловия;
КонецПроцедуры
&НаСервере
Процедура утвУдалитьЭлементСправочника(ИмяСправочника, ЭлементСправочника)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Справочник.Ссылка
|ИЗ
| Справочник." + ИмяСправочника + " КАК Справочник
|ГДЕ
| Справочник.Ссылка = &ЭлементСправочника";
Запрос.УстановитьПараметр("ЭлементСправочника", ЭлементСправочника);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ЭлементОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ЭлементОбъект.Удалить();
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, ИмяРеквизита, Значение, ЗначениеВХранилище = ЛОЖЬ)
СпрОбъект = ЭлементСправочника.ПолучитьОбъект();
Если ЗначениеВХранилище Тогда
СпрОбъект[ИмяРеквизита] = Новый ХранилищеЗначения(Значение);
Иначе
СпрОбъект[ИмяРеквизита] = Значение;
КонецЕсли;
СпрОбъект.Записать();
КонецПроцедуры
&НаКлиенте
Функция ПолучитьАктивноеОкноИзТестовоеПриложение()
Возврат КонтекстСохраняемый.ТестовоеПриложение.ПолучитьАктивноеОкно();
КонецФункции
&НаКлиенте
Функция ПолучитьАктивноеОкноИзКонтекста()
Возврат Контекст.АктивноеОкно;
КонецФункции
&НаКлиенте
Функция НайтиПолеПоИмени(ИмяПоля,НужнаяФорма = Неопределено)
Получилось = Ложь;
Если Не Получилось Тогда
Если НужнаяФорма = Неопределено Тогда
ОкноПриложения = ПолучитьАктивноеОкноИзТестовоеПриложение();
НужнаяФорма = ОкноПриложения.НайтиОбъект(Тип("ТестируемаяФорма"));
КонецЕсли;
Если НужнаяФорма = Неопределено Тогда
//иногда 1С некорректно отдаёт текущее окно, тогда будем искать во всех окнах
//сначала поищем в недавно открытом окне
Попытка
ОкноПриложения = ПолучитьАктивноеОкноИзКонтекста();
НужнаяФорма = ОкноПриложения.НайтиОбъект(Тип("ТестируемаяФорма"));
Исключение
КонецПопытки;
//Если НужнаяФорма = Неопределено Тогда
// //затем будем искать во всех окнах
// МассивОкон = КонтекстСохраняемый.ТестовоеПриложение.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения"));
// Для каждого ТекОкно Из МассивОкон Цикл
//
// НужнаяФорма = ТекОкно.НайтиОбъект(Тип("ТестируемаяФорма"));
// Если НужнаяФорма <> Неопределено Тогда
// Контекст.Вставить("АктивноеОкно",ОкноПриложения); //произошла неявная смена активного окна
// КонецЕсли;
//
// КонецЦикла;
//
//КонецЕсли;
КонецЕсли;
Если ИмяПоля = "" Тогда
Поле = НужнаяФорма.НайтиОбъект(Тип("ТестируемоеПолеФормы"));
Иначе
Поле = НужнаяФорма.НайтиОбъект(Тип("ТестируемоеПолеФормы"),,ИмяПоля);
КонецЕсли;
КонецЕсли;
Возврат Поле;
КонецФункции
&НаСервере
Процедура УстановитьЗначениеКонстаны(ИмяКонстанты, Результат)
Константы[ИмяКонстанты].Установить(Результат);
КонецПроцедуры
&НаКлиенте
//Допустим я подготавливаю константу с наименованием "узИспользоватьУчетВремени"
//@ЯПодготавливаюКонстантуСНаименованием(Парам01)
Процедура ЯПодготавливаюКонстантуСНаименованием(ИмяКонстанты) Экспорт
//Ванесса.ПосмотретьЗначение(Парам01,Истина);
СостояниеVanessaBehavior = Ванесса.ПолучитьСостояниеVanessaBehavior();
ИмяСценария = СостояниеVanessaBehavior.ТекущийСценарий.Имя;
Если ИмяСценария = "Включение механизма ""Учет времени по задачам""" Тогда
УстановитьЗначениеКонстаны(ИмяКонстанты, ЛОЖЬ);
Иначе
УстановитьЗначениеКонстаны(ИмяКонстанты, ИСТИНА);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
//Тогда поле формы с именем "ЧасыФакт" стало равным '15'
//@ПолеФормыСИменемСталаРавным(Парам01,Парам02)
Процедура ПолеФормыСИменемСталоРавным(ИмяПоля,Результат) Экспорт
//Ванесса.ПосмотретьЗначение(Парам01,Истина);
Поле = НайтиПолеПоИмени(ИмяПоля);
ДанныеПоля = Поле.ПолучитьПредставлениеДанных();
Ванесса.ПроверитьРавенство(ДанныеПоля,Результат,"Ожидаемое значение поля.");
КонецПроцедуры
//окончание текста модуля

View File

@ -0,0 +1 @@
Form\Форма\Форма.bsl-->70e297e0-e8a2-43bf-8be1-62e408f610a1.0 (46, 358)

View File

@ -0,0 +1,9 @@
70e297e0-e8a2-43bf-8be1-62e408f610a1-->und\70e297e0-e8a2-43bf-8be1-62e408f610a1
70e297e0-e8a2-43bf-8be1-62e408f610a1.0-->und\70e297e0-e8a2-43bf-8be1-62e408f610a1.0
79a499cc-1782-4a2f-abe7-61ea4d49fd5a-->und\79a499cc-1782-4a2f-abe7-61ea4d49fd5a
8aa13ab8-188a-4f59-be4f-031aa5450c90.0\info-->und\8aa13ab8-188a-4f59-be4f-031aa5450c90.0\info
8aa13ab8-188a-4f59-be4f-031aa5450c90.0\text-->ObjectModule.bsl
copyinfo-->und\copyinfo
root-->und\root
version-->und\version
versions-->und\versions

View File

@ -0,0 +1,15 @@
{1,
{1,
{0,
{12,
{1,
{0,0,70e297e0-e8a2-43bf-8be1-62e408f610a1},"Форма",
{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1,
{2,
{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1},
{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2}
}
},
{0}
}
},0}

View File

@ -0,0 +1,395 @@
{3,
{42,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1,
{1,0},0,0,1,1,1,0,1,0,
{0,1,0},
{0},1,
{21,
{-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,9,"ФормаКоманднаяПанель",
{1,0},
{1,0},0,1,0,0,0,2,2,
{3,4,
{0}
},
{7,3,0,1,100},
{0,0,0},1,
{0,0,1},0,1,0,0,0,3,3},0,"","",1,
{21,
{0},0,0,0,7,"Navigator",
{1,0},
{1,0},0,1,0,0,0,2,2,
{3,4,
{0}
},
{7,3,0,1,100},
{0,0,0},0,0,1,0,1,
{10,
{0},0,0,0,0,"NavigatorExtendedTooltip",
{1,0},
{1,0},1,0,0,2,2,
{3,4,
{0}
},
{7,3,0,1,100},
{0,0,0},1,
{5,0,0,3,0,
{0,1,0},
{3,4,
{0}
},
{3,4,
{0}
},
{3,0,
{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e}
},0,1,2,
{1,
{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",0,0,0,0,0,0,3,3,0,0,0},"//начало текста модуля
///////////////////////////////////////////////////
//Служебные функции и процедуры
///////////////////////////////////////////////////
&НаКлиенте
// контекст фреймворка Vanessa-Behavior
Перем Ванесса;
&НаКлиенте
// Структура, в которой хранится состояние сценария между выполнением шагов. Очищается перед выполнением каждого сценария.
Перем Контекст Экспорт;
&НаКлиенте
// Структура, в которой можно хранить служебные данные между запусками сценариев. Существует, пока открыта форма Vanessa-Behavior.
Перем КонтекстСохраняемый Экспорт;
&НаКлиенте
// Функция экспортирует список шагов, которые реализованы в данной внешней обработке.
Функция ПолучитьСписокТестов(КонтекстФреймворкаBDD) Экспорт
Ванесса = КонтекстФреймворкаBDD;
ВсеТесты = Новый Массив;
//описание параметров
//Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,Снипет,ИмяПроцедуры,ПредставлениеТеста,Транзакция,Параметр);
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,""ПолеФормыСИменемСталоРавным(Парам01,Парам02)"",""ПолеФормыСИменемСталоРавным"",""Тогда поле формы с именем """"ЧасыФакт"""" стало равным '15'"");
Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,""ЯПодготавливаюКонстантуСНаименованием(Парам01)"",""ЯПодготавливаюКонстантуСНаименованием"",""Допустим я подготавливаю константу с наименованием """"узИспользоватьУчетВремени"""""");
Возврат ВсеТесты;
КонецФункции
&НаСервере
// Служебная функция.
Функция ПолучитьМакетСервер(ИмяМакета)
ОбъектСервер = РеквизитФормыВЗначение(""Объект"");
Возврат ОбъектСервер.ПолучитьМакет(ИмяМакета);
КонецФункции
&НаКлиенте
// Служебная функция для подключения библиотеки создания fixtures.
Функция ПолучитьМакетОбработки(ИмяМакета) Экспорт
Возврат ПолучитьМакетСервер(ИмяМакета);
КонецФункции
///////////////////////////////////////////////////
//Работа со сценариями
///////////////////////////////////////////////////
&НаКлиенте
// Процедура выполняется перед началом каждого сценария
Процедура ПередНачаломСценария() Экспорт
СостояниеVanessaBehavior = Ванесса.ПолучитьСостояниеVanessaBehavior();
ИмяСценария = СостояниеVanessaBehavior.ТекущийСценарий.Имя;
ПредставлениеСправочника = ""узЗадачи"";
Если ИмяСценария = ""Проверка вывода """"ЧасыПлан"""", """"ЧасыФакт"""", """"ЧасыКОплате"""" в отчете """"узОтчетПоЗадачам"""""" Тогда
СоздатьЭлементСправочникаСНаименованиеНаСервере(ПредставлениеСправочника, ""ЭтоОсновнаяТестоваяЗадача"");
ОсновнаяЗадача = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , ""ЭтоОсновнаяТестоваяЗадача"",,ИСТИНА);
УстановитьЗначениеРеквизитаСправочника(ОсновнаяЗадача, ""ПоказыватьВОтчетахИКанбанДоске"", ИСТИНА);
СоздатьЭлементСправочникаСНаименованиеНаСервере(ПредставлениеСправочника, ""ЭтоТестоваяЗадача"");
Задача = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , ""ЭтоТестоваяЗадача"",,ИСТИНА);
УстановитьЗначениеРеквизитаСправочника(Задача, ""Код"" , 9999999);
УстановитьЗначениеРеквизитаСправочника(Задача, ""ЧасыПлан"" , 10);
УстановитьЗначениеРеквизитаСправочника(Задача, ""ЧасыФакт"" , 15);
УстановитьЗначениеРеквизитаСправочника(Задача, ""ЧасыКОплате"" , 10);
УстановитьЗначениеРеквизитаСправочника(Задача, ""ПоказыватьВОтчетахИКанбанДоске"", ИСТИНА);
УстановитьЗначениеРеквизитаСправочника(Задача, ""ДатаСоздания"" , Дата(2016,12,19,23,17,58));
УстановитьЗначениеРеквизитаСправочника(Задача, ""Родитель"" , ОсновнаяЗадача);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
// Процедура выполняется перед окончанием каждого сценария
Процедура ПередОкончаниемСценария() Экспорт
ПредставлениеСправочника = ""узЗадачи"";
ЭлементСправочника = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , ""ЭтоТестоваяЗадача"");
утвУдалитьЭлементСправочника(ПредставлениеСправочника, ЭлементСправочника);
ЭлементСправочника = утвПолучитьЭлементГруппуСправочника(ПредставлениеСправочника, , ""ЭтоОсновнаяТестоваяЗадача"");
утвУдалитьЭлементСправочника(ПредставлениеСправочника, ЭлементСправочника);
КонецПроцедуры
///////////////////////////////////////////////////
//Реализация шагов
///////////////////////////////////////////////////
&НаСервере
Процедура СоздатьЭлементСправочникаСНаименованиеНаСервере(ИмяСправочника, Наименование)
ЭлементСправочника = Справочники[ИмяСправочника].СоздатьЭлемент();
ЭлементСправочника.Наименование = Наименование;
ЭлементСправочника.Записать();
КонецПроцедуры
&НаСервере
Функция утвПолучитьЭлементГруппуСправочника(ИмяСправочника, Код = """", Наименование = """", ИскатьГруппу = Ложь, ДолженБыть = ЛОЖЬ)
ПредставлениеПоиска = """";
Если Истина
И ПустаяСтрока(Код)
И ПустаяСтрока(Наименование)
Тогда
ВызватьИсключение ""Не заполнено ни одно свойство поиска"";
ИначеЕсли Истина
И ЗначениеЗаполнено(Код)
И ЗначениеЗаполнено(Наименование)
Тогда
ПредставлениеПоиска = ""коду """""" + Код + """""" и наименованию """""" + Наименование + """""""";
ИначеЕсли ЗначениеЗаполнено(Код) Тогда
ПредставлениеПоиска = ""коду """""" + Код + """""""";
ИначеЕсли ЗначениеЗаполнено(Наименование) Тогда
ПредставлениеПоиска = ""наименованию """""" + Наименование + """""""";
КонецЕсли;
ТекстИсключения = ""Не нашли #ГруппуИлиЭлемент справочника #ИмяСправочника по #ПредставлениеПоиска"";
ТекстИсключения = СтрЗаменить(ТекстИсключения, ""#ГруппуИлиЭлемент"" , ?(ИскатьГруппу, ""группу"", ""элемент""));
ТекстИсключения = СтрЗаменить(ТекстИсключения, ""#ИмяСправочника"" , ИмяСправочника);
ТекстИсключения = СтрЗаменить(ТекстИсключения, ""#ПредставлениеПоиска"", ПредставлениеПоиска);
Запрос = Новый Запрос;
Запрос.Текст =
""ВЫБРАТЬ
| Справочник.Ссылка
|ИЗ
| Справочник.Пользователи КАК Справочник
|ГДЕ
| &МоиУсловия"";
ТекстМоиУсловия = """";
Если ИскатьГруппу Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, ""Справочник.ЭтоГруппа = &ИскатьГруппу"");
КонецЕсли;
Если ЗначениеЗаполнено(Код) Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, ""Справочник.Код = &Код"");
КонецЕсли;
Если ЗначениеЗаполнено(Наименование) Тогда
СформироватьТекстУсловияЗапроса(ТекстМоиУсловия, ""Справочник.Наименование = &Наименование"");
КонецЕсли;
Если ПустаяСтрока(ТекстМоиУсловия) Тогда
ТекстМоиУсловия = ""ИСТИНА"";
КонецЕсли;
СтрокаЗаменыСправочника = ""Справочник."" + ИмяСправочника + "" КАК Справочник"";
Запрос.Текст = СтрЗаменить(Запрос.Текст, ""&МоиУсловия"", ТекстМоиУсловия);
Запрос.Текст = СтрЗаменить(Запрос.Текст, ""Справочник.Пользователи КАК Справочник"", СтрокаЗаменыСправочника);
Запрос.УстановитьПараметр(""ИскатьГруппу"", ИскатьГруппу);
Запрос.УстановитьПараметр(""Код"", Код);
Запрос.УстановитьПараметр(""Наименование"", Наименование);
РезультатЗапроса = Запрос.Выполнить();
Если ДолженБыть И РезультатЗапроса.Пустой() Тогда
ВызватьИсключение ТекстИсключения;
КонецЕсли;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();
Возврат ВыборкаДетальныеЗаписи.Ссылка;
КонецФункции
&НаСервере
Процедура СформироватьТекстУсловияЗапроса(ТекстРезультат, ТекстУсловия)
Если НЕ ПустаяСтрока(ТекстРезультат) Тогда
ТекстРезультат = ТекстРезультат + "" И ""
КонецЕсли;
ТекстРезультат = ТекстРезультат + ТекстУсловия;
КонецПроцедуры
&НаСервере
Процедура утвУдалитьЭлементСправочника(ИмяСправочника, ЭлементСправочника)
Запрос = Новый Запрос;
Запрос.Текст =
""ВЫБРАТЬ
| Справочник.Ссылка
|ИЗ
| Справочник."" + ИмяСправочника + "" КАК Справочник
|ГДЕ
| Справочник.Ссылка = &ЭлементСправочника"";
Запрос.УстановитьПараметр(""ЭлементСправочника"", ЭлементСправочника);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат;
КонецЕсли;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ЭлементОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ЭлементОбъект.Удалить();
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура УстановитьЗначениеРеквизитаСправочника(ЭлементСправочника, ИмяРеквизита, Значение, ЗначениеВХранилище = ЛОЖЬ)
СпрОбъект = ЭлементСправочника.ПолучитьОбъект();
Если ЗначениеВХранилище Тогда
СпрОбъект[ИмяРеквизита] = Новый ХранилищеЗначения(Значение);
Иначе
СпрОбъект[ИмяРеквизита] = Значение;
КонецЕсли;
СпрОбъект.Записать();
КонецПроцедуры
&НаКлиенте
Функция ПолучитьАктивноеОкноИзТестовоеПриложение()
Возврат КонтекстСохраняемый.ТестовоеПриложение.ПолучитьАктивноеОкно();
КонецФункции
&НаКлиенте
Функция ПолучитьАктивноеОкноИзКонтекста()
Возврат Контекст.АктивноеОкно;
КонецФункции
&НаКлиенте
Функция НайтиПолеПоИмени(ИмяПоля,НужнаяФорма = Неопределено)
Получилось = Ложь;
Если Не Получилось Тогда
Если НужнаяФорма = Неопределено Тогда
ОкноПриложения = ПолучитьАктивноеОкноИзТестовоеПриложение();
НужнаяФорма = ОкноПриложения.НайтиОбъект(Тип(""ТестируемаяФорма""));
КонецЕсли;
Если НужнаяФорма = Неопределено Тогда
//иногда 1С некорректно отдаёт текущее окно, тогда будем искать во всех окнах
//сначала поищем в недавно открытом окне
Попытка
ОкноПриложения = ПолучитьАктивноеОкноИзКонтекста();
НужнаяФорма = ОкноПриложения.НайтиОбъект(Тип(""ТестируемаяФорма""));
Исключение
КонецПопытки;
//Если НужнаяФорма = Неопределено Тогда
// //затем будем искать во всех окнах
// МассивОкон = КонтекстСохраняемый.ТестовоеПриложение.НайтиОбъекты(Тип(""ТестируемоеОкноКлиентскогоПриложения""));
// Для каждого ТекОкно Из МассивОкон Цикл
//
// НужнаяФорма = ТекОкно.НайтиОбъект(Тип(""ТестируемаяФорма""));
// Если НужнаяФорма <> Неопределено Тогда
// Контекст.Вставить(""АктивноеОкно"",ОкноПриложения); //произошла неявная смена активного окна
// КонецЕсли;
//
// КонецЦикла;
//
//КонецЕсли;
КонецЕсли;
Если ИмяПоля = """" Тогда
Поле = НужнаяФорма.НайтиОбъект(Тип(""ТестируемоеПолеФормы""));
Иначе
Поле = НужнаяФорма.НайтиОбъект(Тип(""ТестируемоеПолеФормы""),,ИмяПоля);
КонецЕсли;
КонецЕсли;
Возврат Поле;
КонецФункции
&НаСервере
Процедура УстановитьЗначениеКонстаны(ИмяКонстанты, Результат)
Константы[ИмяКонстанты].Установить(Результат);
КонецПроцедуры
&НаКлиенте
//Допустим я подготавливаю константу с наименованием ""узИспользоватьУчетВремени""
//@ЯПодготавливаюКонстантуСНаименованием(Парам01)
Процедура ЯПодготавливаюКонстантуСНаименованием(ИмяКонстанты) Экспорт
//Ванесса.ПосмотретьЗначение(Парам01,Истина);
СостояниеVanessaBehavior = Ванесса.ПолучитьСостояниеVanessaBehavior();
ИмяСценария = СостояниеVanessaBehavior.ТекущийСценарий.Имя;
Если ИмяСценария = ""Включение механизма """"Учет времени по задачам"""""" Тогда
УстановитьЗначениеКонстаны(ИмяКонстанты, ЛОЖЬ);
Иначе
УстановитьЗначениеКонстаны(ИмяКонстанты, ИСТИНА);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
//Тогда поле формы с именем ""ЧасыФакт"" стало равным '15'
//@ПолеФормыСИменемСталаРавным(Парам01,Парам02)
Процедура ПолеФормыСИменемСталоРавным(ИмяПоля,Результат) Экспорт
//Ванесса.ПосмотретьЗначение(Парам01,Истина);
Поле = НайтиПолеПоИмени(ИмяПоля);
ДанныеПоля = Поле.ПолучитьПредставлениеДанных();
Ванесса.ПроверитьРавенство(ДанныеПоля,Результат,""Ожидаемое значение поля."");
КонецПроцедуры
//окончание текста модуля",
{4,1,
{9,
{1},0,"Объект",
{1,0},
{"Pattern",
{"#",1fa267af-3d54-4f70-ac00-718486d7aafd}
},
{0,
{0,
{"B",1},0}
},
{0,
{0,
{"B",1},0}
},
{0,0},
{0,0},1,0,0,0,
{0,0},
{0,0}
},0,0,
{#base64:77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxTZXR0
aW5ncyB4bWxucz0iaHR0cDovL3Y4LjFjLnJ1LzguMS9kYXRhLWNvbXBvc2l0aW9u
LXN5c3RlbS9zZXR0aW5ncyIgeG1sbnM6ZGNzY29yPSJodHRwOi8vdjguMWMucnUv
OC4xL2RhdGEtY29tcG9zaXRpb24tc3lzdGVtL2NvcmUiIHhtbG5zOnN0eWxlPSJo
dHRwOi8vdjguMWMucnUvOC4xL2RhdGEvdWkvc3R5bGUiIHhtbG5zOnN5cz0iaHR0
cDovL3Y4LjFjLnJ1LzguMS9kYXRhL3VpL2ZvbnRzL3N5c3RlbSIgeG1sbnM6djg9
Imh0dHA6Ly92OC4xYy5ydS84LjEvZGF0YS9jb3JlIiB4bWxuczp2OHVpPSJodHRw
Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj
LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4
LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov
L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=}
},
{0,0},
{0,0},
{0,0},
{0,0},0,0}

View File

@ -0,0 +1,17 @@
{1,
{79a499cc-1782-4a2f-abe7-61ea4d49fd5a},1,
{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,
{1,
{4,1fa267af-3d54-4f70-ac00-718486d7aafd,ed829681-4496-44fd-adeb-667f09d931c3,
{0,
{1,
{0,0,8aa13ab8-188a-4f59-be4f-031aa5450c90},"УчетВремениПоЗадачам",
{1,"ru","УчетВремениПоЗадачам"},"",0,0}
},70e297e0-e8a2-43bf-8be1-62e408f610a1,"",00000000-0000-0000-0000-000000000000},4,
{2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0},
{3daea016-69b7-4ed4-9453-127911372fe6,0},
{d5b0e5ed-256d-401c-9c36-f630cafd8a62,1,70e297e0-e8a2-43bf-8be1-62e408f610a1},
{ec6bb5e5-b7a8-4d75-bec9-658107a699cf,0}
}
}
}

View File

@ -0,0 +1,16 @@
{4,
{2,
{70e297e0-e8a2-43bf-8be1-62e408f610a1,70e297e0-e8a2-43bf-8be1-62e408f610a1,1,
{d5b0e5ed-256d-401c-9c36-f630cafd8a62,"Форма"}
},
{8aa13ab8-188a-4f59-be4f-031aa5450c90,8aa13ab8-188a-4f59-be4f-031aa5450c90,1,
{c3831ec8-d8d5-4f93-8a22-f9bfae07327f,"УчетВремениПоЗадачам"}
}
},
{1,
{1fa267af-3d54-4f70-ac00-718486d7aafd,8aa13ab8-188a-4f59-be4f-031aa5450c90,0}
},
{0},
{0,0},
{0}
}

View File

@ -0,0 +1 @@
{2,79a499cc-1782-4a2f-abe7-61ea4d49fd5a,}

View File

@ -0,0 +1,3 @@
{
{216,0}
}

View File

@ -0,0 +1 @@
{1,9,"",45d71b5d-c2b0-404b-b3b8-4aa50e42711d,"70e297e0-e8a2-43bf-8be1-62e408f610a1",5c00cad6-02b2-401d-aa5d-5e35352e879e,"70e297e0-e8a2-43bf-8be1-62e408f610a1.0",1d52e238-bb7d-4a4f-949a-bab6d80df683,"79a499cc-1782-4a2f-abe7-61ea4d49fd5a",61d7acf0-04a1-4a2a-9ec7-53c5a389ff29,"8aa13ab8-188a-4f59-be4f-031aa5450c90.0",e28145f0-8f5a-4469-9fe5-b1f86fb512b6,"copyinfo",0f1a0b97-f510-42ad-b310-1b32fc77315c,"root",ac78f5bf-ed46-4ef4-b75c-a1862b5ccef3,"version",0cd0d383-96b8-4843-9b33-bef4e049380b,"versions",6f01f24c-f3a1-4415-9f39-13da34b2b3d8}