3_0_3_261
This commit is contained in:
1 parent
5fe16f810d
commit
b13d305a56
24 files changed
+1582
-726
No files matched your search
@@ -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>
|
||||
@@ -678,7 +682,6 @@
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<width>8</width>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
@@ -783,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>
|
||||
@@ -807,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>
|
||||
@@ -818,7 +820,7 @@
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>УчитыватьПраздникиКонтекстноеМеню</name>
|
||||
<id>174</id>
|
||||
<id>407</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
@@ -828,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>
|
||||
@@ -850,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>
|
||||
@@ -877,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>
|
||||
@@ -893,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>
|
||||
@@ -1253,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>
|
||||
@@ -1636,6 +1812,7 @@
|
||||
<event>StartChoice</event>
|
||||
<name>КомментарийНачалоВыбора</name>
|
||||
</handlers>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<choiceButton>true</choiceButton>
|
||||
<chooseType>true</chooseType>
|
||||
@@ -1814,13 +1991,6 @@
|
||||
<groupHorizontalAlign>Right</groupHorizontalAlign>
|
||||
<groupVerticalAlign>Bottom</groupVerticalAlign>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<font xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</font>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
@@ -2284,13 +2454,6 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<font xsi:type="core:FontRef">
|
||||
<font>System.DefaultGUIFont</font>
|
||||
<bold>true</bold>
|
||||
<italic>false</italic>
|
||||
<underline>false</underline>
|
||||
<strikeout>false</strikeout>
|
||||
</font>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<visible>true</visible>
|
||||
@@ -2349,10 +2512,6 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<handlers>
|
||||
<event>ChoiceProcessing</event>
|
||||
<name>ОбработкаВыбора</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnCreateAtServer</event>
|
||||
<name>ПриСозданииНаСервере</name>
|
||||
@@ -2771,12 +2930,7 @@
|
||||
<selectedRowsUse>Auto</selectedRowsUse>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
<navigationPanel>
|
||||
<cmiFragmentRecord>
|
||||
<command>0</command>
|
||||
<userVisible/>
|
||||
</cmiFragmentRecord>
|
||||
</navigationPanel>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
</commandInterface>
|
||||
<extInfo xsi:type="form:CatalogFormExtInfo">
|
||||
|
||||
@@ -1,18 +1,11 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (c) 2019, ООО 1С-Софт
|
||||
// Copyright (c) 2020, ООО 1С-Софт
|
||||
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
|
||||
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
|
||||
// Текст лицензии доступен по ссылке:
|
||||
// https://creativecommons.org/licenses/by/4.0/legalcode
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#Область ОписаниеПеременных
|
||||
|
||||
&НаКлиенте
|
||||
Перем КонтекстВыбора;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
@@ -32,28 +25,14 @@
|
||||
Объект.ПроизводственныйКалендарь = ПроизводственныеКалендари[0];
|
||||
КонецЕсли;
|
||||
|
||||
Объект.СпособЗаполнения = Перечисления.СпособыЗаполненияГрафикаРаботы.ПоНеделям;
|
||||
|
||||
ДлинаЦикла = 7;
|
||||
|
||||
Объект.ДатаНачала = НачалоГода(ТекущаяДатаСеанса());
|
||||
Объект.ДатаОтсчета = НачалоГода(ТекущаяДатаСеанса());
|
||||
|
||||
УстановитьЭлементыНастройкиЗаполнения(ЭтотОбъект);
|
||||
|
||||
СформироватьШаблонЗаполнения(Объект.СпособЗаполнения, Объект.ШаблонЗаполнения, ДлинаЦикла, Объект.ДатаОтсчета);
|
||||
|
||||
ЗаполнитьПредставлениеРасписания(ЭтотОбъект);
|
||||
|
||||
УстановитьДоступностьУчитыватьПраздники(ЭтотОбъект);
|
||||
|
||||
УточнитьДатуЗаполненности();
|
||||
|
||||
ЗаполнитьДаннымиТекущегоГода(Параметры.ЗначениеКопирования);
|
||||
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Истина);
|
||||
|
||||
УстановитьДоступностьРасписанияПредпраздничногоДня(ЭтотОбъект);
|
||||
ПриПолученииДанныхНаСервере();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -61,69 +40,9 @@
|
||||
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
||||
|
||||
ДлинаЦикла = Объект.ШаблонЗаполнения.Количество();
|
||||
|
||||
УстановитьЭлементыНастройкиЗаполнения(ЭтотОбъект);
|
||||
|
||||
СформироватьШаблонЗаполнения(Объект.СпособЗаполнения, Объект.ШаблонЗаполнения, ДлинаЦикла, Объект.ДатаОтсчета);
|
||||
|
||||
ЗаполнитьПредставлениеРасписания(ЭтотОбъект);
|
||||
|
||||
УстановитьДоступностьУчитыватьПраздники(ЭтотОбъект);
|
||||
|
||||
УточнитьДатуЗаполненности();
|
||||
|
||||
ЗаполнитьДаннымиТекущегоГода();
|
||||
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Истина);
|
||||
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Ложь);
|
||||
|
||||
УстановитьДоступностьРасписанияПредпраздничногоДня(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
|
||||
|
||||
Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("Справочник.Календари.Форма.РасписаниеРаботы") Тогда
|
||||
|
||||
Если ВыбранноеЗначение = Неопределено Или ТолькоПросмотр Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Удаляем ранее заполненное расписания для этого дня.
|
||||
СтрокиДня = Новый Массив;
|
||||
Для Каждого СтрокаРасписания Из Объект.РасписаниеРаботы Цикл
|
||||
Если СтрокаРасписания.НомерДня = КонтекстВыбора.НомерДня Тогда
|
||||
СтрокиДня.Добавить(СтрокаРасписания.ПолучитьИдентификатор());
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Для Каждого ИдентификаторСтроки Из СтрокиДня Цикл
|
||||
Объект.РасписаниеРаботы.Удалить(Объект.РасписаниеРаботы.НайтиПоИдентификатору(ИдентификаторСтроки));
|
||||
КонецЦикла;
|
||||
|
||||
// Заполняем расписание работы на день.
|
||||
Для Каждого ОписаниеИнтервала Из ВыбранноеЗначение.РасписаниеРаботы Цикл
|
||||
НоваяСтрока = Объект.РасписаниеРаботы.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, ОписаниеИнтервала);
|
||||
НоваяСтрока.НомерДня = КонтекстВыбора.НомерДня;
|
||||
КонецЦикла;
|
||||
|
||||
Если КонтекстВыбора.НомерДня = 0 Тогда
|
||||
РасписаниеПредпраздничногоДня = ПредставлениеРасписанияДня(ЭтотОбъект, 0);
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Ложь);
|
||||
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Истина);
|
||||
|
||||
Если КонтекстВыбора.Источник = "ШаблонЗаполненияВыбор" Тогда
|
||||
|
||||
СтрокаШаблона = Объект.ШаблонЗаполнения.НайтиПоИдентификатору(КонтекстВыбора.ИдентификаторСтрокиШаблона);
|
||||
СтрокаШаблона.ДеньВключенВГрафик = ВыбранноеЗначение.РасписаниеРаботы.Количество() > 0; // расписание заполнено
|
||||
СтрокаШаблона.ПредставлениеРасписания = ПредставлениеРасписанияДня(ЭтотОбъект, КонтекстВыбора.НомерДня);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
ПриПолученииДанныхНаСервере(ТекущийОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -139,7 +58,8 @@
|
||||
// то записываем их как есть, остальные периоды обновляем по шаблону.
|
||||
|
||||
Если МодифицированностьРезультата Тогда
|
||||
РегистрыСведений.КалендарныеГрафики.ЗаписатьДанныеГрафикаВРегистр(ТекущийОбъект.Ссылка, ДниГрафика, Дата(НомерГода, 1, 1), Дата(НомерГода, 12, 31), Истина);
|
||||
РегистрыСведений.КалендарныеГрафики.ЗаписатьДанныеГрафикаВРегистр(ТекущийОбъект.Ссылка, ДниГрафика,
|
||||
Дата(НомерГода, 1, 1), Дата(НомерГода, 12, 31), Истина);
|
||||
КонецЕсли;
|
||||
ЗаписатьПризнакРучногоРедактирования(ТекущийОбъект, НомерГода);
|
||||
|
||||
@@ -181,44 +101,13 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьПоШаблону(Команда)
|
||||
|
||||
ЗаполнитьПоШаблонуНаСервере();
|
||||
|
||||
Элементы.ГрафикРаботы.Обновить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура РезультатЗаполнения(Команда)
|
||||
|
||||
Элементы.Страницы.ТекущаяСтраница = Элементы.РезультатЗаполненияСтраница;
|
||||
|
||||
Если Не РезультатЗаполненПоШаблону Тогда
|
||||
ЗаполнитьПоШаблонуНаСервере(Истина);
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ГрафикРаботы.Обновить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НастройкаЗаполнения(Команда)
|
||||
|
||||
Элементы.Страницы.ТекущаяСтраница = Элементы.НастройкаЗаполненияСтраница;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ФОРМЫ
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПроизводственныйКалендарьПриИзменении(Элемент)
|
||||
|
||||
УстановитьДоступностьУчитыватьПраздники(ЭтотОбъект);
|
||||
УстановитьДоступностьУчитыватьНерабочиеПериоды(ЭтотОбъект);
|
||||
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Ложь);
|
||||
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Истина);
|
||||
@@ -247,6 +136,13 @@
|
||||
Объект.ДатаНачала = НачалоГода(ОбщегоНазначенияКлиент.ДатаСеанса());
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьДоступностьУчитыватьНерабочиеПериоды(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДатаОкончанияПриИзменении(Элемент)
|
||||
УстановитьДоступностьУчитыватьНерабочиеПериоды(ЭтотОбъект);
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
@@ -282,34 +178,8 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура УстановитьДоступностьРасписанияПредпраздничногоДня(Форма)
|
||||
Форма.Элементы.РасписаниеПредпраздничногоДня.Доступность = Форма.Объект.УчитыватьПраздники;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ШаблонЗаполненияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
СтрокаШаблона = Объект.ШаблонЗаполнения.НайтиПоИдентификатору(ВыбраннаяСтрока);
|
||||
|
||||
КонтекстВыбора = Новый Структура;
|
||||
КонтекстВыбора.Вставить("Источник", "ШаблонЗаполненияВыбор");
|
||||
КонтекстВыбора.Вставить("НомерДня", СтрокаШаблона.НомерСтроки);
|
||||
КонтекстВыбора.Вставить("ПредставлениеРасписания", СтрокаШаблона.ПредставлениеРасписания);
|
||||
КонтекстВыбора.Вставить("ИдентификаторСтрокиШаблона", ВыбраннаяСтрока);
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("РасписаниеРаботы", РасписаниеРаботы(КонтекстВыбора.НомерДня));
|
||||
ПараметрыФормы.Вставить("ТолькоПросмотр", ТолькоПросмотр);
|
||||
|
||||
ОткрытьФорму("Справочник.Календари.Форма.РасписаниеРаботы", ПараметрыФормы, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ШаблонЗаполненияДеньВключенВГрафикПриИзменении(Элемент)
|
||||
Процедура УчитыватьНерабочиеПериодыПриИзменении(Элемент)
|
||||
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Ложь);
|
||||
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Истина);
|
||||
@@ -320,17 +190,7 @@
|
||||
Процедура РасписаниеПредпраздничногоДняНажатие(Элемент, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
КонтекстВыбора = Новый Структура;
|
||||
КонтекстВыбора.Вставить("Источник", "РасписаниеПредпраздничногоДняНажатие");
|
||||
КонтекстВыбора.Вставить("НомерДня", 0);
|
||||
КонтекстВыбора.Вставить("ПредставлениеРасписания", РасписаниеПредпраздничногоДня);
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("РасписаниеРаботы", РасписаниеРаботы(КонтекстВыбора.НомерДня));
|
||||
ПараметрыФормы.Вставить("ТолькоПросмотр", ТолькоПросмотр);
|
||||
|
||||
ОткрытьФорму("Справочник.Календари.Форма.РасписаниеРаботы", ПараметрыФормы, ЭтотОбъект);
|
||||
НачатьЗаполнениеРасписанияДня(0);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -422,8 +282,89 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыШаблонЗаполнения
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ШаблонЗаполненияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
|
||||
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
СтрокаШаблона = Объект.ШаблонЗаполнения.НайтиПоИдентификатору(ВыбраннаяСтрока);
|
||||
НачатьЗаполнениеРасписанияДня(СтрокаШаблона.НомерСтроки, ВыбраннаяСтрока);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ШаблонЗаполненияДеньВключенВГрафикПриИзменении(Элемент)
|
||||
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Ложь);
|
||||
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьПоШаблону(Команда)
|
||||
|
||||
ЗаполнитьПоШаблонуНаСервере();
|
||||
|
||||
Элементы.ГрафикРаботы.Обновить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура РезультатЗаполнения(Команда)
|
||||
|
||||
Элементы.Страницы.ТекущаяСтраница = Элементы.РезультатЗаполненияСтраница;
|
||||
|
||||
Если Не РезультатЗаполненПоШаблону Тогда
|
||||
ЗаполнитьПоШаблонуНаСервере(Истина);
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.ГрафикРаботы.Обновить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НастройкаЗаполнения(Команда)
|
||||
|
||||
Элементы.Страницы.ТекущаяСтраница = Элементы.НастройкаЗаполненияСтраница;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриПолученииДанныхНаСервере(ТекущийОбъект = Неопределено)
|
||||
|
||||
Если ТекущийОбъект = Неопределено Тогда
|
||||
ТекущийОбъект = Объект;
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьЭлементыНастройкиЗаполнения(ЭтотОбъект);
|
||||
|
||||
СформироватьШаблонЗаполнения(
|
||||
ТекущийОбъект.СпособЗаполнения, Объект.ШаблонЗаполнения, ДлинаЦикла, ТекущийОбъект.ДатаОтсчета);
|
||||
|
||||
УточнитьДатуЗаполненности();
|
||||
|
||||
ЗаполнитьПредставлениеРасписания(ЭтотОбъект);
|
||||
|
||||
УстановитьДоступностьУчитыватьНерабочиеПериоды(ЭтотОбъект);
|
||||
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Истина);
|
||||
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Ложь);
|
||||
|
||||
УстановитьДоступностьУчитыватьПраздники(ЭтотОбъект);
|
||||
УстановитьДоступностьРасписанияПредпраздничногоДня(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьУсловноеОформление()
|
||||
|
||||
@@ -586,7 +527,10 @@
|
||||
Если СтрокаРасписания.НомерДня <> НомерДня Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
ПредставлениеИнтервала = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("%1-%2, ", Формат(СтрокаРасписания.ВремяНачала, "ДФ=ЧЧ:мм; ДП="), Формат(СтрокаРасписания.ВремяОкончания, "ДФ=ЧЧ:мм; ДП="));
|
||||
ПредставлениеИнтервала = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
"%1-%2, ",
|
||||
ПредставлениеВремениСуток(СтрокаРасписания.ВремяНачала),
|
||||
ПредставлениеВремениСуток(СтрокаРасписания.ВремяОкончания));
|
||||
ПредставлениеИнтервалов = ПредставлениеИнтервалов + ПредставлениеИнтервала;
|
||||
Если Не ЗначениеЗаполнено(СтрокаРасписания.ВремяОкончания) Тогда
|
||||
СекундИнтервала = КонецДня(СтрокаРасписания.ВремяОкончания) - СтрокаРасписания.ВремяНачала + 1;
|
||||
@@ -607,6 +551,17 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ПредставлениеВремениСуток(Знач ВремяСуток)
|
||||
|
||||
Если Не ЗначениеЗаполнено(ВремяСуток) Тогда
|
||||
ВремяСуток = Дата(1980, 1, 1);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Формат(ВремяСуток, НСтр("ru = 'ДФ=ЧЧ:мм'"));
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Функция РасписаниеРаботы(НомерДня)
|
||||
|
||||
@@ -639,6 +594,38 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура УстановитьДоступностьУчитыватьНерабочиеПериоды(Форма)
|
||||
|
||||
Элементы = Форма.Элементы;
|
||||
Объект = Форма.Объект;
|
||||
|
||||
Элементы.УчитыватьНерабочиеПериодыГруппа.Видимость = Ложь;
|
||||
Если Не ЗначениеЗаполнено(Объект.ПроизводственныйКалендарь) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Периоды = ПериодыНерабочихДней(Объект.ПроизводственныйКалендарь, Объект.ДатаНачала, Объект.ДатаОкончания);
|
||||
Если Периоды.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Элементы.УчитыватьНерабочиеПериодыГруппа.Видимость = Истина;
|
||||
|
||||
Пояснение = "";
|
||||
Для Каждого ОписаниеПериода Из Периоды Цикл
|
||||
Пояснение = Пояснение + ?(Не ПустаяСтрока(Пояснение), Символы.ПС, "") + ОписаниеПериода.Представление;
|
||||
КонецЦикла;
|
||||
Элементы.НерабочиеПериодыИнформация.Заголовок = Пояснение;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервереБезКонтекста
|
||||
Функция ПериодыНерабочихДней(ПроизводственныйКалендарь, ДатаНачала, ДатаОкончания)
|
||||
Возврат КалендарныеГрафики.ПериодыНерабочихДней(
|
||||
ПроизводственныйКалендарь, Новый СтандартныйПериод(ДатаНачала, ДатаОкончания));
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура УточнитьДатуЗаполненности()
|
||||
|
||||
@@ -700,14 +687,16 @@
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьПоШаблонуНаСервере(СохранятьРучноеРедактирование = Ложь)
|
||||
|
||||
ПараметрыЗаполнения = РегистрыСведений.КалендарныеГрафики.ПараметрыЗаполненияГрафика();
|
||||
ПараметрыЗаполнения.СпособЗаполнения = Объект.СпособЗаполнения;
|
||||
ПараметрыЗаполнения.ШаблонЗаполнения = Объект.ШаблонЗаполнения;
|
||||
ПараметрыЗаполнения.ПроизводственныйКалендарь = Объект.ПроизводственныйКалендарь;
|
||||
ПараметрыЗаполнения.УчитыватьПраздники = Объект.УчитыватьПраздники;
|
||||
ПараметрыЗаполнения.УчитыватьНерабочиеПериоды = Объект.УчитыватьНерабочиеПериоды;
|
||||
ПараметрыЗаполнения.ДатаОтсчета = Объект.ДатаОтсчета;
|
||||
|
||||
ДниВключенныеВГрафик = РегистрыСведений.КалендарныеГрафики.ДниВключенныеВГрафик(
|
||||
Объект.ДатаНачала,
|
||||
Объект.СпособЗаполнения,
|
||||
Объект.ШаблонЗаполнения,
|
||||
Объект.ДатаОкончания,
|
||||
Объект.ПроизводственныйКалендарь,
|
||||
Объект.УчитыватьПраздники,
|
||||
Объект.ДатаОтсчета);
|
||||
Объект.ДатаНачала, Объект.ДатаОкончания, ПараметрыЗаполнения);
|
||||
|
||||
Если РучноеРедактирование Тогда
|
||||
Если СохранятьРучноеРедактирование Тогда
|
||||
@@ -747,7 +736,10 @@
|
||||
|
||||
ДниГрафика = Новый ФиксированноеСоответствие(ДниГрафикаСоответствие);
|
||||
|
||||
Если Не РезультатЗаполненПоШаблону Тогда
|
||||
УстановитьСнятьМодифицированностьРезультата(ЭтотОбъект, Истина);
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Истина);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -771,14 +763,15 @@
|
||||
|
||||
// Если нет ручных корректировок и данных тоже нет, то формируем результат по шаблону за выбранный год.
|
||||
Если ДниГрафика.Количество() = 0 И ДниИзмененные.Количество() = 0 Тогда
|
||||
ПараметрыЗаполнения = РегистрыСведений.КалендарныеГрафики.ПараметрыЗаполненияГрафика();
|
||||
ПараметрыЗаполнения.СпособЗаполнения = Объект.СпособЗаполнения;
|
||||
ПараметрыЗаполнения.ШаблонЗаполнения = Объект.ШаблонЗаполнения;
|
||||
ПараметрыЗаполнения.ПроизводственныйКалендарь = Объект.ПроизводственныйКалендарь;
|
||||
ПараметрыЗаполнения.УчитыватьПраздники = Объект.УчитыватьПраздники;
|
||||
ПараметрыЗаполнения.УчитыватьНерабочиеПериоды = Объект.УчитыватьНерабочиеПериоды;
|
||||
ПараметрыЗаполнения.ДатаОтсчета = Объект.ДатаОтсчета;
|
||||
ДниВключенныеВГрафик = РегистрыСведений.КалендарныеГрафики.ДниВключенныеВГрафик(
|
||||
Объект.ДатаНачала,
|
||||
Объект.СпособЗаполнения,
|
||||
Объект.ШаблонЗаполнения,
|
||||
Дата(НомерТекущегоГода, 12, 31),
|
||||
Объект.ПроизводственныйКалендарь,
|
||||
Объект.УчитыватьПраздники,
|
||||
Объект.ДатаОтсчета);
|
||||
Объект.ДатаНачала, Дата(НомерТекущегоГода, 12, 31), ПараметрыЗаполнения);
|
||||
ДниГрафика = Новый ФиксированноеСоответствие(ДниВключенныеВГрафик);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -839,8 +832,8 @@
|
||||
&НаСервере
|
||||
Процедура ЗаписатьДанныеГрафикаРаботыНаГод(НомерГода)
|
||||
|
||||
РегистрыСведений.КалендарныеГрафики.ЗаписатьДанныеГрафикаВРегистр(
|
||||
Объект.Ссылка, ДниГрафика, Дата(НомерГода, 1, 1), Дата(НомерГода, 12, 31), Истина);
|
||||
РегистрыСведений.КалендарныеГрафики.ЗаписатьДанныеГрафикаВРегистр(Объект.Ссылка, ДниГрафика, Дата(НомерГода, 1, 1),
|
||||
Дата(НомерГода, 12, 31), Истина);
|
||||
ЗаписатьПризнакРучногоРедактирования(Объект, НомерГода);
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -987,4 +980,76 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Процедура УстановитьДоступностьРасписанияПредпраздничногоДня(Форма)
|
||||
Элементы = Форма.Элементы;
|
||||
Элементы.РасписаниеПредпраздничногоДня.Доступность = Форма.Объект.УчитыватьПраздники;
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Функция ДополнительныеПараметрыЗаполненияРасписанияДня()
|
||||
|
||||
ДополнительныеПараметры = Новый Структура(
|
||||
"НомерДня,
|
||||
|ИдентификаторСтрокиШаблона");
|
||||
Возврат ДополнительныеПараметры;
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаКлиенте
|
||||
Процедура НачатьЗаполнениеРасписанияДня(НомерДня, ИдентификаторСтрокиШаблона = Неопределено)
|
||||
|
||||
КонтекстВыбора = ДополнительныеПараметрыЗаполненияРасписанияДня();
|
||||
КонтекстВыбора.НомерДня = НомерДня;
|
||||
КонтекстВыбора.ИдентификаторСтрокиШаблона = ИдентификаторСтрокиШаблона;
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("РасписаниеРаботы", РасписаниеРаботы(КонтекстВыбора.НомерДня));
|
||||
ПараметрыФормы.Вставить("ТолькоПросмотр", ТолькоПросмотр);
|
||||
|
||||
ОбработчикЗакрытия = Новый ОписаниеОповещения("ЗавершитьЗаполнениеРасписанияДня", ЭтотОбъект, КонтекстВыбора);
|
||||
ОткрытьФорму("Справочник.Календари.Форма.РасписаниеРаботы", ПараметрыФормы, ЭтотОбъект, , , , ОбработчикЗакрытия);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗавершитьЗаполнениеРасписанияДня(ВыбранноеЗначение, КонтекстВыбора) Экспорт
|
||||
|
||||
Если ВыбранноеЗначение = Неопределено Или ТолькоПросмотр Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Удаляем ранее заполненное расписания для этого дня.
|
||||
СтрокиДня = Новый Массив;
|
||||
Для Каждого СтрокаРасписания Из Объект.РасписаниеРаботы Цикл
|
||||
Если СтрокаРасписания.НомерДня = КонтекстВыбора.НомерДня Тогда
|
||||
СтрокиДня.Добавить(СтрокаРасписания.ПолучитьИдентификатор());
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
Для Каждого ИдентификаторСтроки Из СтрокиДня Цикл
|
||||
Объект.РасписаниеРаботы.Удалить(Объект.РасписаниеРаботы.НайтиПоИдентификатору(ИдентификаторСтроки));
|
||||
КонецЦикла;
|
||||
|
||||
// Заполняем расписание работы на день.
|
||||
Для Каждого ОписаниеИнтервала Из ВыбранноеЗначение.РасписаниеРаботы Цикл
|
||||
НоваяСтрока = Объект.РасписаниеРаботы.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, ОписаниеИнтервала);
|
||||
НоваяСтрока.НомерДня = КонтекстВыбора.НомерДня;
|
||||
КонецЦикла;
|
||||
|
||||
Если КонтекстВыбора.НомерДня = 0 Тогда
|
||||
РасписаниеПредпраздничногоДня = ПредставлениеРасписанияДня(ЭтотОбъект, 0);
|
||||
КонецЕсли;
|
||||
|
||||
УстановитьСнятьПризнакСоответствияРезультатовШаблону(ЭтотОбъект, Ложь);
|
||||
УстановитьСнятьМодифицированностьШаблона(ЭтотОбъект, Истина);
|
||||
|
||||
Если КонтекстВыбора.ИдентификаторСтрокиШаблона <> Неопределено Тогда
|
||||
СтрокаШаблона = Объект.ШаблонЗаполнения.НайтиПоИдентификатору(КонтекстВыбора.ИдентификаторСтрокиШаблона);
|
||||
СтрокаШаблона.ДеньВключенВГрафик = ВыбранноеЗначение.РасписаниеРаботы.Количество() > 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>
|
||||
@@ -306,25 +327,6 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="6dc05d69-bd54-4e8a-8985-c2ddfa0aaffb">
|
||||
<name>ВладелецГрафика</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Владелец графика</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Служебный реквизит для связи с владельцем графика работы</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="426cbebb-880b-49c5-b046-83c5e071273e">
|
||||
<name>УдалитьВидКалендаря</name>
|
||||
<synonym>
|
||||
@@ -344,6 +346,25 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="6dc05d69-bd54-4e8a-8985-c2ddfa0aaffb">
|
||||
<name>ВладелецГрафика</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Владелец графика</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef</types>
|
||||
</type>
|
||||
<toolTip>
|
||||
<key>ru</key>
|
||||
<value>Служебный реквизит для связи с владельцем графика работы</value>
|
||||
</toolTip>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<tabularSections uuid="ad08b104-01f8-4900-a06c-baa1d55eba84">
|
||||
<producedTypes>
|
||||
<objectType typeId="a46154d6-5130-4e31-a509-dfc89004bf6f" valueTypeId="82efe3db-7415-48e9-952b-6b7c546dba82"/>
|
||||
|
||||
@@ -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>
|
||||
@@ -433,7 +543,7 @@
|
||||
<id>20</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Переносы дней</value>
|
||||
<value>Переносы выходных дней</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
@@ -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 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура БазовыйКалендарьПриИзменении(Элемент)
|
||||
ПрочитатьНерабочиеДаты();
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
@@ -226,6 +234,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ПрочитатьДанныеПроизводственногоКалендаря(СсылкаНаКалендарь, НомерТекущегоГода);
|
||||
ПрочитатьНерабочиеДаты();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -476,20 +485,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ПредставлениеВидаДняПереноса(ВидДня, Дата)
|
||||
|
||||
// Если день является рабочим (или праздником), то в качестве представления выводим название дня недели.
|
||||
|
||||
Если ВидДня = ПредопределенноеЗначение("Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий")
|
||||
Или ВидДня = ПредопределенноеЗначение("Перечисление.ВидыДнейПроизводственногоКалендаря.Праздник") Тогда
|
||||
ВидДня = Формат(Дата, "ДФ='дддд'");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат НРег(Строка(ВидДня));
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура НастроитьПолеКалендаря()
|
||||
|
||||
@@ -628,4 +623,46 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ПрочитатьНерабочиеДаты(ТекущийОбъект = Неопределено)
|
||||
|
||||
Если ТекущийОбъект = Неопределено Тогда
|
||||
ТекущийОбъект = Объект;
|
||||
КонецЕсли;
|
||||
|
||||
Даты = Новый Массив;
|
||||
|
||||
ПроизводственныйКалендарь = ?(ЗначениеЗаполнено(Объект.БазовыйКалендарь),
|
||||
ТекущийОбъект.БазовыйКалендарь, ТекущийОбъект.Ссылка);
|
||||
|
||||
Если ЗначениеЗаполнено(ПроизводственныйКалендарь) Тогда
|
||||
Периоды = КалендарныеГрафики.ПериодыНерабочихДней(
|
||||
ПроизводственныйКалендарь, Новый СтандартныйПериод(Дата(НомерТекущегоГода, 1, 1), Дата(НомерТекущегоГода, 12, 31)));
|
||||
Пояснение = "";
|
||||
Для Каждого ОписаниеПериода Из Периоды Цикл
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Даты, ОписаниеПериода.Даты);
|
||||
Пояснение = Пояснение + ?(Не ПустаяСтрока(Пояснение), Символы.ПС, "") + ОписаниеПериода.Представление;
|
||||
КонецЦикла;
|
||||
Элементы.НерабочиеПериодыТекст.Заголовок = Пояснение;
|
||||
КонецЕсли;
|
||||
|
||||
НерабочиеДаты = Новый ФиксированныйМассив(Даты);
|
||||
Элементы.НерабочиеПериодыГруппа.Видимость = НерабочиеДаты.Количество() > 0;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиентеНаСервереБезКонтекста
|
||||
Функция ПредставлениеВидаДняПереноса(ВидДня, Дата)
|
||||
|
||||
// Если день является рабочим (или праздником), то в качестве представления выводим название дня недели.
|
||||
|
||||
Если ВидДня = ПредопределенноеЗначение("Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий")
|
||||
Или ВидДня = ПредопределенноеЗначение("Перечисление.ВидыДнейПроизводственногоКалендаря.Праздник") Тогда
|
||||
ВидДня = Формат(Дата, "ДФ='дддд'");
|
||||
КонецЕсли;
|
||||
|
||||
Возврат НРег(Строка(ВидДня));
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -49,10 +49,15 @@
|
||||
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
|
||||
|
||||
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
|
||||
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'Производственный календарь «%1» на %2 год'"),
|
||||
ПараметрыПечати.ПроизводственныйКалендарь,
|
||||
Формат(ПараметрыПечати.НомерГода, "ЧГ=;"));
|
||||
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
|
||||
МодульУправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
|
||||
КоллекцияПечатныхФорм,
|
||||
"ПроизводственныйКалендарь", НСтр("ru = 'Производственный календарь'"),
|
||||
"ПроизводственныйКалендарь",
|
||||
Заголовок,
|
||||
ПечатнаяФормаПроизводственногоКалендаря(ПараметрыПечати),
|
||||
,
|
||||
"Справочник.ПроизводственныеКалендари.ПФ_MXL_ПроизводственныйКалендарь");
|
||||
@@ -125,7 +130,10 @@
|
||||
| РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
|
||||
|ГДЕ
|
||||
| ДанныеПроизводственногоКалендаря.Год = &ТекущийГод
|
||||
| И ДанныеПроизводственногоКалендаря.ПроизводственныйКалендарь = &ПроизводственныйКалендарь";
|
||||
| И ДанныеПроизводственногоКалендаря.ПроизводственныйКалендарь = &ПроизводственныйКалендарь
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Дата";
|
||||
|
||||
Возврат Запрос.Выполнить().Выгрузить();
|
||||
|
||||
@@ -1028,9 +1036,21 @@
|
||||
ТабличныйДокумент.Вывести(ЗаголовокПечати);
|
||||
|
||||
// Начальные значения, независимо от результата выполнения запроса.
|
||||
РабочееВремя40Год = 0;
|
||||
РабочееВремя36Год = 0;
|
||||
РабочееВремя24Год = 0;
|
||||
ЗаГод = ОписаниеГруппыПоказателей();
|
||||
|
||||
НерабочиеПериоды = КалендарныеГрафики.ПериодыНерабочихДней(
|
||||
ПроизводственныйКалендарь, Новый СтандартныйПериод(Дата(НомерГода, 1, 1), Дата(НомерГода, 12, 31)));
|
||||
НерабочиеДаты = Новый Массив;
|
||||
Представление = "";
|
||||
Для Каждого НерабочийПериод Из НерабочиеПериоды Цикл
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(НерабочиеДаты, НерабочийПериод.Даты);
|
||||
Представление = Представление + ?(ПустаяСтрока(Представление), "", Символы.ПС) + НерабочийПериод.Представление;
|
||||
КонецЦикла;
|
||||
Если НерабочиеПериоды.Количество() > 0 Тогда
|
||||
ОбластьПредупреждения = Макет.ПолучитьОбласть("НерабочиеПериоды");
|
||||
ОбластьПредупреждения.Параметры.Представление = Представление;
|
||||
ТабличныйДокумент.Вывести(ОбластьПредупреждения);
|
||||
КонецЕсли;
|
||||
|
||||
ВидыНерабочихДней = Новый Массив;
|
||||
ВидыНерабочихДней.Добавить(Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота);
|
||||
@@ -1041,12 +1061,18 @@
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.УстановитьПараметр("Год", НомерГода);
|
||||
Запрос.УстановитьПараметр("ПроизводственныйКалендарь", ПроизводственныйКалендарь);
|
||||
Запрос.УстановитьПараметр("НерабочиеДаты", НерабочиеДаты);
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ГОД(ДанныеКалендаря.Дата) КАК ГодКалендаря,
|
||||
| КВАРТАЛ(ДанныеКалендаря.Дата) КАК КварталКалендаря,
|
||||
| МЕСЯЦ(ДанныеКалендаря.Дата) КАК МесяцКалендаря,
|
||||
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ДанныеКалендаря.Дата) КАК КалендарныеДни,
|
||||
| СУММА(ВЫБОР
|
||||
| КОГДА ДанныеКалендаря.Дата В (&НерабочиеДаты)
|
||||
| ТОГДА 1
|
||||
| ИНАЧЕ 0
|
||||
| КОНЕЦ) КАК ДниНерабочихПериодов,
|
||||
| ДанныеКалендаря.ВидДня КАК ВидДня
|
||||
|ИЗ
|
||||
| РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеКалендаря
|
||||
@@ -1072,150 +1098,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 = 'Среднемесячное количество'");
|
||||
ТабличныйДокумент.Присоединить(КолонкаМесяца);
|
||||
|
||||
@@ -1223,6 +1188,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]);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
+187
-39
@@ -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,37 +236,49 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>11</f>
|
||||
<f>13</f>
|
||||
<parameter>РабочееВремя24</parameter>
|
||||
</c>
|
||||
</c>
|
||||
</row>
|
||||
</rowsItem>
|
||||
<rowsItem>
|
||||
<index>7</index>
|
||||
<row>
|
||||
<empty>true</empty>
|
||||
</row>
|
||||
</rowsItem>
|
||||
<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>
|
||||
</row>
|
||||
</rowsItem>
|
||||
<rowsItem>
|
||||
<index>9</index>
|
||||
<row>
|
||||
<empty>true</empty>
|
||||
</row>
|
||||
</rowsItem>
|
||||
<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>
|
||||
@@ -255,13 +289,19 @@
|
||||
</c>
|
||||
</row>
|
||||
</rowsItem>
|
||||
<rowsItem>
|
||||
<index>11</index>
|
||||
<row>
|
||||
<empty>true</empty>
|
||||
</row>
|
||||
</rowsItem>
|
||||
<rowsItem>
|
||||
<index>12</index>
|
||||
<row>
|
||||
<c>
|
||||
<i>1</i>
|
||||
<c>
|
||||
<f>13</f>
|
||||
<f>15</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -278,7 +318,7 @@
|
||||
<c>
|
||||
<i>1</i>
|
||||
<c>
|
||||
<f>17</f>
|
||||
<f>19</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -289,7 +329,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>18</f>
|
||||
<f>20</f>
|
||||
<parameter>ИмяМесяца</parameter>
|
||||
</c>
|
||||
</c>
|
||||
@@ -301,7 +341,7 @@
|
||||
<c>
|
||||
<i>1</i>
|
||||
<c>
|
||||
<f>19</f>
|
||||
<f>21</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -313,7 +353,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>20</f>
|
||||
<f>22</f>
|
||||
<parameter>РабочееВремя40</parameter>
|
||||
</c>
|
||||
</c>
|
||||
@@ -325,7 +365,7 @@
|
||||
<c>
|
||||
<i>1</i>
|
||||
<c>
|
||||
<f>21</f>
|
||||
<f>23</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -336,7 +376,7 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>22</f>
|
||||
<f>24</f>
|
||||
<parameter>РабочееВремя36</parameter>
|
||||
</c>
|
||||
</c>
|
||||
@@ -348,7 +388,7 @@
|
||||
<c>
|
||||
<i>1</i>
|
||||
<c>
|
||||
<f>23</f>
|
||||
<f>25</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
@@ -359,16 +399,72 @@
|
||||
</c>
|
||||
<c>
|
||||
<c>
|
||||
<f>24</f>
|
||||
<f>26</f>
|
||||
<parameter>РабочееВремя24</parameter>
|
||||
</c>
|
||||
</c>
|
||||
</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>0</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>
|
||||
@@ -409,6 +505,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>
|
||||
@@ -429,14 +536,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>
|
||||
@@ -444,7 +563,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>
|
||||
@@ -560,7 +685,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>
|
||||
@@ -390,7 +390,7 @@
|
||||
// чтобы на время обновления производственных календарей, графики были недоступны для изменения пользователем.
|
||||
//
|
||||
// Параметры:
|
||||
// - БлокируемыеОбъекты - массив, имена метаданных блокируемых объектов.
|
||||
// БлокируемыеОбъекты - Массив из Строка - имена метаданных блокируемых объектов.
|
||||
//
|
||||
Процедура ЗаполнитьБлокируемыеОбъектыЗависимыеОтПроизводственныхКалендарей(БлокируемыеОбъекты) Экспорт
|
||||
|
||||
@@ -453,10 +453,20 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИмяПроцедурыУстановкиПризнакаУчитыватьНерабочиеДни() Экспорт
|
||||
|
||||
Возврат "Справочники.Календари.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
|
||||
КонецФункции
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Обработчики событий подсистем конфигурации.
|
||||
|
||||
// См. ОбновлениеИнформационнойБазыБСП.ПриДобавленииОбработчиковОбновления.
|
||||
//
|
||||
// Параметры:
|
||||
// Обработчики - см. ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления
|
||||
//
|
||||
Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт
|
||||
|
||||
Если Метаданные.Обработки.Найти("ЗаполнениеГрафиковРаботы") <> Неопределено Тогда
|
||||
@@ -467,7 +477,7 @@
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "3.0.3.20";
|
||||
Обработчик.Процедура = "РегистрыСведений.КалендарныеГрафики.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.ОчередьОтложеннойОбработки = 1;
|
||||
Обработчик.ОчередьОтложеннойОбработки = 3;
|
||||
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыСведений.КалендарныеГрафики.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.РежимВыполнения = "Отложенно";
|
||||
Обработчик.ЗапускатьИВПодчиненномУзлеРИБСФильтрами = Истина;
|
||||
@@ -482,9 +492,29 @@
|
||||
Приоритет.Процедура = "КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей";
|
||||
Приоритет.Порядок = "После";
|
||||
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = "3.0.3.257";
|
||||
Обработчик.Процедура = "Справочники.Календари.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.ОчередьОтложеннойОбработки = 1;
|
||||
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Справочники.Календари.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
|
||||
Обработчик.РежимВыполнения = "Отложенно";
|
||||
Обработчик.ЗапускатьИВПодчиненномУзлеРИБСФильтрами = Истина;
|
||||
Обработчик.ЧитаемыеОбъекты = "Справочник.Календари";
|
||||
Обработчик.ИзменяемыеОбъекты = "Справочник.Календари";
|
||||
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
|
||||
Обработчик.Идентификатор = Новый УникальныйИдентификатор("fe8c3f3a-8973-4538-a993-ba74fa9162d8");
|
||||
Обработчик.Комментарий = НСтр("ru = 'Установка нового признака «Учитывать нерабочие периоды» в положение по умолчанию.'");
|
||||
Обработчик.БлокируемыеОбъекты = "Справочник.Календари";
|
||||
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
|
||||
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
|
||||
Приоритет.Процедура = "КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей";
|
||||
Приоритет.Порядок = "До";
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// См. ПользователиПереопределяемый.ПриОпределенииНазначенияРолей.
|
||||
// Параметры:
|
||||
// НазначениеРолей - см. ПользователиПереопределяемый.ПриОпределенииНазначенияРолей.НазначениеРолей
|
||||
//
|
||||
Процедура ПриОпределенииНазначенияРолей(НазначениеРолей) Экспорт
|
||||
|
||||
// СовместноДляПользователейИВнешнихПользователей.
|
||||
|
||||
@@ -206,7 +206,8 @@
|
||||
|ВЫБРАТЬ
|
||||
| ДАТАВРЕМЯ(%1)";
|
||||
КонецЕсли;
|
||||
ТекстЗапроса = ТекстЗапроса + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОбъединения, Формат(ДатаГрафика, "ДФ='гггг, ММ, д'"));
|
||||
ТекстЗапроса = ТекстЗапроса + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
ШаблонОбъединения, Формат(ДатаГрафика, "ДФ='гггг, ММ, д'")); // АПК:1367 Форматирование даты в технических целях, не отображается пользователю
|
||||
КонецЦикла;
|
||||
|
||||
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
|
||||
@@ -531,11 +532,46 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Готовит описание особых нерабочих периодов, установленных, например, законодательно.
|
||||
// Такие периоды могут учитываться графиками, переопределяя заполнение по данным производственного календаря.
|
||||
//
|
||||
// Параметры:
|
||||
// ПроизводственныйКалендарь - СправочникСсылка.ПроизводственныеКалендари - календарь, который является источником.
|
||||
// ПериодОтбор - СтандартныйПериод - временной интервал, в пределах которого нужно определить нерабочие периоды.
|
||||
// Возвращаемое значение:
|
||||
// Массив - массив элементов типа Структура с полями:
|
||||
// * Период - СтандартныйПериод - нерабочий период.
|
||||
// * Основание - Строка - нормативный акт, на основании которого установлен нерабочий период.
|
||||
// * Даты - Массив Из Дата - даты, входящие в нерабочий период.
|
||||
// * Представление - Строка - пользовательское представление периода.
|
||||
//
|
||||
Функция ПериодыНерабочихДней(ПроизводственныйКалендарь, ПериодОтбор) Экспорт
|
||||
|
||||
Периоды = Новый Массив;
|
||||
Если Метаданные.Обработки.Найти("ЗаполнениеКалендарныхГрафиков") = Неопределено Тогда
|
||||
Возврат Периоды;
|
||||
КонецЕсли;
|
||||
|
||||
БазовыйКалендарь = Справочники.ПроизводственныеКалендари.БазовыйКалендарь(ПроизводственныйКалендарь);
|
||||
|
||||
МодульКалендарныеГрафики = ОбщегоНазначения.ОбщийМодуль("Обработки.ЗаполнениеКалендарныхГрафиков");
|
||||
Периоды = МодульКалендарныеГрафики.ПериодыНерабочихДней(БазовыйКалендарь, ПериодОтбор);
|
||||
|
||||
УдалитьПериодыНеСоответствующиеОтбору(Периоды, ПериодОтбор);
|
||||
|
||||
Возврат Периоды;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ДляВызоваИзДругихПодсистем
|
||||
|
||||
// ИнтернетПоддержкаПользователей.РаботаСКлассификаторами
|
||||
|
||||
// См. РаботаСКлассификаторамиПереопределяемый.ПриДобавленииКлассификаторов.
|
||||
// Событие возникает при сборе информации о классификаторах, регистрируем производственные календари.
|
||||
//
|
||||
// Параметры:
|
||||
// Классификаторы - см. РаботаСКлассификаторамиПереопределяемый.ПриДобавленииКлассификаторов.Классификаторы
|
||||
//
|
||||
Процедура ПриДобавленииКлассификаторов(Классификаторы) Экспорт
|
||||
|
||||
Описатель = Неопределено;
|
||||
@@ -550,7 +586,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Описатель.Идентификатор = ИдентификаторКлассификатора();
|
||||
Описатель.Наименование = НСтр("ru = 'Производственные календари'");
|
||||
Описатель.Наименование = НСтр("ru = 'Календари'");
|
||||
Описатель.ОбновлятьАвтоматически = Истина;
|
||||
Описатель.ОбщиеДанные = Истина;
|
||||
Описатель.ОбработкаРазделенныхДанных = Истина;
|
||||
@@ -769,7 +805,7 @@
|
||||
// Строка - идентификатор классификатора.
|
||||
//
|
||||
Функция ИдентификаторКлассификатора() Экспорт
|
||||
Возврат "Calendars";
|
||||
Возврат "Calendars20";
|
||||
КонецФункции
|
||||
|
||||
// Определяет версию данных календарей, встроенных в конфигурацию.
|
||||
@@ -937,7 +973,7 @@
|
||||
Обработчик = Обработчики.Добавить();
|
||||
Обработчик.Версия = ВерсияОбновленияДанныхПроизводственныхКалендарей();
|
||||
Обработчик.Процедура = "КалендарныеГрафики.ОбновитьДанныеЗависимыеОтПроизводственныхКалендарей";
|
||||
Обработчик.ОчередьОтложеннойОбработки = 1;
|
||||
Обработчик.ОчередьОтложеннойОбработки = 2;
|
||||
Обработчик.ПроцедураЗаполненияДанныхОбновления = "КалендарныеГрафики.ЗаполнитьДанныеОбновленияДанныхЗависимыхОтПроизводственныхКалендарей";
|
||||
Обработчик.РежимВыполнения = "Отложенно";
|
||||
Обработчик.ЗапускатьИВПодчиненномУзлеРИБСФильтрами = Истина;
|
||||
@@ -953,6 +989,9 @@
|
||||
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
|
||||
Приоритет.Процедура = МодульГрафикиРаботы.ИмяПроцедурыОбновленияГрафиковРаботы();
|
||||
Приоритет.Порядок = "До";
|
||||
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
|
||||
Приоритет.Процедура = МодульГрафикиРаботы.ИмяПроцедурыУстановкиПризнакаУчитыватьНерабочиеДни();
|
||||
Приоритет.Порядок = "После";
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1343,6 +1382,21 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УдалитьПериодыНеСоответствующиеОтбору(Периоды, ПериодОтбор)
|
||||
|
||||
Индекс = 0;
|
||||
Пока Индекс < Периоды.Количество() Цикл
|
||||
ОписаниеПериода = Периоды[Индекс];
|
||||
Если ПериодОтбор.ДатаНачала > ОписаниеПериода.Период.ДатаОкончания
|
||||
Или (ЗначениеЗаполнено(ПериодОтбор.ДатаОкончания) И ПериодОтбор.ДатаОкончания < ОписаниеПериода.Период.ДатаНачала) Тогда
|
||||
Периоды.Удалить(Индекс);
|
||||
Иначе
|
||||
Индекс = Индекс + 1;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Удаляет ошибочно добавленные записи регистра сведений с упоминанием дат, не относящихся к данным годов.
|
||||
//
|
||||
Процедура УдалитьОшибочныеДанныеПроизводственногоКалендаря() Экспорт
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||
|
||||
Описание.Имя = "СтандартныеПодсистемы";
|
||||
Описание.Версия = "3.0.3.249";
|
||||
Описание.Версия = "3.0.3.261";
|
||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
//
|
||||
Процедура ПриПолученииСпискаШаблонов(ШаблоныЗаданий) Экспорт
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет соответствие имен методов их псевдонимам для вызова из очереди заданий.
|
||||
@@ -30,6 +32,8 @@
|
||||
//
|
||||
Процедура ПриОпределенииПсевдонимовОбработчиков(СоответствиеИменПсевдонимам) Экспорт
|
||||
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет соответствие методов обработчиков ошибок псевдонимам методов, при возникновении
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e1c1195d-4146-4b66-9ebb-da8d6329438f">
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="7a21a5f5-11ed-4fc5-bdc4-1a37ac6d6d3d">
|
||||
<name>БиблиотекаСтандартныхПодсистем</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Библиотека стандартных подсистем, редакция 3.0</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="529e0b5b-ddad-4a03-854e-20d6c5b6b2ca"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="337eca97-475b-4c84-a976-b82c3e251f8d"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="0d6c9e8e-0c43-4ad7-b6fa-474892eebfac"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="715850b7-77cc-46fd-a483-4826b3fd6bf2"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="f8897899-1197-4e64-a432-ed886a6654f3"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="213a5eef-b51e-497f-bfc8-70879d37fffb"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="564ab537-9ba4-448c-ae62-299b8fc259e2"/>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="3474b911-cbbe-4790-b0a6-59b6c2d0bb43"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="189eb711-3d2b-493d-952f-b7ceb93931c8"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="f32fab66-483f-4e0c-8b15-aabd7168282f"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="c0413443-4ede-4cb0-9aea-1cdc66099b67"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="009b5f38-f9be-400d-b3c0-a00bb921c632"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="28535fd1-21b9-4bb5-b7e6-20d7da401422"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="fbcdaf2e-b9a7-4a3d-9182-e797a870f7c3"/>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<scriptVariant>Russian</scriptVariant>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||
<vendor>Фирма "1С"</vendor>
|
||||
<version>3.0.3.249</version>
|
||||
<version>3.0.3.261</version>
|
||||
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
@@ -93,6 +93,7 @@
|
||||
<styleItems>StyleItem.МоиВариантыОтчетовЦвет</styleItems>
|
||||
<styleItems>StyleItem.НепринятаяВерсия</styleItems>
|
||||
<styleItems>StyleItem.НеПринятыеКИсполнениюЗадачи</styleItems>
|
||||
<styleItems>StyleItem.НерабочийПериодПроизводственногоКалендаряФон</styleItems>
|
||||
<styleItems>StyleItem.НеСтартованныйБизнесПроцесс</styleItems>
|
||||
<styleItems>StyleItem.ОшибкаПолнотекстовыйПоискФон</styleItems>
|
||||
<styleItems>StyleItem.ПользовательВыбранный</styleItems>
|
||||
|
||||
@@ -1 +1 @@
|
||||
{6,1,1,9c541ce6-df4d-4aef-a1a9-c475416bfb33,1,840a8930-77de-4aa5-9d32-3a980f4b1f7b,"3.0.3.249","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6044,1,0,e1c1195d-4146-4b66-9ebb-da8d6329438f,e1c1195d-4146-4b66-9ebb-da8d6329438f,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,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,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,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,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
|
||||
{6,1,1,839c262c-3051-4aba-b822-190e48d0b69b,1,702fea1e-7f68-4a3c-85d7-74163150ded2,"3.0.3.261","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6046,1,0,7a21a5f5-11ed-4fc5-bdc4-1a37ac6d6d3d,7a21a5f5-11ed-4fc5-bdc4-1a37ac6d6d3d,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,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,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,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,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
Функция ВерсияКалендарей() Экспорт
|
||||
|
||||
Возврат 42;
|
||||
Возврат 1;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -57,7 +57,24 @@
|
||||
|
||||
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
|
||||
|
||||
Возврат "3.0.3.249";
|
||||
Возврат "3.0.3.257";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПериодыНерабочихДней(ДанныеКалендаря, Период) Экспорт
|
||||
|
||||
Периоды = Новый Массив;
|
||||
|
||||
Если СокрЛП(ДанныеКалендаря.Код) = "РФ" Тогда
|
||||
Периоды.Добавить(
|
||||
ОписаниеПериодаНерабочихДней(
|
||||
Дата(2020, 3, 30), Дата(2020, 4, 3), НСтр("ru = 'Указ Президента РФ от 25.03.2020 № 206'")));
|
||||
Периоды.Добавить(
|
||||
ОписаниеПериодаНерабочихДней(
|
||||
Дата(2020, 4, 4), Дата(2020, 4, 30), НСтр("ru = 'Указ Президента РФ от 02.04.2020 № 239'")));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Периоды;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -458,6 +475,27 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеПериодаНерабочихДней(Начало, Окончание, Основание = "")
|
||||
|
||||
ОбщегоНазначенияКлиентСервер.Проверить(Начало <= Окончание, НСтр("ru = 'Начало периода позже его завершения'"));
|
||||
|
||||
ОписаниеПериода = Новый Структура("Период, Основание, Даты, Представление");
|
||||
ОписаниеПериода.Период = Новый СтандартныйПериод(Начало, Окончание);
|
||||
ОписаниеПериода.Основание = Основание;
|
||||
ОписаниеПериода.Даты = Новый Массив;
|
||||
ОписаниеПериода.Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
НСтр("ru = 'с %1 по %2 - %3'"), Формат(Начало, "ДЛФ=D;"), Формат(Окончание, "ДЛФ=D;"), ОписаниеПериода.Основание);
|
||||
|
||||
ДатаОбхода = НачалоДня(Начало);
|
||||
Пока ДатаОбхода <= Окончание Цикл
|
||||
ОписаниеПериода.Даты.Добавить(ДатаОбхода);
|
||||
ДатаОбхода = ДатаОбхода + 86400;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ОписаниеПериода;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
+1
-32
@@ -1018,38 +1018,7 @@
|
||||
<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="20200404" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200405" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200406" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200407" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200408" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200409" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200410" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200411" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200412" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200413" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200414" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200415" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200416" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200417" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200418" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200419" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200420" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200421" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200422" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200423" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200424" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200425" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200426" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200427" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200428" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200429" SwapDate=""/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Нерабочий" Date="20200430" 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"/>
|
||||
<Item Calendar="РФ" Year="2020" DayType="Воскресенье" Date="20200505" SwapDate="20200105"/>
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
|
||||
|
||||
// Исправить включение в график рабочих и предпраздничных дней, выпадающих на субботу и воскресенье.
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
@@ -74,11 +75,11 @@
|
||||
| Календари.СпособЗаполнения КАК СпособЗаполнения,
|
||||
| Календари.ДатаОтсчета КАК ДатаОтсчета,
|
||||
| Календари.УчитыватьПраздники КАК УчитыватьПраздники,
|
||||
| Календари.УчитыватьНерабочиеПериоды КАК УчитыватьНерабочиеПериоды,
|
||||
| Календари.ШаблонЗаполнения.(
|
||||
| Ссылка КАК Ссылка,
|
||||
| НомерСтроки КАК НомерСтроки,
|
||||
| ДеньВключенВГрафик КАК ДеньВключенВГрафик
|
||||
| ) КАК ШаблонЗаполнения
|
||||
| ДеньВключенВГрафик КАК ДеньВключенВГрафик) КАК ШаблонЗаполнения
|
||||
|ИЗ
|
||||
| Справочник.Календари КАК Календари
|
||||
|ГДЕ
|
||||
@@ -120,7 +121,7 @@
|
||||
ОбработкаЗавершена = Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ИмяПроцедуры = "РегистрыСведений.КалендарныеГрафики.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
ИмяПроцедуры = "РегистрСведений.КалендарныеГрафики.ОбработатьДанныеДляПереходаНаНовуюВерсию";
|
||||
|
||||
Если Обработано = 0 И Проблемных <> 0 Тогда
|
||||
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||
@@ -147,14 +148,16 @@
|
||||
КонецГода = Дата(Год, 12, 31);
|
||||
|
||||
РеквизитыГрафика.ШаблонЗаполнения.Сортировать("НомерСтроки");
|
||||
ДниВключенныеВГрафик = ДниВключенныеВГрафик(
|
||||
НачалоГода,
|
||||
РеквизитыГрафика.СпособЗаполнения,
|
||||
РеквизитыГрафика.ШаблонЗаполнения,
|
||||
КонецГода,
|
||||
РеквизитыГрафика.ПроизводственныйКалендарь,
|
||||
РеквизитыГрафика.УчитыватьПраздники,
|
||||
РеквизитыГрафика.ДатаОтсчета);
|
||||
|
||||
ПараметрыЗаполнения = РегистрыСведений.КалендарныеГрафики.ПараметрыЗаполненияГрафика();
|
||||
ПараметрыЗаполнения.СпособЗаполнения = РеквизитыГрафика.СпособЗаполнения;
|
||||
ПараметрыЗаполнения.ШаблонЗаполнения = РеквизитыГрафика.ШаблонЗаполнения;
|
||||
ПараметрыЗаполнения.ПроизводственныйКалендарь = РеквизитыГрафика.ПроизводственныйКалендарь;
|
||||
ПараметрыЗаполнения.УчитыватьПраздники = РеквизитыГрафика.УчитыватьПраздники;
|
||||
ПараметрыЗаполнения.УчитыватьНерабочиеПериоды = РеквизитыГрафика.УчитыватьНерабочиеПериоды;
|
||||
ПараметрыЗаполнения.ДатаОтсчета = РеквизитыГрафика.ДатаОтсчета;
|
||||
ДниВключенныеВГрафик = РегистрыСведений.КалендарныеГрафики.ДниВключенныеВГрафик(
|
||||
НачалоГода, КонецГода, ПараметрыЗаполнения);
|
||||
|
||||
ЗаписатьДанныеГрафикаВРегистр(ГрафикРаботы, ДниВключенныеВГрафик, НачалоГода, КонецГода);
|
||||
|
||||
@@ -184,14 +187,10 @@
|
||||
|ИЗ
|
||||
| &УсловияОбновления КАК УсловияОбновления
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Календари.Ссылка КАК ГрафикРаботы,
|
||||
| Календари.СпособЗаполнения,
|
||||
| Календари.ПроизводственныйКалендарь,
|
||||
| Календари.ДатаОтсчета,
|
||||
| Календари.УчитыватьПраздники,
|
||||
| Календари.ДатаНачала,
|
||||
| Календари.ДатаОкончания
|
||||
|ПОМЕСТИТЬ ВТГрафикиРаботыЗависимыеОтКалендарей
|
||||
@@ -205,10 +204,7 @@
|
||||
|
|
||||
|ВЫБРАТЬ
|
||||
| Календари.Ссылка,
|
||||
| Календари.СпособЗаполнения,
|
||||
| Календари.ПроизводственныйКалендарь,
|
||||
| Календари.ДатаОтсчета,
|
||||
| Календари.УчитыватьПраздники,
|
||||
| Календари.ДатаНачала,
|
||||
| Календари.ДатаОкончания
|
||||
|ИЗ
|
||||
@@ -216,15 +212,11 @@
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПроизводственныеКалендари КАК ПроизводственныеКалендари
|
||||
| ПО (ПроизводственныеКалендари.Ссылка = Календари.ПроизводственныйКалендарь)
|
||||
| И (Календари.СпособЗаполнения = ЗНАЧЕНИЕ(Перечисление.СпособыЗаполненияГрафикаРаботы.ПоЦикламПроизвольнойДлины))
|
||||
| И (Календари.УчитыватьПраздники)
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Календари.ГрафикРаботы,
|
||||
| УсловияОбновления.Год,
|
||||
| Календари.СпособЗаполнения,
|
||||
| Календари.ПроизводственныйКалендарь,
|
||||
| ВЫБОР
|
||||
| КОГДА Календари.ДатаНачала < УсловияОбновления.НачалоГода
|
||||
| ТОГДА УсловияОбновления.НачалоГода
|
||||
@@ -234,9 +226,7 @@
|
||||
| КОГДА Календари.ДатаОкончания > УсловияОбновления.КонецГода
|
||||
| ТОГДА УсловияОбновления.КонецГода
|
||||
| ИНАЧЕ Календари.ДатаОкончания
|
||||
| КОНЕЦ КАК ДатаОкончания,
|
||||
| Календари.ДатаОтсчета,
|
||||
| Календари.УчитыватьПраздники
|
||||
| КОНЕЦ КАК ДатаОкончания
|
||||
|ПОМЕСТИТЬ ВТГрафикиРаботыПоУсловиюОбновления
|
||||
|ИЗ
|
||||
| ВТГрафикиРаботыЗависимыеОтКалендарей КАК Календари
|
||||
@@ -251,16 +241,12 @@
|
||||
|ВЫБРАТЬ
|
||||
| Календари.ГрафикРаботы,
|
||||
| УсловияОбновления.Год,
|
||||
| Календари.СпособЗаполнения,
|
||||
| Календари.ПроизводственныйКалендарь,
|
||||
| ВЫБОР
|
||||
| КОГДА Календари.ДатаНачала < УсловияОбновления.НачалоГода
|
||||
| ТОГДА УсловияОбновления.НачалоГода
|
||||
| ИНАЧЕ Календари.ДатаНачала
|
||||
| КОНЕЦ,
|
||||
| УсловияОбновления.КонецГода,
|
||||
| Календари.ДатаОтсчета,
|
||||
| Календари.УчитыватьПраздники
|
||||
| УсловияОбновления.КонецГода
|
||||
|ИЗ
|
||||
| ВТГрафикиРаботыЗависимыеОтКалендарей КАК Календари
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ УсловияОбновления КАК УсловияОбновления
|
||||
@@ -268,17 +254,12 @@
|
||||
| И Календари.ДатаНачала <= УсловияОбновления.КонецГода
|
||||
| И (Календари.ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1))
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| Календари.ГрафикРаботы,
|
||||
| Календари.Год,
|
||||
| Календари.СпособЗаполнения,
|
||||
| Календари.ПроизводственныйКалендарь,
|
||||
| Календари.ДатаНачала,
|
||||
| Календари.ДатаОкончания,
|
||||
| Календари.ДатаОтсчета,
|
||||
| Календари.УчитыватьПраздники
|
||||
| Календари.ДатаОкончания
|
||||
|ПОМЕСТИТЬ ВТОбновляемыеГрафикиРаботы
|
||||
|ИЗ
|
||||
| ВТГрафикиРаботыПоУсловиюОбновления КАК Календари
|
||||
@@ -288,25 +269,25 @@
|
||||
|ГДЕ
|
||||
| РучныеИзмененияПоВсемГодам.ГрафикРаботы ЕСТЬ NULL
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ОбновляемыеГрафикиРаботы.ГрафикРаботы,
|
||||
| ОбновляемыеГрафикиРаботы.Год,
|
||||
| ОбновляемыеГрафикиРаботы.СпособЗаполнения,
|
||||
| ОбновляемыеГрафикиРаботы.ПроизводственныйКалендарь,
|
||||
| ПараметрыЗаполнения.СпособЗаполнения,
|
||||
| ПараметрыЗаполнения.ПроизводственныйКалендарь,
|
||||
| ОбновляемыеГрафикиРаботы.ДатаНачала,
|
||||
| ОбновляемыеГрафикиРаботы.ДатаОкончания,
|
||||
| ОбновляемыеГрафикиРаботы.ДатаОтсчета,
|
||||
| ОбновляемыеГрафикиРаботы.УчитыватьПраздники
|
||||
| ПараметрыЗаполнения.ДатаОтсчета,
|
||||
| ПараметрыЗаполнения.УчитыватьПраздники,
|
||||
| ПараметрыЗаполнения.УчитыватьНерабочиеПериоды
|
||||
|ИЗ
|
||||
| ВТОбновляемыеГрафикиРаботы КАК ОбновляемыеГрафикиРаботы
|
||||
|
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Календари ПараметрыЗаполнения
|
||||
| ПО ПараметрыЗаполнения.Ссылка = ОбновляемыеГрафикиРаботы.ГрафикРаботы
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| ОбновляемыеГрафикиРаботы.ГрафикРаботы,
|
||||
| ОбновляемыеГрафикиРаботы.Год
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ШаблонЗаполнения.Ссылка КАК ГрафикРаботы,
|
||||
@@ -320,7 +301,6 @@
|
||||
| ВТОбновляемыеГрафикиРаботы.ГрафикРаботы
|
||||
| ИЗ
|
||||
| ВТОбновляемыеГрафикиРаботы)
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| ГрафикРаботы,
|
||||
| НомерСтроки";
|
||||
@@ -328,7 +308,7 @@
|
||||
Запрос = Новый Запрос(ТекстЗапроса);
|
||||
Запрос.УстановитьПараметр("УсловияОбновления", УсловияОбновления);
|
||||
|
||||
РезультатыЗапроса = Запрос.ВыполнитьПакет();
|
||||
РезультатыЗапроса = Запрос.ВыполнитьПакет(); // Массив Из РезультатЗапроса
|
||||
ВыборкаПоГрафикам = РезультатыЗапроса[РезультатыЗапроса.ВГраница() - 1].Выбрать();
|
||||
ВыборкаПоШаблону = РезультатыЗапроса[РезультатыЗапроса.ВГраница()].Выбрать();
|
||||
|
||||
@@ -343,16 +323,17 @@
|
||||
КонецЦикла;
|
||||
Пока ВыборкаПоГрафикам.СледующийПоЗначениюПоля("ДатаНачала") Цикл
|
||||
// Если дата окончания не указана, она будет подобрана по производственному календарю.
|
||||
ДатаОкончанияЗаполнения = ВыборкаПоГрафикам.ДатаОкончания;
|
||||
ДниВключенныеВГрафик = ДниВключенныеВГрафик(
|
||||
ВыборкаПоГрафикам.ДатаНачала,
|
||||
ВыборкаПоГрафикам.СпособЗаполнения,
|
||||
ШаблонЗаполнения,
|
||||
ДатаОкончанияЗаполнения,
|
||||
ВыборкаПоГрафикам.ПроизводственныйКалендарь,
|
||||
ВыборкаПоГрафикам.УчитыватьПраздники,
|
||||
ВыборкаПоГрафикам.ДатаОтсчета);
|
||||
ЗаписатьДанныеГрафикаВРегистр(ВыборкаПоГрафикам.ГрафикРаботы, ДниВключенныеВГрафик, ВыборкаПоГрафикам.ДатаНачала, ДатаОкончанияЗаполнения);
|
||||
ПараметрыЗаполнения = РегистрыСведений.КалендарныеГрафики.ПараметрыЗаполненияГрафика();
|
||||
ПараметрыЗаполнения.СпособЗаполнения = ВыборкаПоГрафикам.СпособЗаполнения;
|
||||
ПараметрыЗаполнения.ШаблонЗаполнения = ШаблонЗаполнения;
|
||||
ПараметрыЗаполнения.ПроизводственныйКалендарь = ВыборкаПоГрафикам.ПроизводственныйКалендарь;
|
||||
ПараметрыЗаполнения.УчитыватьПраздники = ВыборкаПоГрафикам.УчитыватьПраздники;
|
||||
ПараметрыЗаполнения.УчитыватьНерабочиеПериоды = ВыборкаПоГрафикам.УчитыватьНерабочиеПериоды;
|
||||
ПараметрыЗаполнения.ДатаОтсчета = ВыборкаПоГрафикам.ДатаОтсчета;
|
||||
ДниВключенныеВГрафик = РегистрыСведений.КалендарныеГрафики.ДниВключенныеВГрафик(
|
||||
ВыборкаПоГрафикам.ДатаНачала, ВыборкаПоГрафикам.ДатаОкончания, ПараметрыЗаполнения);
|
||||
ЗаписатьДанныеГрафикаВРегистр(
|
||||
ВыборкаПоГрафикам.ГрафикРаботы, ДниВключенныеВГрафик, ВыборкаПоГрафикам.ДатаНачала, ВыборкаПоГрафикам.ДатаОкончания);
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -527,36 +508,58 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Конструктор параметров заполнения графика работы для методов:
|
||||
// ДниВключенныеВГрафик, ДниВключенныеВГрафикПоНеделям, ДниВключенныеВГрафикПроизвольнойДлины.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание:
|
||||
// * ПроизводственныйКалендарь
|
||||
// * СпособЗаполнения
|
||||
// * ШаблонЗаполнения
|
||||
// * УчитыватьПраздники
|
||||
// * УчитыватьНерабочиеПериоды
|
||||
// * НерабочиеПериоды
|
||||
// * ДатаОтсчета
|
||||
Функция ПараметрыЗаполненияГрафика() Экспорт
|
||||
ПараметрыЗаполнения = Новый Структура(
|
||||
"ПроизводственныйКалендарь,
|
||||
|СпособЗаполнения,
|
||||
|ШаблонЗаполнения,
|
||||
|УчитыватьПраздники,
|
||||
|УчитыватьНерабочиеПериоды,
|
||||
|НерабочиеПериоды,
|
||||
|ДатаОтсчета");
|
||||
ПараметрыЗаполнения.СпособЗаполнения = Перечисления.СпособыЗаполненияГрафикаРаботы.ПоНеделям;
|
||||
ПараметрыЗаполнения.НерабочиеПериоды = Новый Массив;
|
||||
Возврат ПараметрыЗаполнения;
|
||||
КонецФункции
|
||||
|
||||
// Составляет коллекцию дат, являющихся рабочими с учетом производственного календаря,
|
||||
// способа заполнения и других настроек.
|
||||
//
|
||||
// Параметры:
|
||||
// - Год - номер года
|
||||
// - ПроизводственныйКалендарь - производственный календарь, по которому определяются дни.
|
||||
// - СпособЗаполнения - способ заполнения.
|
||||
// - ШаблонЗаполнения - шаблон заполнения по дням.
|
||||
// - УчитыватьПраздники - булево, если Истина, то дни, выпадающие на праздники, будут исключаться.
|
||||
// - ДатаНачала - необязательный, указывается только для заполнения по циклам произвольной длины.
|
||||
// ДатаНачала - Дата - Начало заполнения данных.
|
||||
// ДатаОкончания - Дата - Окончание заполнения данных.
|
||||
// ПараметрыЗаполнения - Структура - См. ПараметрыЗаполнения.
|
||||
//
|
||||
// Возвращаемое значение - соответствие, где Ключ - дата, значение массив структур с описанием интервалов времени для
|
||||
// Возвращаемое значение:
|
||||
// Соответствие - где Ключ - дата, значение массив структур с описанием интервалов времени для
|
||||
// указанной даты.
|
||||
//
|
||||
Функция ДниВключенныеВГрафик(ДатаНачала, СпособЗаполнения, ШаблонЗаполнения, ДатаОкончания, ПроизводственныйКалендарь,
|
||||
УчитыватьПраздники, Знач ДатаОтсчета = Неопределено) Экспорт
|
||||
Функция ДниВключенныеВГрафик(ДатаНачала, ДатаОкончания, ПараметрыЗаполнения) Экспорт
|
||||
|
||||
ДниВключенныеВГрафик = Новый Соответствие;
|
||||
|
||||
Если ШаблонЗаполнения.Количество() = 0 Тогда
|
||||
Если ПараметрыЗаполнения.ШаблонЗаполнения.Количество() = 0 Тогда
|
||||
Возврат ДниВключенныеВГрафик;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(ДатаОкончания) Тогда
|
||||
// Если дата окончания не указана, то заполняем до конца года.
|
||||
ДатаОкончания = КонецГода(ДатаНачала);
|
||||
Если ЗначениеЗаполнено(ПроизводственныйКалендарь) Тогда
|
||||
Если ЗначениеЗаполнено(ПараметрыЗаполнения.ПроизводственныйКалендарь) Тогда
|
||||
// Если указан производственный календарь, то заполняем до "конца" его заполненности.
|
||||
ДатаОкончанияЗаполнения = Справочники.ПроизводственныеКалендари.ДатаОкончанияЗаполненияПроизводственногоКалендаря(
|
||||
ПроизводственныйКалендарь);
|
||||
ПараметрыЗаполнения.ПроизводственныйКалендарь);
|
||||
Если ДатаОкончанияЗаполнения <> Неопределено
|
||||
И ДатаОкончанияЗаполнения > ДатаОкончания Тогда
|
||||
ДатаОкончания = ДатаОкончанияЗаполнения;
|
||||
@@ -564,6 +567,11 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ПараметрыЗаполнения.ПроизводственныйКалендарь) Тогда
|
||||
ПараметрыЗаполнения.НерабочиеПериоды = КалендарныеГрафики.ПериодыНерабочихДней(
|
||||
ПараметрыЗаполнения.ПроизводственныйКалендарь, Новый СтандартныйПериод(ДатаНачала, ДатаОкончания));
|
||||
КонецЕсли;
|
||||
|
||||
// Заполнение данных производится по годам.
|
||||
ТекущийГод = Год(ДатаНачала);
|
||||
Пока ТекущийГод <= Год(ДатаОкончания) Цикл
|
||||
@@ -571,12 +579,10 @@
|
||||
ДатаОкончанияВГоду = ДатаОкончания;
|
||||
СкорректироватьДатыНачалаОкончания(ТекущийГод, ДатаНачалаВГоду, ДатаОкончанияВГоду);
|
||||
// Получаем данные графика за год.
|
||||
Если СпособЗаполнения = Перечисления.СпособыЗаполненияГрафикаРаботы.ПоНеделям Тогда
|
||||
ДниЗаГод = ДниВключенныеВГрафикПоНеделям(ТекущийГод, ПроизводственныйКалендарь, ШаблонЗаполнения,
|
||||
УчитыватьПраздники, ДатаНачалаВГоду, ДатаОкончанияВГоду);
|
||||
Если ПараметрыЗаполнения.СпособЗаполнения = Перечисления.СпособыЗаполненияГрафикаРаботы.ПоНеделям Тогда
|
||||
ДниЗаГод = ДниВключенныеВГрафикПоНеделям(ТекущийГод, ПараметрыЗаполнения, ДатаНачалаВГоду, ДатаОкончанияВГоду);
|
||||
Иначе
|
||||
ДниЗаГод = ДниВключенныеВГрафикПроизвольнойДлины(ТекущийГод, ПроизводственныйКалендарь, ШаблонЗаполнения,
|
||||
УчитыватьПраздники, ДатаОтсчета, ДатаНачалаВГоду, ДатаОкончанияВГоду);
|
||||
ДниЗаГод = ДниВключенныеВГрафикПроизвольнойДлины(ТекущийГод, ПараметрыЗаполнения, ДатаНачалаВГоду, ДатаОкончанияВГоду);
|
||||
КонецЕсли;
|
||||
// Дополняем общую коллекцию
|
||||
Для Каждого КлючИЗначение Из ДниЗаГод Цикл
|
||||
@@ -589,17 +595,16 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДниВключенныеВГрафикПоНеделям(Год, ПроизводственныйКалендарь, ШаблонЗаполнения, УчитыватьПраздники,
|
||||
Функция ДниВключенныеВГрафикПоНеделям(Год, ПараметрыЗаполнения,
|
||||
Знач ДатаНачала = Неопределено, Знач ДатаОкончания = Неопределено)
|
||||
|
||||
// Заполнение графика работы по неделям.
|
||||
|
||||
ДниВключенныеВГрафик = Новый Соответствие;
|
||||
|
||||
ЗаполнятьПоПроизводственномуКалендарю = ЗначениеЗаполнено(ПроизводственныйКалендарь);
|
||||
ЗаполнятьПоПроизводственномуКалендарю = ЗначениеЗаполнено(ПараметрыЗаполнения.ПроизводственныйКалендарь);
|
||||
|
||||
ДнейВГоду = ДеньГода(Дата(Год, 12, 31));
|
||||
ДанныеПроизводственногоКалендаря = Справочники.ПроизводственныеКалендари.ДанныеПроизводственногоКалендаря(ПроизводственныйКалендарь, Год);
|
||||
ДанныеПроизводственногоКалендаря = Справочники.ПроизводственныеКалендари.ДанныеПроизводственногоКалендаря(
|
||||
ПараметрыЗаполнения.ПроизводственныйКалендарь, Год);
|
||||
Если ЗаполнятьПоПроизводственномуКалендарю
|
||||
И ДанныеПроизводственногоКалендаря.Количество() <> ДнейВГоду Тогда
|
||||
// Если производственный календарь указан, но заполнен неправильно, заполнение по неделям не поддерживается.
|
||||
@@ -611,12 +616,14 @@
|
||||
ДатаДня = ДатаНачала;
|
||||
Пока ДатаДня <= ДатаОкончания Цикл
|
||||
НомерДня = ДеньНедели(ДатаДня);
|
||||
Если ЗаполнятьПоПроизводственномуКалендарю И УчитыватьПраздники Тогда
|
||||
Если ЗаполнятьПоПроизводственномуКалендарю Тогда
|
||||
Если ПараметрыЗаполнения.УчитыватьПраздники Или ПараметрыЗаполнения.НерабочиеПериоды.Количество() > 0 Тогда
|
||||
ДанныеДня = ДанныеПроизводственногоКалендаря.НайтиСтроки(Новый Структура("Дата", ДатаДня))[0];
|
||||
НомерДня = НомерДняШаблона(ДанныеДня);
|
||||
НомерДня = НомерДняШаблона(ДанныеДня, ПараметрыЗаполнения);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Если НомерДня <> Неопределено Тогда
|
||||
СтрокаДня = ШаблонЗаполнения[НомерДня - 1];
|
||||
СтрокаДня = ПараметрыЗаполнения.ШаблонЗаполнения[НомерДня - 1];
|
||||
Если СтрокаДня.ДеньВключенВГрафик Тогда
|
||||
ДниВключенныеВГрафик.Вставить(ДатаДня, Истина);
|
||||
КонецЕсли;
|
||||
@@ -628,14 +635,14 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДниВключенныеВГрафикПроизвольнойДлины(Год, ПроизводственныйКалендарь, ШаблонЗаполнения, УчитыватьПраздники,
|
||||
ДатаОтсчета, Знач ДатаНачала = Неопределено, Знач ДатаОкончания = Неопределено)
|
||||
Функция ДниВключенныеВГрафикПроизвольнойДлины(Год, ПараметрыЗаполнения,
|
||||
Знач ДатаНачала = Неопределено, Знач ДатаОкончания = Неопределено)
|
||||
|
||||
ДниВключенныеВГрафик = Новый Соответствие;
|
||||
|
||||
ДатаДня = ДатаОтсчета;
|
||||
ДатаДня = ПараметрыЗаполнения.ДатаОтсчета;
|
||||
Пока ДатаДня <= ДатаОкончания Цикл
|
||||
Для Каждого СтрокаДня Из ШаблонЗаполнения Цикл
|
||||
Для Каждого СтрокаДня Из ПараметрыЗаполнения.ШаблонЗаполнения Цикл
|
||||
Если СтрокаДня.ДеньВключенВГрафик
|
||||
И ДатаДня >= ДатаНачала Тогда
|
||||
ДниВключенныеВГрафик.Вставить(ДатаДня, Истина);
|
||||
@@ -644,29 +651,51 @@
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
|
||||
Если Не УчитыватьПраздники Тогда
|
||||
Если Не ПараметрыЗаполнения.УчитыватьПраздники И ПараметрыЗаполнения.НерабочиеПериоды.Количество() = 0 Тогда
|
||||
Возврат ДниВключенныеВГрафик;
|
||||
КонецЕсли;
|
||||
|
||||
// Исключаем даты праздничных дней.
|
||||
|
||||
ДанныеПроизводственногоКалендаря = Справочники.ПроизводственныеКалендари.ДанныеПроизводственногоКалендаря(
|
||||
ПроизводственныйКалендарь, Год);
|
||||
ПараметрыЗаполнения.ПроизводственныйКалендарь, Год);
|
||||
Если ДанныеПроизводственногоКалендаря.Количество() = 0 Тогда
|
||||
Возврат ДниВключенныеВГрафик;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыЗаполнения.УчитыватьНерабочиеПериоды Тогда
|
||||
ДанныеПроизводственногоКалендаря.Индексы.Добавить("Дата");
|
||||
Для Каждого НерабочийПериод Из ПараметрыЗаполнения.НерабочиеПериоды Цикл
|
||||
Для Каждого Дата Из НерабочийПериод.Даты Цикл
|
||||
ДниВключенныеВГрафик.Удалить(Дата);
|
||||
КонецЦикла;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыЗаполнения.УчитыватьПраздники Тогда
|
||||
ДанныеПроизводственногоКалендаря.Индексы.Добавить("ВидДня");
|
||||
ОтборСтрок = Новый Структура("ВидДня");
|
||||
ОтборСтрок.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник;
|
||||
ДанныеПраздничныхДней = ДанныеПроизводственногоКалендаря.НайтиСтроки(ОтборСтрок);
|
||||
Для Каждого ДанныеДня Из ДанныеПраздничныхДней Цикл
|
||||
ДниВключенныеВГрафик.Удалить(ДанныеДня.Дата);
|
||||
КонецЦикла;
|
||||
ДатыНерабочихПериодов = Новый Массив;
|
||||
ОтборСтрок.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Нерабочий;
|
||||
ДанныеПраздничныхДней = ДанныеПроизводственногоКалендаря.НайтиСтроки(ОтборСтрок);
|
||||
Для Каждого ДанныеДня Из ДанныеПраздничныхДней Цикл
|
||||
ДниВключенныеВГрафик.Удалить(ДанныеДня.Дата);
|
||||
ДанныеНерабочихДней = ДанныеПроизводственногоКалендаря.НайтиСтроки(ОтборСтрок);
|
||||
Если ДанныеНерабочихДней.Количество() > 0 Тогда
|
||||
Если Не ПараметрыЗаполнения.УчитыватьНерабочиеПериоды Тогда
|
||||
Для Каждого НерабочийПериод Из ПараметрыЗаполнения.НерабочиеПериоды Цикл
|
||||
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(ДатыНерабочихПериодов, НерабочийПериод.Даты);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
Для Каждого ДанныеДня Из ДанныеНерабочихДней Цикл
|
||||
Если ДатыНерабочихПериодов.Найти(ДанныеДня.Дата) = Неопределено Тогда
|
||||
ДниВключенныеВГрафик.Удалить(ДанныеДня.Дата);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ДниВключенныеВГрафик;
|
||||
|
||||
@@ -724,10 +753,20 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НомерДняШаблона(ДанныеДня)
|
||||
Функция НомерДняШаблона(ДанныеДня, ПараметрыЗаполнения)
|
||||
|
||||
Если ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий
|
||||
Или ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный Тогда
|
||||
ВидДня = ДанныеДня.ВидДня;
|
||||
Если ЭтаДатаВНерабочемПериоде(ДанныеДня.Дата, ПараметрыЗаполнения.НерабочиеПериоды) Тогда
|
||||
Если ПараметрыЗаполнения.УчитыватьНерабочиеПериоды Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Нерабочий Тогда
|
||||
ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий
|
||||
Или ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Предпраздничный Тогда
|
||||
ДатаДня = ДанныеДня.Дата;
|
||||
Если ЗначениеЗаполнено(ДанныеДня.ДатаПереноса) Тогда
|
||||
ДатаДня = ДанныеДня.ДатаПереноса;
|
||||
@@ -735,18 +774,34 @@
|
||||
Возврат ДеньНедели(ДатаДня);
|
||||
КонецЕсли;
|
||||
|
||||
Если ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота Тогда
|
||||
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота Тогда
|
||||
Возврат 6;
|
||||
КонецЕсли;
|
||||
|
||||
Если ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье Тогда
|
||||
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье Тогда
|
||||
Возврат 7;
|
||||
КонецЕсли;
|
||||
|
||||
Если ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник
|
||||
Или ДанныеДня.ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Нерабочий Тогда
|
||||
Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник
|
||||
Или ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Нерабочий Тогда
|
||||
Если ПараметрыЗаполнения.УчитыватьПраздники Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ДеньНедели(ДанныеДня.Дата);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтаДатаВНерабочемПериоде(Дата, НерабочиеПериоды)
|
||||
|
||||
Для Каждого НерабочийПериод Из НерабочиеПериоды Цикл
|
||||
Если НерабочийПериод.Даты.Найти(Дата) <> Неопределено Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
@@ -3202,6 +3202,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>DataProcessor.ОценкаПроизводительности.Command.ЭкспортЗамеровПроизводительности</name>
|
||||
<right>
|
||||
@@ -5385,93 +5472,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>Subsystem.СтандартныеПодсистемы.Subsystem.РезервноеКопированиеИБ</name>
|
||||
<right>
|
||||
|
||||
@@ -21,6 +21,37 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<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>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
|
||||
<right>
|
||||
@@ -76,37 +107,6 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<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>Output</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<restrictionTemplate>
|
||||
<name>ДляОбъекта(ПолеОбъекта)</name>
|
||||
<condition>// ДляОбъекта(ПолеОбъекта = "")
|
||||
|
||||
@@ -4280,6 +4280,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>DataProcessor.ОценкаПроизводительности.Command.ЭкспортЗамеровПроизводительности</name>
|
||||
<right>
|
||||
@@ -7058,45 +7097,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>Subsystem.СтандартныеПодсистемы.Subsystem.РезервноеКопированиеИБ</name>
|
||||
<right>
|
||||
|
||||
@@ -3,13 +3,6 @@
|
||||
<setForNewObjects>false</setForNewObjects>
|
||||
<setForAttributesByDefault>true</setForAttributesByDefault>
|
||||
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
|
||||
<right>
|
||||
@@ -41,6 +34,13 @@
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
|
||||
<right>
|
||||
<name>View</name>
|
||||
<value>true</value>
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>DataProcessor.ЖурналРегистрации</name>
|
||||
<right>
|
||||
|
||||
+15
@@ -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>
|
||||
+2
-1
@@ -16,7 +16,6 @@
|
||||
<content>InformationRegister.ДанныеПроизводственногоКалендаря</content>
|
||||
<content>Catalog.ПроизводственныеКалендари</content>
|
||||
<content>Enum.ВидыДнейПроизводственногоКалендаря</content>
|
||||
<content>Enum.УдалитьВидыКалендарей</content>
|
||||
<content>StyleItem.ВидДняПроизводственногоКалендаряВоскресеньеЦвет</content>
|
||||
<content>StyleItem.ВидДняПроизводственногоКалендаряНеУказанЦвет</content>
|
||||
<content>StyleItem.ВидДняПроизводственногоКалендаряПраздникЦвет</content>
|
||||
@@ -28,5 +27,7 @@
|
||||
<content>FunctionalOption.ИспользоватьНесколькоПроизводственныхКалендарей</content>
|
||||
<content>Role.ДобавлениеИзменениеКалендарныхГрафиков</content>
|
||||
<content>DataProcessor.ЗаполнениеКалендарныхГрафиков</content>
|
||||
<content>StyleItem.НерабочийПериодПроизводственногоКалендаряФон</content>
|
||||
<content>Enum.УдалитьВидыКалендарей</content>
|
||||
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
|
||||
</mdclass:Subsystem>
|
||||
Reference in new issue
Block a user