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:
commit
bb149bc1e7
BIN
features/step_definitions/УчетВремениПоЗадачам.epf
Normal file
BIN
features/step_definitions/УчетВремениПоЗадачам.epf
Normal file
Binary file not shown.
@ -19,8 +19,12 @@
|
||||
И я нажимаю на кнопку "Создать"
|
||||
Тогда открылось окно "Статусы задачи (создание)"
|
||||
И в поле "Наименование" я ввожу текст "Тестовая111"
|
||||
И я открываю выпадающий список "Вид статуса"
|
||||
И из выпадающего списка "Вид статуса" я выбираю "Backlog"
|
||||
И я выбираю значение реквизита "Вид статуса" из формы списка
|
||||
Тогда открылось окно "Виды статусов"
|
||||
И В форме "Виды статусов" в таблице "Список" я перехожу к строке:
|
||||
| 'Наименование' |
|
||||
| 'Backlog' |
|
||||
И я нажимаю на кнопку "Выбрать"
|
||||
И я изменяю флаг "Видимость по умолчанию"
|
||||
И я нажимаю на кнопку "Записать и закрыть"
|
||||
И Я нажимаю кнопку командного интерфейса "Меню функций (F10)"
|
||||
|
@ -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' |
|
||||
|
@ -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>
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -76,6 +76,8 @@
|
||||
Сообщение.Сообщить();
|
||||
Отказ = Истина;
|
||||
Конецесли;
|
||||
|
||||
Объект.ЧасыФакт = Объект.ФактическиеЧасы.Итог("ЧасыФакт");
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
@ -447,7 +449,38 @@
|
||||
Конецесли;
|
||||
Объект.ПоказыватьВОтчетахИКанбанДоске = Истина;
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
// Конец СтандартныеПодсистемы.Свойства
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Учет_времени
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ФактическиеЧасыДатаНачалаПриИзменении(Элемент)
|
||||
ЗаполнитьКоличествоФактическихЧасовСтроки(Элементы.ФактическиеЧасы.ТекущиеДанные);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ФактическиеЧасыДатаОкончанияПриИзменении(Элемент)
|
||||
ЗаполнитьКоличествоФактическихЧасовСтроки(Элементы.ФактическиеЧасы.ТекущиеДанные);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция ПолучитьКоличествоЧасовПоРазностиДат(ДатаНач, ДатаКон)
|
||||
Часов = 0;
|
||||
|
||||
Если ДатаКон > ДатаНач Тогда
|
||||
Часов = (ДатаКон - ДатаНач) / 3600;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Часов;
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьКоличествоФактическихЧасовСтроки(ТекущаяСтрока)
|
||||
ТекущаяСтрока.ЧасыФакт = ПолучитьКоличествоЧасовПоРазностиДат(ТекущаяСтрока.ДатаНачала, ТекущаяСтрока.ДатаОкончания);
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -95,6 +95,9 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<SavedData>true</SavedData>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
</UseAlways>
|
||||
</Attribute>
|
||||
<Attribute name="ЛогинДляОтправкиSMS" id="2">
|
||||
<Title>
|
||||
|
@ -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>
|
||||
|
51
src/cf/Constants/узИспользоватьУчетВремени.xml
Normal file
51
src/cf/Constants/узИспользоватьУчетВремени.xml
Normal 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>
|
@ -415,6 +415,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ЗаголовокСистемы</Field>
|
||||
</UseAlways>
|
||||
</Attribute>
|
||||
|
@ -653,6 +653,7 @@
|
||||
<Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field>
|
||||
<Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field>
|
||||
<Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field>
|
||||
<Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field>
|
||||
<Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field>
|
||||
|
@ -742,6 +742,7 @@
|
||||
<Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field>
|
||||
<Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field>
|
||||
<Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field>
|
||||
<Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field>
|
||||
<Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field>
|
||||
|
@ -432,6 +432,7 @@
|
||||
<Field>НаборКонстант.СписокРасширенийФайловOpenDocumentОбластиДанных</Field>
|
||||
<Field>НаборКонстант.СписокРасширенийТекстовыхФайлов</Field>
|
||||
<Field>НаборКонстант.СписокЗапрещенныхРасширенийОбластиДанных</Field>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ПрефиксУзлаРаспределеннойИнформационнойБазы</Field>
|
||||
<Field>НаборКонстант.ОтправлятьПисьмаВФорматеHTML</Field>
|
||||
<Field>НаборКонстант.ОграничиватьДоступНаУровнеЗаписей</Field>
|
||||
|
@ -873,6 +873,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ИспользоватьРазделениеПоОбластямДанных</Field>
|
||||
</UseAlways>
|
||||
</Attribute>
|
||||
|
@ -1037,6 +1037,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ЗаголовокСистемы</Field>
|
||||
<Field>НаборКонстант.АдресПубликацииИнформационнойБазыВИнтернете</Field>
|
||||
</UseAlways>
|
||||
|
@ -400,6 +400,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ЗаголовокСистемы</Field>
|
||||
</UseAlways>
|
||||
</Attribute>
|
||||
|
@ -2040,6 +2040,7 @@
|
||||
</Type>
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<UseAlways>
|
||||
<Field>НаборКонстант.ПровайдерSMS.Ref</Field>
|
||||
<Field>НаборКонстант.ИспользоватьРазделениеПоОбластямДанных</Field>
|
||||
<Field>НаборКонстант.ИспользоватьПолнотекстовыйПоиск</Field>
|
||||
<Field>НаборКонстант.ИспользоватьДополнительныеОтчетыИОбработки</Field>
|
||||
|
@ -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>
|
||||
|
@ -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
BIN
src/cf/Ext/ParentConfigurations/УправлениеЗадачами.cf
Normal file
BIN
src/cf/Ext/ParentConfigurations/УправлениеЗадачами.cf
Normal file
Binary file not shown.
27
src/cf/FunctionalOptions/узИспользоватьУчетВремени.xml
Normal file
27
src/cf/FunctionalOptions/узИспользоватьУчетВремени.xml
Normal 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>
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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/>
|
||||
|
@ -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,Истина);
|
||||
Поле = НайтиПолеПоИмени(ИмяПоля);
|
||||
ДанныеПоля = Поле.ПолучитьПредставлениеДанных();
|
||||
|
||||
Ванесса.ПроверитьРавенство(ДанныеПоля,Результат,"Ожидаемое значение поля.");
|
||||
КонецПроцедуры
|
||||
|
||||
//окончание текста модуля
|
@ -0,0 +1 @@
|
||||
|
@ -0,0 +1 @@
|
||||
Form\Форма\Форма.bsl-->70e297e0-e8a2-43bf-8be1-62e408f610a1.0 (46, 358)
|
@ -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
|
@ -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}
|
@ -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}
|
@ -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}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
{3,1,0,"",0}
|
@ -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}
|
||||
}
|
@ -0,0 +1 @@
|
||||
{2,79a499cc-1782-4a2f-abe7-61ea4d49fd5a,}
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
{216,0}
|
||||
}
|
@ -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}
|
Loading…
x
Reference in New Issue
Block a user