3_1_2_343

This commit is contained in:
Компания 1С committed 2020-04-13 14:08:00 +03:00
1 parent f5f84655da
commit f30862dcbc
41 files changed
+1480 -627

No files matched your search

@@ -2659,18 +2659,21 @@
Идентификаторы = ИдентификаторыОбъектовМетаданныхБезПопыткиПовтора(
ПолныеИменаОбъектовМетаданных, Истина, ОдинЭлемент);
Исключение
Если Не ОбщегоНазначения.РазделениеВключено()
Или Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
// В случае ошибки, если есть возможность обновления справочника,
// нужно выполнить обновление, а после этого повторить получение идентификатора.
Идентификаторы = Неопределено;
Иначе
ВызватьИсключение;
КонецЕсли;
КонецПопытки;
Если Идентификаторы = Неопределено Тогда
Если Не ОбщегоНазначения.РазделениеВключено()
Или Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ОбновитьДанныеСправочника();
КонецЕсли;
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Справочники.ИдентификаторыОбъектовРасширений.ОбновитьДанныеСправочника();
КонецЕсли;
Идентификаторы = ИдентификаторыОбъектовМетаданныхБезПопыткиПовтора(
ПолныеИменаОбъектовМетаданных, ВызыватьИсключение, ОдинЭлемент);
КонецЕсли;
@@ -194,6 +194,10 @@
<dataPath xsi:type="form:DataPath">
<segments>Объект.ДатаОкончания</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>ДатаОкончанияПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ДатаОкончанияExtendedTooltip</name>
<id>307</id>
@@ -782,10 +786,10 @@
</items>
<items xsi:type="form:FormGroup">
<name>УчитыватьПраздникиГруппа</name>
<id>177</id>
<id>404</id>
<items xsi:type="form:FormField">
<name>УчитыватьПраздники</name>
<id>173</id>
<id>406</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -806,10 +810,9 @@
<name>УчитыватьПраздникиПриИзменении</name>
</handlers>
<extendedTooltip>
<name>УчитыватьПраздникиExtendedTooltip</name>
<id>324</id>
<name>УчитыватьПраздникиРасширеннаяПодсказка</name>
<id>408</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
@@ -817,7 +820,7 @@
</extendedTooltip>
<contextMenu>
<name>УчитыватьПраздникиКонтекстноеМеню</name>
<id>174</id>
<id>407</id>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
@@ -827,20 +830,61 @@
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Учитывать праздники</value>
</title>
<extendedTooltip>
<name>УчитыватьПраздникиГруппаРасширеннаяПодсказка</name>
<id>405</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>УчитыватьНерабочиеПериодыГруппа</name>
<id>409</id>
<items xsi:type="form:FormField">
<name>РасписаниеПредпраздничногоДня</name>
<id>287</id>
<name>УчитыватьНерабочиеПериоды</name>
<id>411</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>РасписаниеПредпраздничногоДня</segments>
<segments>Объект.УчитыватьНерабочиеПериоды</segments>
</dataPath>
<titleLocation>Right</titleLocation>
<toolTip>
<key>ru</key>
<value>Если установлено, то из состава рабочих дней будут исключаться дни нерабочих периодов производственного календаря</value>
</toolTip>
<handlers>
<event>OnChange</event>
<name>УчитыватьНерабочиеПериодыПриИзменении</name>
</handlers>
<extendedTooltip>
<name>РасписаниеПредпраздничногоДняExtendedTooltip</name>
<id>326</id>
<name>УчитыватьНерабочиеПериодыРасширеннаяПодсказка</name>
<id>413</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -849,24 +893,87 @@
</extInfo>
</extendedTooltip>
<contextMenu>
<name>РасписаниеПредпраздничногоДняКонтекстноеМеню</name>
<id>288</id>
<name>УчитыватьНерабочиеПериодыКонтекстноеМеню</name>
<id>412</id>
<autoFill>true</autoFill>
</contextMenu>
<type>LabelField</type>
<type>CheckBoxField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:LabelFieldExtInfo">
<handlers>
<event>Click</event>
<name>РасписаниеПредпраздничногоДняНажатие</name>
</handlers>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<items xsi:type="form:FormGroup">
<name>НерабочиеПериодыГруппа</name>
<id>396</id>
<items xsi:type="form:Decoration">
<name>НерабочиеПериодыКартинка</name>
<id>398</id>
<title>
<key>ru</key>
<value>Нерабочие периоды картинка</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>НерабочиеПериодыКартинкаРасширеннаяПодсказка</name>
<id>400</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<hyperlink>true</hyperlink>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НерабочиеПериодыКартинкаКонтекстноеМеню</name>
<id>399</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Информация</picture>
</picture>
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>НерабочиеПериодыИнформация</name>
<id>401</id>
<title>
<key>ru</key>
<value>Нерабочие периоды информация</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>НерабочиеПериодыИнформацияРасширеннаяПодсказка</name>
<id>403</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НерабочиеПериодыИнформацияКонтекстноеМеню</name>
<id>402</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
@@ -876,11 +983,40 @@
</userVisible>
<title>
<key>ru</key>
<value>Учитывать праздники группа</value>
<value>Нерабочие периоды</value>
</title>
<extendedTooltip>
<name>УчитыватьПраздникиГруппаExtendedTooltip</name>
<id>323</id>
<name>НерабочиеПериодыГруппаРасширеннаяПодсказка</name>
<id>397</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Учитывать нерабочие периоды</value>
</title>
<extendedTooltip>
<name>УчитыватьНерабочиеПериодыГруппаРасширеннаяПодсказка</name>
<id>410</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -892,7 +1028,6 @@
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Auto</behavior>
<representation>NormalSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
@@ -1252,6 +1387,48 @@
<autoMaxCardHeight>true</autoMaxCardHeight>
<rowFilter xsi:type="core:UndefinedValue"/>
</items>
<items xsi:type="form:FormField">
<name>РасписаниеПредпраздничногоДня</name>
<id>287</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>РасписаниеПредпраздничногоДня</segments>
</dataPath>
<extendedTooltip>
<name>РасписаниеПредпраздничногоДняExtendedTooltip</name>
<id>326</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>РасписаниеПредпраздничногоДняКонтекстноеМеню</name>
<id>288</id>
<autoFill>true</autoFill>
</contextMenu>
<type>LabelField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:LabelFieldExtInfo">
<handlers>
<event>Click</event>
<name>РасписаниеПредпраздничногоДняНажатие</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>false</horizontalStretch>
<hyperlink>true</hyperlink>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -2753,12 +2930,7 @@
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<commandInterface>
<navigationPanel>
<cmiFragmentRecord>
<command>0</command>
<userVisible/>
</cmiFragmentRecord>
</navigationPanel>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:CatalogFormExtInfo">
@@ -25,28 +25,14 @@
Объект.ПроизводственныйКалендарь = ПроизводственныеКалендари[0];
КонецЕсли;
Объект.СпособЗаполнения = Перечисления.СпособыЗаполненияГрафикаРаботы.ПоНеделям;
ДлинаЦикла = 7;
Объект.ДатаНачала = НачалоГода(ТекущаяДатаСеанса());
Объект.ДатаОтсчета = НачалоГода(ТекущаяДатаСеанса());
УстановитьЭлементыНастройкиЗаполнения(ЭтотОбъект);
СформироватьШаблонЗаполнения(Объект.СпособЗаполнения, Объект.ШаблонЗаполнения, ДлинаЦикла, Объект.ДатаОтсчета);
ЗаполнитьПредставлениеРасписания(ЭтотОбъект);
УстановитьДоступностьУчитыватьПраздники(ЭтотОбъект);
УточнитьДатуЗаполненности();
ЗаполнитьДаннымиТекущегоГода(Параметры.ЗначениеКопирования);
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Истина);
УстановитьДоступностьРасписанияПредпраздничногоДня(ЭтотОбъект);
ПриПолученииДанныхНаСервере();
КонецПроцедуры
@@ -54,23 +40,9 @@
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ДлинаЦикла = Объект.ШаблонЗаполнения.Количество();
УстановитьЭлементыНастройкиЗаполнения(ЭтотОбъект);
СформироватьШаблонЗаполнения(Объект.СпособЗаполнения, Объект.ШаблонЗаполнения, ДлинаЦикла, Объект.ДатаОтсчета);
ЗаполнитьПредставлениеРасписания(ЭтотОбъект);
УстановитьДоступностьУчитыватьПраздники(ЭтотОбъект);
УточнитьДатуЗаполненности();
ЗаполнитьДаннымиТекущегоГода();
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Истина);
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Ложь);
УстановитьДоступностьРасписанияПредпраздничногоДня(ЭтотОбъект);
ПриПолученииДанныхНаСервере(ТекущийОбъект);
КонецПроцедуры
@@ -129,44 +101,13 @@
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ЗаполнитьПоШаблону(Команда)
ЗаполнитьПоШаблонуНаСервере();
Элементы.ГрафикРаботы.Обновить();
КонецПроцедуры
&НаКлиенте
Процедура РезультатЗаполнения(Команда)
Элементы.Страницы.ТекущаяСтраница = Элементы.РезультатЗаполненияСтраница;
Если Не РезультатЗаполненПоШаблону Тогда
ЗаполнитьПоШаблонуНаСервере(Истина);
КонецЕсли;
Элементы.ГрафикРаботы.Обновить();
КонецПроцедуры
&НаКлиенте
Процедура НастройкаЗаполнения(Команда)
Элементы.Страницы.ТекущаяСтраница = Элементы.НастройкаЗаполненияСтраница;
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ФОРМЫ
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ПроизводственныйКалендарьПриИзменении(Элемент)
УстановитьДоступностьУчитыватьПраздники(ЭтотОбъект);
УстановитьДоступностьУчитыватьНерабочиеПериоды(ЭтотОбъект);
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Ложь);
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Истина);
@@ -195,6 +136,13 @@
Объект.ДатаНачала = НачалоГода(ОбщегоНазначенияКлиент.ДатаСеанса());
КонецЕсли;
УстановитьДоступностьУчитыватьНерабочиеПериоды(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ДатаОкончанияПриИзменении(Элемент)
УстановитьДоступностьУчитыватьНерабочиеПериоды(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
@@ -231,15 +179,7 @@
КонецПроцедуры
&НаКлиенте
Процедура ШаблонЗаполненияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
НачатьЗаполнениеРасписанияДня(ВыбраннаяСтрока);
КонецПроцедуры
&НаКлиенте
Процедура ШаблонЗаполненияДеньВключенВГрафикПриИзменении(Элемент)
Процедура УчитыватьНерабочиеПериодыПриИзменении(Элемент)
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Ложь);
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Истина);
@@ -250,17 +190,7 @@
Процедура РасписаниеПредпраздничногоДняНажатие(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КонтекстВыбора = Новый Структура;
КонтекстВыбора.Вставить("Источник", "РасписаниеПредпраздничногоДняНажатие");
КонтекстВыбора.Вставить("НомерДня", 0);
КонтекстВыбора.Вставить("ПредставлениеРасписания", РасписаниеПредпраздничногоДня);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("РасписаниеРаботы", РасписаниеРаботы(КонтекстВыбора.НомерДня));
ПараметрыФормы.Вставить("ТолькоПросмотр", ТолькоПросмотр);
ОткрытьФорму("Справочник.Календари.Форма.РасписаниеРаботы", ПараметрыФормы, ЭтотОбъект);
НачатьЗаполнениеРасписанияДня(0);
КонецПроцедуры
@@ -352,8 +282,89 @@
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыШаблонЗаполнения
&НаКлиенте
Процедура ШаблонЗаполненияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
СтрокаШаблона = Объект.ШаблонЗаполнения.НайтиПоИдентификатору(ВыбраннаяСтрока);
НачатьЗаполнениеРасписанияДня(СтрокаШаблона.НомерСтроки, ВыбраннаяСтрока);
КонецПроцедуры
&НаКлиенте
Процедура ШаблонЗаполненияДеньВключенВГрафикПриИзменении(Элемент)
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Ложь);
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Истина);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ЗаполнитьПоШаблону(Команда)
ЗаполнитьПоШаблонуНаСервере();
Элементы.ГрафикРаботы.Обновить();
КонецПроцедуры
&НаКлиенте
Процедура РезультатЗаполнения(Команда)
Элементы.Страницы.ТекущаяСтраница = Элементы.РезультатЗаполненияСтраница;
Если Не РезультатЗаполненПоШаблону Тогда
ЗаполнитьПоШаблонуНаСервере(Истина);
КонецЕсли;
Элементы.ГрафикРаботы.Обновить();
КонецПроцедуры
&НаКлиенте
Процедура НастройкаЗаполнения(Команда)
Элементы.Страницы.ТекущаяСтраница = Элементы.НастройкаЗаполненияСтраница;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ПриПолученииДанныхНаСервере(ТекущийОбъект = Неопределено)
Если ТекущийОбъект = Неопределено Тогда
ТекущийОбъект = Объект;
КонецЕсли;
УстановитьЭлементыНастройкиЗаполнения(ЭтотОбъект);
СформироватьШаблонЗаполнения(
ТекущийОбъект.СпособЗаполнения, Объект.ШаблонЗаполнения, ДлинаЦикла, ТекущийОбъект.ДатаОтсчета);
УточнитьДатуЗаполненности();
ЗаполнитьПредставлениеРасписания(ЭтотОбъект);
УстановитьДоступностьУчитыватьНерабочиеПериоды(ЭтотОбъект);
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Истина);
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Ложь);
УстановитьДоступностьУчитыватьПраздники(ЭтотОбъект);
УстановитьДоступностьРасписанияПредпраздничногоДня(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформление()
@@ -583,6 +594,38 @@
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьДоступностьУчитыватьНерабочиеПериоды(Форма)
Элементы = Форма.Элементы;
Объект = Форма.Объект;
Элементы.УчитыватьНерабочиеПериодыГруппа.Видимость = Ложь;
Если Не ЗначениеЗаполнено(Объект.ПроизводственныйКалендарь) Тогда
Возврат;
КонецЕсли;
Периоды = ПериодыНерабочихДней(Объект.ПроизводственныйКалендарь, Объект.ДатаНачала, Объект.ДатаОкончания);
Если Периоды.Количество() = 0 Тогда
Возврат;
КонецЕсли;
Элементы.УчитыватьНерабочиеПериодыГруппа.Видимость = Истина;
Пояснение = "";
Для Каждого ОписаниеПериода Из Периоды Цикл
Пояснение = Пояснение + ?(Не ПустаяСтрока(Пояснение), Символы.ПС, "") + ОписаниеПериода.Представление;
КонецЦикла;
Элементы.НерабочиеПериодыИнформация.Заголовок = Пояснение;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПериодыНерабочихДней(ПроизводственныйКалендарь, ДатаНачала, ДатаОкончания)
Возврат КалендарныеГрафики.ПериодыНерабочихДней(
ПроизводственныйКалендарь, Новый СтандартныйПериод(ДатаНачала, ДатаОкончания));
КонецФункции
&НаСервере
Процедура УточнитьДатуЗаполненности()
@@ -644,14 +687,16 @@
&НаСервере
Процедура ЗаполнитьПоШаблонуНаСервере(СохранятьРучноеРедактирование = Ложь)
ПараметрыЗаполнения = РегистрыСведений.КалендарныеГрафики.ПараметрыЗаполненияГрафика();
ПараметрыЗаполнения.СпособЗаполнения = Объект.СпособЗаполнения;
ПараметрыЗаполнения.ШаблонЗаполнения = Объект.ШаблонЗаполнения;
ПараметрыЗаполнения.ПроизводственныйКалендарь = Объект.ПроизводственныйКалендарь;
ПараметрыЗаполнения.УчитыватьПраздники = Объект.УчитыватьПраздники;
ПараметрыЗаполнения.УчитыватьНерабочиеПериоды = Объект.УчитыватьНерабочиеПериоды;
ПараметрыЗаполнения.ДатаОтсчета = Объект.ДатаОтсчета;
ДниВключенныеВГрафик = РегистрыСведений.КалендарныеГрафики.ДниВключенныеВГрафик(
Объект.ДатаНачала,
Объект.СпособЗаполнения,
Объект.ШаблонЗаполнения,
Объект.ДатаОкончания,
Объект.ПроизводственныйКалендарь,
Объект.УчитыватьПраздники,
Объект.ДатаОтсчета);
Объект.ДатаНачала, Объект.ДатаОкончания, ПараметрыЗаполнения);
Если РучноеРедактирование Тогда
Если СохранятьРучноеРедактирование Тогда
@@ -718,14 +763,15 @@
// Если нет ручных корректировок и данных тоже нет, то формируем результат по шаблону за выбранный год.
Если ДниГрафика.Количество() = 0 И ДниИзмененные.Количество() = 0 Тогда
ПараметрыЗаполнения = РегистрыСведений.КалендарныеГрафики.ПараметрыЗаполненияГрафика();
ПараметрыЗаполнения.СпособЗаполнения = Объект.СпособЗаполнения;
ПараметрыЗаполнения.ШаблонЗаполнения = Объект.ШаблонЗаполнения;
ПараметрыЗаполнения.ПроизводственныйКалендарь = Объект.ПроизводственныйКалендарь;
ПараметрыЗаполнения.УчитыватьПраздники = Объект.УчитыватьПраздники;
ПараметрыЗаполнения.УчитыватьНерабочиеПериоды = Объект.УчитыватьНерабочиеПериоды;
ПараметрыЗаполнения.ДатаОтсчета = Объект.ДатаОтсчета;
ДниВключенныеВГрафик = РегистрыСведений.КалендарныеГрафики.ДниВключенныеВГрафик(
Объект.ДатаНачала,
Объект.СпособЗаполнения,
Объект.ШаблонЗаполнения,
Дата(НомерТекущегоГода, 12, 31),
Объект.ПроизводственныйКалендарь,
Объект.УчитыватьПраздники,
Объект.ДатаОтсчета);
Объект.ДатаНачала, Дата(НомерТекущегоГода, 12, 31), ПараметрыЗаполнения);
ДниГрафика = Новый ФиксированноеСоответствие(ДниВключенныеВГрафик);
КонецЕсли;
@@ -936,7 +982,8 @@
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьДоступностьРасписанияПредпраздничногоДня(Форма)
Форма.Элементы.РасписаниеПредпраздничногоДня.Доступность = Форма.Объект.УчитыватьПраздники;
Элементы = Форма.Элементы;
Элементы.РасписаниеПредпраздничногоДня.Доступность = Форма.Объект.УчитыватьПраздники;
КонецПроцедуры
&НаКлиенте
@@ -950,13 +997,11 @@
КонецФункции
&НаКлиенте
Процедура НачатьЗаполнениеРасписанияДня(ВыбранныйДень)
СтрокаШаблона = Объект.ШаблонЗаполнения.НайтиПоИдентификатору(ВыбранныйДень);
Процедура НачатьЗаполнениеРасписанияДня(НомерДня, ИдентификаторСтрокиШаблона = Неопределено)
КонтекстВыбора = ДополнительныеПараметрыЗаполненияРасписанияДня();
КонтекстВыбора.НомерДня = СтрокаШаблона.НомерСтроки;
КонтекстВыбора.ИдентификаторСтрокиШаблона = ВыбранныйДень;
КонтекстВыбора.НомерДня = НомерДня;
КонтекстВыбора.ИдентификаторСтрокиШаблона = ИдентификаторСтрокиШаблона;
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("РасписаниеРаботы", РасписаниеРаботы(КонтекстВыбора.НомерДня));
@@ -999,9 +1044,11 @@
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Ложь);
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Истина);
Если КонтекстВыбора.ИдентификаторСтрокиШаблона <> Неопределено Тогда
СтрокаШаблона = Объект.ШаблонЗаполнения.НайтиПоИдентификатору(КонтекстВыбора.ИдентификаторСтрокиШаблона);
СтрокаШаблона.ДеньВключенВГрафик = ВыбранноеЗначение.РасписаниеРаботы.Количество() > 0; // расписание заполнено
СтрокаШаблона.ПредставлениеРасписания = ПредставлениеРасписанияДня(ЭтотОбъект, КонтекстВыбора.НомерДня);
КонецЕсли;
КонецПроцедуры
@@ -0,0 +1,93 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2020, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ГрафикиРаботы.Ссылка
|ИЗ
| Справочник.Календари КАК ГрафикиРаботы";
ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
КонецПроцедуры
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ОбработкаЗавершена = Истина;
Выборка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, Метаданные.Справочники.Календари.ПолноеИмя());
Обработано = 0;
Проблемных = 0;
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.Календари");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
Выборка.Сбросить();
Пока Выборка.Следующий() Цикл
ЭлементБлокировки.УстановитьЗначение("Ссылка", Выборка.Ссылка);
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
ГрафикОбъект = Выборка.Ссылка.ПолучитьОбъект();
ГрафикОбъект.УчитыватьНерабочиеПериоды = Истина;
ОбновлениеИнформационнойБазы.ЗаписатьОбъект(ГрафикОбъект);
Обработано = Обработано + 1;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
Проблемных = Проблемных + 1;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обработать график работы ""%1"" по причине:
|%2'"),
Выборка.Ссылка,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Предупреждение,
Метаданные.Справочники.Календари, ,
ТекстСообщения);
КонецПопытки;
КонецЦикла;
Если Не ОбновлениеИнформационнойБазы.ОбработкаДанныхЗавершена(Параметры.Очередь, Метаданные.Справочники.Календари.ПолноеИмя()) Тогда
ОбработкаЗавершена = Ложь;
КонецЕсли;
ИмяПроцедуры = "Справочник.Календари.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Если Обработано = 0 И Проблемных <> 0 Тогда
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Процедуре %1 не удалось обработать некоторые записи (пропущены): %2'"),
ИмяПроцедуры,
Проблемных);
ВызватьИсключение ТекстСообщения;
КонецЕсли;
ЗаписьЖурналаРегистрации(
ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(),
УровеньЖурналаРегистрации.Информация, , ,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Процедура %1 обработала очередную порцию записей: %2'"),
ИмяПроцедуры,
Обработано));
Параметры.ОбработкаЗавершена = ОбработкаЗавершена;
КонецПроцедуры
#КонецОбласти
#КонецЕсли
@@ -54,14 +54,15 @@
// Если дата окончания не указана, она будет подобрана по производственному календарю.
ДатаОкончанияЗаполнения = ДатаОкончания;
ПараметрыЗаполнения = РегистрыСведений.КалендарныеГрафики.ПараметрыЗаполненияГрафика();
ПараметрыЗаполнения.СпособЗаполнения = СпособЗаполнения;
ПараметрыЗаполнения.ШаблонЗаполнения = ШаблонЗаполнения;
ПараметрыЗаполнения.ПроизводственныйКалендарь = ПроизводственныйКалендарь;
ПараметрыЗаполнения.УчитыватьПраздники = УчитыватьПраздники;
ПараметрыЗаполнения.УчитыватьНерабочиеПериоды = УчитыватьНерабочиеПериоды;
ПараметрыЗаполнения.ДатаОтсчета = ДатаОтсчета;
ДниВключенныеВГрафик = РегистрыСведений.КалендарныеГрафики.ДниВключенныеВГрафик(
ДатаНачала,
СпособЗаполнения,
ШаблонЗаполнения,
ДатаОкончанияЗаполнения,
ПроизводственныйКалендарь,
УчитыватьПраздники,
ДатаОтсчета);
ДатаНачала, ДатаОкончанияЗаполнения, ПараметрыЗаполнения);
РегистрыСведений.КалендарныеГрафики.ЗаписатьДанныеГрафикаВРегистр(
Ссылка, ДниВключенныеВГрафик, ДатаНачала, ДатаОкончанияЗаполнения);
@@ -261,6 +261,27 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="b3f188f4-d83e-4e97-b7d3-fc384b46a80a">
<name>УчитыватьНерабочиеПериоды</name>
<synonym>
<key>ru</key>
<value>Учитывать нерабочие периоды</value>
</synonym>
<type>
<types>Boolean</types>
</type>
<toolTip>
<key>ru</key>
<value>Если установлено, то из состава рабочих дней будут исключаться дни нерабочих периодов производственного календаря</value>
</toolTip>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:BooleanValue">
<value>true</value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="b848aafc-44fb-4dfe-8eec-233dc08fbbb6">
<name>Описание</name>
<synonym>
@@ -19,6 +19,10 @@
РабочийКаталог = РаботаСФайламиСлужебныйВызовСервера.РабочийКаталогПапки(Объект.Ссылка);
Если Объект.Ссылка = ПредопределенноеЗначение("Справочник.ПапкиФайлов.Шаблоны") Тогда
Элементы.Родитель.Видимость = Ложь;
КонецЕсли;
// СтандартныеПодсистемы.Свойства
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
МодульУправлениеСвойствами = ОбщегоНазначения.ОбщийМодуль("УправлениеСвойствами");
@@ -19,6 +19,12 @@
ТекущаяПапка = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка,
"Наименование, Родитель, ПометкаУдаления");
Если Ссылка = ПредопределенноеЗначение("Справочник.ПапкиФайлов.Шаблоны")
И ТекущаяПапка.Родитель <> Справочники.ПапкиФайлов.ПустаяСсылка() Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Запрещено перемещать папку ""%1"".'"), ТекущаяПапка.Наименование);
КонецЕсли;
Если ЭтоНовый() Или ТекущаяПапка.Родитель <> Родитель Тогда
// Проверка прав на исходную папку.
Если НЕ РаботаСФайламиСлужебный.ЕстьПраво("ИзменениеПапок", ТекущаяПапка.Родитель) Тогда
@@ -224,6 +224,10 @@
<segments>Объект.БазовыйКалендарь</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>БазовыйКалендарьПриИзменении</name>
</handlers>
<extendedTooltip>
<name>БазовыйКалендарьРасширеннаяПодсказка</name>
<id>57</id>
@@ -285,6 +289,112 @@
<items xsi:type="form:FormGroup">
<name>КалендарьГруппа</name>
<id>17</id>
<items xsi:type="form:FormGroup">
<name>НерабочиеПериодыГруппа</name>
<id>58</id>
<items xsi:type="form:Decoration">
<name>НерабочиеПериодыКартинка</name>
<id>60</id>
<title>
<key>ru</key>
<value>Нерабочие периоды картинка</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>НерабочиеПериодыКартинкаРасширеннаяПодсказка</name>
<id>62</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НерабочиеПериодыКартинкаКонтекстноеМеню</name>
<id>61</id>
<autoFill>true</autoFill>
</contextMenu>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:PictureDecorationExtInfo">
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Предупреждение32</picture>
</picture>
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:Decoration">
<name>НерабочиеПериодыТекст</name>
<id>63</id>
<title>
<key>ru</key>
<value>Нерабочие периоды текст</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>НерабочиеПериодыТекстРасширеннаяПодсказка</name>
<id>65</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НерабочиеПериодыТекстКонтекстноеМеню</name>
<id>64</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Нерабочие периоды</value>
</title>
<horizontalStretch>true</horizontalStretch>
<extendedTooltip>
<name>НерабочиеПериодыГруппаРасширеннаяПодсказка</name>
<id>59</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<showTitle>auto</showTitle>
<backColor xsi:type="core:ColorRef">
<color>Style.НерабочийПериодПроизводственногоКалендаряФон</color>
</backColor>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Календарь</name>
<id>5</id>
@@ -942,6 +1052,17 @@
</edit>
<savedData>true</savedData>
</attributes>
<attributes>
<name>НерабочиеДаты</name>
<id>12</id>
<valueType/>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>ИзменитьДень</name>
<title>
@@ -115,6 +115,9 @@
ЦветОформленияДня = ОбщегоНазначенияКлиент.ЦветСтиля("ВидДняПроизводственногоКалендаряНеУказанЦвет");
КонецЕсли;
СтрокаОформленияПериода.ЦветТекста = ЦветОформленияДня;
Если НерабочиеДаты.Найти(СтрокаОформленияПериода.Дата) <> Неопределено Тогда
СтрокаОформленияПериода.ЦветФона = ОбщегоНазначенияКлиент.ЦветСтиля("НерабочийПериодПроизводственногоКалендаряФон");
КонецЕсли;
КонецЦикла;
КонецПроцедуры
@@ -130,6 +133,11 @@
КонецПроцедуры
&НаКлиенте
Процедура БазовыйКалендарьПриИзменении(Элемент)
ПрочитатьНерабочиеДаты();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
@@ -170,8 +178,10 @@
ПараметрыВыбораДаты.КонецПериодаОтображения = КонецГода(Календарь);
ПараметрыВыбораДаты.Заголовок = НСтр("ru = 'Выбор даты переноса'");
ТекстСообщения = НСтр("ru = 'Выберите дату, на которую будет осуществлен перенос дня %1 (%2)'");
ПараметрыВыбораДаты.ПоясняющийТекст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Формат(ДатаПереноса, "ДФ='д ММММ'"), ВидДня);
ПараметрыВыбораДаты.ПоясняющийТекст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Выберите дату, на которую будет осуществлен перенос дня %1 (%2)'"),
Формат(ДатаПереноса, "ДФ='д ММММ'"), // АПК:1367 Хорошего решения нет, считаем сохранение порядка дата + месяц приемлемым решением в этом месте
ВидДня);
ОткрытьФорму("ОбщаяФорма.ВыборДаты", ПараметрыВыбораДаты, ЭтотОбъект);
@@ -226,6 +236,7 @@
КонецЕсли;
ПрочитатьДанныеПроизводственногоКалендаря(СсылкаНаКалендарь, НомерТекущегоГода);
ПрочитатьНерабочиеДаты();
КонецПроцедуры
@@ -431,9 +442,9 @@
Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'с %1 %2 на %3 %4'"),
ДеньНеделиВФормулировкеСКакогоПереносим(ДатаИсточник),
Формат(ДатаИсточник, "ДФ='д ММММ'"),
Формат(ДатаИсточник, "ДФ='д ММММ'"), // АПК:1367 Хорошего решения нет, считаем сохранение порядка дата + месяц приемлемым решением в этом месте
ДеньНеделиВФормулировкеНаКакойПереносим(ДатаПриемник),
Формат(ДатаПриемник, "ДФ='д ММММ'"));
Формат(ДатаПриемник, "ДФ='д ММММ'")); // АПК:1367
КонецФункции
@@ -597,7 +608,7 @@
Представление = Соответствие[ДеньНедели(Дата)];
Если Представление = Неопределено Тогда
Возврат Формат(Дата, "ДФ='дддд'");
Возврат Формат(Дата, "ДФ='дддд'"); // АПК:1367 В данном случае отображение дня недели будет корректным с учетом локализации
КонецЕсли;
Возврат Представление;
@@ -618,11 +629,39 @@
Представление = Соответствие[ДеньНедели(Дата)];
Если Представление = Неопределено Тогда
Возврат Формат(Дата, "ДФ='дддд'");
Возврат Формат(Дата, "ДФ='дддд'"); // АПК:1367 В данном случае отображение дня недели будет корректным с учетом локализации
КонецЕсли;
Возврат Представление;
КонецФункции
&НаСервере
Процедура ПрочитатьНерабочиеДаты(ТекущийОбъект = Неопределено)
Если ТекущийОбъект = Неопределено Тогда
ТекущийОбъект = Объект;
КонецЕсли;
Даты = Новый Массив;
ПроизводственныйКалендарь = ?(ЗначениеЗаполнено(Объект.БазовыйКалендарь),
ТекущийОбъект.БазовыйКалендарь, ТекущийОбъект.Ссылка);
Если ЗначениеЗаполнено(ПроизводственныйКалендарь) Тогда
Периоды = КалендарныеГрафики.ПериодыНерабочихДней(
ПроизводственныйКалендарь, Новый СтандартныйПериод(Дата(НомерТекущегоГода, 1, 1), Дата(НомерТекущегоГода, 12, 31)));
Пояснение = "";
Для Каждого ОписаниеПериода Из Периоды Цикл
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Даты, ОписаниеПериода.Даты);
Пояснение = Пояснение + ?(Не ПустаяСтрока(Пояснение), Символы.ПС, "") + ОписаниеПериода.Представление;
КонецЦикла;
Элементы.НерабочиеПериодыТекст.Заголовок = Пояснение;
КонецЕсли;
НерабочиеДаты = Новый ФиксированныйМассив(Даты);
Элементы.НерабочиеПериодыГруппа.Видимость = НерабочиеДаты.Количество() > 0;
КонецПроцедуры
#КонецОбласти
@@ -49,10 +49,15 @@
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Производственный календарь «%1» на %2 год'"),
ПараметрыПечати.ПроизводственныйКалендарь,
Формат(ПараметрыПечати.НомерГода, "ЧГ=;"));
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
МодульУправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ПроизводственныйКалендарь", НСтр("ru = 'Производственный календарь'"),
"ПроизводственныйКалендарь",
Заголовок,
ПечатнаяФормаПроизводственногоКалендаря(ПараметрыПечати),
,
"Справочник.ПроизводственныеКалендари.ПФ_MXL_ПроизводственныйКалендарь");
@@ -125,7 +130,10 @@
| РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
|ГДЕ
| ДанныеПроизводственногоКалендаря.Год = &ТекущийГод
| И ДанныеПроизводственногоКалендаря.ПроизводственныйКалендарь = &ПроизводственныйКалендарь";
| И ДанныеПроизводственногоКалендаря.ПроизводственныйКалендарь = &ПроизводственныйКалендарь
|
|УПОРЯДОЧИТЬ ПО
| Дата";
Возврат Запрос.Выполнить().Выгрузить();
@@ -138,7 +146,7 @@
// Обновляет справочник Производственные календари из XML файла.
//
// Параметры:
// - ТаблицаКалендарей - таблица значений с описанием производственных календарей.
// ТаблицаКалендарей - ТаблицаЗначений - таблица с описанием производственных календарей.
//
Процедура ОбновитьПроизводственныеКалендари(ТаблицаКалендарей) Экспорт
@@ -1058,9 +1066,21 @@
ТабличныйДокумент.Вывести(ЗаголовокПечати);
// Начальные значения, независимо от результата выполнения запроса.
РабочееВремя40Год = 0;
РабочееВремя36Год = 0;
РабочееВремя24Год = 0;
ЗаГод = ОписаниеГруппыПоказателей();
НерабочиеПериоды = КалендарныеГрафики.ПериодыНерабочихДней(
ПроизводственныйКалендарь, Новый СтандартныйПериод(Дата(НомерГода, 1, 1), Дата(НомерГода, 12, 31)));
НерабочиеДаты = Новый Массив;
Представление = "";
Для Каждого НерабочийПериод Из НерабочиеПериоды Цикл
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(НерабочиеДаты, НерабочийПериод.Даты);
Представление = Представление + ?(ПустаяСтрока(Представление), "", Символы.ПС) + НерабочийПериод.Представление;
КонецЦикла;
Если НерабочиеПериоды.Количество() > 0 Тогда
ОбластьПредупреждения = Макет.ПолучитьОбласть("НерабочиеПериоды");
ОбластьПредупреждения.Параметры.Представление = Представление;
ТабличныйДокумент.Вывести(ОбластьПредупреждения);
КонецЕсли;
ВидыНерабочихДней = Новый Массив;
ВидыНерабочихДней.Добавить(Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота);
@@ -1071,12 +1091,18 @@
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Год", НомерГода);
Запрос.УстановитьПараметр("ПроизводственныйКалендарь", ПроизводственныйКалендарь);
Запрос.УстановитьПараметр("НерабочиеДаты", НерабочиеДаты);
Запрос.Текст =
"ВЫБРАТЬ
| ГОД(ДанныеКалендаря.Дата) КАК ГодКалендаря,
| КВАРТАЛ(ДанныеКалендаря.Дата) КАК КварталКалендаря,
| МЕСЯЦ(ДанныеКалендаря.Дата) КАК МесяцКалендаря,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ДанныеКалендаря.Дата) КАК КалендарныеДни,
| СУММА(ВЫБОР
| КОГДА ДанныеКалендаря.Дата В (&НерабочиеДаты)
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ) КАК ДниНерабочихПериодов,
| ДанныеКалендаря.ВидДня КАК ВидДня
|ИЗ
| РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеКалендаря
@@ -1102,150 +1128,89 @@
ВыборкаПоГоду = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоГоду.Следующий() Цикл
ВыборкаПоКварталу = ВыборкаПоГоду.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоКварталу.Следующий() Цикл
НомерКвартала = Макет.ПолучитьОбласть("Квартал");
НомерКвартала.Параметры.НомерКвартала = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 квартал'"), ВыборкаПоКварталу.КварталКалендаря);
ТабличныйДокумент.Вывести(НомерКвартала);
ШапкаКвартала = Макет.ПолучитьОбласть("ШапкаКвартала");
ТабличныйДокумент.Вывести(ШапкаКвартала);
КалендарныеДниКв = 0;
РабочееВремя40Кв = 0;
РабочееВремя36Кв = 0;
РабочееВремя24Кв = 0;
РабочиеДниКв = 0;
ВыходныеДниКв = 0;
ЗаКвартал = ОписаниеГруппыПоказателей();
Если ВыборкаПоКварталу.КварталКалендаря = 1
Или ВыборкаПоКварталу.КварталКалендаря = 3 Тогда
КалендарныеДниПолугодие1 = 0;
РабочееВремя40Полугодие1 = 0;
РабочееВремя36Полугодие1 = 0;
РабочееВремя24Полугодие1 = 0;
РабочиеДниПолугодие1 = 0;
ВыходныеДниПолугодие1 = 0;
ЗаПолугодие = ОписаниеГруппыПоказателей();
КонецЕсли;
Если ВыборкаПоКварталу.КварталКалендаря = 1 Тогда
КалендарныеДниГод = 0;
РабочееВремя40Год = 0;
РабочееВремя36Год = 0;
РабочееВремя24Год = 0;
РабочиеДниГод = 0;
ВыходныеДниГод = 0;
ЗаГод = ОписаниеГруппыПоказателей();
КонецЕсли;
ВыборкаПоМесяцу = ВыборкаПоКварталу.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоМесяцу.Следующий() Цикл
ВыходныеДни = 0;
РабочееВремя40 = 0;
РабочееВремя36 = 0;
РабочееВремя24 = 0;
КалендарныеДни = 0;
РабочиеДни = 0;
ЗаМесяц = ОписаниеГруппыПоказателей();
ВыборкаПоВидуДня = ВыборкаПоМесяцу.Выбрать(ОбходРезультатаЗапроса.Прямой);
Пока ВыборкаПоВидуДня.Следующий() Цикл
Если ВидыНерабочихДней.Найти(ВыборкаПоВидуДня.ВидДня) <> Неопределено Тогда
ВыходныеДни = ВыходныеДни + ВыборкаПоВидуДня.КалендарныеДни
НакопитьЗначение(ЗаМесяц.Основной.ВыходныеДни, ВыборкаПоВидуДня.КалендарныеДни);
НакопитьЗначение(ЗаМесяц.Нерабочий.ВыходныеДни, ВыборкаПоВидуДня.ДниНерабочихПериодов);
ИначеЕсли ВыборкаПоВидуДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий Тогда
РабочееВремя40 = РабочееВремя40 + ВыборкаПоВидуДня.КалендарныеДни * 8;
РабочееВремя36 = РабочееВремя36 + ВыборкаПоВидуДня.КалендарныеДни * 36 / 5;
РабочееВремя24 = РабочееВремя24 + ВыборкаПоВидуДня.КалендарныеДни * 24 / 5;
РабочиеДни = РабочиеДни + ВыборкаПоВидуДня.КалендарныеДни;
НакопитьЗначение(ЗаМесяц.Основной.РабочееВремя40, ВыборкаПоВидуДня.КалендарныеДни * 8);
НакопитьЗначение(ЗаМесяц.Основной.РабочееВремя36, ВыборкаПоВидуДня.КалендарныеДни * 36 / 5);
НакопитьЗначение(ЗаМесяц.Основной.РабочееВремя24, ВыборкаПоВидуДня.КалендарныеДни * 24 / 5);
НакопитьЗначение(ЗаМесяц.Основной.РабочиеДни, ВыборкаПоВидуДня.КалендарныеДни);
НакопитьЗначение(ЗаМесяц.Нерабочий.РабочееВремя40, ВыборкаПоВидуДня.ДниНерабочихПериодов * 8);
НакопитьЗначение(ЗаМесяц.Нерабочий.РабочееВремя36, ВыборкаПоВидуДня.ДниНерабочихПериодов * 36 / 5);
НакопитьЗначение(ЗаМесяц.Нерабочий.РабочееВремя24, ВыборкаПоВидуДня.ДниНерабочихПериодов * 24 / 5);
НакопитьЗначение(ЗаМесяц.Нерабочий.РабочиеДни, ВыборкаПоВидуДня.ДниНерабочихПериодов);
ИначеЕсли ВыборкаПоВидуДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный Тогда
РабочееВремя40 = РабочееВремя40 + ВыборкаПоВидуДня.КалендарныеДни * 7;
РабочееВремя36 = РабочееВремя36 + ВыборкаПоВидуДня.КалендарныеДни * (36 / 5 - 1);
РабочееВремя24 = РабочееВремя24 + ВыборкаПоВидуДня.КалендарныеДни * (24 / 5 - 1);
РабочиеДни = РабочиеДни + ВыборкаПоВидуДня.КалендарныеДни;
НакопитьЗначение(ЗаМесяц.Основной.РабочееВремя40, ВыборкаПоВидуДня.КалендарныеДни * 7);
НакопитьЗначение(ЗаМесяц.Основной.РабочееВремя36, ВыборкаПоВидуДня.КалендарныеДни * (36 / 5 - 1));
НакопитьЗначение(ЗаМесяц.Основной.РабочееВремя24, ВыборкаПоВидуДня.КалендарныеДни * (24 / 5 - 1));
НакопитьЗначение(ЗаМесяц.Основной.РабочиеДни, ВыборкаПоВидуДня.КалендарныеДни);
НакопитьЗначение(ЗаМесяц.Нерабочий.РабочееВремя40, ВыборкаПоВидуДня.ДниНерабочихПериодов * 7);
НакопитьЗначение(ЗаМесяц.Нерабочий.РабочееВремя36, ВыборкаПоВидуДня.ДниНерабочихПериодов * (36 / 5 - 1));
НакопитьЗначение(ЗаМесяц.Нерабочий.РабочееВремя24, ВыборкаПоВидуДня.ДниНерабочихПериодов * (24 / 5 - 1));
НакопитьЗначение(ЗаМесяц.Нерабочий.РабочиеДни, ВыборкаПоВидуДня.ДниНерабочихПериодов);
КонецЕсли;
КалендарныеДни = КалендарныеДни + ВыборкаПоВидуДня.КалендарныеДни;
НакопитьЗначение(ЗаМесяц.Основной.КалендарныеДни, ВыборкаПоВидуДня.КалендарныеДни);
НакопитьЗначение(ЗаМесяц.Нерабочий.ВыходныеДни, - ВыборкаПоВидуДня.ДниНерабочихПериодов);
КонецЦикла;
КалендарныеДниКв = КалендарныеДниКв + КалендарныеДни;
РабочееВремя40Кв = РабочееВремя40Кв + РабочееВремя40;
РабочееВремя36Кв = РабочееВремя36Кв + РабочееВремя36;
РабочееВремя24Кв = РабочееВремя24Кв + РабочееВремя24;
РабочиеДниКв = РабочиеДниКв + РабочиеДни;
ВыходныеДниКв = ВыходныеДниКв + ВыходныеДни;
КалендарныеДниПолугодие1 = КалендарныеДниПолугодие1 + КалендарныеДни;
РабочееВремя40Полугодие1 = РабочееВремя40Полугодие1 + РабочееВремя40;
РабочееВремя36Полугодие1 = РабочееВремя36Полугодие1 + РабочееВремя36;
РабочееВремя24Полугодие1 = РабочееВремя24Полугодие1 + РабочееВремя24;
РабочиеДниПолугодие1 = РабочиеДниПолугодие1 + РабочиеДни;
ВыходныеДниПолугодие1 = ВыходныеДниПолугодие1 + ВыходныеДни;
КалендарныеДниГод = КалендарныеДниГод + КалендарныеДни;
РабочееВремя40Год = РабочееВремя40Год + РабочееВремя40;
РабочееВремя36Год = РабочееВремя36Год + РабочееВремя36;
РабочееВремя24Год = РабочееВремя24Год + РабочееВремя24;
РабочиеДниГод = РабочиеДниГод + РабочиеДни;
ВыходныеДниГод = ВыходныеДниГод + ВыходныеДни;
НакопитьКолонку(ЗаКвартал, ЗаМесяц);
НакопитьКолонку(ЗаПолугодие, ЗаМесяц);
НакопитьКолонку(ЗаГод, ЗаМесяц);
КолонкаМесяца = Макет.ПолучитьОбласть("КолонкаМесяца");
КолонкаМесяца.Параметры.ВыходныеДни = ВыходныеДни;
КолонкаМесяца.Параметры.РабочееВремя40 = РабочееВремя40;
КолонкаМесяца.Параметры.РабочееВремя36 = РабочееВремя36;
КолонкаМесяца.Параметры.РабочееВремя24 = РабочееВремя24;
КолонкаМесяца.Параметры.КалендарныеДни = КалендарныеДни;
КолонкаМесяца.Параметры.РабочиеДни = РабочиеДни;
КолонкаМесяца.Параметры.ИмяМесяца = Формат(Дата(НомерГода, ВыборкаПоМесяцу.МесяцКалендаря, 1), "ДФ='ММММ'");
ЗаполнитьПараметрыОбласти(КолонкаМесяца.Параметры, ЗаМесяц);
КолонкаМесяца.Параметры.ИмяМесяца = Формат(Дата(НомерГода, ВыборкаПоМесяцу.МесяцКалендаря, 1), "ДФ='ММММ'"); // АПК:1367
ТабличныйДокумент.Присоединить(КолонкаМесяца);
КонецЦикла;
КолонкаМесяца = Макет.ПолучитьОбласть("КолонкаМесяца");
КолонкаМесяца.Параметры.ВыходныеДни = ВыходныеДниКв;
КолонкаМесяца.Параметры.РабочееВремя40 = РабочееВремя40Кв;
КолонкаМесяца.Параметры.РабочееВремя36 = РабочееВремя36Кв;
КолонкаМесяца.Параметры.РабочееВремя24 = РабочееВремя24Кв;
КолонкаМесяца.Параметры.КалендарныеДни = КалендарныеДниКв;
КолонкаМесяца.Параметры.РабочиеДни = РабочиеДниКв;
КолонкаМесяца.Параметры.ИмяМесяца = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 квартал'"), ВыборкаПоКварталу.КварталКалендаря);
ЗаполнитьПараметрыОбласти(КолонкаМесяца.Параметры, ЗаКвартал);
КолонкаМесяца.Параметры.ИмяМесяца = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 квартал'"), ВыборкаПоКварталу.КварталКалендаря);
ТабличныйДокумент.Присоединить(КолонкаМесяца);
Если ВыборкаПоКварталу.КварталКалендаря = 2
Или ВыборкаПоКварталу.КварталКалендаря = 4 Тогда
КолонкаМесяца = Макет.ПолучитьОбласть("КолонкаМесяца");
КолонкаМесяца.Параметры.ВыходныеДни = ВыходныеДниПолугодие1;
КолонкаМесяца.Параметры.РабочееВремя40 = РабочееВремя40Полугодие1;
КолонкаМесяца.Параметры.РабочееВремя36 = РабочееВремя36Полугодие1;
КолонкаМесяца.Параметры.РабочееВремя24 = РабочееВремя24Полугодие1;
КолонкаМесяца.Параметры.КалендарныеДни = КалендарныеДниПолугодие1;
КолонкаМесяца.Параметры.РабочиеДни = РабочиеДниПолугодие1;
КолонкаМесяца.Параметры.ИмяМесяца = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 полугодие'"), ВыборкаПоКварталу.КварталКалендаря / 2);
ЗаполнитьПараметрыОбласти(КолонкаМесяца.Параметры, ЗаПолугодие);
КолонкаМесяца.Параметры.ИмяМесяца = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 полугодие'"), ВыборкаПоКварталу.КварталКалендаря / 2);
ТабличныйДокумент.Присоединить(КолонкаМесяца);
КонецЕсли;
КонецЦикла;
КолонкаМесяца = Макет.ПолучитьОбласть("КолонкаМесяца");
КолонкаМесяца.Параметры.ВыходныеДни = ВыходныеДниГод;
КолонкаМесяца.Параметры.РабочееВремя40 = РабочееВремя40Год;
КолонкаМесяца.Параметры.РабочееВремя36 = РабочееВремя36Год;
КолонкаМесяца.Параметры.РабочееВремя24 = РабочееВремя24Год;
КолонкаМесяца.Параметры.КалендарныеДни = КалендарныеДниГод;
КолонкаМесяца.Параметры.РабочиеДни = РабочиеДниГод;
КолонкаМесяца.Параметры.ИмяМесяца = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 год'"), Формат(ВыборкаПоГоду.ГодКалендаря, "ЧГ="));
ЗаполнитьПараметрыОбласти(КолонкаМесяца.Параметры, ЗаГод);
КолонкаМесяца.Параметры.ИмяМесяца = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 год'"), Формат(ВыборкаПоГоду.ГодКалендаря, "ЧГ="));
ТабличныйДокумент.Присоединить(КолонкаМесяца);
КонецЦикла;
КолонкаМесяца = Макет.ПолучитьОбласть("Среднемесячный");
КолонкаМесяца.Параметры.РабочееВремя40 = РабочееВремя40Год;
КолонкаМесяца.Параметры.РабочееВремя36 = РабочееВремя36Год;
КолонкаМесяца.Параметры.РабочееВремя24 = РабочееВремя24Год;
ЗаполнитьПараметрыОбласти(КолонкаМесяца.Параметры, ЗаГод);
КолонкаМесяца.Параметры.ИмяМесяца = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 год'"), Формат(НомерГода, "ЧГ="));
ТабличныйДокумент.Вывести(КолонкаМесяца);
КолонкаМесяца = Макет.ПолучитьОбласть("КолонкаМесяцаСр");
КолонкаМесяца.Параметры.РабочееВремя40 = Формат(РабочееВремя40Год / 12, "ЧДЦ=2; ЧГ=0");
КолонкаМесяца.Параметры.РабочееВремя36 = Формат(РабочееВремя36Год / 12, "ЧДЦ=2; ЧГ=0");
КолонкаМесяца.Параметры.РабочееВремя24 = Формат(РабочееВремя24Год / 12, "ЧДЦ=2; ЧГ=0");
КолонкаМесяца.Параметры.РабочееВремя40 = Формат(ЗаГод.Основной.РабочееВремя40 / 12, "ЧДЦ=2; ЧГ=0");
КолонкаМесяца.Параметры.РабочееВремя36 = Формат(ЗаГод.Основной.РабочееВремя36 / 12, "ЧДЦ=2; ЧГ=0");
КолонкаМесяца.Параметры.РабочееВремя24 = Формат(ЗаГод.Основной.РабочееВремя24 / 12, "ЧДЦ=2; ЧГ=0");
КолонкаМесяца.Параметры.ИмяМесяца = НСтр("ru = 'Среднемесячное количество'");
ТабличныйДокумент.Присоединить(КолонкаМесяца);
@@ -1253,6 +1218,90 @@
КонецФункции
Функция ОписаниеГруппыПоказателей()
Описание = Новый Структура("Основной, Нерабочий");
Описание.Основной = ОписаниеКолонки();
Описание.Нерабочий = ОписаниеКолонки();
Возврат Описание;
КонецФункции
Функция ОписаниеКолонки()
Описание = Новый Структура(
"КалендарныеДни,
|РабочиеДни,
|ВыходныеДни,
|РабочееВремя40,
|РабочееВремя36,
|РабочееВремя24");
Описание.КалендарныеДни = 0;
Описание.РабочиеДни = 0;
Описание.ВыходныеДни = 0;
Описание.РабочееВремя40 = 0;
Описание.РабочееВремя36 = 0;
Описание.РабочееВремя24 = 0;
Возврат Описание;
КонецФункции
Процедура НакопитьКолонку(Колонка1, Колонка2)
Для Каждого Группы Из Колонка1 Цикл
Для Каждого Показатели Из Группы.Значение Цикл
Колонка1[Группы.Ключ][Показатели.Ключ] = Колонка1[Группы.Ключ][Показатели.Ключ] + Колонка2[Группы.Ключ][Показатели.Ключ];
КонецЦикла
КонецЦикла;
КонецПроцедуры
Процедура НакопитьЗначение(Накопленное, Значение)
Накопленное = Накопленное + Значение;
КонецПроцедуры
Процедура ЗаполнитьПараметрыОбласти(Параметры, ГруппаПоказателей)
Параметры.Заполнить(ГруппаПоказателей.Основной);
Показатели = Новый Массив;
Показатели.Добавить("КалендарныеДни");
Показатели.Добавить("РабочиеДни");
Показатели.Добавить("ВыходныеДни");
Показатели.Добавить("РабочееВремя40");
Показатели.Добавить("РабочееВремя36");
Показатели.Добавить("РабочееВремя24");
ЗначенияПараметров = Новый Структура;
Для Каждого Показатель Из Показатели Цикл
Если ЗначениеЗаполнено(ГруппаПоказателей.Нерабочий[Показатель]) Тогда
ЗначенияПараметров.Вставить(Показатель,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
"%1 (%2)",
ГруппаПоказателей.Основной[Показатель],
ГруппаПоказателей.Основной[Показатель] - ГруппаПоказателей.Нерабочий[Показатель]));
КонецЕсли;
КонецЦикла;
Если ЗначенияПараметров.Количество() > 0 Тогда
Параметры.Заполнить(ЗначенияПараметров);
КонецЕсли;
КонецПроцедуры
Функция БазовыйКалендарь(ПроизводственныйКалендарь) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ПроизводственныйКалендарь", ПроизводственныйКалендарь);
Запрос.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(Базовый.Ссылка, Текущий.Ссылка) КАК Ссылка,
| ЕСТЬNULL(Базовый.Код, Текущий.Код) КАК Код,
| ЕСТЬNULL(Базовый.Наименование, Текущий.Наименование) КАК Наименование
|ИЗ
| Справочник.ПроизводственныеКалендари КАК Текущий
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПроизводственныеКалендари КАК Базовый
| ПО Текущий.БазовыйКалендарь = Базовый.Ссылка
|ГДЕ
| Текущий.Ссылка = &ПроизводственныйКалендарь";
Возврат ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(Запрос.Выполнить().Выгрузить()[0]);
КонецФункции
#КонецОбласти
#КонецЕсли
@@ -30,17 +30,39 @@
</column>
</columnsItem>
</columns>
<columns>
<id>2b524b55-0236-48d5-8939-3f2baa1be962</id>
<size>3</size>
<columnsItem>
<index>0</index>
<column>
<formatIndex>1</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>1</index>
<column>
<formatIndex>4</formatIndex>
</column>
</columnsItem>
<columnsItem>
<index>2</index>
<column>
<formatIndex>5</formatIndex>
</column>
</columnsItem>
</columns>
<rowsItem>
<index>0</index>
<row>
<c>
<c>
<f>4</f>
<f>6</f>
</c>
</c>
<c>
<c>
<f>5</f>
<f>7</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -51,7 +73,7 @@
</c>
<c>
<c>
<f>6</f>
<f>8</f>
<parameter>ИмяМесяца</parameter>
</c>
</c>
@@ -62,12 +84,12 @@
<row>
<c>
<c>
<f>7</f>
<f>9</f>
</c>
</c>
<c>
<c>
<f>8</f>
<f>10</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -78,7 +100,7 @@
</c>
<c>
<c>
<f>9</f>
<f>11</f>
<parameter>КалендарныеДни</parameter>
</c>
</c>
@@ -89,12 +111,12 @@
<row>
<c>
<c>
<f>7</f>
<f>9</f>
</c>
</c>
<c>
<c>
<f>8</f>
<f>10</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -105,7 +127,7 @@
</c>
<c>
<c>
<f>9</f>
<f>11</f>
<parameter>РабочиеДни</parameter>
</c>
</c>
@@ -116,12 +138,12 @@
<row>
<c>
<c>
<f>7</f>
<f>9</f>
</c>
</c>
<c>
<c>
<f>8</f>
<f>10</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -132,7 +154,7 @@
</c>
<c>
<c>
<f>9</f>
<f>11</f>
<parameter>ВыходныеДни</parameter>
</c>
</c>
@@ -143,12 +165,12 @@
<row>
<c>
<c>
<f>7</f>
<f>9</f>
</c>
</c>
<c>
<c>
<f>8</f>
<f>10</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -160,7 +182,7 @@
</c>
<c>
<c>
<f>9</f>
<f>11</f>
<parameter>РабочееВремя40</parameter>
</c>
</c>
@@ -171,12 +193,12 @@
<row>
<c>
<c>
<f>7</f>
<f>9</f>
</c>
</c>
<c>
<c>
<f>8</f>
<f>10</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -187,7 +209,7 @@
</c>
<c>
<c>
<f>9</f>
<f>11</f>
<parameter>РабочееВремя36</parameter>
</c>
</c>
@@ -198,12 +220,12 @@
<row>
<c>
<c>
<f>4</f>
<f>6</f>
</c>
</c>
<c>
<c>
<f>10</f>
<f>12</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -214,7 +236,7 @@
</c>
<c>
<c>
<f>11</f>
<f>13</f>
<parameter>РабочееВремя24</parameter>
</c>
</c>
@@ -229,15 +251,15 @@
<rowsItem>
<index>8</index>
<row>
<formatIndex>12</formatIndex>
<formatIndex>14</formatIndex>
<c>
<c>
<f>13</f>
<f>15</f>
</c>
</c>
<c>
<c>
<f>14</f>
<f>16</f>
<parameter>НомерКвартала</parameter>
</c>
</c>
@@ -252,11 +274,11 @@
<rowsItem>
<index>10</index>
<row>
<formatIndex>15</formatIndex>
<formatIndex>17</formatIndex>
<c>
<i>1</i>
<c>
<f>16</f>
<f>18</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -279,7 +301,7 @@
<c>
<i>1</i>
<c>
<f>13</f>
<f>15</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -296,7 +318,7 @@
<c>
<i>1</i>
<c>
<f>17</f>
<f>19</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -307,7 +329,7 @@
</c>
<c>
<c>
<f>18</f>
<f>20</f>
<parameter>ИмяМесяца</parameter>
</c>
</c>
@@ -319,7 +341,7 @@
<c>
<i>1</i>
<c>
<f>19</f>
<f>21</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -331,7 +353,7 @@
</c>
<c>
<c>
<f>20</f>
<f>22</f>
<parameter>РабочееВремя40</parameter>
</c>
</c>
@@ -343,7 +365,7 @@
<c>
<i>1</i>
<c>
<f>21</f>
<f>23</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -354,7 +376,7 @@
</c>
<c>
<c>
<f>22</f>
<f>24</f>
<parameter>РабочееВремя36</parameter>
</c>
</c>
@@ -366,7 +388,7 @@
<c>
<i>1</i>
<c>
<f>23</f>
<f>25</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
@@ -377,16 +399,79 @@
</c>
<c>
<c>
<f>24</f>
<f>26</f>
<parameter>РабочееВремя24</parameter>
</c>
</c>
</row>
</rowsItem>
<rowsItem>
<index>17</index>
<indexTo>18</indexTo>
<row>
<empty>true</empty>
</row>
</rowsItem>
<rowsItem>
<index>19</index>
<row>
<columnsID>2b524b55-0236-48d5-8939-3f2baa1be962</columnsID>
<formatIndex>27</formatIndex>
<c>
<i>1</i>
<c>
<f>28</f>
<tl>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Нерабочие периоды</v8:content>
</v8:item>
</tl>
</c>
</c>
</row>
</rowsItem>
<rowsItem>
<index>20</index>
<row>
<columnsID>2b524b55-0236-48d5-8939-3f2baa1be962</columnsID>
<formatIndex>29</formatIndex>
<c>
<i>1</i>
<c>
<f>0</f>
<tl/>
</c>
</c>
<c>
<c>
<f>30</f>
<parameter>Представление</parameter>
</c>
</c>
</row>
</rowsItem>
<drawing>
<drawingType>Picture</drawingType>
<id>2</id>
<formatIndex>31</formatIndex>
<beginRow>20</beginRow>
<beginRowOffset>6</beginRowOffset>
<endRow>20</endRow>
<endRowOffset>70</endRowOffset>
<beginColumn>1</beginColumn>
<beginColumnOffset>24</beginColumnOffset>
<endColumn>1</endColumn>
<endColumnOffset>88</endColumnOffset>
<autoSize>false</autoSize>
<pictureSize>Stretch</pictureSize>
<zOrder>1</zOrder>
<pictureIndex>1</pictureIndex>
</drawing>
<templateMode>true</templateMode>
<defaultFormatIndex>25</defaultFormatIndex>
<height>17</height>
<vgRows>17</vgRows>
<defaultFormatIndex>32</defaultFormatIndex>
<height>21</height>
<vgRows>21</vgRows>
<namedItem xsi:type="NamedItemCells">
<name>Заголовок</name>
<area>
@@ -427,6 +512,17 @@
<endColumn>2</endColumn>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
<name>НерабочиеПериоды</name>
<area>
<type>Rows</type>
<beginRow>19</beginRow>
<endRow>20</endRow>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
<columnsID>2b524b55-0236-48d5-8939-3f2baa1be962</columnsID>
</area>
</namedItem>
<namedItem xsi:type="NamedItemCells">
<name>Среднемесячный</name>
<area>
@@ -447,14 +543,26 @@
<endColumn>1</endColumn>
</area>
</namedItem>
<printArea>
<type>Rows</type>
<beginRow>20</beginRow>
<endRow>21</endRow>
<beginColumn>-1</beginColumn>
<endColumn>-1</endColumn>
</printArea>
<line width="1" gap="false">
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">None</v8ui:style>
</line>
<line width="1" gap="false">
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">Solid</v8ui:style>
</line>
<line width="1" gap="false">
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentDrawingLineType">None</v8ui:style>
</line>
<font faceName="Arial" height="8" bold="true" italic="false" underline="false" strikeout="false" kind="Absolute" scale="100"/>
<font faceName="Arial" height="10" bold="true" italic="false" underline="false" strikeout="false" kind="Absolute" scale="100"/>
<font ref="style:TextFont" faceName="Arial" bold="true" italic="false" underline="false" strikeout="false" kind="StyleItem"/>
<font faceName="Arial" height="8" bold="false" italic="false" underline="false" strikeout="false" kind="Absolute" scale="100"/>
<format>
<width>19</width>
</format>
@@ -462,7 +570,13 @@
<width>215</width>
</format>
<format>
<width>87</width>
<width>95</width>
</format>
<format>
<width>41</width>
</format>
<format>
<width>269</width>
</format>
<format>
<border>0</border>
@@ -578,7 +692,30 @@
<horizontalAlignment>Center</horizontalAlignment>
<fillType>Parameter</fillType>
</format>
<format>
<height>84</height>
</format>
<format>
<font>2</font>
<height>84</height>
<width>41</width>
</format>
<format>
<height>96</height>
</format>
<format>
<font>3</font>
<verticalAlignment>Top</verticalAlignment>
<fillType>Parameter</fillType>
</format>
<format>
<drawingBorder>2</drawingBorder>
</format>
<format>
<width>72</width>
</format>
<picture>
<index>0</index>
<picture ref="v8ui:Предупреждение32"/>
</picture>
</document>
@@ -1349,7 +1349,8 @@
Если Не РезультатПроверки Тогда
ЭлементКартинка.Картинка = ?(ЭтоОшибка,
БиблиотекаКартинок.КрасныйШар, БиблиотекаКартинок.ЖелтыйШар);
БиблиотекаКартинок.ПроверкаСертификатаОшибка,
БиблиотекаКартинок.ПроверкаСертификатаПредупреждение);
ЭлементКартинка.Подсказка = ОписаниеОшибки;
ЭлементНадпись.Гиперссылка = Истина;
@@ -1378,7 +1379,7 @@
И ЗначениеПроверкиВторогоКонтекста = Неопределено Тогда
ЭлементРешение.Видимость = Ложь;
ЭлементКартинка.Картинка = БиблиотекаКартинок.СерыйШар;
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаНеВыполнялась;
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка не выполнялась.'");
ЭлементНадпись.Гиперссылка = Ложь;
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
@@ -1397,7 +1398,7 @@
И ЗначениеПроверкиВторогоКонтекста = Неопределено Тогда
ЭлементРешение.Видимость = Ложь;
ЭлементКартинка.Картинка = БиблиотекаКартинок.ЗеленыйШар;
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаУспех;
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка выполнена успешно.'");
ЭлементНадпись.Гиперссылка = Ложь;
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
@@ -1412,7 +1413,7 @@
Если РезультатПроверки Тогда
ЭлементРешение.Видимость = Ложь;
ЭлементКартинка.Картинка = БиблиотекаКартинок.ЗеленыйШар;
ЭлементКартинка.Картинка = БиблиотекаКартинок.ПроверкаСертификатаУспех;
ЭлементКартинка.Подсказка = НСтр("ru = 'Проверка выполнена успешно.'");
ЭлементНадпись.Гиперссылка = Ложь;
ЭлементНадпись.Заголовок = ЗаголовокЭлемента(
@@ -1425,7 +1426,8 @@
Иначе
ЭлементКартинка.Картинка = ?(ОписаниеОшибки = Неопределено,
БиблиотекаКартинок.СерыйШар, БиблиотекаКартинок.ЗеленыйШар);
БиблиотекаКартинок.ПроверкаСертификатаНеВыполнялась,
БиблиотекаКартинок.ПроверкаСертификатаУспех);
ЭлементКартинка.Подсказка = ?(ОписаниеОшибки = Неопределено,
НСтр("ru = 'Проверка не выполнялась.'"),
НСтр("ru = 'Проверка выполнена успешно.'"));
@@ -464,6 +464,12 @@
КонецФункции
Функция ИмяПроцедурыУстановкиПризнакаУчитыватьНерабочиеДни() Экспорт
Возврат "Справочники.Календари.ОбработатьДанныеДляПереходаНаНовуюВерсию";
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Обработчики событий подсистем конфигурации.
@@ -482,7 +488,7 @@
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.1.2.78";
Обработчик.Процедура = "РегистрыСведений.КалендарныеГрафики.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.ОчередьОтложеннойОбработки = 2;
Обработчик.ОчередьОтложеннойОбработки = 3;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыСведений.КалендарныеГрафики.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.ЗапускатьИВПодчиненномУзлеРИБСФильтрами = Истина;
@@ -497,6 +503,24 @@
Приоритет.Процедура = "КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей";
Приоритет.Порядок = "После";
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.1.2.341";
Обработчик.Процедура = "Справочники.Календари.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.ОчередьОтложеннойОбработки = 1;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Справочники.Календари.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.ЗапускатьИВПодчиненномУзлеРИБСФильтрами = Истина;
Обработчик.ЧитаемыеОбъекты = "Справочник.Календари";
Обработчик.ИзменяемыеОбъекты = "Справочник.Календари";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("fe8c3f3a-8973-4538-a993-ba74fa9162d8");
Обработчик.Комментарий = НСтр("ru = 'Установка нового признака «Учитывать нерабочие периоды» в положение по умолчанию.'");
Обработчик.БлокируемыеОбъекты = "Справочник.Календари";
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей";
Приоритет.Порядок = "До";
КонецПроцедуры
// Параметры:
@@ -206,7 +206,8 @@
|ВЫБРАТЬ
| ДАТАВРЕМЯ(%1)";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОбъединения, Формат(ДатаГрафика, "ДФ='гггг, ММ, д'"));
ТекстЗапроса = ТекстЗапроса + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонОбъединения, Формат(ДатаГрафика, "ДФ='гггг, ММ, д'")); // АПК:1367 Форматирование даты в технических целях, не отображается пользователю
КонецЦикла;
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
@@ -531,11 +532,43 @@
КонецФункции
// Готовит описание особых нерабочих периодов, установленных, например, законодательно.
// Такие периоды могут учитываться графиками, переопределяя заполнение по данным производственного календаря.
//
// Параметры:
// ПроизводственныйКалендарь - СправочникСсылка.ПроизводственныеКалендари - календарь, который является источником.
// ПериодОтбор - СтандартныйПериод - временной интервал, в пределах которого нужно определить нерабочие периоды.
// Возвращаемое значение:
// Массив - массив элементов типа Структура с полями:
// * Период - СтандартныйПериод - нерабочий период.
// * Основание - Строка - нормативный акт, на основании которого установлен нерабочий период.
// * Даты - Массив Из Дата - даты, входящие в нерабочий период.
// * Представление - Строка - пользовательское представление периода.
//
Функция ПериодыНерабочихДней(ПроизводственныйКалендарь, ПериодОтбор) Экспорт
Периоды = Новый Массив;
Если Метаданные.Обработки.Найти("ЗаполнениеКалендарныхГрафиков") = Неопределено Тогда
Возврат Периоды;
КонецЕсли;
БазовыйКалендарь = Справочники.ПроизводственныеКалендари.БазовыйКалендарь(ПроизводственныйКалендарь);
МодульКалендарныеГрафики = ОбщегоНазначения.ОбщийМодуль("Обработки.ЗаполнениеКалендарныхГрафиков");
Периоды = МодульКалендарныеГрафики.ПериодыНерабочихДней(БазовыйКалендарь, ПериодОтбор);
УдалитьПериодыНеСоответствующиеОтбору(Периоды, ПериодОтбор);
Возврат Периоды;
КонецФункции
#Область ДляВызоваИзДругихПодсистем
// ИнтернетПоддержкаПользователей.РаботаСКлассификаторами
// Событие возникает при сборе информации о классификаторах, регистрируем производственные календари.
//
// Параметры:
// Классификаторы - см. РаботаСКлассификаторамиПереопределяемый.ПриДобавленииКлассификаторов.Классификаторы
//
@@ -553,7 +586,7 @@
КонецЕсли;
Описатель.Идентификатор = ИдентификаторКлассификатора();
Описатель.Наименование = НСтр("ru = 'Производственные календари'");
Описатель.Наименование = НСтр("ru = 'Календари'");
Описатель.ОбновлятьАвтоматически = Истина;
Описатель.ОбщиеДанные = Истина;
Описатель.ОбработкаРазделенныхДанных = Истина;
@@ -675,7 +708,7 @@
// Строка - идентификатор классификатора.
//
Функция ИдентификаторКлассификатора() Экспорт
Возврат "Calendars";
Возврат "Calendars20";
КонецФункции
// Определяет версию данных календарей, встроенных в конфигурацию.
@@ -1252,7 +1285,7 @@
Обработчик = Обработчики.Добавить();
Обработчик.Версия = ВерсияОбновленияДанныхПроизводственныхКалендарей();
Обработчик.Процедура = "КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей";
Обработчик.ОчередьОтложеннойОбработки = 1;
Обработчик.ОчередьОтложеннойОбработки = 2;
Обработчик.ПроцедураЗаполненияДанныхОбновления = "КалендарныеГрафики.ЗаполнитьДанныеОбновленияДанныхЗависимыхОтПроизводственныхКалендарей";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.ЗапускатьИВПодчиненномУзлеРИБСФильтрами = Истина;
@@ -1268,8 +1301,26 @@
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = МодульГрафикиРаботы.ИмяПроцедурыОбновленияГрафиковРаботы();
Приоритет.Порядок = "До";
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = МодульГрафикиРаботы.ИмяПроцедурыУстановкиПризнакаУчитыватьНерабочиеДни();
Приоритет.Порядок = "После";
КонецЕсли;
КонецПроцедуры
Процедура УдалитьПериодыНеСоответствующиеОтбору(Периоды, ПериодОтбор)
Индекс = 0;
Пока Индекс < Периоды.Количество() Цикл
ОписаниеПериода = Периоды[Индекс];
Если ПериодОтбор.ДатаНачала > ОписаниеПериода.Период.ДатаОкончания
Или (ЗначениеЗаполнено(ПериодОтбор.ДатаОкончания) И ПериодОтбор.ДатаОкончания < ОписаниеПериода.Период.ДатаНачала) Тогда
Периоды.Удалить(Индекс);
Иначе
Индекс = Индекс + 1;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.2.335";
Описание.Версия = "3.1.2.343";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -1118,7 +1118,7 @@
Новый ОписаниеОповещения("ПроверитьПодписиПослеПроверкиСтроки", ЭтотОбъект, ДополнительныеПараметры),
ДополнительныеПараметры.Данные,
ДополнительныеПараметры.СтрокаПодписи.АдресПодписи,
ДополнительныеПараметры.МенеджерКриптографии,
Неопределено,
ДополнительныеПараметры.СтрокаПодписи.ДатаПодписи);
КонецПроцедуры
@@ -1377,24 +1377,6 @@
ВернутьРезультат(ОбработчикРезультата, Истина);
КонецПроцедуры
// Продолжение процедуры ПроверитьПодписи.
Процедура ПроверитьПодписиПослеСозданияМенеджераКриптографии(МенеджерКриптографии, ДополнительныеПараметры) Экспорт
Если ТипЗнч(МенеджерКриптографии) <> Тип("МенеджерКриптографии")
И МенеджерКриптографии <> "СервисКриптографии" Тогда
Возврат;
КонецЕсли;
Если МенеджерКриптографии = "СервисКриптографии" Тогда
МенеджерКриптографии = Неопределено;
КонецЕсли;
ДополнительныеПараметры.Вставить("Индекс", -1);
ДополнительныеПараметры.Вставить("МенеджерКриптографии", МенеджерКриптографии);
ПроверитьПодписиЦиклНачало(ДополнительныеПараметры);
КонецПроцедуры
// Продолжение процедуры ПроверитьПодписи.
Процедура ПроверитьПодписиПослеПодготовкиДанных(Данные, ДополнительныеПараметры)
@@ -1423,14 +1405,8 @@
ДополнительныеПараметры.Вставить("Данные", Данные);
ДополнительныеПараметры.Вставить("Коллекция", Коллекция);
ДополнительныеПараметры.Вставить("МодульЭлектроннаяПодписьКлиент", МодульЭлектроннаяПодписьКлиент);
Если ИспользоватьЭлектроннуюПодписьВМоделиСервиса Тогда
ПроверитьПодписиПослеСозданияМенеджераКриптографии("СервисКриптографии", ДополнительныеПараметры);
Иначе
МодульЭлектроннаяПодписьКлиент.СоздатьМенеджерКриптографии(
Новый ОписаниеОповещения("ПроверитьПодписиПослеСозданияМенеджераКриптографии",
ЭтотОбъект, ДополнительныеПараметры),
"ПроверкаПодписи");
КонецЕсли;
ДополнительныеПараметры.Вставить("Индекс", -1);
ПроверитьПодписиЦиклНачало(ДополнительныеПараметры);
Возврат;
КонецЕсли;
@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c98250c5-b389-4695-b6fa-ac9ea412c1d1">
<name>ЖелтыйШар</name>
<synonym>
<key>ru</key>
<value>Желтый шар</value>
</synonym>
</mdclass:CommonPicture>
@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d29d2f01-b391-435e-ae51-a68d72a61398">
<name>ЗеленыйШар</name>
<synonym>
<key>ru</key>
<value>Зеленый шар</value>
</synonym>
</mdclass:CommonPicture>
@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="97911176-0822-4e4c-9190-f73b9a22828a">
<name>КрасныйШар</name>
<synonym>
<key>ru</key>
<value>Красный шар</value>
</synonym>
</mdclass:CommonPicture>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6b5720a8-0bcc-4196-934d-84db9d99ec27">
<name>ПроверкаСертификатаНеВыполнялась</name>
<synonym>
<key>ru</key>
<value>Проверка сертификата не выполнялась</value>
</synonym>
</mdclass:CommonPicture>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c0b3e3e9-20bc-42e1-a68f-646a958586d1">
<name>ПроверкаСертификатаОшибка</name>
<synonym>
<key>ru</key>
<value>Проверка сертификата ошибка</value>
</synonym>
</mdclass:CommonPicture>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="39496918-7d71-4960-ad8b-0028ae659266">
<name>ПроверкаСертификатаПредупреждение</name>
<synonym>
<key>ru</key>
<value>Проверка сертификата предупреждение</value>
</synonym>
</mdclass:CommonPicture>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="bdf2fd35-2000-45c2-9df6-65031ee0e4af">
<name>ПроверкаСертификатаУспех</name>
<synonym>
<key>ru</key>
<value>Проверка сертификата успех</value>
</synonym>
</mdclass:CommonPicture>
@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonPicture xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1185a76c-23c8-41a2-87b0-6486e9572e6a">
<name>СерыйШар</name>
<synonym>
<key>ru</key>
<value>Серый шар</value>
</synonym>
</mdclass:CommonPicture>
+14 -13
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="4061b9f8-a87c-4e3a-b555-0713e86ae69d">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="21f3f9f0-5532-4455-8abf-ba36f21734ac">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="3574343b-8248-40c3-994f-ec2dadfe9762"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="dc04c921-717b-4c75-8cd0-fdc28e6743d1"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="bc16da6d-c15e-4141-b35a-6019fd671485"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="046cdbf1-508f-4fa1-bf87-c47f8bed9c64"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="47e530b9-540f-4cc9-ae0c-36b35ff88247"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="f38e18b4-f59f-49cc-a11c-32db17245b86"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="d18aef42-a373-433b-8ab2-a33ca3874b85"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c0160eeb-af88-4520-964a-56e2ed8328b6"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="808b92e1-044b-43fc-9a6f-a2df0007d280"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="9ede0d2b-386f-4bd6-97d0-93eb08374e7c"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="e652397e-8597-42a8-94e0-bf6bce6c24a0"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="ed11a736-2813-473e-a9cf-5999577be9d1"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="5c3a3128-c5a1-4c41-8cf8-6bd976fab73f"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="06925ae4-5f6a-4505-8dd1-601072c6b50b"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.2.335</version>
<version>3.1.2.343</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -100,6 +100,7 @@
<styleItems>StyleItem.МоиВариантыОтчетовЦвет</styleItems>
<styleItems>StyleItem.НепринятаяВерсия</styleItems>
<styleItems>StyleItem.НеПринятыеКИсполнениюЗадачи</styleItems>
<styleItems>StyleItem.НерабочийПериодПроизводственногоКалендаряФон</styleItems>
<styleItems>StyleItem.НеСтартованныйБизнесПроцесс</styleItems>
<styleItems>StyleItem.ОбразецНастройкиКолонтитуловЦвет</styleItems>
<styleItems>StyleItem.ОсновнойЭлементСписка</styleItems>
@@ -196,7 +197,6 @@
<commonPictures>CommonPicture.ДокументПроведенКоннекторНиз</commonPictures>
<commonPictures>CommonPicture.ДополнительныеРеквизитыСведения</commonPictures>
<commonPictures>CommonPicture.ДополнительныеСведения</commonPictures>
<commonPictures>CommonPicture.ЖелтыйШар</commonPictures>
<commonPictures>CommonPicture.ЗавершитьРаботу</commonPictures>
<commonPictures>CommonPicture.ЗавершитьРедактированиеМакета</commonPictures>
<commonPictures>CommonPicture.ЗакончитьРедактированиеФайла</commonPictures>
@@ -207,7 +207,6 @@
<commonPictures>CommonPicture.ЗаставкаВнешнейОперации</commonPictures>
<commonPictures>CommonPicture.Зашифрован</commonPictures>
<commonPictures>CommonPicture.ЗаявлениеНаВыпускСертификатаКлюча</commonPictures>
<commonPictures>CommonPicture.ЗеленыйШар</commonPictures>
<commonPictures>CommonPicture.ЗнакСтоп</commonPictures>
<commonPictures>CommonPicture.ЗнакСтопЧБ</commonPictures>
<commonPictures>CommonPicture.ЗначокЗаставкиВнешнейОперации</commonPictures>
@@ -254,7 +253,6 @@
<commonPictures>CommonPicture.КонтактнаяИнформация</commonPictures>
<commonPictures>CommonPicture.КонтактнаяИнформацияНеактуально</commonPictures>
<commonPictures>CommonPicture.КонтактнаяИнформацияПерейтиПоСсылке</commonPictures>
<commonPictures>CommonPicture.КрасныйШар</commonPictures>
<commonPictures>CommonPicture.КурсивноеНачертание</commonPictures>
<commonPictures>CommonPicture.Максимум</commonPictures>
<commonPictures>CommonPicture.МенюДополнительныеФункции</commonPictures>
@@ -327,6 +325,10 @@
<commonPictures>CommonPicture.ПриложитьФайл</commonPictures>
<commonPictures>CommonPicture.ПрименитьПравилаОбработкиПисем</commonPictures>
<commonPictures>CommonPicture.ПримечаниеЖурналаРегистрации</commonPictures>
<commonPictures>CommonPicture.ПроверкаСертификатаНеВыполнялась</commonPictures>
<commonPictures>CommonPicture.ПроверкаСертификатаОшибка</commonPictures>
<commonPictures>CommonPicture.ПроверкаСертификатаПредупреждение</commonPictures>
<commonPictures>CommonPicture.ПроверкаСертификатаУспех</commonPictures>
<commonPictures>CommonPicture.ПроцессОтложен</commonPictures>
<commonPictures>CommonPicture.ПрочиеПользовательскиеНастройки</commonPictures>
<commonPictures>CommonPicture.Пустая</commonPictures>
@@ -343,7 +345,6 @@
<commonPictures>CommonPicture.РедактироватьФайл</commonPictures>
<commonPictures>CommonPicture.РежимИспользованияПриложенияВСервисеЛокально</commonPictures>
<commonPictures>CommonPicture.СертификатКлюча</commonPictures>
<commonPictures>CommonPicture.СерыйШар</commonPictures>
<commonPictures>CommonPicture.СинхронизацияДанных</commonPictures>
<commonPictures>CommonPicture.СинхронизацияДанныхАнализДанных48</commonPictures>
<commonPictures>CommonPicture.СинхронизацияДанныхВыгрузить</commonPictures>
@@ -1 +1 @@
{6,1,1,f4fbba83-d527-4879-be3f-2dd05fca5b02,1,d4a90185-34b3-4ae4-94ae-f8ab0233616d,"3.1.2.335","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5924,1,0,4061b9f8-a87c-4e3a-b555-0713e86ae69d,4061b9f8-a87c-4e3a-b555-0713e86ae69d,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
{6,1,1,bb0b4d38-af2b-48db-b73e-47f263ffa97c,1,ac6e66c3-bbc7-439d-8cab-933003a1a0a6,"3.1.2.343","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5926,1,0,21f3f9f0-5532-4455-8abf-ba36f21734ac,21f3f9f0-5532-4455-8abf-ba36f21734ac,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 43;
Возврат 1;
КонецФункции
@@ -57,7 +57,24 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.2.335";
Возврат "3.1.2.341";
КонецФункции
Функция ПериодыНерабочихДней(ДанныеКалендаря, Период) Экспорт
Периоды = Новый Массив;
Если СокрЛП(ДанныеКалендаря.Код) = "РФ" Тогда
Периоды.Добавить(
ОписаниеПериодаНерабочихДней(
Дата(2020, 3, 30), Дата(2020, 4, 3), НСтр("ru = 'Указ Президента РФ от 25.03.2020 № 206'")));
Периоды.Добавить(
ОписаниеПериодаНерабочихДней(
Дата(2020, 4, 4), Дата(2020, 4, 30), НСтр("ru = 'Указ Президента РФ от 02.04.2020 № 239'")));
КонецЕсли;
Возврат Периоды;
КонецФункции
@@ -459,6 +476,27 @@
КонецФункции
Функция ОписаниеПериодаНерабочихДней(Начало, Окончание, Основание = "")
ОбщегоНазначенияКлиентСервер.Проверить(Начало <= Окончание, НСтр("ru = 'Начало периода позже его завершения'"));
ОписаниеПериода = Новый Структура("Период, Основание, Даты, Представление");
ОписаниеПериода.Период = Новый СтандартныйПериод(Начало, Окончание);
ОписаниеПериода.Основание = Основание;
ОписаниеПериода.Даты = Новый Массив;
ОписаниеПериода.Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'с %1 по %2 - %3'"), Формат(Начало, "ДЛФ=D;"), Формат(Окончание, "ДЛФ=D;"), ОписаниеПериода.Основание);
ДатаОбхода = НачалоДня(Начало);
Пока ДатаОбхода <= Окончание Цикл
ОписаниеПериода.Даты.Добавить(ДатаОбхода);
ДатаОбхода = ДатаОбхода + 86400;
КонецЦикла;
Возврат ОписаниеПериода;
КонецФункции
#КонецОбласти
#КонецЕсли
@@ -1018,11 +1018,6 @@
<Item Calendar="РФ" Year="2020" DayType="Воскресенье" Date="20200224" SwapDate="20200223"/>
<Item Calendar="РФ" Year="2020" DayType="Праздник" Date="20200308" SwapDate="20200309"/>
<Item Calendar="РФ" Year="2020" DayType="Воскресенье" Date="20200309" SwapDate="20200308"/>
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200330" SwapDate=""/>
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200331" SwapDate=""/>
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200401" SwapDate=""/>
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200402" SwapDate=""/>
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200403" SwapDate=""/>
<Item Calendar="РФ" Year="2020" DayType="Предпраздничный" Date="20200430" SwapDate=""/>
<Item Calendar="РФ" Year="2020" DayType="Праздник" Date="20200501" SwapDate=""/>
<Item Calendar="РФ" Year="2020" DayType="Суббота" Date="20200504" SwapDate="20200104"/>
@@ -4863,6 +4863,9 @@
ОписаниеОшибки = "";
Если Не ОтветСервиса.Выполнено Тогда
ОписаниеОшибки = ОтветСервиса.ОписаниеОшибки;
Если Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда
ОписаниеОшибки = НСтр("ru = 'Сервис облачной подписи сообщил, что действие не выполнено.'");
КонецЕсли;
ИначеЕсли Не ЗначениеЗаполнено(ОтветСервиса.ИмяПровайдера) Тогда
ОписаниеОшибки = НСтр("ru = 'Сервис облачной подписи вернул пустое имя криптопровайдера.'");
ИначеЕсли Не ЗначениеЗаполнено(ОтветСервиса.ТипПровайдера) Тогда
@@ -75,15 +75,15 @@
| Календари.СпособЗаполнения КАК СпособЗаполнения,
| Календари.ДатаОтсчета КАК ДатаОтсчета,
| Календари.УчитыватьПраздники КАК УчитыватьПраздники,
| Календари.УчитыватьНерабочиеПериоды КАК УчитыватьНерабочиеПериоды,
| Календари.ШаблонЗаполнения.(
| Ссылка КАК Ссылка,
| НомерСтроки КАК НомерСтроки,
| ДеньВключенВГрафик КАК ДеньВключенВГрафик
| ) КАК ШаблонЗаполнения
| ДеньВключенВГрафик КАК ДеньВключенВГрафик) КАК ШаблонЗаполнения
|ИЗ
| Справочник.Календари КАК Календари
|ГДЕ
| Календари.Ссылка В(&ГрафикиМассив)";
| Календари.Ссылка В (&ГрафикиМассив)";
РеквизитыГрафиков = Запрос.Выполнить().Выгрузить();
РеквизитыГрафиков.Индексы.Добавить("Ссылка");
@@ -148,14 +148,16 @@
КонецГода = Дата(Год, 12, 31);
РеквизитыГрафика.ШаблонЗаполнения.Сортировать("НомерСтроки");
ДниВключенныеВГрафик = ДниВключенныеВГрафик(
НачалоГода,
РеквизитыГрафика.СпособЗаполнения,
РеквизитыГрафика.ШаблонЗаполнения,
КонецГода,
РеквизитыГрафика.ПроизводственныйКалендарь,
РеквизитыГрафика.УчитыватьПраздники,
РеквизитыГрафика.ДатаОтсчета);
ПараметрыЗаполнения = РегистрыСведений.КалендарныеГрафики.ПараметрыЗаполненияГрафика();
ПараметрыЗаполнения.СпособЗаполнения = РеквизитыГрафика.СпособЗаполнения;
ПараметрыЗаполнения.ШаблонЗаполнения = РеквизитыГрафика.ШаблонЗаполнения;
ПараметрыЗаполнения.ПроизводственныйКалендарь = РеквизитыГрафика.ПроизводственныйКалендарь;
ПараметрыЗаполнения.УчитыватьПраздники = РеквизитыГрафика.УчитыватьПраздники;
ПараметрыЗаполнения.УчитыватьНерабочиеПериоды = РеквизитыГрафика.УчитыватьНерабочиеПериоды;
ПараметрыЗаполнения.ДатаОтсчета = РеквизитыГрафика.ДатаОтсчета;
ДниВключенныеВГрафик = РегистрыСведений.КалендарныеГрафики.ДниВключенныеВГрафик(
НачалоГода, КонецГода, ПараметрыЗаполнения);
ЗаписатьДанныеГрафикаВРегистр(ГрафикРаботы, ДниВключенныеВГрафик, НачалоГода, КонецГода);
@@ -185,14 +187,10 @@
|ИЗ
| &УсловияОбновления КАК УсловияОбновления
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Календари.Ссылка КАК ГрафикРаботы,
| Календари.СпособЗаполнения,
| Календари.ПроизводственныйКалендарь,
| Календари.ДатаОтсчета,
| Календари.УчитыватьПраздники,
| Календари.ДатаНачала,
| Календари.ДатаОкончания
|ПОМЕСТИТЬ ВТГрафикиРаботыЗависимыеОтКалендарей
@@ -206,10 +204,7 @@
|
|ВЫБРАТЬ
| Календари.Ссылка,
| Календари.СпособЗаполнения,
| Календари.ПроизводственныйКалендарь,
| Календари.ДатаОтсчета,
| Календари.УчитыватьПраздники,
| Календари.ДатаНачала,
| Календари.ДатаОкончания
|ИЗ
@@ -217,15 +212,11 @@
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПроизводственныеКалендари КАК ПроизводственныеКалендари
| ПО (ПроизводственныеКалендари.Ссылка = Календари.ПроизводственныйКалендарь)
| И (Календари.СпособЗаполнения = ЗНАЧЕНИЕ(Перечисление.СпособыЗаполненияГрафикаРаботы.ПоЦикламПроизвольнойДлины))
| И (Календари.УчитыватьПраздники)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Календари.ГрафикРаботы,
| УсловияОбновления.Год,
| Календари.СпособЗаполнения,
| Календари.ПроизводственныйКалендарь,
| ВЫБОР
| КОГДА Календари.ДатаНачала < УсловияОбновления.НачалоГода
| ТОГДА УсловияОбновления.НачалоГода
@@ -235,9 +226,7 @@
| КОГДА Календари.ДатаОкончания > УсловияОбновления.КонецГода
| ТОГДА УсловияОбновления.КонецГода
| ИНАЧЕ Календари.ДатаОкончания
| КОНЕЦ КАК ДатаОкончания,
| Календари.ДатаОтсчета,
| Календари.УчитыватьПраздники
| КОНЕЦ КАК ДатаОкончания
|ПОМЕСТИТЬ ВТГрафикиРаботыПоУсловиюОбновления
|ИЗ
| ВТГрафикиРаботыЗависимыеОтКалендарей КАК Календари
@@ -252,16 +241,12 @@
|ВЫБРАТЬ
| Календари.ГрафикРаботы,
| УсловияОбновления.Год,
| Календари.СпособЗаполнения,
| Календари.ПроизводственныйКалендарь,
| ВЫБОР
| КОГДА Календари.ДатаНачала < УсловияОбновления.НачалоГода
| ТОГДА УсловияОбновления.НачалоГода
| ИНАЧЕ Календари.ДатаНачала
| КОНЕЦ,
| УсловияОбновления.КонецГода,
| Календари.ДатаОтсчета,
| Календари.УчитыватьПраздники
| УсловияОбновления.КонецГода
|ИЗ
| ВТГрафикиРаботыЗависимыеОтКалендарей КАК Календари
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ УсловияОбновления КАК УсловияОбновления
@@ -269,17 +254,12 @@
| И Календари.ДатаНачала <= УсловияОбновления.КонецГода
| И (Календари.ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1))
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Календари.ГрафикРаботы,
| Календари.Год,
| Календари.СпособЗаполнения,
| Календари.ПроизводственныйКалендарь,
| Календари.ДатаНачала,
| Календари.ДатаОкончания,
| Календари.ДатаОтсчета,
| Календари.УчитыватьПраздники
| Календари.ДатаОкончания
|ПОМЕСТИТЬ ВТОбновляемыеГрафикиРаботы
|ИЗ
| ВТГрафикиРаботыПоУсловиюОбновления КАК Календари
@@ -289,25 +269,25 @@
|ГДЕ
| РучныеИзмененияПоВсемГодам.ГрафикРаботы ЕСТЬ NULL
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОбновляемыеГрафикиРаботы.ГрафикРаботы,
| ОбновляемыеГрафикиРаботы.Год,
| ОбновляемыеГрафикиРаботы.СпособЗаполнения,
| ОбновляемыеГрафикиРаботы.ПроизводственныйКалендарь,
| ПараметрыЗаполнения.СпособЗаполнения,
| ПараметрыЗаполнения.ПроизводственныйКалендарь,
| ОбновляемыеГрафикиРаботы.ДатаНачала,
| ОбновляемыеГрафикиРаботы.ДатаОкончания,
| ОбновляемыеГрафикиРаботы.ДатаОтсчета,
| ОбновляемыеГрафикиРаботы.УчитыватьПраздники
| ПараметрыЗаполнения.ДатаОтсчета,
| ПараметрыЗаполнения.УчитыватьПраздники,
| ПараметрыЗаполнения.УчитыватьНерабочиеПериоды
|ИЗ
| ВТОбновляемыеГрафикиРаботы КАК ОбновляемыеГрафикиРаботы
|
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Календари ПараметрыЗаполнения
| ПО ПараметрыЗаполнения.Ссылка = ОбновляемыеГрафикиРаботы.ГрафикРаботы
|УПОРЯДОЧИТЬ ПО
| ОбновляемыеГрафикиРаботы.ГрафикРаботы,
| ОбновляемыеГрафикиРаботы.Год
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ШаблонЗаполнения.Ссылка КАК ГрафикРаботы,
@@ -321,7 +301,6 @@
| ВТОбновляемыеГрафикиРаботы.ГрафикРаботы
| ИЗ
| ВТОбновляемыеГрафикиРаботы)
|
|УПОРЯДОЧИТЬ ПО
| ГрафикРаботы,
| НомерСтроки";
@@ -344,16 +323,17 @@
КонецЦикла;
Пока ВыборкаПоГрафикам.СледующийПоЗначениюПоля("ДатаНачала") Цикл
// Если дата окончания не указана, она будет подобрана по производственному календарю.
ДатаОкончанияЗаполнения = ВыборкаПоГрафикам.ДатаОкончания;
ДниВключенныеВГрафик = ДниВключенныеВГрафик(
ВыборкаПоГрафикам.ДатаНачала,
ВыборкаПоГрафикам.СпособЗаполнения,
ШаблонЗаполнения,
ДатаОкончанияЗаполнения,
ВыборкаПоГрафикам.ПроизводственныйКалендарь,
ВыборкаПоГрафикам.УчитыватьПраздники,
ВыборкаПоГрафикам.ДатаОтсчета);
ЗаписатьДанныеГрафикаВРегистр(ВыборкаПоГрафикам.ГрафикРаботы, ДниВключенныеВГрафик, ВыборкаПоГрафикам.ДатаНачала, ДатаОкончанияЗаполнения);
ПараметрыЗаполнения = РегистрыСведений.КалендарныеГрафики.ПараметрыЗаполненияГрафика();
ПараметрыЗаполнения.СпособЗаполнения = ВыборкаПоГрафикам.СпособЗаполнения;
ПараметрыЗаполнения.ШаблонЗаполнения = ШаблонЗаполнения;
ПараметрыЗаполнения.ПроизводственныйКалендарь = ВыборкаПоГрафикам.ПроизводственныйКалендарь;
ПараметрыЗаполнения.УчитыватьПраздники = ВыборкаПоГрафикам.УчитыватьПраздники;
ПараметрыЗаполнения.УчитыватьНерабочиеПериоды = ВыборкаПоГрафикам.УчитыватьНерабочиеПериоды;
ПараметрыЗаполнения.ДатаОтсчета = ВыборкаПоГрафикам.ДатаОтсчета;
ДниВключенныеВГрафик = РегистрыСведений.КалендарныеГрафики.ДниВключенныеВГрафик(
ВыборкаПоГрафикам.ДатаНачала, ВыборкаПоГрафикам.ДатаОкончания, ПараметрыЗаполнения);
ЗаписатьДанныеГрафикаВРегистр(
ВыборкаПоГрафикам.ГрафикРаботы, ДниВключенныеВГрафик, ВыборкаПоГрафикам.ДатаНачала, ВыборкаПоГрафикам.ДатаОкончания);
КонецЦикла;
КонецЦикла;
@@ -528,36 +508,58 @@
КонецПроцедуры
// Конструктор параметров заполнения графика работы для методов:
// ДниВключенныеВГрафик, ДниВключенныеВГрафикПоНеделям, ДниВключенныеВГрафикПроизвольнойДлины.
//
// Возвращаемое значение:
// Структура - Описание:
// * ПроизводственныйКалендарь
// * СпособЗаполнения
// * ШаблонЗаполнения
// * УчитыватьПраздники
// * УчитыватьНерабочиеПериоды
// * НерабочиеПериоды
// * ДатаОтсчета
Функция ПараметрыЗаполненияГрафика() Экспорт
ПараметрыЗаполнения = Новый Структура(
"ПроизводственныйКалендарь,
|СпособЗаполнения,
|ШаблонЗаполнения,
|УчитыватьПраздники,
|УчитыватьНерабочиеПериоды,
|НерабочиеПериоды,
|ДатаОтсчета");
ПараметрыЗаполнения.СпособЗаполнения = Перечисления.СпособыЗаполненияГрафикаРаботы.ПоНеделям;
ПараметрыЗаполнения.НерабочиеПериоды = Новый Массив;
Возврат ПараметрыЗаполнения;
КонецФункции
// Составляет коллекцию дат, являющихся рабочими с учетом производственного календаря,
// способа заполнения и других настроек.
//
// Параметры:
// - Год - номер года
// - ПроизводственныйКалендарь - производственный календарь, по которому определяются дни.
// - СпособЗаполнения - способ заполнения.
// - ШаблонЗаполнения - шаблон заполнения по дням.
// - УчитыватьПраздники - булево, если Истина, то дни, выпадающие на праздники, будут исключаться.
// - ДатаНачала - необязательный, указывается только для заполнения по циклам произвольной длины.
// ДатаНачала - Дата - Начало заполнения данных.
// ДатаОкончания - Дата - Окончание заполнения данных.
// ПараметрыЗаполнения - Структура - См. ПараметрыЗаполнения.
//
// Возвращаемое значение - соответствие, где Ключ - дата, значение массив структур с описанием интервалов времени для
// Возвращаемое значение:
// Соответствие - где Ключ - дата, значение массив структур с описанием интервалов времени для
// указанной даты.
//
Функция ДниВключенныеВГрафик(ДатаНачала, СпособЗаполнения, ШаблонЗаполнения, ДатаОкончания, ПроизводственныйКалендарь,
УчитыватьПраздники, Знач ДатаОтсчета = Неопределено) Экспорт
Функция ДниВключенныеВГрафик(ДатаНачала, ДатаОкончания, ПараметрыЗаполнения) Экспорт
ДниВключенныеВГрафик = Новый Соответствие;
Если ШаблонЗаполнения.Количество() = 0 Тогда
Если ПараметрыЗаполнения.ШаблонЗаполнения.Количество() = 0 Тогда
Возврат ДниВключенныеВГрафик;
КонецЕсли;
Если Не ЗначениеЗаполнено(ДатаОкончания) Тогда
// Если дата окончания не указана, то заполняем до конца года.
ДатаОкончания = КонецГода(ДатаНачала);
Если ЗначениеЗаполнено(ПроизводственныйКалендарь) Тогда
Если ЗначениеЗаполнено(ПараметрыЗаполнения.ПроизводственныйКалендарь) Тогда
// Если указан производственный календарь, то заполняем до "конца" его заполненности.
ДатаОкончанияЗаполнения = Справочники.ПроизводственныеКалендари.ДатаОкончанияЗаполненияПроизводственногоКалендаря(
ПроизводственныйКалендарь);
ПараметрыЗаполнения.ПроизводственныйКалендарь);
Если ДатаОкончанияЗаполнения <> Неопределено
И ДатаОкончанияЗаполнения > ДатаОкончания Тогда
ДатаОкончания = ДатаОкончанияЗаполнения;
@@ -565,6 +567,11 @@
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыЗаполнения.ПроизводственныйКалендарь) Тогда
ПараметрыЗаполнения.НерабочиеПериоды = КалендарныеГрафики.ПериодыНерабочихДней(
ПараметрыЗаполнения.ПроизводственныйКалендарь, Новый СтандартныйПериод(ДатаНачала, ДатаОкончания));
КонецЕсли;
// Заполнение данных производится по годам.
ТекущийГод = Год(ДатаНачала);
Пока ТекущийГод <= Год(ДатаОкончания) Цикл
@@ -572,12 +579,10 @@
ДатаОкончанияВГоду = ДатаОкончания;
СкорректироватьДатыНачалаОкончания(ТекущийГод, ДатаНачалаВГоду, ДатаОкончанияВГоду);
// Получаем данные графика за год.
Если СпособЗаполнения = Перечисления.СпособыЗаполненияГрафикаРаботы.ПоНеделям Тогда
ДниЗаГод = ДниВключенныеВГрафикПоНеделям(ТекущийГод, ПроизводственныйКалендарь, ШаблонЗаполнения,
УчитыватьПраздники, ДатаНачалаВГоду, ДатаОкончанияВГоду);
Если ПараметрыЗаполнения.СпособЗаполнения = Перечисления.СпособыЗаполненияГрафикаРаботы.ПоНеделям Тогда
ДниЗаГод = ДниВключенныеВГрафикПоНеделям(ТекущийГод, ПараметрыЗаполнения, ДатаНачалаВГоду, ДатаОкончанияВГоду);
Иначе
ДниЗаГод = ДниВключенныеВГрафикПроизвольнойДлины(ТекущийГод, ПроизводственныйКалендарь, ШаблонЗаполнения,
УчитыватьПраздники, ДатаОтсчета, ДатаНачалаВГоду, ДатаОкончанияВГоду);
ДниЗаГод = ДниВключенныеВГрафикПроизвольнойДлины(ТекущийГод, ПараметрыЗаполнения, ДатаНачалаВГоду, ДатаОкончанияВГоду);
КонецЕсли;
// Дополняем общую коллекцию
Для Каждого КлючИЗначение Из ДниЗаГод Цикл
@@ -590,17 +595,16 @@
КонецФункции
Функция ДниВключенныеВГрафикПоНеделям(Год, ПроизводственныйКалендарь, ШаблонЗаполнения, УчитыватьПраздники,
Функция ДниВключенныеВГрафикПоНеделям(Год, ПараметрыЗаполнения,
Знач ДатаНачала = Неопределено, Знач ДатаОкончания = Неопределено)
// Заполнение графика работы по неделям.
ДниВключенныеВГрафик = Новый Соответствие;
ЗаполнятьПоПроизводственномуКалендарю = ЗначениеЗаполнено(ПроизводственныйКалендарь);
ЗаполнятьПоПроизводственномуКалендарю = ЗначениеЗаполнено(ПараметрыЗаполнения.ПроизводственныйКалендарь);
ДнейВГоду = ДеньГода(Дата(Год, 12, 31));
ДанныеПроизводственногоКалендаря = Справочники.ПроизводственныеКалендари.ДанныеПроизводственногоКалендаря(ПроизводственныйКалендарь, Год);
ДанныеПроизводственногоКалендаря = Справочники.ПроизводственныеКалендари.ДанныеПроизводственногоКалендаря(
ПараметрыЗаполнения.ПроизводственныйКалендарь, Год);
Если ЗаполнятьПоПроизводственномуКалендарю
И ДанныеПроизводственногоКалендаря.Количество() <> ДнейВГоду Тогда
// Если производственный календарь указан, но заполнен неправильно, заполнение по неделям не поддерживается.
@@ -612,12 +616,14 @@
ДатаДня = ДатаНачала;
Пока ДатаДня <= ДатаОкончания Цикл
НомерДня = ДеньНедели(ДатаДня);
Если ЗаполнятьПоПроизводственномуКалендарю И УчитыватьПраздники Тогда
Если ЗаполнятьПоПроизводственномуКалендарю Тогда
Если ПараметрыЗаполнения.УчитыватьПраздники Или ПараметрыЗаполнения.НерабочиеПериоды.Количество() > 0 Тогда
ДанныеДня = ДанныеПроизводственногоКалендаря.НайтиСтроки(Новый Структура("Дата", ДатаДня))[0];
НомерДня = НомерДняШаблона(ДанныеДня);
НомерДня = НомерДняШаблона(ДанныеДня, ПараметрыЗаполнения);
КонецЕсли;
КонецЕсли;
Если НомерДня <> Неопределено Тогда
СтрокаДня = ШаблонЗаполнения[НомерДня - 1];
СтрокаДня = ПараметрыЗаполнения.ШаблонЗаполнения[НомерДня - 1];
Если СтрокаДня.ДеньВключенВГрафик Тогда
ДниВключенныеВГрафик.Вставить(ДатаДня, Истина);
КонецЕсли;
@@ -629,14 +635,14 @@
КонецФункции
Функция ДниВключенныеВГрафикПроизвольнойДлины(Год, ПроизводственныйКалендарь, ШаблонЗаполнения, УчитыватьПраздники,
ДатаОтсчета, Знач ДатаНачала = Неопределено, Знач ДатаОкончания = Неопределено)
Функция ДниВключенныеВГрафикПроизвольнойДлины(Год, ПараметрыЗаполнения,
Знач ДатаНачала = Неопределено, Знач ДатаОкончания = Неопределено)
ДниВключенныеВГрафик = Новый Соответствие;
ДатаДня = ДатаОтсчета;
ДатаДня = ПараметрыЗаполнения.ДатаОтсчета;
Пока ДатаДня <= ДатаОкончания Цикл
Для Каждого СтрокаДня Из ШаблонЗаполнения Цикл
Для Каждого СтрокаДня Из ПараметрыЗаполнения.ШаблонЗаполнения Цикл
Если СтрокаДня.ДеньВключенВГрафик
И ДатаДня >= ДатаНачала Тогда
ДниВключенныеВГрафик.Вставить(ДатаДня, Истина);
@@ -645,29 +651,51 @@
КонецЦикла;
КонецЦикла;
Если Не УчитыватьПраздники Тогда
Если Не ПараметрыЗаполнения.УчитыватьПраздники И ПараметрыЗаполнения.НерабочиеПериоды.Количество() = 0 Тогда
Возврат ДниВключенныеВГрафик;
КонецЕсли;
// Исключаем даты праздничных дней.
ДанныеПроизводственногоКалендаря = Справочники.ПроизводственныеКалендари.ДанныеПроизводственногоКалендаря(
ПроизводственныйКалендарь, Год);
ПараметрыЗаполнения.ПроизводственныйКалендарь, Год);
Если ДанныеПроизводственногоКалендаря.Количество() = 0 Тогда
Возврат ДниВключенныеВГрафик;
КонецЕсли;
Если ПараметрыЗаполнения.УчитыватьНерабочиеПериоды Тогда
ДанныеПроизводственногоКалендаря.Индексы.Добавить("Дата");
Для Каждого НерабочийПериод Из ПараметрыЗаполнения.НерабочиеПериоды Цикл
Для Каждого Дата Из НерабочийПериод.Даты Цикл
ДниВключенныеВГрафик.Удалить(Дата);
КонецЦикла;
КонецЦикла;
КонецЕсли;
Если ПараметрыЗаполнения.УчитыватьПраздники Тогда
ДанныеПроизводственногоКалендаря.Индексы.Добавить("ВидДня");
ОтборСтрок = Новый Структура("ВидДня");
ОтборСтрок.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник;
ДанныеПраздничныхДней = ДанныеПроизводственногоКалендаря.НайтиСтроки(ОтборСтрок);
Для Каждого ДанныеДня Из ДанныеПраздничныхДней Цикл
ДниВключенныеВГрафик.Удалить(ДанныеДня.Дата);
КонецЦикла;
ДатыНерабочихПериодов = Новый Массив;
ОтборСтрок.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Нерабочий;
ДанныеПраздничныхДней = ДанныеПроизводственногоКалендаря.НайтиСтроки(ОтборСтрок);
Для Каждого ДанныеДня Из ДанныеПраздничныхДней Цикл
ДниВключенныеВГрафик.Удалить(ДанныеДня.Дата);
ДанныеНерабочихДней = ДанныеПроизводственногоКалендаря.НайтиСтроки(ОтборСтрок);
Если ДанныеНерабочихДней.Количество() > 0 Тогда
Если Не ПараметрыЗаполнения.УчитыватьНерабочиеПериоды Тогда
Для Каждого НерабочийПериод Из ПараметрыЗаполнения.НерабочиеПериоды Цикл
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ДатыНерабочихПериодов, НерабочийПериод.Даты);
КонецЦикла;
КонецЕсли;
КонецЕсли;
Для Каждого ДанныеДня Из ДанныеНерабочихДней Цикл
Если ДатыНерабочихПериодов.Найти(ДанныеДня.Дата) = Неопределено Тогда
ДниВключенныеВГрафик.Удалить(ДанныеДня.Дата);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат ДниВключенныеВГрафик;
@@ -725,10 +753,20 @@
КонецФункции
Функция НомерДняШаблона(ДанныеДня)
Функция НомерДняШаблона(ДанныеДня, ПараметрыЗаполнения)
Если ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий
Или ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный Тогда
ВидДня = ДанныеДня.ВидДня;
Если ЭтаДатаВНерабочемПериоде(ДанныеДня.Дата, ПараметрыЗаполнения.НерабочиеПериоды) Тогда
Если ПараметрыЗаполнения.УчитыватьНерабочиеПериоды Тогда
Возврат Неопределено;
КонецЕсли;
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Нерабочий Тогда
ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий;
КонецЕсли;
КонецЕсли;
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий
Или ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный Тогда
ДатаДня = ДанныеДня.Дата;
Если ЗначениеЗаполнено(ДанныеДня.ДатаПереноса) Тогда
ДатаДня = ДанныеДня.ДатаПереноса;
@@ -736,18 +774,34 @@
Возврат ДеньНедели(ДатаДня);
КонецЕсли;
Если ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота Тогда
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота Тогда
Возврат 6;
КонецЕсли;
Если ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье Тогда
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье Тогда
Возврат 7;
КонецЕсли;
Если ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник
Или ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Нерабочий Тогда
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник
Или ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Нерабочий Тогда
Если ПараметрыЗаполнения.УчитыватьПраздники Тогда
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
Возврат ДеньНедели(ДанныеДня.Дата);
КонецФункции
Функция ЭтаДатаВНерабочемПериоде(Дата, НерабочиеПериоды)
Для Каждого НерабочийПериод Из НерабочиеПериоды Цикл
Если НерабочийПериод.Даты.Найти(Дата) <> Неопределено Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
@@ -839,6 +839,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.ВерсияКлассификатораБанков</name>
<right>
@@ -1218,93 +1305,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.ИдентификаторыОбъектовМетаданных</name>
<right>
@@ -14,13 +14,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -52,6 +45,13 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
@@ -1229,6 +1229,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Constant.ВерсияКлассификатораБанков</name>
<right>
@@ -1793,45 +1832,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ИдентификаторыОбъектовМетаданных</name>
<right>
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:StyleItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5797e28d-1318-4728-8b17-bcb78d85349a">
<name>НерабочийПериодПроизводственногоКалендаряФон</name>
<synonym>
<key>ru</key>
<value>Нерабочий период производственного календаря фон</value>
</synonym>
<value xsi:type="core:ColorValue">
<value xsi:type="core:ColorDef">
<red>251</red>
<green>224</green>
<blue>224</blue>
</value>
</value>
</mdclass:StyleItem>
@@ -28,5 +28,6 @@
<content>Role.ДобавлениеИзменениеКалендарныхГрафиков</content>
<content>DataProcessor.ЗаполнениеКалендарныхГрафиков</content>
<content>CommonModule.КалендарныеГрафикиСлужебный</content>
<content>StyleItem.НерабочийПериодПроизводственногоКалендаряФон</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem>
@@ -49,12 +49,12 @@
<content>CommonModule.ЭлектроннаяПодписьЛокализацияКлиентСервер</content>
<content>CommonModule.ЗаявлениеНаСертификатПереопределяемый</content>
<content>StyleItem.ЗаявлениеНаВыпускСертификатаЗаголовокКлючевогоПоляШрифт</content>
<content>CommonPicture.ЗеленыйШар</content>
<content>CommonPicture.КрасныйШар</content>
<content>CommonPicture.СерыйШар</content>
<content>CommonPicture.ЖелтыйШар</content>
<content>Constant.КлассификаторОшибокКриптографии</content>
<content>Constant.ДатаПоследнегоОбновленияКлассификатораОшибок</content>
<content>CommonForm.РасширенноеПредставлениеОшибки</content>
<content>CommonPicture.ПроверкаСертификатаНеВыполнялась</content>
<content>CommonPicture.ПроверкаСертификатаОшибка</content>
<content>CommonPicture.ПроверкаСертификатаПредупреждение</content>
<content>CommonPicture.ПроверкаСертификатаУспех</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem>