1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-03-17 20:58:01 +02:00

Добавил вывод печатной формы часы за день. Вызывается из формы текущие дела.

This commit is contained in:
Anton Ivanov 2019-12-22 11:47:21 +03:00
parent c5e0c16d3b
commit 6b3aa31682
4 changed files with 505 additions and 0 deletions

View File

@ -423,6 +423,7 @@
<UseInTotals>true</UseInTotals>
</Properties>
</Dimension>
<Template>МакетЧасыЗаДень</Template>
</ChildObjects>
</AccumulationRegister>
</MetaDataObject>

View File

@ -0,0 +1,123 @@

Функция ПолучитьЧасыФактЗаДень(НаДату,Исполнитель) Экспорт
пЧасыФактЗаДень = 0;
пНачалоПериода = НачалоДня(НаДату);
пКонецПериодаГраница = Новый Граница(КонецДня(пНачалоПериода),ВидГраницы.Включая);
Запрос = Новый Запрос;
Запрос.Текст = ПолучитьЧасыФактЗаДень_ТекстЗапроса();
Запрос.УстановитьПараметр("НачалоПериода",пНачалоПериода);
Запрос.УстановитьПараметр("КонецПериодаГраница",пКонецПериодаГраница);
Запрос.УстановитьПараметр("Исполнитель",Исполнитель);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат пЧасыФактЗаДень;
Конецесли;
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
пЧасыФактЗаДень = Выборка.ФактОборот;
Возврат пЧасыФактЗаДень;
КонецФункции
Функция ПолучитьЧасыФактЗаДень_ТекстЗапроса()
Возврат
"ВЫБРАТЬ
| узФактПоЗадачамОбороты.ФактОборот
|ИЗ
| РегистрНакопления.узФактПоЗадачам.Обороты(&НачалоПериода, &КонецПериодаГраница, , Исполнитель = &Исполнитель) КАК узФактПоЗадачамОбороты
|";
КонецФункции
Функция ПолучитьТабДокументЧасыЗаДень(НаДату,Исполнитель) Экспорт
ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("МакетЧасыЗаДень");
пДатаДеньИДеньНеделиТекст = Формат(НаДату,"ДФ='dddd dd.MM.yyyy'");
пДатаДеньИДеньНеделиТекст = Лев(ВРЕГ(пДатаДеньИДеньНеделиТекст),1) + Сред(пДатаДеньИДеньНеделиТекст,2);
ЗаголовокМакета = "Часы за " + пДатаДеньИДеньНеделиТекст;
пЧасыЗаДеньФакт = ПолучитьЧасыФактЗаДень(НаДату,Исполнитель);
Если пЧасыЗаДеньФакт > 0 Тогда
ВыборкаФактЗаДень = ПолучитьВыборкуФактЗаДень(НаДату,Исполнитель);
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("ОбластьШапка");
ОбластьМакета.Параметры.ДатаДеньИДеньНедели = пДатаДеньИДеньНеделиТекст;
ОбластьМакета.Параметры.ЧасыЗаДеньФакт = пЧасыЗаДеньФакт;
ОбластьМакета.Параметры.Исполнитель = Исполнитель;
ТабДокумент.Вывести(ОбластьМакета);
НС = 1;
Пока пЧасыЗаДеньФакт > 0
И ВыборкаФактЗаДень.Следующий() Цикл
ОбластьМакета = Макет.ПолучитьОбласть("ОбластьСтрока");
ОбластьМакета.Параметры.Заполнить(ВыборкаФактЗаДень);
ОбластьМакета.Параметры.НС = НС;
ТабДокумент.Вывести(ОбластьМакета);
НС = НС + 1;
конеццикла;
ОбластьМакета = Макет.ПолучитьОбласть("ОбластьПодвал");
ОбластьМакета.Параметры.ЧасыЗаДеньФакт = пЧасыЗаДеньФакт;
ТабДокумент.Вывести(ОбластьМакета);
ТабДокумент.ОтображатьЗаголовки = Ложь;
ТабДокумент.ОтображатьСетку = Ложь;
ТабДокумент.ТолькоПросмотр = Истина;
Возврат ТабДокумент;
КонецФункции
Функция ПолучитьВыборкуФактЗаДень(НаДату,Исполнитель)
пНачалоПериода = НачалоДня(НаДату);
пКонецПериода = КонецДня(пНачалоПериода);
Запрос = Новый Запрос;
Запрос.Текст = ПолучитьВыборкуФактЗаДень_ТекстЗапроса();
Запрос.УстановитьПараметр("НачалоПериода",пНачалоПериода);
Запрос.УстановитьПараметр("КонецПериода",пКонецПериода);
Запрос.УстановитьПараметр("Исполнитель",Исполнитель);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Возврат Выборка;
КонецФункции
Функция ПолучитьВыборкуФактЗаДень_ТекстЗапроса()
Возврат
"ВЫБРАТЬ
| узФактПоЗадачам.Задача.Код КАК НомерЗадачи,
| узФактПоЗадачам.Задача,
| узФактПоЗадачам.Факт КАК ЧасыФакт,
| узФактПоЗадачам.Примечание
|ИЗ
| РегистрНакопления.узФактПоЗадачам КАК узФактПоЗадачам
|ГДЕ
| узФактПоЗадачам.Исполнитель = &Исполнитель
| И узФактПоЗадачам.Период МЕЖДУ &НачалоПериода И &КонецПериода
|
|УПОРЯДОЧИТЬ ПО
| узФактПоЗадачам.Период";
КонецФункции

View File

@ -0,0 +1,16 @@
<?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">
<Template uuid="e02e53fe-330c-4f05-ba63-67d318398124">
<Properties>
<Name>МакетЧасыЗаДень</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Макет часы за день</v8:content>
</v8:item>
</Synonym>
<Comment/>
<TemplateType>SpreadsheetDocument</TemplateType>
</Properties>
</Template>
</MetaDataObject>

View File

@ -0,0 +1,365 @@
<?xml version="1.0" encoding="UTF-8"?>
<document xmlns="http://v8.1c.ru/8.2/data/spreadsheet" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<languageSettings>
<currentLanguage>ru</currentLanguage>
<defaultLanguage>ru</defaultLanguage>
<languageInfo>
<id>ru</id>
<code>Русский</code>
<description>Русский</description>
</languageInfo>
<languageInfo>
<id>en</id>
<code>Английский</code>
<description>Английский</description>
</languageInfo>
<languageInfo>
<id>ro</id>
<code>Румынский</code>
<description>Румынский</description>
</languageInfo>
</languageSettings>
<columns>
<size>6</size>
<columnsItem>
<index>0</index>
<column>
<formatIndex>1</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>1</index>
<column>
<formatIndex>2</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>2</index>
<column>
<formatIndex>3</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>3</index>
<column>
<formatIndex>4</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>5</index>
<column>
<formatIndex>5</formatIndex>
</column>
</columnsItem>
</columns>
<rowsItem>
<index>1</index>
<row>
<c>
<i>2</i>
<c>
<f>6</f>
<parameter>ДатаДеньИДеньНедели</parameter>
</c>
</c>
</row>
</rowsItem>
<rowsItem>
<index>2</index>
<row>
<c>
<i>2</i>
<c>
<f>7</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Часы за день: [ЧасыЗаДеньФакт]</v8:content>
</v8:item>
</tl>
</c>
</c>
</row>
</rowsItem>
<rowsItem>
<index>3</index>
<row>
<c>
<i>2</i>
<c>
<f>7</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Исполнитель [Исполнитель]</v8:content>
</v8:item>
</tl>
</c>
</c>
</row>
</rowsItem>
<rowsItem>
<index>5</index>
<row>
<c>
<i>1</i>
<c>
<f>8</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>№ п/п</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<c>
<f>8</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>№ задачи</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<c>
<f>8</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Задача</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<c>
<f>8</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Часы</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<c>
<f>8</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Примечание</v8:content>
</v8:item>
</tl>
</c>
</c>
</row>
</rowsItem>
<rowsItem>
<index>7</index>
<row>
<c>
<i>1</i>
<c>
<f>9</f>
<parameter>НС</parameter>
</c>
</c>
<c>
<c>
<f>10</f>
<parameter>НомерЗадачи</parameter>
</c>
</c>
<c>
<c>
<f>11</f>
<parameter>Задача</parameter>
<detailParameter>Задача</detailParameter>
</c>
</c>
<c>
<c>
<f>12</f>
<parameter>ЧасыФакт</parameter>
</c>
</c>
<c>
<c>
<f>11</f>
<parameter>Примечание</parameter>
</c>
</c>
</row>
</rowsItem>
<rowsItem>
<index>9</index>
<row>
<c>
<i>1</i>
<c>
<f>13</f>
</c>
</c>
<c>
<c>
<f>14</f>
</c>
</c>
<c>
<c>
<f>15</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Итого:</v8:content>
</v8:item>
</tl>
</c>
</c>
<c>
<c>
<f>16</f>
<parameter>ЧасыЗаДеньФакт</parameter>
</c>
</c>
<c>
<c>
<f>8</f>
</c>
</c>
</row>
</rowsItem>
<rowsItem>
<index>10</index>
<row>
<empty>true</empty>
</row>
</rowsItem>
<templateMode>true</templateMode>
<defaultFormatIndex>3</defaultFormatIndex>
<height>10</height>
<vgRows>10</vgRows>
<namedItem xsi:type="NamedItemCells">
<name>ОбластьПодвал</name>
<area>
<type>Rows</type>
<beginRow>9</beginRow>
<endRow>9</endRow>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
<name>ОбластьСтрока</name>
<area>
<type>Rows</type>
<beginRow>7</beginRow>
<endRow>7</endRow>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
<name>ОбластьШапка</name>
<area>
<type>Rows</type>
<beginRow>0</beginRow>
<endRow>5</endRow>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</area>
</namedItem>
<line width="1" gap="false">
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">Solid</v8ui:style>
</line>
<font faceName="Arial" height="8" bold="true" italic="false" underline="false" strikeout="false" kind="Absolute" scale="100"/>
<format>
<width>23</width>
</format>
<format>
<width>46</width>
</format>
<format>
<width>72</width>
</format>
<format>
<width>318</width>
</format>
<format>
<width>339</width>
</format>
<format>
<fillType>Parameter</fillType>
</format>
<format>
<fillType>Template</fillType>
</format>
<format>
<font>0</font>
<border>0</border>
</format>
<format>
<border>0</border>
<horizontalAlignment>Center</horizontalAlignment>
<verticalAlignment>Center</verticalAlignment>
<fillType>Parameter</fillType>
</format>
<format>
<border>0</border>
<verticalAlignment>Center</verticalAlignment>
<fillType>Parameter</fillType>
</format>
<format>
<border>0</border>
<verticalAlignment>Center</verticalAlignment>
<textPlacement>Wrap</textPlacement>
<fillType>Parameter</fillType>
</format>
<format>
<border>0</border>
<verticalAlignment>Center</verticalAlignment>
<fillType>Parameter</fillType>
<format>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ЧДЦ=2</v8:content>
</v8:item>
</format>
</format>
<format>
<font>0</font>
<leftBorder>0</leftBorder>
<topBorder>0</topBorder>
<bottomBorder>0</bottomBorder>
</format>
<format>
<font>0</font>
<topBorder>0</topBorder>
<bottomBorder>0</bottomBorder>
</format>
<format>
<font>0</font>
<topBorder>0</topBorder>
<rightBorder>0</rightBorder>
<bottomBorder>0</bottomBorder>
<horizontalAlignment>Right</horizontalAlignment>
</format>
<format>
<font>0</font>
<border>0</border>
<width>72</width>
<verticalAlignment>Center</verticalAlignment>
<fillType>Parameter</fillType>
<format>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>ЧДЦ=2</v8:content>
</v8:item>
</format>
</format>
</document>