3_1_2_359

This commit is contained in:
Компания 1С committed 2020-04-24 13:39:00 +03:00
1 parent 2dd06e5d05
commit 19da2d0220
75 files changed
+1488 -573

No files matched your search

@@ -450,10 +450,6 @@
</attributes> </attributes>
<attributes> <attributes>
<name>ИтогиИсправления</name> <name>ИтогиИсправления</name>
<title>
<key>ru</key>
<value>Итоги исправления</value>
</title>
<id>3</id> <id>3</id>
<valueType> <valueType>
<types>String</types> <types>String</types>
@@ -1396,7 +1396,8 @@
// * ЗначениеПустойСсылки - СправочникСсылка.ИдентификаторыОбъектовМетаданных - // * ЗначениеПустойСсылки - СправочникСсылка.ИдентификаторыОбъектовМетаданных -
// - СправочникСсылка.ИдентификаторыОбъектовРасширений - // - СправочникСсылка.ИдентификаторыОбъектовРасширений -
// * ХранилищеКлюча - ХранилищеЗначения - // * ХранилищеКлюча - ХранилищеЗначения -
// * НоваяСсылка - СправочникСсылка.ИдентификаторыОбъектовМетаданных, СправочникСсылка.ИдентификаторыОбъектовРасширений - // * НоваяСсылка - СправочникСсылка.ИдентификаторыОбъектовМетаданных,
// СправочникСсылка.ИдентификаторыОбъектовРасширений -
// * ИмяРасширения - Строка - // * ИмяРасширения - Строка -
// * ХешСуммаРасширения - Строка - // * ХешСуммаРасширения - Строка -
// * КлючОбъектаМетаданных - ХранилищеЗначения - // * КлючОбъектаМетаданных - ХранилищеЗначения -
@@ -1217,6 +1217,12 @@
<value></value> <value></value>
</code> </code>
</items> </items>
<items id="6e19c877-8395-49d3-a4fe-7c12c531ad11">
<name>РегистрСведенийПериодыНерабочихДнейКалендаря</name>
<code xsi:type="core:StringValue">
<value></value>
</code>
</items>
</predefined> </predefined>
<predefinedDataUpdate>DontAutoUpdate</predefinedDataUpdate> <predefinedDataUpdate>DontAutoUpdate</predefinedDataUpdate>
<editType>InDialog</editType> <editType>InDialog</editType>
@@ -236,6 +236,109 @@
КонецФункции КонецФункции
Функция ОбновитьПериодыНерабочихДней(ТаблицаПериодов) Экспорт
ТаблицаИзменений = ТаблицаИзмененийПроизводственныхКалендарей();
// АПК:96 -выкл результат должен содержать уникальные значения
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТаблицаПериодов", ТаблицаПериодов);
Запрос.Текст =
"ВЫБРАТЬ
| КлассификаторТаблица.КодПроизводственногоКалендаря КАК КалендарьКод,
| КлассификаторТаблица.НомерПериода КАК НомерПериода,
| КлассификаторТаблица.ДатаНачала КАК ДатаНачала,
| КлассификаторТаблица.ДатаОкончания КАК ДатаОкончания,
| КлассификаторТаблица.Основание КАК Основание
|ПОМЕСТИТЬ ВТКлассификаторТаблица
|ИЗ
| &ТаблицаПериодов КАК КлассификаторТаблица
|;
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПроизводственныеКалендари.Ссылка КАК ПроизводственныйКалендарь,
| КлассификаторТаблица.КалендарьКод КАК КодПроизводственногоКалендаря
|ПОМЕСТИТЬ ВТИзмененияКалендарей
|ИЗ
| ВТКлассификаторТаблица КАК КлассификаторТаблица
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПроизводственныеКалендари КАК ПроизводственныеКалендари
| ПО КлассификаторТаблица.КалендарьКод = ПроизводственныеКалендари.Код
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПериодыНерабочихДнейКалендаря КАК ПериодыНерабочихДней
| ПО ПроизводственныеКалендари.Ссылка = ПериодыНерабочихДней.ПроизводственныйКалендарь
| И КлассификаторТаблица.НомерПериода = ПериодыНерабочихДней.НомерПериода
| И КлассификаторТаблица.ДатаНачала = ПериодыНерабочихДней.ДатаНачала
| И КлассификаторТаблица.ДатаОкончания = ПериодыНерабочихДней.ДатаОкончания
| И КлассификаторТаблица.Основание = ПериодыНерабочихДней.Основание
|ГДЕ
| ПериодыНерабочихДней.НомерПериода ЕСТЬ NULL
|
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| ПериодыНерабочихДней.ПроизводственныйКалендарь КАК ПроизводственныйКалендарь,
| ПериодыНерабочихДней.ПроизводственныйКалендарь.Код КАК КодПроизводственногоКалендаря
|ИЗ
| РегистрСведений.ПериодыНерабочихДнейКалендаря КАК ПериодыНерабочихДней
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКлассификаторТаблица КАК КлассификаторТаблица
| ПО КлассификаторТаблица.КалендарьКод = ПериодыНерабочихДней.ПроизводственныйКалендарь.Код
| И КлассификаторТаблица.НомерПериода = ПериодыНерабочихДней.НомерПериода
| И КлассификаторТаблица.ДатаНачала = ПериодыНерабочихДней.ДатаНачала
| И КлассификаторТаблица.ДатаОкончания = ПериодыНерабочихДней.ДатаОкончания
| И КлассификаторТаблица.Основание = ПериодыНерабочихДней.Основание
|ГДЕ
| КлассификаторТаблица.НомерПериода ЕСТЬ NULL
|;
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ИзмененияКалендарей.ПроизводственныйКалендарь КАК ПроизводственныйКалендарь,
| ИзмененияКалендарей.КодПроизводственногоКалендаря КАК КодПроизводственногоКалендаря,
| ГОД(КлассификаторТаблица.ДатаНачала) КАК Год,
| КлассификаторТаблица.НомерПериода,
| КлассификаторТаблица.ДатаНачала КАК ДатаНачала,
| КлассификаторТаблица.ДатаОкончания КАК ДатаОкончания,
| КлассификаторТаблица.Основание КАК Основание
|ИЗ
| ВТИзмененияКалендарей КАК ИзмененияКалендарей
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКлассификаторТаблица КАК КлассификаторТаблица
| ПО КлассификаторТаблица.КалендарьКод = ИзмененияКалендарей.КодПроизводственногоКалендаря
|УПОРЯДОЧИТЬ ПО
| ИзмененияКалендарей.ПроизводственныйКалендарь,
| КлассификаторТаблица.НомерПериода";
// АПК:96 -вкл
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировки = БлокировкаДанных.Добавить("РегистрСведений.ПериодыНерабочихДнейКалендаря");
НачатьТранзакцию();
Попытка
БлокировкаДанных.Заблокировать();
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.СледующийПоЗначениюПоля("ПроизводственныйКалендарь") Цикл
НаборЗаписей = РегистрыСведений.ПериодыНерабочихДнейКалендаря.СоздатьНаборЗаписей();
Пока Выборка.Следующий() Цикл
ЗаполнитьЗначенияСвойств(НаборЗаписей.Добавить(), Выборка);
ЗаполнитьЗначенияСвойств(ТаблицаИзменений.Добавить(), Выборка);
КонецЦикла;
НаборЗаписей.Отбор.ПроизводственныйКалендарь.Установить(Выборка.ПроизводственныйКалендарь);
Если ОбновлениеИнформационнойБазы.ЭтоВызовИзОбработчикаОбновления() Тогда
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписей);
Продолжить;
КонецЕсли;
НаборЗаписей.Записать();
КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
ТаблицаИзменений.Свернуть("КодПроизводственногоКалендаря, Год");
Возврат ТаблицаИзменений;
КонецФункции
// Функция подготавливает результат заполнения производственного календаря // Функция подготавливает результат заполнения производственного календаря
// данными по умолчанию. // данными по умолчанию.
// При наличии в конфигурации макета с предопределенными данными // При наличии в конфигурации макета с предопределенными данными
@@ -373,7 +476,7 @@
// ФормироватьПолныйНабор - необязательный, булево, если ложь, то будут сформированы только данные по отклонениям от календаря по умолчанию. // ФормироватьПолныйНабор - необязательный, булево, если ложь, то будут сформированы только данные по отклонениям от календаря по умолчанию.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. ДанныеПроизводственныхКалендарейИзXML. // см. ДанныеПроизводственныхКалендарейИзXML.
// //
Функция ДанныеПроизводственныхКалендарейИзМакета(КодыКалендарей = Неопределено, ФормироватьПолныйНабор = Истина) Экспорт Функция ДанныеПроизводственныхКалендарейИзМакета(КодыКалендарей = Неопределено, ФормироватьПолныйНабор = Истина) Экспорт
@@ -402,11 +505,11 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// ТаблицаЗначений - таблица с колонками: // ТаблицаЗначений - таблица с колонками:
// * КодПроизводственногоКалендаря // * КодПроизводственногоКалендаря
// * ВидДня // * ВидДня
// * Год // * Год
// * Дата // * Дата
// * ДатаПереноса. // * ДатаПереноса.
// //
Функция ДанныеПроизводственныхКалендарейИзXML(Знач ДанныеXML, ТаблицаКалендарей, КодыКалендарей = Неопределено, ФормироватьПолныйНабор = Истина) Экспорт Функция ДанныеПроизводственныхКалендарейИзXML(Знач ДанныеXML, ТаблицаКалендарей, КодыКалендарей = Неопределено, ФормироватьПолныйНабор = Истина) Экспорт
@@ -463,6 +566,53 @@
КонецФункции КонецФункции
Функция ПериодыНерабочихДнейИзXML(Знач ДанныеXML, ТаблицаКалендарей) Экспорт
ТаблицаДанных = НоваяТаблицаПериодовНерабочихДней();
ДанныеМакета = ДанныеXML.Данные;
Для Каждого СтрокаМакета Из ДанныеМакета Цикл
ДобавитьНерабочийПериодВТаблицуИзМакета(ТаблицаДанных.Добавить(), СтрокаМакета);
КодыЗависимыхКалендарей = КодыЗависимыхКалендарей(СтрокаМакета.Calendar, ТаблицаКалендарей);
Для Каждого КодЗависимогоКалендаря Из КодыЗависимыхКалендарей Цикл
Если ДанныеМакета.НайтиСтроки(Новый Структура("Calendar", КодЗависимогоКалендаря)).Количество() <> 0 Тогда
Продолжить;
КонецЕсли;
НоваяСтрока = ТаблицаДанных.Добавить();
ДобавитьНерабочийПериодВТаблицуИзМакета(НоваяСтрока, СтрокаМакета);
НоваяСтрока.КодПроизводственногоКалендаря = КодЗависимогоКалендаря;
КонецЦикла;
КонецЦикла;
ТаблицаДанных.Сортировать("КодПроизводственногоКалендаря, НомерПериода");
Возврат ТаблицаДанных;
КонецФункции
Процедура ДобавитьНерабочийПериодВТаблицуИзМакета(СтрокаТаблицы, СтрокаМакета)
СтрокаТаблицы.КодПроизводственногоКалендаря = СтрокаМакета.Calendar;
СтрокаТаблицы.НомерПериода = Число(СтрокаМакета.Order);
СтрокаТаблицы.ДатаНачала = Дата(СтрокаМакета.StartDate);
СтрокаТаблицы.ДатаОкончания = Дата(СтрокаМакета.EndDate);
СтрокаТаблицы.Основание = СтрокаМакета.Description;
КонецПроцедуры
Функция ПериодыНерабочихДнейИзМакета() Экспорт
Если Метаданные.Обработки.Найти("ЗаполнениеКалендарныхГрафиков") = Неопределено Тогда
Возврат Новый ТаблицаЗначений;
КонецЕсли;
МодульКалендарныеГрафики = ОбщегоНазначения.ОбщийМодуль("Обработки.ЗаполнениеКалендарныхГрафиков");
ТекстовыйДокумент = МодульКалендарныеГрафики.ПолучитьМакет("ПериодыНерабочихДней");
ТаблицаПериодов = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ТекстовыйДокумент.ПолучитьТекст());
ТаблицаКалендарей = ПроизводственныеКалендариИзМакета();
Возврат ПериодыНерабочихДнейИзXML(ТаблицаПериодов, ТаблицаКалендарей);
КонецФункции
// Получает таблицу поставляемых в составе программы производственных календарей. // Получает таблицу поставляемых в составе программы производственных календарей.
// //
// Возвращаемое значение: // Возвращаемое значение:
@@ -690,7 +840,7 @@
// КодыКалендарей - Массив. // КодыКалендарей - Массив.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзXML. // см. Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзXML.
// //
Функция ДанныеПроизводственныхКалендарейПоУмолчанию(КодыКалендарей = Неопределено) Экспорт Функция ДанныеПроизводственныхКалендарейПоУмолчанию(КодыКалендарей = Неопределено) Экспорт
@@ -724,6 +874,26 @@
КонецФункции КонецФункции
Функция ПериодыНерабочихДнейПоУмолчанию() Экспорт
Если КалендарныеГрафики.ВерсияКалендарей() >= КалендарныеГрафики.ВерсияЗагруженныхКалендарей() Тогда
Возврат ПериодыНерабочихДнейИзМакета();
КонецЕсли;
Возврат ПериодыНерабочихДнейИзФайлаКлассификатора();
КонецФункции
Функция ПериодыНерабочихДнейИзФайлаКлассификатора()
ДанныеКлассификатора = КалендарныеГрафики.ДанныеКлассификатора();
Возврат ПериодыНерабочихДнейИзXML(
ДанныеКлассификатора["ПериодыНерабочихДней"],
ДанныеКлассификатора["ПроизводственныеКалендари"].Данные);
КонецФункции
// Создает таблицу значений для описания изменений данных производственных календарей. // Создает таблицу значений для описания изменений данных производственных календарей.
// //
Функция ТаблицаИзмененийПроизводственныхКалендарей() Функция ТаблицаИзмененийПроизводственныхКалендарей()
@@ -882,6 +1052,18 @@
КонецФункции КонецФункции
Функция НоваяТаблицаПериодовНерабочихДней()
ТаблицаДанных = Новый ТаблицаЗначений;
ТаблицаДанных.Колонки.Добавить("КодПроизводственногоКалендаря", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(2)));
ТаблицаДанных.Колонки.Добавить("НомерПериода", Новый ОписаниеТипов("Число"));
ТаблицаДанных.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата"));
ТаблицаДанных.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата"));
ТаблицаДанных.Колонки.Добавить("Основание", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(150)));
Возврат ТаблицаДанных;
КонецФункции
Процедура ЗаполнитьПостоянныеПраздничныеДни(ВидыДней, ПереносыДней, НомерГода, КодКалендаря, КодБазовогоКалендаря = Неопределено) Процедура ЗаполнитьПостоянныеПраздничныеДни(ВидыДней, ПереносыДней, НомерГода, КодКалендаря, КодБазовогоКалендаря = Неопределено)
// Если нет - заполняем праздники и переносы. // Если нет - заполняем праздники и переносы.
@@ -993,6 +1175,11 @@
КонецФункции КонецФункции
Функция КодыЗависимыхКалендарей(КодБазовогоКалендаря, КлассификаторКалендарей)
Возврат ОбщегоНазначения.ВыгрузитьКолонку(
КлассификаторКалендарей.НайтиСтроки(Новый Структура("Base", КодБазовогоКалендаря)), "Code");
КонецФункции
Функция НоваяСтрокаДанныхКалендаряИзКлассификатора(ДанныеКалендаря, СтрокаКлассификатора, Проверять = Ложь, Замещать = Ложь) Функция НоваяСтрокаДанныхКалендаряИзКлассификатора(ДанныеКалендаря, СтрокаКлассификатора, Проверять = Ложь, Замещать = Ложь)
Если Проверять Тогда Если Проверять Тогда
@@ -1283,25 +1470,6 @@
КонецПроцедуры КонецПроцедуры
Функция БазовыйКалендарь(ПроизводственныйКалендарь) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ПроизводственныйКалендарь", ПроизводственныйКалендарь);
Запрос.Текст =
"ВЫБРАТЬ
| ЕСТЬNULL(Базовый.Ссылка, Текущий.Ссылка) КАК Ссылка,
| ЕСТЬNULL(Базовый.Код, Текущий.Код) КАК Код,
| ЕСТЬNULL(Базовый.Наименование, Текущий.Наименование) КАК Наименование
|ИЗ
| Справочник.ПроизводственныеКалендари КАК Текущий
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПроизводственныеКалендари КАК Базовый
| ПО Текущий.БазовыйКалендарь = Базовый.Ссылка
|ГДЕ
| Текущий.Ссылка = &ПроизводственныйКалендарь";
Возврат ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(Запрос.Выполнить().Выгрузить()[0]);
КонецФункции
#КонецОбласти #КонецОбласти
#КонецЕсли #КонецЕсли
@@ -38,6 +38,10 @@
<metadata>InformationRegister.СообщенияОбменаДанными</metadata> <metadata>InformationRegister.СообщенияОбменаДанными</metadata>
<use>DontUse</use> <use>DontUse</use>
</content> </content>
<content>
<metadata>InformationRegister.ПериодыНерабочихДнейКалендаря</metadata>
<use>DontUse</use>
</content>
<content> <content>
<metadata>ScheduledJob.ОбновлениеИндексаППД</metadata> <metadata>ScheduledJob.ОбновлениеИндексаППД</metadata>
<use>DontUse</use> <use>DontUse</use>
@@ -1906,10 +1906,6 @@
</attributes> </attributes>
<attributes> <attributes>
<name>ПоддерживаетсяПередачаБольшихФайлов</name> <name>ПоддерживаетсяПередачаБольшихФайлов</name>
<title>
<key>ru</key>
<value>Поддерживается передача больших файлов</value>
</title>
<id>3</id> <id>3</id>
<valueType> <valueType>
<types>Boolean</types> <types>Boolean</types>
@@ -215,6 +215,8 @@
ПодключитьОбработчикОжидания("ОбновитьТекущуюПечатнуюФорму",0.1,Истина); ПодключитьОбработчикОжидания("ОбновитьТекущуюПечатнуюФорму",0.1,Истина);
КонецЕсли; КонецЕсли;
УправлениеПечатьюКлиентПереопределяемый.ПечатьДокументовОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -6669,9 +6669,9 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - с полями: // Структура - с полями:
// * ЗагружатьИсториюАдресов - Булево - Если Истина, то будет загружена история адресных сведений. По умолчанию, Ложь. // * ЗагружатьИсториюАдресов - Булево - Если Истина, то будет загружена история адресных сведений. По умолчанию, Ложь.
// * ЗагружатьПорциями - Булево - Если Истина, то загрузка будет осуществляться порциями. По умолчанию, Ложь. // * ЗагружатьПорциями - Булево - Если Истина, то загрузка будет осуществляться порциями. По умолчанию, Ложь.
// * ОповещатьОПрогрессе - Булево - Если Истина, то передаваться сообщение о статусе загрузки. По умолчанию, Истина. // * ОповещатьОПрогрессе - Булево - Если Истина, то передаваться сообщение о статусе загрузки. По умолчанию, Истина.
// //
Функция ПараметрыЗагрузкиКлассификатораАдресов() Экспорт Функция ПараметрыЗагрузкиКлассификатораАдресов() Экспорт
@@ -252,7 +252,7 @@
// //
// Параметры: // Параметры:
// Форма - ФормаКлиентскогоПриложения, РасширениеУправляемойФормыДляОбъектов - Форма задачи, где: // Форма - ФормаКлиентскогоПриложения, РасширениеУправляемойФормыДляОбъектов - Форма задачи, где:
// * Объект - ЗадачаОбъект - задача. // * Объект - ЗадачаОбъект - задача.
// //
Процедура ОтменитьПринятиеЗадачиКИсполнению(Форма) Экспорт Процедура ОтменитьПринятиеЗадачиКИсполнению(Форма) Экспорт
@@ -551,9 +551,11 @@
// Ключи структуры тоже являются необязательными. Значение по умолчанию указано в скобках. // Ключи структуры тоже являются необязательными. Значение по умолчанию указано в скобках.
// * ЭлементОтбора - Булево - если Ложь, то сбрасывается настройка "ЭлементОтбораКомпоновкиДанных". // * ЭлементОтбора - Булево - если Ложь, то сбрасывается настройка "ЭлементОтбораКомпоновкиДанных".
// * ЗначениеПараметраНастроек - Булево - если Ложь, то сбрасывается настройка "ЗначениеПараметраНастроекКомпоновкиДанных". // * ЗначениеПараметраНастроек - Булево - если Ложь, то сбрасывается настройка "ЗначениеПараметраНастроекКомпоновкиДанных".
// * ВыбранныеПоля - Булево - признак необходимости сброса настройки "ВыбранныеПоляКомпоновкиДанных" (возвращается из ключа Прочие). // * ВыбранныеПоля - Булево - признак необходимости сброса настройки "ВыбранныеПоляКомпоновкиДанных" (возвращается
// из ключа Прочие).
// * Порядок - Булево - признак необходимости сброса настройки "ПорядокКомпоновкиДанных" (возвращается из ключа Прочие). // * Порядок - Булево - признак необходимости сброса настройки "ПорядокКомпоновкиДанных" (возвращается из ключа Прочие).
// * ЭлементУсловногоОформления - Булево - признак необходимости сброса настройки "ЭлементУсловногоОформленияКомпоновкиДанных" (возвращается из ключа Прочие). // * ЭлементУсловногоОформления - Булево - признак необходимости сброса настройки
// "ЭлементУсловногоОформленияКомпоновкиДанных" (возвращается из ключа Прочие).
// * Прочие - Булево - если Истина, то сбрасываются прочие настройки, не описанные в структуре явно. // * Прочие - Булево - если Истина, то сбрасываются прочие настройки, не описанные в структуре явно.
// //
Процедура СброситьПользовательскиеНастройки(Ключ, ТипыНастроек = Неопределено) Экспорт Процедура СброситьПользовательскиеНастройки(Ключ, ТипыНастроек = Неопределено) Экспорт
@@ -1029,9 +1029,11 @@
Запрос = Новый Запрос(ТекстЗапроса); Запрос = Новый Запрос(ТекстЗапроса);
Выборка = Запрос.Выполнить().Выбрать(); Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() И ЗначениеЗаполнено(Выборка.ТипОбъекта) Цикл Пока Выборка.Следующий() Цикл
ОбъектМетаданных = Метаданные.НайтиПоТипу(Выборка.ТипОбъекта); ОбъектМетаданных = Метаданные.НайтиПоТипу(Выборка.ТипОбъекта);
МодульЦентрМониторинга.ЗаписатьСтатистикуОбъектаКонфигурации("КоличествоВерсийОбъекта." + ОбъектМетаданных.ПолноеИмя(), Выборка.Количество); Если ОбъектМетаданных <> Неопределено Тогда
МодульЦентрМониторинга.ЗаписатьСтатистикуОбъектаКонфигурации("КоличествоВерсийОбъекта." + ОбъектМетаданных.ПолноеИмя(), Выборка.Количество);
КонецЕсли;
КонецЦикла; КонецЦикла;
ТекстЗапроса = ТекстЗапроса =
@@ -359,8 +359,8 @@
// УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - учетная запись, с которой будет отправлено письмо. // УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - учетная запись, с которой будет отправлено письмо.
// Возвращаемое значение: // Возвращаемое значение:
// Структура - Описание: // Структура - Описание:
// * Отправлено - Булево - признак того, что письмо отправлено. // * Отправлено - Булево - признак того, что письмо отправлено.
// * ОписаниеОшибки - Строка - содержит описание ошибки, в случае если письмо отправить не удалось. // * ОписаниеОшибки - Строка - содержит описание ошибки, в случае если письмо отправить не удалось.
// //
Функция СоздатьПисьмо(Сообщение, УчетнаяЗапись) Экспорт Функция СоздатьПисьмо(Сообщение, УчетнаяЗапись) Экспорт
@@ -1817,10 +1817,10 @@
// СтрокаПоиска // СтрокаПоиска
// Возвращаемое значение: // Возвращаемое значение:
// ТаблицаЗначений - содержит колонки: // ТаблицаЗначений - содержит колонки:
// * Контакт - ОпределяемыйТип.КонтактВзаимодействия - найденный контакт. // * Контакт - ОпределяемыйТип.КонтактВзаимодействия - найденный контакт.
// * Наименование - Строка - наименование контакта. // * Наименование - Строка - наименование контакта.
// * НаименованиеВладельца - Строка - наименование владельца контакта. // * НаименованиеВладельца - Строка - наименование владельца контакта.
// * Представление - Строка - адрес электронной почты. // * Представление - Строка - адрес электронной почты.
// //
Функция НайтиКонтактыСАдресами(СтрокаПоиска) Экспорт Функция НайтиКонтактыСАдресами(СтрокаПоиска) Экспорт
@@ -3733,7 +3733,7 @@
// //
// Параметры: // Параметры:
// Форма - ФормаКлиентскогоПриложения - форма для которой выполняется процедура: // Форма - ФормаКлиентскогоПриложения - форма для которой выполняется процедура:
// * Объект - ДокументОбъект.ЭлектронноеПисьмоВходящее - // * Объект - ДокументОбъект.ЭлектронноеПисьмоВходящее -
// - ДокументОбъект.ЭлектронноеПисьмоИсходящее - письмо, для которого устанавливается заголовок. // - ДокументОбъект.ЭлектронноеПисьмоИсходящее - письмо, для которого устанавливается заголовок.
// //
Процедура УстановитьЗаголовокФормыЭлектронногоПисьма(Форма) Экспорт Процедура УстановитьЗаголовокФормыЭлектронногоПисьма(Форма) Экспорт
@@ -65,7 +65,7 @@
// Возвращает таблицу описаний внешних компонент, которые требуется обновлять автоматически с Портала 1С:ИТС. // Возвращает таблицу описаний внешних компонент, которые требуется обновлять автоматически с Портала 1С:ИТС.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. ПолучениеВнешнихКомпонент.ОписаниеВнешнихКомпонент // см. ПолучениеВнешнихКомпонент.ОписаниеВнешнихКомпонент
// подсистемы ПолучениеВнешнихКомпонент Библиотеки интернет-поддержки пользователей (БИП). // подсистемы ПолучениеВнешнихКомпонент Библиотеки интернет-поддержки пользователей (БИП).
// //
Функция АвтоматическиОбновляемыеКомпоненты() Экспорт Функция АвтоматическиОбновляемыеКомпоненты() Экспорт
@@ -362,7 +362,7 @@
// * Версия - Строка, Неопределено - версия компоненты. // * Версия - Строка, Неопределено - версия компоненты.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. РезультатИнформацииОСохраненнойКомпоненте // см. РезультатИнформацииОСохраненнойКомпоненте
// //
Функция ИнформацияОСохраненнойКомпоненте(Идентификатор, Функция ИнформацияОСохраненнойКомпоненте(Идентификатор,
Версия = Неопределено) Экспорт Версия = Неопределено) Экспорт
@@ -13,7 +13,7 @@
// Версия - Строка, Неопределено - // Версия - Строка, Неопределено -
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. ВнешниеКомпонентыСлужебный.ИнформацияОСохраненнойКомпоненте // см. ВнешниеКомпонентыСлужебный.ИнформацияОСохраненнойКомпоненте
// //
Функция ИнформацияОСохраненнойКомпоненте(Идентификатор, Версия = Неопределено) Экспорт Функция ИнформацияОСохраненнойКомпоненте(Идентификатор, Версия = Неопределено) Экспорт
@@ -151,6 +151,139 @@
КонецФункции КонецФункции
// Конструктор параметров получения ближайших к заданным дат, включенных в график.
// См. БлижайшиеРабочиеДаты.
//
// Возвращаемое значение:
// Структура:
// * ПолучатьПредшествующие - Булево - способ получения ближайшей даты:
// если Истина - определяются рабочие даты, предшествующие переданным в параметре НачальныеДаты,
// если Ложь - получаются ближайшие рабочие даты, следующие за начальными датами.
// Значение по умолчанию - Ложь.
// * ИгнорироватьНезаполненностьГрафика - Булево - если Истина, то в любом случае будет возвращено соответствие.
// Начальные даты, для которых не будет значений из-за незаполненности графика, включены не будут.
// Значение по умолчанию - Ложь.
// * ВызыватьИсключение - Булево - вызов исключения в случае не заполненного графика
// если Истина, вызвать исключение, если график не заполнен.
// если Ложь - даты, по которым не удалось определить ближайшую дату, будут просто пропущены.
// Значение по умолчанию - Истина.
//
Функция ПараметрыПолученияБлижайшихДатПоГрафику() Экспорт
Параметры = Новый Структура(
"ПолучатьПредшествующие,
|ИгнорироватьНезаполненностьГрафика,
|ВызыватьИсключение");
Параметры.ПолучатьПредшествующие = Ложь;
Параметры.ИгнорироватьНезаполненностьГрафика = Ложь;
Параметры.ВызыватьИсключение = Истина;
Возврат Параметры;
КонецФункции
// Определяет для каждой даты дату ближайшего к дня, включенного в график.
//
// Параметры:
// ГрафикРаботы - Справочник.Календари.
// НачальныеДаты - Массив Из Дата - даты, относительно которых нужно найти ближайшие.
// ПараметрыПолучения - Структура - см. ПараметрыПолученияБлижайшихДатПоГрафику.
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение
// * Ключ - Дата - начальная дата,
// * Значение - Дата - ближайшая к ней дата, включенная в график.
//
Функция БлижайшиеДатыВключенныеВГрафик(ГрафикРаботы, НачальныеДаты, ПараметрыПолучения = Неопределено) Экспорт
Если ПараметрыПолучения = Неопределено Тогда
ПараметрыПолучения = ПараметрыПолученияБлижайшихДатПоГрафику();
КонецЕсли;
ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(
"ГрафикиРаботы.БлижайшиеДатыВключенныеВГрафик",
"ГрафикРаботы",
ГрафикРаботы,
Тип("СправочникСсылка.Календари"));
ОбщегоНазначенияКлиентСервер.Проверить(
ЗначениеЗаполнено(ГрафикРаботы),
НСтр("ru = 'Не указан график работы.'"),
"ГрафикиРаботы.БлижайшиеДатыВключенныеВГрафик");
ТекстЗапросаВТ = "";
ПерваяЧасть = Истина;
Для Каждого НачальнаяДата Из НачальныеДаты Цикл
Если Не ЗначениеЗаполнено(НачальнаяДата) Тогда
Продолжить;
КонецЕсли;
Если Не ПерваяЧасть Тогда
ТекстЗапросаВТ = ТекстЗапросаВТ + "
|ОБЪЕДИНИТЬ ВСЕ
|";
КонецЕсли;
ТекстЗапросаВТ = ТекстЗапросаВТ + "
|ВЫБРАТЬ
| ДАТАВРЕМЯ(" + Формат(НачальнаяДата, "ДФ=гггг,ММ,дд") + ")";
Если ПерваяЧасть Тогда
ТекстЗапросаВТ = ТекстЗапросаВТ + " КАК Дата
|ПОМЕСТИТЬ ВТНачальныеДаты
|";
КонецЕсли;
ПерваяЧасть = Ложь;
КонецЦикла;
Если ПустаяСтрока(ТекстЗапросаВТ) Тогда
Возврат Новый Соответствие;
КонецЕсли;
Запрос = Новый Запрос(ТекстЗапросаВТ);
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Выполнить();
ТекстЗапроса =
"ВЫБРАТЬ
| НачальныеДаты.Дата,
| МИНИМУМ(ДатыКалендаря.ДатаГрафика) КАК БлижайшаяДата
|ИЗ
| ВТНачальныеДаты КАК НачальныеДаты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КалендарныеГрафики КАК ДатыКалендаря
| ПО (ДатыКалендаря.ДатаГрафика >= НачальныеДаты.Дата)
| И (ДатыКалендаря.Календарь = &График)
| И (ДатыКалендаря.ДеньВключенВГрафик)
|
|СГРУППИРОВАТЬ ПО
| НачальныеДаты.Дата";
Если ПараметрыПолучения.ПолучатьПредшествующие Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "МИНИМУМ(ДатыКалендаря.ДатаГрафика)", "МАКСИМУМ(ДатыКалендаря.ДатаГрафика)");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДатыКалендаря.ДатаГрафика >= НачальныеДаты.Дата", "ДатыКалендаря.ДатаГрафика <= НачальныеДаты.Дата");
КонецЕсли;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("График", ГрафикРаботы);
Выборка = Запрос.Выполнить().Выбрать();
ДатыРабочихДней = Новый Соответствие;
Пока Выборка.Следующий() Цикл
Если ЗначениеЗаполнено(Выборка.БлижайшаяДата) Тогда
ДатыРабочихДней.Вставить(Выборка.Дата, Выборка.БлижайшаяДата);
Иначе
Если ПараметрыПолучения.ИгнорироватьНезаполненностьГрафика Тогда
Продолжить;
КонецЕсли;
Если ПараметрыПолучения.ВызыватьИсключение Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Невозможно определить ближайшую дату, включенную в график, для даты %1,
|возможно, график работы не заполнен.'"),
Формат(Выборка.Дата, "ДЛФ=D"));
Иначе
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат ДатыРабочихДней;
КонецФункции
// Составляет расписания работы для дат, включенных в указанные графики на указанный период. // Составляет расписания работы для дат, включенных в указанные графики на указанный период.
// Если расписание на предпраздничный день не задано, то оно определяется так, как если бы этот день был бы рабочим. // Если расписание на предпраздничный день не задано, то оно определяется так, как если бы этот день был бы рабочим.
// //
@@ -438,26 +571,6 @@
КонецПроцедуры КонецПроцедуры
// Формирует шаблон текста запроса, встраиваемый в методе КалендарныеГрафики.ПолучитьДатыРабочихДней.
//
Функция ШаблонТекстаЗапросаОпределенияБлижайшихДатПоГрафикуРаботы() Экспорт
Возврат
"ВЫБРАТЬ
| НачальныеДаты.Дата,
| %Функция%(ДатыКалендаря.ДатаГрафика) КАК БлижайшаяДата
|ИЗ
| НачальныеДаты КАК НачальныеДаты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КалендарныеГрафики КАК ДатыКалендаря
| ПО (ДатыКалендаря.ДатаГрафика %ЗнакУсловия% НачальныеДаты.Дата)
| И (ДатыКалендаря.Календарь = &График)
| И (ДатыКалендаря.ДеньВключенВГрафик)
|
|СГРУППИРОВАТЬ ПО
| НачальныеДаты.Дата";
КонецФункции
Функция ИмяПроцедурыОбновленияГрафиковРаботы() Экспорт Функция ИмяПроцедурыОбновленияГрафиковРаботы() Экспорт
Возврат "РегистрыСведений.КалендарныеГрафики.ОбработатьДанныеДляПереходаНаНовуюВерсию"; Возврат "РегистрыСведений.КалендарныеГрафики.ОбработатьДанныеДляПереходаНаНовуюВерсию";
@@ -56,8 +56,8 @@
// Возвращает словарь представлений для внешних модулей контейнера. // Возвращает словарь представлений для внешних модулей контейнера.
// //
// Возвращаемое значение - Структура: // Возвращаемое значение - Структура:
// * Именительный - Строка, представление типа внешнего модуля в именительном падеже, // * Именительный - Строка, представление типа внешнего модуля в именительном падеже,
// * Родительный - Строка, представление типа внешнего модуля в родительном падеже. // * Родительный - Строка, представление типа внешнего модуля в родительном падеже.
// //
Функция СловарьКонтейнераВнешнегоМодуля() Экспорт Функция СловарьКонтейнераВнешнегоМодуля() Экспорт
@@ -901,9 +901,9 @@
// ИспользуемаяОбработка - СправочникСсылка.ДополнительныеОтчетыИОбработки. // ИспользуемаяОбработка - СправочникСсылка.ДополнительныеОтчетыИОбработки.
// //
// Возвращаемое значение - Структура: // Возвращаемое значение - Структура:
// * ХранилищеОбработки - ХранилищеЗначения, содержащее ДвоичныеДанные дополнительного отчета // * ХранилищеОбработки - ХранилищеЗначения, содержащее ДвоичныеДанные дополнительного отчета
// или обработки, // или обработки,
// * БезопасныйРежим - Булево, флаг подключения обработки в безопасном режиме. // * БезопасныйРежим - Булево, флаг подключения обработки в безопасном режиме.
// //
Функция ПараметрыПодключенияИспользуемойОбработки(Знач ИспользуемаяОбработка) Экспорт Функция ПараметрыПодключенияИспользуемойОбработки(Знач ИспользуемаяОбработка) Экспорт
@@ -16,7 +16,7 @@
// ПараметрыМетода - Структура - новые настройки (см. функцию НастройкиСкрытияПерсональныхДанныхСистемы). // ПараметрыМетода - Структура - новые настройки (см. функцию НастройкиСкрытияПерсональныхДанныхСистемы).
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. возвращаемое значение функции ДлительныеОперации.ВыполнитьВФоне. // см. возвращаемое значение функции ДлительныеОперации.ВыполнитьВФоне.
// //
Функция ЗапуститьИзменениеНастроекСкрытияПДнВФоновомЗадании(Знач ИдентификаторФормы, Знач ПараметрыМетода) Экспорт Функция ЗапуститьИзменениеНастроекСкрытияПДнВФоновомЗадании(Знач ИдентификаторФормы, Знач ПараметрыМетода) Экспорт
@@ -185,8 +185,8 @@
// Возвращаемое значение: // Возвращаемое значение:
// Структура - Описание: // Структура - Описание:
// * ДоступностьЭлементов - Соответствие - // * ДоступностьЭлементов - Соответствие -
// * Форма - ФормаКлиентскогоПриложения - // * Форма - ФормаКлиентскогоПриложения -
// //
Функция ДополнительныеПараметрыИзмененияНастроекСкрытияПерсональныхДанных(Форма, ДоступностьЭлементов) Функция ДополнительныеПараметрыИзмененияНастроекСкрытияПерсональныхДанных(Форма, ДоступностьЭлементов)
ДополнительныеПараметры = Новый Структура; ДополнительныеПараметры = Новый Структура;
@@ -331,94 +331,121 @@
КонецФункции КонецФункции
// Конструктор параметров получения ближайших рабочих дат по календарю.
// См. БлижайшиеРабочиеДаты.
//
// Возвращаемое значение:
// Структура:
// * ПолучатьПредшествующие - Булево - способ получения ближайшей даты:
// если Истина - определяются рабочие даты, предшествующие переданным в параметре НачальныеДаты,
// если Ложь - получаются ближайшие рабочие даты, следующие за начальными датами.
// Значение по умолчанию - Ложь.
// * УчитыватьНерабочиеПериоды - Булево - определяет отношение к датам, выпадающим на периоды нерабочих дней календаря,
// если Истина, даты, выпадающие на период нерабочих дней будут считаться нерабочими,
// если Ложь, периоды нерабочих дней будут игнорироваться.
// Значение по умолчанию - Истина.
// * ВызыватьИсключение - Булево - вызов исключения в случае не заполненного графика
// если Истина, вызвать исключение, если график не заполнен.
// если Ложь - даты, по которым не удалось определить ближайшую дату, будут просто пропущены.
// Значение по умолчанию - Истина.
//
Функция ПараметрыПолученияБлижайшихРабочихДат() Экспорт
Параметры = Новый Структура(
"ПолучатьПредшествующие,
|УчитыватьНерабочиеПериоды,
|ВызыватьИсключение");
Параметры.ПолучатьПредшествующие = Ложь;
Параметры.УчитыватьНерабочиеПериоды = Истина;
Параметры.ВызыватьИсключение = Истина;
Возврат Параметры;
КонецФункции
// Определяет для каждой даты дату ближайшего к ней рабочего дня. // Определяет для каждой даты дату ближайшего к ней рабочего дня.
// //
// Параметры: // Параметры:
// График - СправочникСсылка.Календари, СправочникСсылка.ПроизводственныеКалендари - график или // ПроизводственныйКалендарь - СправочникСсылка.ПроизводственныеКалендари - календарь, используемый для расчета.
// производственный календарь, который необходимо использовать для расчета. // НачальныеДаты - Массив Из Дата - даты, относительно которых будет выполнен поиск ближайших.
// НачальныеДаты - Массив - массив дат (Дата). // ПараметрыПолучения - Структура - см. ПараметрыПолученияБлижайшихРабочихДат.
// ПолучатьПредшествующие - Булево - способ получения ближайшей даты: //
// если Истина - определяются рабочие даты, предшествующие переданным в параметре НачальныеДаты, // Возвращаемое значение:
// если Ложь - получаются даты не ранее начальной даты. // Соответствие Из КлючИЗначение
// ВызыватьИсключение - Булево - если Истина, вызвать исключение в случае незаполненного графика. // * Ключ - Дата - начальная дата,
// ИгнорироватьНезаполненностьГрафика - Булево - если Истина, то в любом случае будет возвращено соответствие. // * Значение - Дата - ближайшая к ней рабочая дата (если передана рабочая дата, то она же и возвращается).
// Начальные даты, для которых не будет значений из-за незаполненности графика, включены не будут.
// //
// Возвращаемое значение: Функция БлижайшиеРабочиеДаты(ПроизводственныйКалендарь, НачальныеДаты, ПараметрыПолучения = Неопределено) Экспорт
// Соответствие, Неопределено - соответствие, где ключ - дата из переданного массива,
// значение - ближайшая к ней рабочая дата (если передана рабочая дата, то она же и возвращается).
// Если выбранный график не заполнен, и ВызыватьИсключение = Ложь, возвращается Неопределено.
//
Функция ДатыБлижайшихРабочихДней(График, НачальныеДаты, ПолучатьПредшествующие = Ложь, ВызыватьИсключение = Истина,
ИгнорироватьНезаполненностьГрафика = Ложь) Экспорт
Если Не ЗначениеЗаполнено(График) Тогда Если ПараметрыПолучения = Неопределено Тогда
Если ВызыватьИсключение Тогда ПараметрыПолучения = ПараметрыПолученияБлижайшихРабочихДат();
ВызватьИсключение НСтр("ru = 'Не указан график работы или производственный календарь.'");
КонецЕсли;
Возврат Неопределено;
КонецЕсли; КонецЕсли;
ТекстЗапросаВТ = ""; ОбщегоНазначенияКлиентСервер.ПроверитьПараметр(
ПерваяЧасть = Истина; "КалендарныеГрафики.БлижайшиеРабочиеДаты",
"ПроизводственныйКалендарь",
ПроизводственныйКалендарь,
Тип("СправочникСсылка.ПроизводственныеКалендари"));
ОбщегоНазначенияКлиентСервер.Проверить(
ЗначениеЗаполнено(ПроизводственныйКалендарь),
НСтр("ru = 'Не указан график или производственный календарь.'"),
"КалендарныеГрафики.БлижайшиеРабочиеДаты");
ТекстыЗапросов = Новый Массив;
Для Каждого НачальнаяДата Из НачальныеДаты Цикл Для Каждого НачальнаяДата Из НачальныеДаты Цикл
Если Не ЗначениеЗаполнено(НачальнаяДата) Тогда Если Не ЗначениеЗаполнено(НачальнаяДата) Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Если Не ПерваяЧасть Тогда ТекстЗапроса =
ТекстЗапросаВТ = ТекстЗапросаВТ + " "ВЫБРАТЬ
|ОБЪЕДИНИТЬ ВСЕ | &НачальнаяДата КАК Дата
|"; |ПОМЕСТИТЬ ВТНачальныеДаты";
ТекстЗапроса = СтрЗаменить(
ТекстЗапроса, "&НачальнаяДата", СтрШаблон("ДАТАВРЕМЯ(%1)", Формат(НачальнаяДата, "ДФ=гггг,ММ,дд"))); // АПК:456 Не требует локализации
Если ТекстыЗапросов.Количество() > 0 Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ПОМЕСТИТЬ ВТНачальныеДаты", "");
КонецЕсли; КонецЕсли;
ТекстЗапросаВТ = ТекстЗапросаВТ + " ТекстыЗапросов.Добавить(ТекстЗапроса);
|ВЫБРАТЬ
| ДАТАВРЕМЯ(" + Формат(НачальнаяДата, "ДФ=гггг,ММ,дд") + ")";
Если ПерваяЧасть Тогда
ТекстЗапросаВТ = ТекстЗапросаВТ + " КАК Дата
|ПОМЕСТИТЬ НачальныеДаты
|";
КонецЕсли;
ПерваяЧасть = Ложь;
КонецЦикла; КонецЦикла;
Если ПустаяСтрока(ТекстЗапросаВТ) Тогда ТекстЗапроса = СтрСоединить(ТекстыЗапросов, Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС);
Если ПустаяСтрока(ТекстЗапроса) Тогда
Возврат Новый Соответствие; Возврат Новый Соответствие;
КонецЕсли; КонецЕсли;
Запрос = Новый Запрос(ТекстЗапросаВТ); Запрос = Новый Запрос(ТекстЗапроса);
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Выполнить(); Запрос.Выполнить();
Если ТипЗнч(График) = Тип("СправочникСсылка.ПроизводственныеКалендари") Тогда ТекстЗапроса =
ТекстЗапроса =
"ВЫБРАТЬ "ВЫБРАТЬ
| НачальныеДаты.Дата, | НачальныеДаты.Дата,
| %Функция%(ДатыКалендаря.Дата) КАК БлижайшаяДата | МИНИМУМ(ДатыКалендаря.Дата) КАК БлижайшаяДата
|ИЗ |ИЗ
| НачальныеДаты КАК НачальныеДаты | ВТНачальныеДаты КАК НачальныеДаты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДатыКалендаря | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДатыКалендаря
| ПО (ДатыКалендаря.Дата %ЗнакУсловия% НачальныеДаты.Дата) | ПО ДатыКалендаря.Дата >= НачальныеДаты.Дата
| И (ДатыКалендаря.ПроизводственныйКалендарь = &График) | И ДатыКалендаря.ПроизводственныйКалендарь = &ПроизводственныйКалендарь
| И (ДатыКалендаря.ВидДня В ( | И ДатыКалендаря.ВидДня В (ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий),
| ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий), | ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный))
| ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный) | И ДатыКалендаря.Дата НЕ В (&НерабочиеДаты)
| ))
|
|СГРУППИРОВАТЬ ПО |СГРУППИРОВАТЬ ПО
| НачальныеДаты.Дата"; | НачальныеДаты.Дата";
Иначе
// По графику работы Если ПараметрыПолучения.ПолучатьПредшествующие Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ГрафикиРаботы") Тогда ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "МИНИМУМ(ДатыКалендаря.Дата)", "МАКСИМУМ(ДатыКалендаря.Дата)");
МодульГрафикиРаботы = ОбщегоНазначения.ОбщийМодуль("ГрафикиРаботы"); ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ДатыКалендаря.Дата >= НачальныеДаты.Дата", "ДатыКалендаря.Дата <= НачальныеДаты.Дата");
ТекстЗапроса = МодульГрафикиРаботы.ШаблонТекстаЗапросаОпределенияБлижайшихДатПоГрафикуРаботы();
КонецЕсли;
КонецЕсли; КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%Функция%", ?(ПолучатьПредшествующие, "МАКСИМУМ", "МИНИМУМ"));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%ЗнакУсловия%", ?(ПолучатьПредшествующие, "<=", ">="));
Запрос.Текст = ТекстЗапроса; Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("График", График); Запрос.УстановитьПараметр("ПроизводственныйКалендарь", ПроизводственныйКалендарь);
НерабочиеДаты = Новый Массив;
Если ПараметрыПолучения.УчитыватьНерабочиеПериоды Тогда
НерабочиеПериоды = ПериодыНерабочихДней(ПроизводственныйКалендарь, Новый СтандартныйПериод());
Для Каждого Период Из НерабочиеПериоды Цикл
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(НерабочиеДаты, Период.Даты);
КонецЦикла;
КонецЕсли;
Запрос.УстановитьПараметр("НерабочиеДаты", НерабочиеДаты);
Выборка = Запрос.Выполнить().Выбрать(); Выборка = Запрос.Выполнить().Выбрать();
@@ -427,14 +454,11 @@
Если ЗначениеЗаполнено(Выборка.БлижайшаяДата) Тогда Если ЗначениеЗаполнено(Выборка.БлижайшаяДата) Тогда
ДатыРабочихДней.Вставить(Выборка.Дата, Выборка.БлижайшаяДата); ДатыРабочихДней.Вставить(Выборка.Дата, Выборка.БлижайшаяДата);
Иначе Иначе
Если ИгнорироватьНезаполненностьГрафика Тогда Если ПараметрыПолучения.ВызыватьИсключение Тогда
Продолжить; ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
КонецЕсли; НСтр("ru = 'Невозможно определить ближайшую рабочую дату для даты %1,
Если ВызыватьИсключение Тогда |возможно, производственный календарь не заполнен.'"),
ТекстСообщения = НСтр("ru = 'Невозможно определить ближайшую рабочую дату для даты %1, возможно, график работы не заполнен.'"); Формат(Выборка.Дата, "ДЛФ=D"));
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Формат(Выборка.Дата, "ДЛФ=D"));
Иначе
Возврат Неопределено;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -550,12 +574,10 @@
Периоды = Новый Массив; Периоды = Новый Массив;
Если Метаданные.Обработки.Найти("ЗаполнениеКалендарныхГрафиков") = Неопределено Тогда Если Метаданные.Обработки.Найти("ЗаполнениеКалендарныхГрафиков") = Неопределено Тогда
Возврат Периоды; Возврат Периоды;
КонецЕсли; КонецЕсли;
БазовыйКалендарь = Справочники.ПроизводственныеКалендари.БазовыйКалендарь(ПроизводственныйКалендарь);
МодульКалендарныеГрафики = ОбщегоНазначения.ОбщийМодуль("Обработки.ЗаполнениеКалендарныхГрафиков"); МодульКалендарныеГрафики = ОбщегоНазначения.ОбщийМодуль("Обработки.ЗаполнениеКалендарныхГрафиков");
Периоды = МодульКалендарныеГрафики.ПериодыНерабочихДней(БазовыйКалендарь, ПериодОтбор); Периоды = МодульКалендарныеГрафики.ПериодыНерабочихДней(ПроизводственныйКалендарь, ПериодОтбор);
УдалитьПериодыНеСоответствующиеОтбору(Периоды, ПериодОтбор); УдалитьПериодыНеСоответствующиеОтбору(Периоды, ПериодОтбор);
@@ -611,6 +633,53 @@
#КонецОбласти #КонецОбласти
#Область УстаревшиеПроцедурыИФункции
// Устарела. Следует использовать:
// - КалендарныеГрафики.БлижайшиеРабочиеДаты - для производственного календаря,
// - или ГрафикиРаботы.БлижайшиеДатыВключенныеВГрафик - для графика работы.
// Определяет для каждой даты дату ближайшего к ней рабочего дня.
//
// Параметры:
// График - СправочникСсылка.Календари
// - СправочникСсылка.ПроизводственныеКалендари - график или
// производственный календарь, который необходимо использовать для расчета.
// НачальныеДаты - Массив - массив дат (Дата).
// ПолучатьПредшествующие - Булево - способ получения ближайшей даты:
// если Истина - определяются рабочие даты, предшествующие переданным в параметре НачальныеДаты,
// если Ложь - получаются даты не ранее начальной даты.
// ВызыватьИсключение - Булево - если Истина, вызвать исключение в случае незаполненного графика.
// ИгнорироватьНезаполненностьГрафика - Булево - если Истина, то в любом случае будет возвращено соответствие.
// Начальные даты, для которых не будет значений из-за незаполненности графика, включены не будут.
//
// Возвращаемое значение:
// Соответствие, Неопределено - соответствие, где ключ - дата из переданного массива,
// значение - ближайшая к ней рабочая дата (если передана рабочая дата, то она же и возвращается).
// Если выбранный график не заполнен, и ВызыватьИсключение = Ложь, возвращается Неопределено.
//
Функция ДатыБлижайшихРабочихДней(График, НачальныеДаты, ПолучатьПредшествующие = Ложь, ВызыватьИсключение = Истина,
ИгнорироватьНезаполненностьГрафика = Ложь) Экспорт
Если ТипЗнч(График) <> Тип("СправочникСсылка.ПроизводственныеКалендари") Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ГрафикиРаботы") Тогда
МодульГрафикиРаботы = ОбщегоНазначения.ОбщийМодуль("ГрафикиРаботы");
ПараметрыПолучения = МодульГрафикиРаботы.ПараметрыПолученияБлижайшихДатПоГрафику();
ПараметрыПолучения.ПолучатьПредшествующие = ПолучатьПредшествующие;
ПараметрыПолучения.ВызыватьИсключение = ВызыватьИсключение;
ПараметрыПолучения.ИгнорироватьНезаполненностьГрафика = ИгнорироватьНезаполненностьГрафика;
Возврат МодульГрафикиРаботы.БлижайшиеДатыВключенныеВГрафик(График, НачальныеДаты, ПараметрыПолучения);
КонецЕсли;
КонецЕсли;
ПараметрыПолучения = ПараметрыПолученияБлижайшихРабочихДат();
ПараметрыПолучения.ПолучатьПредшествующие = ПолучатьПредшествующие;
ПараметрыПолучения.ВызыватьИсключение = ВызыватьИсключение;
Возврат БлижайшиеРабочиеДаты(График, НачальныеДаты, ПараметрыПолучения);
КонецФункции
#КонецОбласти
#КонецОбласти #КонецОбласти
#Область СлужебныйПрограммныйИнтерфейс #Область СлужебныйПрограммныйИнтерфейс
@@ -900,7 +969,8 @@
ОбновитьИспользованиеНесколькихПроизводственныхКалендарей(); ОбновитьИспользованиеНесколькихПроизводственныхКалендарей();
ДанныеПроизводственныхКалендарей = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейПоУмолчанию(); ДанныеПроизводственныхКалендарей = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейПоУмолчанию();
ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении(ДанныеПроизводственныхКалендарей); ПериодыНерабочихДней = Справочники.ПроизводственныеКалендари.ПериодыНерабочихДнейПоУмолчанию();
ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении(ДанныеПроизводственныхКалендарей, ПериодыНерабочихДней);
КонецПроцедуры КонецПроцедуры
@@ -951,6 +1021,11 @@
ТаблицаДанных = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзXML(ДанныеXML, ТаблицаКалендарей); ТаблицаДанных = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзXML(ДанныеXML, ТаблицаКалендарей);
ТаблицаИзменений = Справочники.ПроизводственныеКалендари.ОбновитьДанныеПроизводственныхКалендарей(ТаблицаДанных); ТаблицаИзменений = Справочники.ПроизводственныеКалендари.ОбновитьДанныеПроизводственныхКалендарей(ТаблицаДанных);
ПериодыXML = ДанныеКлассификатора["ПериодыНерабочихДней"];
ТаблицаПериодов = Справочники.ПроизводственныеКалендари.ПериодыНерабочихДнейИзXML(ПериодыXML, ТаблицаКалендарей);
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
Справочники.ПроизводственныеКалендари.ОбновитьПериодыНерабочихДней(ТаблицаПериодов), ТаблицаИзменений);
КалендарныеГрафикиПереопределяемый.ПриОбновленииПроизводственныхКалендарей(ТаблицаИзменений); КалендарныеГрафикиПереопределяемый.ПриОбновленииПроизводственныхКалендарей(ТаблицаИзменений);
Если Не ОбщегоНазначения.РазделениеВключено() Тогда Если Не ОбщегоНазначения.РазделениеВключено() Тогда
@@ -970,7 +1045,8 @@
ДанныеКлассификатора = Новый Структура( ДанныеКлассификатора = Новый Структура(
"ПроизводственныеКалендари, "ПроизводственныеКалендари,
|ДанныеПроизводственныхКалендарей"); |ДанныеПроизводственныхКалендарей,
|ПериодыНерабочихДней");
ПутьКФайлу = ПолучитьИмяВременногоФайла(); ПутьКФайлу = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес); // ДвоичныеДанные ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес); // ДвоичныеДанные
@@ -992,6 +1068,13 @@
ДанныеКлассификатора.ДанныеПроизводственныхКалендарей = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ЧтениеXML); ДанныеКлассификатора.ДанныеПроизводственныхКалендарей = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ЧтениеXML);
ЧтениеXML.Прочитать();
ПроверитьКонецЭлемента(ЧтениеXML, "CalendarData");
ЧтениеXML.Прочитать();
ПроверитьНачалоЭлемента(ЧтениеXML, "NonWorkingPeriods");
ДанныеКлассификатора.ПериодыНерабочихДней = ОбщегоНазначения.ПрочитатьXMLВТаблицу(ЧтениеXML);
ЧтениеXML.Закрыть(); ЧтениеXML.Закрыть();
УдалитьФайлы(ПутьКФайлу); УдалитьФайлы(ПутьКФайлу);
@@ -1068,7 +1151,8 @@
ОбновитьИспользованиеНесколькихПроизводственныхКалендарей(); ОбновитьИспользованиеНесколькихПроизводственныхКалендарей();
ДанныеПроизводственныхКалендарей = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзМакета(); ДанныеПроизводственныхКалендарей = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзМакета();
ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении(ДанныеПроизводственныхКалендарей); ПериодыНерабочихДней = Справочники.ПроизводственныеКалендари.ПериодыНерабочихДнейИзМакета();
ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении(ДанныеПроизводственныхКалендарей, ПериодыНерабочихДней);
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда
МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами"); МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами");
@@ -1092,7 +1176,8 @@
КонецЕсли; КонецЕсли;
ДанныеПроизводственныхКалендарей = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзМакета(); ДанныеПроизводственныхКалендарей = Справочники.ПроизводственныеКалендари.ДанныеПроизводственныхКалендарейИзМакета();
ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении(ДанныеПроизводственныхКалендарей); ПериодыНерабочихДней = Справочники.ПроизводственныеКалендари.ПериодыНерабочихДнейИзМакета();
ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении(ДанныеПроизводственныхКалендарей, ПериодыНерабочихДней);
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.РаботаСКлассификаторами") Тогда
МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами"); МодульРаботаСКлассификаторами = ОбщегоНазначения.ОбщийМодуль("РаботаСКлассификаторами");
@@ -1231,9 +1316,12 @@
КонецПроцедуры КонецПроцедуры
Процедура ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении(ТаблицаДанных) Процедура ЗаполнитьДанныеПроизводственныхКалендарейПриОбновлении(ТаблицаДанных, ТаблицаПериодов)
ТаблицаИзменений = Справочники.ПроизводственныеКалендари.ОбновитьДанныеПроизводственныхКалендарей(ТаблицаДанных); ТаблицаИзменений = Справочники.ПроизводственныеКалендари.ОбновитьДанныеПроизводственныхКалендарей(ТаблицаДанных);
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(
Справочники.ПроизводственныеКалендари.ОбновитьПериодыНерабочихДней(ТаблицаПериодов), ТаблицаИзменений);
Если ОбщегоНазначения.РазделениеВключено() Тогда Если ОбщегоНазначения.РазделениеВключено() Тогда
ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей(ТаблицаИзменений); ЗапланироватьОбновлениеДанныхЗависимыхОтПроизводственныхКалендарей(ТаблицаИзменений);
@@ -92,9 +92,15 @@
УсловияОбновления.Свернуть("КодПроизводственногоКалендаря, Год"); УсловияОбновления.Свернуть("КодПроизводственногоКалендаря, Год");
Для каждого ОбластьДанных Из ОбластиДляОбновления Цикл Для каждого ОбластьДанных Из ОбластиДляОбновления Цикл
УстановитьПривилегированныйРежим(Истина); Попытка
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Истина, ОбластьДанных); УстановитьПривилегированныйРежим(Истина);
УстановитьПривилегированныйРежим(Ложь); МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Истина, ОбластьДанных);
УстановитьПривилегированныйРежим(Ложь);
Исключение
// В области может быть установлен монопольный режим, и тогда в область не войдешь.
// Такие области надо пропускать.
Продолжить;
КонецПопытки;
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
КалендарныеГрафики.ЗаполнитьДанныеЗависимыеОтПроизводственныхКалендарей(УсловияОбновления); КалендарныеГрафики.ЗаполнитьДанныеЗависимыеОтПроизводственныхКалендарей(УсловияОбновления);
@@ -106,6 +112,9 @@
УровеньЖурналаРегистрации.Ошибка,,, УровеньЖурналаРегистрации.Ошибка,,,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки; КонецПопытки;
УстановитьПривилегированныйРежим(Истина);
МодульРаботаВМоделиСервиса.УстановитьРазделениеСеанса(Ложь);
УстановитьПривилегированныйРежим(Ложь);
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
@@ -14,7 +14,7 @@
// При обработке результата выполнения функции необходимо учитывать эту особенность. // При обработке результата выполнения функции необходимо учитывать эту особенность.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. НапоминанияПользователяСлужебный.СписокТекущихНапоминанийПользователя // см. НапоминанияПользователяСлужебный.СписокТекущихНапоминанийПользователя
// //
Функция ПолучитьНапоминанияТекущегоПользователя() Экспорт Функция ПолучитьНапоминанияТекущегоПользователя() Экспорт
@@ -142,7 +142,7 @@
// ближайшее напоминание за пределами выборки кэша, то возвращается Неопределено. // ближайшее напоминание за пределами выборки кэша, то возвращается Неопределено.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. НапоминанияПользователяКлиентПовтИсп.ПолучитьНапоминанияТекущегоПользователя // см. НапоминанияПользователяКлиентПовтИсп.ПолучитьНапоминанияТекущегоПользователя
// //
Функция ПолучитьТекущиеОповещения(ВремяБлижайшего = Неопределено) Экспорт Функция ПолучитьТекущиеОповещения(ВремяБлижайшего = Неопределено) Экспорт
@@ -16,7 +16,7 @@
// на клиенте. Такой подход применяется для минимизации серверных вызовов. // на клиенте. Такой подход применяется для минимизации серверных вызовов.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. НапоминанияПользователяСлужебный.СписокТекущихНапоминанийПользователя // см. НапоминанияПользователяСлужебный.СписокТекущихНапоминанийПользователя
// //
Функция ПолучитьНапоминанияТекущегоПользователя() Экспорт Функция ПолучитьНапоминанияТекущегоПользователя() Экспорт
@@ -978,11 +978,11 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - результат формирования временной таблицы: // Структура - результат формирования временной таблицы:
// * ЕстьЗаписиВоВременнойТаблице - Булево - в создаваемой таблице есть хотя бы одна запись. Записей может не быть по // * ЕстьЗаписиВоВременнойТаблице - Булево - в создаваемой таблице есть хотя бы одна запись. Записей может не быть по
// двум причинам // двум причинам
// все обработано или все, что нужно обработать, еще заблокировано обработчиками с меньшей очередью. // все обработано или все, что нужно обработать, еще заблокировано обработчиками с меньшей очередью.
// * ЕстьДанныеДляОбработки - Булево - в очереди есть ссылки для обработки, т.е. еще не все обработано. // * ЕстьДанныеДляОбработки - Булево - в очереди есть ссылки для обработки, т.е. еще не все обработано.
// * ИмяВременнойТаблицы - Строка - имя созданной временной таблицы. // * ИмяВременнойТаблицы - Строка - имя созданной временной таблицы.
// //
Функция СоздатьВременнуюТаблицуРегистраторовРегистраДляОбработки(Очередь, ПолноеИмяДокумента, ПолноеИмяРегистра, МенеджерВременныхТаблиц, ДополнительныеПараметры = Неопределено) Экспорт Функция СоздатьВременнуюТаблицуРегистраторовРегистраДляОбработки(Очередь, ПолноеИмяДокумента, ПолноеИмяРегистра, МенеджерВременныхТаблиц, ДополнительныеПараметры = Неопределено) Экспорт
@@ -1213,13 +1213,13 @@
// ДополнительныеПараметры - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки. // ДополнительныеПараметры - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки.
// //
// Возвращаемое значение: // Возвращаемое значение:
// * ВыборкаИзРезультатаЗапроса - выборка регистраторов, которые нужно обработать, поля выборки: // * ВыборкаИзРезультатаЗапроса - выборка регистраторов, которые нужно обработать, поля выборки:
// ** Регистратор - ДокументСсылка. // ** Регистратор - ДокументСсылка.
// ** Период - Дата - дата документа, если передано полное имя документа, максимальный период по регистратору, // ** Период - Дата - дата документа, если передано полное имя документа, максимальный период по регистратору,
// если полное имя документа не передано. // если полное имя документа не передано.
// ** Проведен - Булево, Неопределено - значение реквизита Проведен документа, если передано полное имя документа, // ** Проведен - Булево, Неопределено - значение реквизита Проведен документа, если передано полное имя документа,
// Неопределено - если имя документа не передано. // Неопределено - если имя документа не передано.
// * ТаблицаЗначений - данные, которые нужно обработать, имена колонок соответствуют именам измерений регистра. // * ТаблицаЗначений - данные, которые нужно обработать, имена колонок соответствуют именам измерений регистра.
// //
Функция ВыбратьРегистраторыРегистраДляОбработки(Очередь, ПолноеИмяДокумента, ПолноеИмяРегистра, ДополнительныеПараметры = Неопределено) Экспорт Функция ВыбратьРегистраторыРегистраДляОбработки(Очередь, ПолноеИмяДокумента, ПолноеИмяРегистра, ДополнительныеПараметры = Неопределено) Экспорт
@@ -1329,9 +1329,9 @@
// ДополнительныеПараметры - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки. // ДополнительныеПараметры - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки.
// //
// Возвращаемое значение: // Возвращаемое значение:
// * ВыборкаИзРезультатаЗапроса - выборка ссылок, которые нужно обработать, поля выборки: // * ВыборкаИзРезультатаЗапроса - выборка ссылок, которые нужно обработать, поля выборки:
// ** Ссылка - ЛюбаяСсылка. // ** Ссылка - ЛюбаяСсылка.
// * ТаблицаЗначений - данные, которые нужно обработать, имена колонок соответствуют именам измерений регистра. // * ТаблицаЗначений - данные, которые нужно обработать, имена колонок соответствуют именам измерений регистра.
// //
Функция ВыбратьСсылкиДляОбработки(Очередь, ПолноеИмяОбъекта, ДополнительныеПараметры = Неопределено) Экспорт Функция ВыбратьСсылкиДляОбработки(Очередь, ПолноеИмяОбъекта, ДополнительныеПараметры = Неопределено) Экспорт
Если ДополнительныеПараметры = Неопределено Тогда Если ДополнительныеПараметры = Неопределено Тогда
@@ -1412,12 +1412,12 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - результат формирования временной таблицы: // Структура - результат формирования временной таблицы:
// * ЕстьЗаписиВоВременнойТаблице - Булево - в создаваемой таблице есть хотя бы одна запись. Записей может не быть по // * ЕстьЗаписиВоВременнойТаблице - Булево - в создаваемой таблице есть хотя бы одна запись. Записей может не быть по
// двум причинам: // двум причинам:
// все обработано или все, что нужно обработать, еще заблокировано // все обработано или все, что нужно обработать, еще заблокировано
// обработчиками с меньшей очередью. // обработчиками с меньшей очередью.
// * ЕстьДанныеДляОбработки - Булево - в очереди есть ссылки для обработки, т.е. еще не все обработано. // * ЕстьДанныеДляОбработки - Булево - в очереди есть ссылки для обработки, т.е. еще не все обработано.
// * ИмяВременнойТаблицы - Строка - имя созданной временной таблицы. // * ИмяВременнойТаблицы - Строка - имя созданной временной таблицы.
// //
Функция СоздатьВременнуюТаблицуСсылокДляОбработки(Очередь, ПолноеИмяОбъекта, МенеджерВременныхТаблиц, ДополнительныеПараметры = Неопределено) Экспорт Функция СоздатьВременнуюТаблицуСсылокДляОбработки(Очередь, ПолноеИмяОбъекта, МенеджерВременныхТаблиц, ДополнительныеПараметры = Неопределено) Экспорт
@@ -1567,10 +1567,10 @@
// ДополнительныеПараметры - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки. // ДополнительныеПараметры - см. ОбновлениеИнформационнойБазы.ДополнительныеПараметрыВыборкиДанныхДляОбработки.
// //
// Возвращаемое значение: // Возвращаемое значение:
// * ВыборкаИзРезультатаЗапроса - выборка значений измерений, которые нужно обработать, имена полей соответствует именам // * ВыборкаИзРезультатаЗапроса - выборка значений измерений, которые нужно обработать, имена полей соответствует именам
// измерений регистра. Если по измерению не регистрировалась необходимость обработки, // измерений регистра. Если по измерению не регистрировалась необходимость обработки,
// то в выборке по этому измерению будет пустое значение. // то в выборке по этому измерению будет пустое значение.
// * ТаблицаЗначений - данные, которые нужно обработать, имена колонок соответствуют именам измерений регистра. // * ТаблицаЗначений - данные, которые нужно обработать, имена колонок соответствуют именам измерений регистра.
// //
Функция ВыбратьИзмеренияНезависимогоРегистраСведенийДляОбработки(Очередь, ПолноеИмяОбъекта, ДополнительныеПараметры = Неопределено) Экспорт Функция ВыбратьИзмеренияНезависимогоРегистраСведенийДляОбработки(Очередь, ПолноеИмяОбъекта, ДополнительныеПараметры = Неопределено) Экспорт
Если ДополнительныеПараметры = Неопределено Тогда Если ДополнительныеПараметры = Неопределено Тогда
@@ -1679,12 +1679,12 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - результат формирования временной таблицы: // Структура - результат формирования временной таблицы:
// * ЕстьЗаписиВоВременнойТаблице - Булево - в создаваемой таблице есть хотя бы одна запись. Записей может не быть по // * ЕстьЗаписиВоВременнойТаблице - Булево - в создаваемой таблице есть хотя бы одна запись. Записей может не быть по
// двум причинам: // двум причинам:
// все обработано или все, что нужно обработать, еще заблокировано // все обработано или все, что нужно обработать, еще заблокировано
// обработчиками с меньшей очередью. // обработчиками с меньшей очередью.
// * ЕстьДанныеДляОбработки - Булево - в очереди есть данные для обработки, т.е. еще не все обработано. // * ЕстьДанныеДляОбработки - Булево - в очереди есть данные для обработки, т.е. еще не все обработано.
// * ИмяВременнойТаблицы - Строка - имя созданной временной таблицы. // * ИмяВременнойТаблицы - Строка - имя созданной временной таблицы.
// //
Функция СоздатьВременнуюТаблицуИзмеренийНезависимогоРегистраСведенийДляОбработки(Очередь, ПолноеИмяОбъекта, МенеджерВременныхТаблиц, ДополнительныеПараметры = Неопределено) Экспорт Функция СоздатьВременнуюТаблицуИзмеренийНезависимогоРегистраСведенийДляОбработки(Очередь, ПолноеИмяОбъекта, МенеджерВременныхТаблиц, ДополнительныеПараметры = Неопределено) Экспорт
@@ -3989,8 +3989,8 @@
// ПараметрыПостроения - см. ПараметрыПостроенияВыборки(). // ПараметрыПостроения - см. ПараметрыПостроенияВыборки().
// //
// Возвращаемое значение: // Возвращаемое значение:
// * ВыборкаИзРезультатаЗапроса - в случае обычной выборки. // * ВыборкаИзРезультатаЗапроса - в случае обычной выборки.
// * ТаблицаЗначений - в случае постраничной выборки. // * ТаблицаЗначений - в случае постраничной выборки.
// //
Функция ВыбратьДанныеДляОбработки(Запрос, ПараметрыПостроения) Функция ВыбратьДанныеДляОбработки(Запрос, ПараметрыПостроения)
@@ -4227,7 +4227,7 @@
// - Неопределено - порядок не указывается (всегда ВОЗР). // - Неопределено - порядок не указывается (всегда ВОЗР).
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. НовыеУсловияПостраничнойВыборки(). // см. НовыеУсловияПостраничнойВыборки().
// //
Функция УсловияДляСледующейСтраницы(ПоляВыборки, Параметры, Направления) Функция УсловияДляСледующейСтраницы(ПоляВыборки, Параметры, Направления)
@@ -4265,7 +4265,7 @@
// - Неопределено - порядок не указывается (всегда ВОЗР). // - Неопределено - порядок не указывается (всегда ВОЗР).
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. НовыеУсловияПостраничнойВыборки(). // см. НовыеУсловияПостраничнойВыборки().
// //
Функция УсловияДляДиапазонаСтраницы(ПоляВыборки, Параметры, Направления) Функция УсловияДляДиапазонаСтраницы(ПоляВыборки, Параметры, Направления)
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.2.352"; Описание.Версия = "3.1.2.359";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -2808,7 +2808,7 @@
// Создать новое описание потоков регистрации данных отложенного обновления. // Создать новое описание потоков регистрации данных отложенного обновления.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. НовоеОписаниеПотоков(). // см. НовоеОписаниеПотоков().
// //
Функция НовоеОписаниеПотоковРегистрацииДанныхОтложенногоОбновления() Функция НовоеОписаниеПотоковРегистрацииДанныхОтложенногоОбновления()
@@ -2884,7 +2884,7 @@
// Создать новое описание потоков обработчиков отложенного обновления. // Создать новое описание потоков обработчиков отложенного обновления.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. НовоеОписаниеПотоков(). // см. НовоеОписаниеПотоков().
// //
Функция НовоеОписаниеПотоковОбработчиковОтложенногоОбновления() Функция НовоеОписаниеПотоковОбработчиковОтложенногоОбновления()
@@ -2923,8 +2923,8 @@
// СведенияОбОбновлении - Структура - сведения об обновлении (см. НовыеСведенияОбОбновлении()). // СведенияОбОбновлении - Структура - сведения об обновлении (см. НовыеСведенияОбОбновлении()).
// //
// Возвращаемое значение: // Возвращаемое значение:
// * СтрокаТаблицыЗначений - новый поток (см. НовоеОписаниеПотоков()). // * СтрокаТаблицыЗначений - новый поток (см. НовоеОписаниеПотоков()).
// * Булево - Истина, если обработчик не нужно выполнять или Ложь, если выполнение обработчиков нужно завершить. // * Булево - Истина, если обработчик не нужно выполнять или Ложь, если выполнение обработчиков нужно завершить.
// //
Функция ДобавитьПотокОбработчикаОтложенногоОбновления(ОписаниеПотоков, СведенияОбОбновлении) Функция ДобавитьПотокОбработчикаОтложенногоОбновления(ОписаниеПотоков, СведенияОбОбновлении)
@@ -3634,10 +3634,10 @@
// Описание группы потоков. // Описание группы потоков.
// //
// Возвращаемое значение: // Возвращаемое значение:
// * Группы - Соответствие - описание групп потоков, где: // * Группы - Соответствие - описание групп потоков, где:
// ** Ключ - Строка - имя группы. // ** Ключ - Строка - имя группы.
// ** Значение - см. НовоеОписаниеГруппыПотоков(). // ** Значение - см. НовоеОписаниеГруппыПотоков().
// * Потоки - ТаблицаЗначений - описание потоков со следующими колонками: // * Потоки - ТаблицаЗначений - описание потоков со следующими колонками:
// ** Наименование - Строка - произвольное наименование потока (используется в наименовании фонового задания). // ** Наименование - Строка - произвольное наименование потока (используется в наименовании фонового задания).
// ** Группа - Строка - имя группы с описанием потока. // ** Группа - Строка - имя группы с описанием потока.
// ** ИдентификаторЗадания - УникальныйИдентификатор - уникальный идентификатор фонового задания. // ** ИдентификаторЗадания - УникальныйИдентификатор - уникальный идентификатор фонового задания.
@@ -3929,10 +3929,10 @@
// ПараметрыОбхода - см. ПараметрыОбходаДанныхДляОбновления(). // ПараметрыОбхода - см. ПараметрыОбходаДанныхДляОбновления().
// //
// Возвращаемое значение: // Возвращаемое значение:
// * Структура - параметры обхода текущей итерации в виде структуры со следующими полями: // * Структура - параметры обхода текущей итерации в виде структуры со следующими полями:
// ** СсылочныйОбъект - Строка - имя ссылочного объекта. // ** СсылочныйОбъект - Строка - имя ссылочного объекта.
// ** ТабличныйОбъект - Строка - имя табличного объекта. // ** ТабличныйОбъект - Строка - имя табличного объекта.
// * Неопределено - если обход закончен. // * Неопределено - если обход закончен.
// //
Функция ТекущиеПараметрыОбхода(ПараметрыОбхода) Функция ТекущиеПараметрыОбхода(ПараметрыОбхода)
@@ -4616,8 +4616,8 @@
// ПорцииДляОбновления - см. НоваяТаблицаПорцийДляОбновления(). // ПорцииДляОбновления - см. НоваяТаблицаПорцийДляОбновления().
// //
// Возвращаемое значение: // Возвращаемое значение:
// * СтрокаТаблицыЗначений - найденная порция. // * СтрокаТаблицыЗначений - найденная порция.
// * Неопределено - если необработанных порций нет. // * Неопределено - если необработанных порций нет.
// //
Функция ПерваяНеобработаннаяПорция(ПорцииДляОбновления) Функция ПерваяНеобработаннаяПорция(ПорцииДляОбновления)
@@ -5977,8 +5977,8 @@
// ПараметрыОбновления - см. ВыполнитьОбновлениеИнформационнойБазы(). // ПараметрыОбновления - см. ВыполнитьОбновлениеИнформационнойБазы().
// //
// Возвращаемое значение: // Возвращаемое значение:
// * СтрокаДереваЗначений - обработчик обновления в виде строки дерева обработчиков. // * СтрокаДереваЗначений - обработчик обновления в виде строки дерева обработчиков.
// * Булево - Истина, если обработчик не нужно выполнять, Ложь, если выполнение обработчиков нужно завершить. // * Булево - Истина, если обработчик не нужно выполнять, Ложь, если выполнение обработчиков нужно завершить.
// //
Функция НайтиОбработчикОбновления(КонтекстОбработчика, СведенияОбОбновлении, ПараметрыОбновления = Неопределено) Функция НайтиОбработчикОбновления(КонтекстОбработчика, СведенияОбОбновлении, ПараметрыОбновления = Неопределено)
@@ -7371,8 +7371,8 @@
// ИмяОбработчика - Строка - имя обработчика обновления. // ИмяОбработчика - Строка - имя обработчика обновления.
// //
// Возвращаемое значение: // Возвращаемое значение:
// * СтрокаДереваЗначений - найденный обработчик. // * СтрокаДереваЗначений - найденный обработчик.
// * Неопределено - если обработчик не найден. // * Неопределено - если обработчик не найден.
// //
Функция НайтиОбработчикВДереве(ДеревоОбработчиков, Идентификатор, ИмяОбработчика) Функция НайтиОбработчикВДереве(ДеревоОбработчиков, Идентификатор, ИмяОбработчика)
@@ -7397,8 +7397,8 @@
// ИмяОбработчика - Строка - имя обработчика обновления. // ИмяОбработчика - Строка - имя обработчика обновления.
// //
// Возвращаемое значение: // Возвращаемое значение:
// * СтрокаТаблицыЗначений - найденный обработчик. // * СтрокаТаблицыЗначений - найденный обработчик.
// * Неопределено - если обработчик не найден. // * Неопределено - если обработчик не найден.
// //
Функция НайтиОбработчикВТаблице(ТаблицаОбработчиков, Идентификатор, ИмяОбработчика) Функция НайтиОбработчикВТаблице(ТаблицаОбработчиков, Идентификатор, ИмяОбработчика)
@@ -5535,8 +5535,8 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - Результат проверки. // Структура - Результат проверки.
// * Ошибка - Булево - Найдена ошибка. // * Ошибка - Булево - Найдена ошибка.
// * ОписаниеОшибки - Строка - Описание найденных ошибок. // * ОписаниеОшибки - Строка - Описание найденных ошибок.
// //
// Пример: // Пример:
// //
@@ -6903,10 +6903,14 @@
Возврат Описание; Возврат Описание;
КонецФункции КонецФункции
Процедура ЗаменитьВКоллекцииСтрок(ВидКоллекции, ИмяКоллекции, Объект, Коллекция, Знач СписокПолей, Знач ПарыЗамен) Процедура ЗаменитьВКоллекцииСтрок(ВидКоллекции, ИмяКоллекции, Объект, Коллекция, Знач СписокПолей, Знач ПарыЗамен)
ЭтоРегистрБухгалтерии = ВидКоллекции = "Движения" И ЭтоРегистрБухгалтерии(Коллекция.Метаданные());
РабочаяКоллекция = Коллекция.Выгрузить(); РабочаяКоллекция = Коллекция.Выгрузить();
Модифицировано = Ложь; Модифицировано = Ложь;
ИзмененныеПоля = Новый Массив;
Для Каждого Строка Из РабочаяКоллекция Цикл Для Каждого Строка Из РабочаяКоллекция Цикл
Для Каждого КлючЗначение Из СписокПолей Цикл Для Каждого КлючЗначение Из СписокПолей Цикл
@@ -6916,16 +6920,67 @@
ЗарегистрироватьФактЗамены(Объект, Строка[Имя], ЦелеваяСсылка, ВидКоллекции, ИмяКоллекции, РабочаяКоллекция.Индекс(Строка), Имя); ЗарегистрироватьФактЗамены(Объект, Строка[Имя], ЦелеваяСсылка, ВидКоллекции, ИмяКоллекции, РабочаяКоллекция.Индекс(Строка), Имя);
Строка[Имя] = ЦелеваяСсылка; Строка[Имя] = ЦелеваяСсылка;
Модифицировано = Истина; Модифицировано = Истина;
ИзмененныеПоля.Добавить(Имя);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
КонецЦикла; КонецЦикла;
Если Модифицировано Тогда Если Модифицировано Тогда
Коллекция.Загрузить(РабочаяКоллекция); Если ЭтоРегистрБухгалтерии Тогда
ЗагрузитьИзмененныйНаборВРегистрБухгалтерии(Коллекция, РабочаяКоллекция, ИзмененныеПоля);
Иначе
Коллекция.Загрузить(РабочаяКоллекция);
КонецЕсли;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
Процедура ЗагрузитьИзмененныйНаборВРегистрБухгалтерии(НаборЗаписей, ИзмененнаяКоллекция, ИзмененныеПоля)
НеизмененныеИзмерения = Новый Соответствие;
ИзмененныеИзмерения = Новый Соответствие;
Для каждого Измерение Из НаборЗаписей.Метаданные().Измерения Цикл
ИменаИзмерений = Новый Массив;
Если НЕ Измерение.Балансовый Тогда
ИменаИзмерений.Добавить(Измерение.Имя + "Дт");
ИменаИзмерений.Добавить(Измерение.Имя + "Кт");
Иначе
ИменаИзмерений.Добавить(Измерение.Имя);
КонецЕсли;
Для каждого ИмяИзмерения Из ИменаИзмерений Цикл
Если ИзмененныеПоля.Найти(ИмяИзмерения) = Неопределено Тогда
НеизмененныеИзмерения.Вставить(ИмяИзмерения, НаборЗаписей.ВыгрузитьКолонку(ИмяИзмерения));
Иначе
ИзмененныеИзмерения.Вставить(ИмяИзмерения, НаборЗаписей.ВыгрузитьКолонку(ИмяИзмерения));
КонецЕсли;
КонецЦикла;
КонецЦикла;
Для Сч = 0 По НаборЗаписей.Количество()-1 Цикл
Для каждого ИмяИзмеренияЗначения Из ИзмененныеИзмерения Цикл
Если НаборЗаписей[Сч][ИмяИзмеренияЗначения.Ключ] = NULL Тогда
ИмяИзмеренияЗначения.Значение[Сч] = NULL;
Иначе
ИмяИзмеренияЗначения.Значение[Сч] = ИзмененнаяКоллекция[Сч][ИмяИзмеренияЗначения.Ключ];
КонецЕсли;
КонецЦикла;
КонецЦикла;
НаборЗаписей.Загрузить(ИзмененнаяКоллекция);
Для каждого ИзмеренияЗначенияВКолонке Из НеизмененныеИзмерения Цикл
НаборЗаписей.ЗагрузитьКолонку(ИзмеренияЗначенияВКолонке.Значение, ИзмеренияЗначенияВКолонке.Ключ);
КонецЦикла;
Для каждого ИзмеренияЗначенияВКолонке Из ИзмененныеИзмерения Цикл
НаборЗаписей.ЗагрузитьКолонку(ИзмеренияЗначенияВКолонке.Значение, ИзмеренияЗначенияВКолонке.Ключ);
КонецЦикла;
КонецПроцедуры
Процедура ОбработатьОбъектСПерехватомСообщений(Знач Объект, Знач Действие, Знач РежимЗаписи, Знач ПараметрыЗаписи) Процедура ОбработатьОбъектСПерехватомСообщений(Знач Объект, Знач Действие, Знач РежимЗаписи, Знач ПараметрыЗаписи)
// Текущие сообщения до исключения запоминаем. // Текущие сообщения до исключения запоминаем.
@@ -59,7 +59,7 @@
// Документы - См. ОбщегоНазначения.ПровестиДокументы.Документы // Документы - См. ОбщегоНазначения.ПровестиДокументы.Документы
// //
// Возвращаемое значение: // Возвращаемое значение:
// См. ОбщегоНазначения.ПровестиДокументы // См. ОбщегоНазначения.ПровестиДокументы
// //
Функция ПровестиДокументы(Документы) Экспорт Функция ПровестиДокументы(Документы) Экспорт
@@ -1922,7 +1922,7 @@
// СтрокаСоединения - Строка - строка соединения ИБ. // СтрокаСоединения - Строка - строка соединения ИБ.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. СтруктураПараметровДляУстановкиВнешнегоСоединения // см. СтруктураПараметровДляУстановкиВнешнегоСоединения
// //
Функция ПолучитьПараметрыПодключенияИзСтрокиСоединенияИнформационнойБазы(Знач СтрокаСоединения) Экспорт Функция ПолучитьПараметрыПодключенияИзСтрокиСоединенияИнформационнойБазы(Знач СтрокаСоединения) Экспорт
@@ -2802,7 +2802,7 @@
// Настройки - НастройкиКомпоновкиДанных - // Настройки - НастройкиКомпоновкиДанных -
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. ВидыСведений // см. ВидыСведений
// //
Функция СведенияОПользовательскихНастройках(Настройки) Функция СведенияОПользовательскихНастройках(Настройки)
Сведения = Новый Соответствие; Сведения = Новый Соответствие;
@@ -539,7 +539,7 @@
Знач Описание = "", Знач Описание = "",
Знач НоваяСсылкаНаФайл = Неопределено) Экспорт Знач НоваяСсылкаНаФайл = Неопределено) Экспорт
ВладелецФайлов = ПараметрыФайла.ВладелецФайлов; ВладелецФайлов = ПараметрыФайла.ВладелецФайлов;
ИмяБезРасширения = ПараметрыФайла.ИмяБезРасширения; ИмяБезРасширения = ПараметрыФайла.ИмяБезРасширения;
РасширениеБезТочки = ПараметрыФайла.РасширениеБезТочки; РасширениеБезТочки = ПараметрыФайла.РасширениеБезТочки;
@@ -552,7 +552,7 @@
"АдресФайлаВоВременномХранилище", ДвоичныеДанные, Тип("ДвоичныеДанные")); "АдресФайлаВоВременномХранилище", ДвоичныеДанные, Тип("ДвоичныеДанные"));
ГруппаФайлов = Неопределено; ГруппаФайлов = Неопределено;
Если ПараметрыФайла.Свойство("ГруппаФайлов") Если ПараметрыФайла.Свойство("ГруппаФайлов")
И ЗначениеЗаполнено(ПараметрыФайла.ГруппаФайлов) И ЗначениеЗаполнено(ПараметрыФайла.ГруппаФайлов)
И Не РаботаСФайламиСлужебный.ЭтоПапкаФайлов(ВладелецФайлов) Тогда И Не РаботаСФайламиСлужебный.ЭтоПапкаФайлов(ВладелецФайлов) Тогда
@@ -562,8 +562,8 @@
Если Не ЗначениеЗаполнено(РасширениеБезТочки) Тогда Если Не ЗначениеЗаполнено(РасширениеБезТочки) Тогда
ЧастиИмениФайла = СтрРазделить(ИмяБезРасширения, ".", Ложь); ЧастиИмениФайла = СтрРазделить(ИмяБезРасширения, ".", Ложь);
Если ЧастиИмениФайла.Количество() > 1 Тогда Если ЧастиИмениФайла.Количество() > 1 Тогда
РасширениеБезТочки = ЧастиИмениФайла[ЧастиИмениФайла.Количество()-1]; РасширениеБезТочки = ЧастиИмениФайла[ЧастиИмениФайла.Количество() - 1];
ИмяБезРасширения = Лев(ИмяБезРасширения, СтрДлина(ИмяБезРасширения) - (СтрДлина(РасширениеБезТочки)+1)); ИмяБезРасширения = Лев(ИмяБезРасширения, СтрДлина(ИмяБезРасширения) - (СтрДлина(РасширениеБезТочки) + 1));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -611,30 +611,38 @@
КонецЕсли; КонецЕсли;
ЗаполнитьЗначенияСвойств(ПрисоединенныйФайл, ПараметрыФайла); ЗаполнитьЗначенияСвойств(ПрисоединенныйФайл, ПараметрыФайла);
ПрисоединенныйФайл.Том = Справочники.ТомаХраненияФайлов.ПустаяСсылка();
ПрисоединенныйФайл.ПутьКФайлу = "";
ПрисоединенныйФайл.Заполнить(Неопределено);
ИспользованиеПолнотекстовогоПоиска = Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать; ИспользованиеПолнотекстовогоПоиска = Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать;
ИзвлекатьТекст = Метаданные.Справочники[ИмяСправочника].ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска; ИзвлекатьТекст = Метаданные.Справочники[ИмяСправочника].ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска;
Если ИзвлекатьТекст Тогда
РезультатИзвлеченияТекста = РаботаСФайламиСлужебный.ИзвлечьТекст(АдресВременногоХранилищаТекста,
ДвоичныеДанные, ПрисоединенныйФайл.Расширение);
ПрисоединенныйФайл.ТекстХранилище = РезультатИзвлеченияТекста.ТекстХранилище;
ПрисоединенныйФайл.СтатусИзвлеченияТекста = РезультатИзвлеченияТекста.СтатусИзвлеченияТекста;
Иначе
ПрисоединенныйФайл.ТекстХранилище = Новый ХранилищеЗначения("");
ПрисоединенныйФайл.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
КонецЕсли;
ПредварительноСохраняетсяНаДиск = (РаботаСФайламиВТомахСлужебный.ТипХраненияФайла(РасширениеБезТочки, ПрисоединенныйФайл.Размер) = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске);
Если ПрисоединенныйФайл.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске
И ПредварительноСохраняетсяНаДиск Тогда
УстановитьОтключениеБезопасногоРежима(Истина);
РаботаСФайламиВТомахСлужебный.ДобавитьФайл(ПрисоединенныйФайл, ДвоичныеДанные);
УстановитьОтключениеБезопасногоРежима(Ложь);
КонецЕсли;
НачатьТранзакцию(); НачатьТранзакцию();
Попытка Попытка
ПрисоединенныйФайл.Том = Справочники.ТомаХраненияФайлов.ПустаяСсылка();
ПрисоединенныйФайл.ПутьКФайлу = "";
Если ИзвлекатьТекст Тогда
РезультатИзвлеченияТекста = РаботаСФайламиСлужебный.ИзвлечьТекст(АдресВременногоХранилищаТекста,
ДвоичныеДанные, ПрисоединенныйФайл.Расширение);
ПрисоединенныйФайл.ТекстХранилище = РезультатИзвлеченияТекста.ТекстХранилище;
ПрисоединенныйФайл.СтатусИзвлеченияТекста = РезультатИзвлеченияТекста.СтатусИзвлеченияТекста;
Иначе
ПрисоединенныйФайл.ТекстХранилище = Новый ХранилищеЗначения("");
ПрисоединенныйФайл.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
КонецЕсли;
ПрисоединенныйФайл.Заполнить(Неопределено);
Если Не ЗначениеЗаполнено(ПрисоединенныйФайл.Изменил) Тогда Если Не ЗначениеЗаполнено(ПрисоединенныйФайл.Изменил) Тогда
ПрисоединенныйФайл.Изменил = Пользователи.АвторизованныйПользователь(); ПрисоединенныйФайл.Изменил = Пользователи.АвторизованныйПользователь();
КонецЕсли; КонецЕсли;
@@ -645,9 +653,13 @@
РаботаСФайламиСлужебный.ЗаписатьФайлВИнформационнуюБазу(ПрисоединенныйФайл.Ссылка, ДвоичныеДанные); РаботаСФайламиСлужебный.ЗаписатьФайлВИнформационнуюБазу(ПрисоединенныйФайл.Ссылка, ДвоичныеДанные);
Иначе Иначе
УстановитьОтключениеБезопасногоРежима(Истина); Если Не ПредварительноСохраняетсяНаДиск Тогда
РаботаСФайламиВТомахСлужебный.ДобавитьФайл(ПрисоединенныйФайл, ДвоичныеДанные);
УстановитьОтключениеБезопасногоРежима(Ложь); УстановитьОтключениеБезопасногоРежима(Истина);
РаботаСФайламиВТомахСлужебный.ДобавитьФайл(ПрисоединенныйФайл, ДвоичныеДанные);
УстановитьОтключениеБезопасногоРежима(Ложь);
КонецЕсли;
ПрисоединенныйФайл.Записать(); ПрисоединенныйФайл.Записать();
@@ -688,6 +700,10 @@
, ,
, ,
КомментарийЖурналаРегистрации); КомментарийЖурналаРегистрации);
Если ПредварительноСохраняетсяНаДиск Тогда
РаботаСФайламиВТомахСлужебный.УдалитьФайл(РаботаСФайламиВТомахСлужебный.ПолноеИмяФайлаВТоме(ПрисоединенныйФайл));
КонецЕсли;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонСообщения, ШаблонСообщения,
@@ -1430,7 +1430,7 @@
// файлов указан "ВИнформационнойБазеИТомахНаДиске", возвращает "ВИнформационнойБазе", если // файлов указан "ВИнформационнойБазеИТомахНаДиске", возвращает "ВИнформационнойБазе", если
// файл соответствует параметрам хранения в информационной базе и "ВТомахНаДиске", если нет. // файл соответствует параметрам хранения в информационной базе и "ВТомахНаДиске", если нет.
// //
Функция ТипХраненияФайла(Расширение, Размер) Функция ТипХраненияФайла(Расширение, Размер) Экспорт
ТипХранения = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске; ТипХранения = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске;
Если ХранитьФайлыВТомахНаДискеИИнформационнойБазе() Тогда Если ХранитьФайлыВТомахНаДискеИИнформационнойБазе() Тогда
@@ -298,12 +298,12 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура, Неопределено - со свойствами: // Структура, Неопределено - со свойствами:
// * Именительный - Строка. // * Именительный - Строка.
// * Родительный - Строка. // * Родительный - Строка.
// * Дательный - Строка // * Дательный - Строка
// * Винительный - Строка. // * Винительный - Строка.
// * Творительный - Строка. // * Творительный - Строка.
// * Предложный - Строка. // * Предложный - Строка.
// Неопределено - если просклонять не удалось. // Неопределено - если просклонять не удалось.
// //
Функция ДанныеСклонения(Знач Представление, ПараметрыСклонения = Неопределено, ПоказыватьСообщения = Ложь) Экспорт Функция ДанныеСклонения(Знач Представление, ПараметрыСклонения = Неопределено, ПоказыватьСообщения = Ложь) Экспорт
@@ -534,7 +534,7 @@
// Только для внутреннего использования. // Только для внутреннего использования.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. Справочники.ИдентификаторыОбъектовМетаданных.ТаблицаПереименованияДляТекущейВерсии // см. Справочники.ИдентификаторыОбъектовМетаданных.ТаблицаПереименованияДляТекущейВерсии
// //
Функция ТаблицаПереименованияДляТекущейВерсии() Экспорт Функция ТаблицаПереименованияДляТекущейВерсии() Экспорт
@@ -2109,7 +2109,15 @@
УниверсальноеОграничение = ОграничиватьДоступНаУровнеЗаписейУниверсально(Истина, Истина, Ложь); УниверсальноеОграничение = ОграничиватьДоступНаУровнеЗаписейУниверсально(Истина, Истина, Ложь);
ПараметрыСеанса.ОграничениеДоступаНаУровнеЗаписейУниверсально = УниверсальноеОграничение; Если ИмяПараметра = "ОграничениеДоступаНаУровнеЗаписейУниверсально"
Или ПараметрыСеанса.ОграничениеДоступаНаУровнеЗаписейУниверсально <> УниверсальноеОграничение Тогда
ПередИзменениемПараметровСеансаДляШаблонов(
Новый Структура("ОграничениеДоступаНаУровнеЗаписейУниверсально", УниверсальноеОграничение),
ИмяПараметра = "ОграничениеДоступаНаУровнеЗаписейУниверсально");
ПараметрыСеанса.ОграничениеДоступаНаУровнеЗаписейУниверсально = УниверсальноеОграничение;
КонецЕсли;
УстановленныеПараметры.Добавить("ОграничениеДоступаНаУровнеЗаписейУниверсально"); УстановленныеПараметры.Добавить("ОграничениеДоступаНаУровнеЗаписейУниверсально");
Если ИмяПараметра = "ОграничениеДоступаНаУровнеЗаписейУниверсально" Тогда Если ИмяПараметра = "ОграничениеДоступаНаУровнеЗаписейУниверсально" Тогда
@@ -20004,6 +20012,10 @@
Возврат; Возврат;
КонецПроцедуры КонецПроцедуры
Процедура ПередИзменениемПараметровСеансаДляШаблонов(НовыеЗначения, ЭтоУстановка)
Возврат;
КонецПроцедуры
#КонецОбласти #КонецОбласти
#КонецОбласти #КонецОбласти
@@ -21085,7 +21097,7 @@
// Для функций РассчитанныеПараметрыОграничения и ПараметрыОграниченияДляВидаПользователей. // Для функций РассчитанныеПараметрыОграничения и ПараметрыОграниченияДляВидаПользователей.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. УправлениеДоступом.СтруктураОграничения // см. УправлениеДоступом.СтруктураОграничения
// //
Функция РассчитаннаяСтруктураОграничения(ПолноеИмя, ТекстОграничения, ТекстВМодулеМенеджера, ДляВнешнихПользователей, БезИсключения = Ложь) Функция РассчитаннаяСтруктураОграничения(ПолноеИмя, ТекстОграничения, ТекстВМодулеМенеджера, ДляВнешнихПользователей, БезИсключения = Ложь)
@@ -21187,7 +21199,8 @@
ВерсияПараметров = НоваяВерсияПараметровОграниченияДоступа(ОбщийКонтекст); ВерсияПараметров = НоваяВерсияПараметровОграниченияДоступа(ОбщийКонтекст);
КонецЕсли; КонецЕсли;
УстановитьВерсиюПараметров(ВерсияПараметров, ИдентификаторТранзакции, ОбщийКонтекст); УстановитьВерсиюПараметров(ВерсияПараметров, ИдентификаторТранзакции, ОбщийКонтекст,
УстановкаПараметровСеансаДляШаблонов);
Возврат ПараметрыСеанса.ПараметрыОграниченияДоступа.Параметры; Возврат ПараметрыСеанса.ПараметрыОграниченияДоступа.Параметры;
@@ -21257,9 +21270,16 @@
"ПараметрыОграниченияДоступа.ДляОтчетаПоПравамДоступа", "Неопределено"); "ПараметрыОграниченияДоступа.ДляОтчетаПоПравамДоступа", "Неопределено");
КонецЕсли; КонецЕсли;
Запрос.Текст = СтрЗаменить(Запрос.Текст, ?(Пользователи.ЭтоСеансВнешнегоПользователя(), Если УстановкаПараметровСеансаДляШаблонов
"ПараметрыОграниченияДоступа.ДляШаблоновВСеансахПользователей", Или ПараметрыСеанса.ПараметрыОграниченияДоступа.Свойство("ПараметрыСеансаДляШаблоновУстановлены") Тогда
"ПараметрыОграниченияДоступа.ДляШаблоновВСеансахВнешнихПользователей"), "Неопределено");
Запрос.Текст = СтрЗаменить(Запрос.Текст, ?(Пользователи.ЭтоСеансВнешнегоПользователя(),
"ПараметрыОграниченияДоступа.ДляШаблоновВСеансахПользователей",
"ПараметрыОграниченияДоступа.ДляШаблоновВСеансахВнешнихПользователей"), "Неопределено");
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст,
"ПараметрыОграниченияДоступа.ДляШаблоновВСеансахПользователей", "Неопределено");
КонецЕсли;
Запрос.УстановитьПараметр("Версия", Версия); Запрос.УстановитьПараметр("Версия", Версия);
@@ -21582,7 +21602,8 @@
КонецПроцедуры КонецПроцедуры
// Для функции ДействующиеПараметрыОграниченияДоступа. // Для функции ДействующиеПараметрыОграниченияДоступа.
Процедура УстановитьВерсиюПараметров(ВерсияПараметров, ИдентификаторТранзакции, ОбщийКонтекст, ПовторныйВызов = Ложь) Процедура УстановитьВерсиюПараметров(ВерсияПараметров, ИдентификаторТранзакции, ОбщийКонтекст,
УстановкаПараметровСеансаДляШаблонов = Ложь, ПовторныйВызов = Ложь)
Если Не ПовторныйВызов Тогда Если Не ПовторныйВызов Тогда
ОбновитьПовторноИспользуемыеЗначения(); ОбновитьПовторноИспользуемыеЗначения();
@@ -21599,7 +21620,8 @@
Если ДляЗаписиОбъектовИПроверкиПрав.ВерсияСтруктурыКэша <> ВерсияСтруктурыКэша() Тогда Если ДляЗаписиОбъектовИПроверкиПрав.ВерсияСтруктурыКэша <> ВерсияСтруктурыКэша() Тогда
ВерсияПараметров = НоваяВерсияПараметровОграниченияДоступа(ОбщийКонтекст); ВерсияПараметров = НоваяВерсияПараметровОграниченияДоступа(ОбщийКонтекст);
УстановитьВерсиюПараметров(ВерсияПараметров, ИдентификаторТранзакции, ОбщийКонтекст, Истина); УстановитьВерсиюПараметров(ВерсияПараметров, ИдентификаторТранзакции, ОбщийКонтекст,
УстановкаПараметровСеансаДляШаблонов, Истина);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Иначе Иначе
@@ -21612,39 +21634,60 @@
Если ДляОтчетаПоПравамДоступа.ВерсияСтруктурыКэша <> ВерсияСтруктурыКэша() Тогда Если ДляОтчетаПоПравамДоступа.ВерсияСтруктурыКэша <> ВерсияСтруктурыКэша() Тогда
ВерсияПараметров = НоваяВерсияПараметровОграниченияДоступа(ОбщийКонтекст); ВерсияПараметров = НоваяВерсияПараметровОграниченияДоступа(ОбщийКонтекст);
УстановитьВерсиюПараметров(ВерсияПараметров, ИдентификаторТранзакции, ОбщийКонтекст, Истина); УстановитьВерсиюПараметров(ВерсияПараметров, ИдентификаторТранзакции, ОбщийКонтекст,
УстановкаПараметровСеансаДляШаблонов, Истина);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Кэш = КэшПараметровОграничения(); Кэш = КэшПараметровОграничения();
Кэш.ВсеВидыОграниченийПрав = ДляОтчетаПоПравамДоступа.ВсеВидыОграниченийПрав; Кэш.ВсеВидыОграниченийПрав = ДляОтчетаПоПравамДоступа.ВсеВидыОграниченийПрав;
КонецЕсли; КонецЕсли;
ХранилищеДляШаблоновОграниченияДоступа = ?(Пользователи.ЭтоСеансВнешнегоПользователя(), Если УстановкаПараметровСеансаДляШаблонов
ВерсияПараметров.ДляШаблоновВСеансахВнешнихПользователей, Или ПараметрыСеанса.ПараметрыОграниченияДоступа.Свойство("ПараметрыСеансаДляШаблоновУстановлены") Тогда
ВерсияПараметров.ДляШаблоновВСеансахПользователей);
Если ТипЗнч(ХранилищеДляШаблоновОграниченияДоступа) = Тип("ХранилищеЗначения") Тогда
ДляШаблоновОграниченияДоступа = СтруктураХранимыхПараметровШаблонов(
ХранилищеДляШаблоновОграниченияДоступа.Получить());
Если ДляШаблоновОграниченияДоступа.ВерсияСтруктурыКэша <> ВерсияСтруктурыКэша() Тогда ХранилищеДляШаблоновОграниченияДоступа = ?(Пользователи.ЭтоСеансВнешнегоПользователя(),
ВерсияПараметров = НоваяВерсияПараметровОграниченияДоступа(ОбщийКонтекст); ВерсияПараметров.ДляШаблоновВСеансахВнешнихПользователей,
УстановитьВерсиюПараметров(ВерсияПараметров, ИдентификаторТранзакции, ОбщийКонтекст, Истина); ВерсияПараметров.ДляШаблоновВСеансахПользователей);
Возврат;
Если ТипЗнч(ХранилищеДляШаблоновОграниченияДоступа) = Тип("ХранилищеЗначения") Тогда
ДляШаблоновОграниченияДоступа = СтруктураХранимыхПараметровШаблонов(
ХранилищеДляШаблоновОграниченияДоступа.Получить());
Если ДляШаблоновОграниченияДоступа.ВерсияСтруктурыКэша <> ВерсияСтруктурыКэша() Тогда
ВерсияПараметров = НоваяВерсияПараметровОграниченияДоступа(ОбщийКонтекст);
УстановитьВерсиюПараметров(ВерсияПараметров, ИдентификаторТранзакции, ОбщийКонтекст,
УстановкаПараметровСеансаДляШаблонов, Истина);
Возврат;
КонецЕсли;
Иначе
ДляШаблоновОграниченияДоступа = СтруктураХранимыхПараметровШаблонов();
КонецЕсли;
ВерсииШаблонов = СтрСоединить(СтрРазделить(
ДляШаблоновОграниченияДоступа.ВерсииШаблонов, Символы.ПС + Символы.ВК, Ложь), Символы.ПС);
УточнитьВерсииШаблоновОграниченияДоступа(ВерсииШаблонов);
ПараметрыШаблонов = СтруктураПараметровШаблонов(ДляШаблоновОграниченияДоступа.ПараметрыШаблонов);
ПараметрыШаблонов.Вставить("ВерсииШаблоновОграниченияДоступа", ВерсииШаблонов);
ОбновитьПараметрыСеансаДляШаблонов = УстановкаПараметровСеансаДляШаблонов;
Если Не УстановкаПараметровСеансаДляШаблонов
И ПараметрыСеанса.ПараметрыОграниченияДоступа.Свойство("ПараметрыСеансаДляШаблоновУстановлены") Тогда
Для Каждого КлючИЗначение Из ПараметрыШаблонов Цикл
Если ПараметрыСеанса[КлючИЗначение.Ключ] <> КлючИЗначение.Значение Тогда
ОбновитьПараметрыСеансаДляШаблонов = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ОбновитьПараметрыСеансаДляШаблонов Тогда
ПередИзменениемПараметровСеансаДляШаблонов(ПараметрыШаблонов, УстановкаПараметровСеансаДляШаблонов);
ЗаполнитьЗначенияСвойств(ПараметрыСеанса, ПараметрыШаблонов);
КонецЕсли; КонецЕсли;
Иначе
ДляШаблоновОграниченияДоступа = СтруктураХранимыхПараметровШаблонов();
КонецЕсли; КонецЕсли;
ПараметрыСеанса.ВерсииШаблоновОграниченияДоступа = СтрСоединить(СтрРазделить( ОбновитьРазрешенныеНаборыВПараметрахСеанса(УстановкаПараметровСеансаДляШаблонов, Истина);
ДляШаблоновОграниченияДоступа.ВерсииШаблонов, Символы.ПС + Символы.ВК, Ложь), Символы.ПС);
ПараметрыШаблонов = СтруктураПараметровШаблонов(ДляШаблоновОграниченияДоступа.ПараметрыШаблонов);
ЗаполнитьЗначенияСвойств(ПараметрыСеанса, ПараметрыШаблонов);
УточнитьВерсииШаблоновОграниченияДоступа();
ОбновитьРазрешенныеНаборыВПараметрахСеанса(Истина);
ПараметрыОграничения = Новый Структура; ПараметрыОграничения = Новый Структура;
ПараметрыОграничения.Вставить("Версия", ВерсияПараметров.Версия); ПараметрыОграничения.Вставить("Версия", ВерсияПараметров.Версия);
@@ -21652,19 +21695,24 @@
ПараметрыОграничения.Вставить("ДатаСоздания", ВерсияПараметров.ДатаСоздания); ПараметрыОграничения.Вставить("ДатаСоздания", ВерсияПараметров.ДатаСоздания);
ПараметрыОграничения.Вставить("Параметры", ДляЗаписиОбъектовИПроверкиПрав); ПараметрыОграничения.Вставить("Параметры", ДляЗаписиОбъектовИПроверкиПрав);
Если УстановкаПараметровСеансаДляШаблонов
Или ПараметрыСеанса.ПараметрыОграниченияДоступа.Свойство("ПараметрыСеансаДляШаблоновУстановлены") Тогда
ПараметрыОграничения.Вставить("ПараметрыСеансаДляШаблоновУстановлены");
КонецЕсли;
ФиксированныеПараметрыОграничения = Новый ФиксированнаяСтруктура(ПараметрыОграничения); ФиксированныеПараметрыОграничения = Новый ФиксированнаяСтруктура(ПараметрыОграничения);
ПараметрыСеанса.ПараметрыОграниченияДоступа = ФиксированныеПараметрыОграничения; ПараметрыСеанса.ПараметрыОграниченияДоступа = ФиксированныеПараметрыОграничения;
КонецПроцедуры КонецПроцедуры
// Для процедуры УстановитьВерсиюПараметров. // Для процедуры УстановитьВерсиюПараметров.
Процедура УточнитьВерсииШаблоновОграниченияДоступа() Процедура УточнитьВерсииШаблоновОграниченияДоступа(ВерсииШаблонов)
Если ПараметрыСеанса.ВерсииШаблоновОграниченияДоступа = ВерсииШаблоновОграниченияДоступа() Тогда Если ВерсииШаблонов = ВерсииШаблоновОграниченияДоступа() Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ПараметрыСеанса.ВерсииШаблоновОграниченияДоступа = ВерсииШаблоновОграниченияДоступа() + " ВерсииШаблонов = ВерсииШаблоновОграниченияДоступа() + "
|,ТребуетсяПерезапуститьСеанс,"; |,ТребуетсяПерезапуститьСеанс,";
КонецПроцедуры КонецПроцедуры
@@ -21672,28 +21720,38 @@
// Для процедуры УстановитьВерсиюПараметров, ПроверитьДоступКОбъекту, // Для процедуры УстановитьВерсиюПараметров, ПроверитьДоступКОбъекту,
// ПроверитьДоступКНаборуЗаписей и функции ДоступРазрешен. // ПроверитьДоступКНаборуЗаписей и функции ДоступРазрешен.
// //
Процедура ОбновитьРазрешенныеНаборыВПараметрахСеанса(ЭтоУстановкаПараметровСеанса = Ложь) Процедура ОбновитьРазрешенныеНаборыВПараметрахСеанса(УстановкаПараметровСеансаДляШаблонов = Ложь,
УстановкаПараметровОграниченияДоступа = Ложь)
Если Не УстановкаПараметровСеансаДляШаблонов
И Не ПараметрыСеанса.ПараметрыОграниченияДоступа.Свойство("ПараметрыСеансаДляШаблоновУстановлены") Тогда
Возврат;
КонецЕсли;
ПоследняяПроверка = УправлениеДоступомСлужебныйПовтИсп.ПоследняяПроверкаВерсииРазрешенныхНаборов(); ПоследняяПроверка = УправлениеДоступомСлужебныйПовтИсп.ПоследняяПроверкаВерсииРазрешенныхНаборов();
Если Не ЭтоУстановкаПараметровСеанса И ПоследняяПроверка.Дата + 3 > ТекущаяДатаСеанса() Тогда Если Не УстановкаПараметровСеансаДляШаблонов
И Не УстановкаПараметровОграниченияДоступа
И ПоследняяПроверка.Дата + 5 >= ТекущаяДатаСеанса() Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ПоследняяПроверка.Дата = ТекущаяДатаСеанса(); ПоследняяПроверка.Дата = ТекущаяДатаСеанса();
ПустойНаборГруппДоступа = Справочники.НаборыГруппДоступа.ПустаяСсылка(); ПустойНаборГруппДоступа = Справочники.НаборыГруппДоступа.ПустаяСсылка();
РазрешенныйПустойНаборГруппДоступа = УправлениеДоступомСлужебныйПовтИсп.РазрешенныйПустойНаборГруппДоступа();
Если Пользователи.ЭтоПолноправныйПользователь(,, Ложь) Тогда Состав = Новый Структура;
РазрешенныйПользователь = ПустойНаборГруппДоступа; Состав.Вставить("РазрешенныйПользователь", ПустойНаборГруппДоступа);
РазрешенныйНаборГруппДоступа = ПустойНаборГруппДоступа; Состав.Вставить("РазрешенныйНаборГруппДоступа", ПустойНаборГруппДоступа);
РазрешенныйНаборГруппПользователей = ПустойНаборГруппДоступа; Состав.Вставить("РазрешенныйНаборГруппПользователей", ПустойНаборГруппДоступа);
Иначе Состав.Вставить("РазрешенныйПустойНаборГруппДоступа",
РазрешенныйПользователь = Справочники.НаборыГруппДоступа.ПолучитьСсылку( УправлениеДоступомСлужебныйПовтИсп.РазрешенныйПустойНаборГруппДоступа());
Если Не Пользователи.ЭтоПолноправныйПользователь(,, Ложь) Тогда
Состав.РазрешенныйПользователь = Справочники.НаборыГруппДоступа.ПолучитьСсылку(
Пользователи.АвторизованныйПользователь().УникальныйИдентификатор()); Пользователи.АвторизованныйПользователь().УникальныйИдентификатор());
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.УстановитьПараметр("РазрешенныйПользователь", РазрешенныйПользователь); Запрос.УстановитьПараметр("РазрешенныйПользователь", Состав.РазрешенныйПользователь);
Запрос.Текст = Запрос.Текст =
"ВЫБРАТЬ "ВЫБРАТЬ
| НаборыГруппДоступа.РазрешенныйНаборГруппДоступа КАК РазрешенныйНаборГруппДоступа, | НаборыГруппДоступа.РазрешенныйНаборГруппДоступа КАК РазрешенныйНаборГруппДоступа,
@@ -21705,44 +21763,38 @@
Выборка = Запрос.Выполнить().Выбрать(); Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда Если Выборка.Следующий() Тогда
РазрешенныйНаборГруппДоступа = Выборка.РазрешенныйНаборГруппДоступа; Состав.РазрешенныйНаборГруппДоступа = Выборка.РазрешенныйНаборГруппДоступа;
РазрешенныйНаборГруппПользователей = Выборка.РазрешенныйНаборГруппПользователей; Состав.РазрешенныйНаборГруппПользователей = Выборка.РазрешенныйНаборГруппПользователей;
Иначе
РазрешенныйНаборГруппДоступа = ПустойНаборГруппДоступа;
РазрешенныйНаборГруппПользователей = ПустойНаборГруппДоступа;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если Не ЭтоУстановкаПараметровСеанса Если Не УстановкаПараметровСеансаДляШаблонов
И ПараметрыСеанса.РазрешенныйПользователь = РазрешенныйПользователь И ПараметрыСеанса.РазрешенныйПользователь = Состав.РазрешенныйПользователь
И ПараметрыСеанса.РазрешенныйНаборГруппДоступа = РазрешенныйНаборГруппДоступа И ПараметрыСеанса.РазрешенныйНаборГруппДоступа = Состав.РазрешенныйНаборГруппДоступа
И ПараметрыСеанса.РазрешенныйНаборГруппПользователей = РазрешенныйНаборГруппПользователей И ПараметрыСеанса.РазрешенныйНаборГруппПользователей = Состав.РазрешенныйНаборГруппПользователей
И ПараметрыСеанса.РазрешенныйНаборГруппПользователей = РазрешенныйПустойНаборГруппДоступа Тогда И ПараметрыСеанса.РазрешенныйПустойНаборГруппДоступа = Состав.РазрешенныйПустойНаборГруппДоступа Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ПараметрыСеанса.РазрешенныйПользователь = РазрешенныйПользователь; Состав.Вставить("ОбщиеПараметрыШаблоновОграниченияДоступа", "");
ПараметрыСеанса.РазрешенныйНаборГруппДоступа = РазрешенныйНаборГруппДоступа; УчестьНастройкиПравПриПостроенииПланаВыполненияЗапроса(Состав);
ПараметрыСеанса.РазрешенныйНаборГруппПользователей = РазрешенныйНаборГруппПользователей;
ПараметрыСеанса.РазрешенныйПустойНаборГруппДоступа = РазрешенныйПустойНаборГруппДоступа;
ОбщиеПараметры = ""; ПередИзменениемПараметровСеансаДляШаблонов(Состав, УстановкаПараметровСеансаДляШаблонов);
УчестьНастройкиПравПриПостроенииПланаВыполненияЗапроса(ОбщиеПараметры); ЗаполнитьЗначенияСвойств(ПараметрыСеанса, Состав);
ПараметрыСеанса.ОбщиеПараметрыШаблоновОграниченияДоступа = ОбщиеПараметры;
КонецПроцедуры КонецПроцедуры
// Для процедуры ОбновитьРазрешенныеНаборыВПараметрахСеанса. // Для процедуры ОбновитьРазрешенныеНаборыВПараметрахСеанса.
Процедура УчестьНастройкиПравПриПостроенииПланаВыполненияЗапроса(ОбщиеПараметры) Процедура УчестьНастройкиПравПриПостроенииПланаВыполненияЗапроса(Состав)
Если Не УправлениеДоступомСлужебныйПовтИсп.ТребуетсяУточнениеПланаЗапроса() Тогда Если Не УправлениеДоступомСлужебныйПовтИсп.ТребуетсяУточнениеПланаЗапроса() Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ОбщиеПараметры = ";УточнитьДляВсех;" Состав.ОбщиеПараметрыШаблоновОграниченияДоступа = ";УточнитьДляВсех;"
+ ОписаниеХешСуммыНастроекПрав(ПараметрыСеанса.РазрешенныйНаборГруппДоступа) + ОписаниеХешСуммыНастроекПрав(Состав.РазрешенныйНаборГруппДоступа)
+ ОписаниеХешСуммыНастроекПрав(ПараметрыСеанса.РазрешенныйПользователь, "^"); + ОписаниеХешСуммыНастроекПрав(Состав.РазрешенныйПользователь, "^");
КонецПроцедуры КонецПроцедуры
@@ -29245,7 +29297,7 @@
// РазобранноеОграничение - см. УправлениеДоступом.СтруктураОграничения.РазобранноеОграничение // РазобранноеОграничение - см. УправлениеДоступом.СтруктураОграничения.РазобранноеОграничение
// //
// Возвращаемое значение: // Возвращаемое значение:
// См. УправлениеДоступом.СтруктураОграничения // См. УправлениеДоступом.СтруктураОграничения
// //
Функция СтруктураОграничения(РазобранноеОграничение) Экспорт Функция СтруктураОграничения(РазобранноеОграничение) Экспорт
@@ -4600,7 +4600,7 @@
// ИмяЭлементаДляРазмещения - Строка, Неопределено - // ИмяЭлементаДляРазмещения - Строка, Неопределено -
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. ПараметрыВыводаКонтактнойИнформации // см. ПараметрыВыводаКонтактнойИнформации
// //
Функция ПараметрыКонтактнойИнформацииФормы(ПараметрыКонтактнойИнформации, ИмяЭлементаДляРазмещения) Функция ПараметрыКонтактнойИнформацииФормы(ПараметрыКонтактнойИнформации, ИмяЭлементаДляРазмещения)
@@ -242,24 +242,24 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - содержит поля: // Структура - содержит поля:
// * ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид редактируемой контактной информации. // * ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид редактируемой контактной информации.
// см. УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации // см. УправлениеКонтактнойИнформацией.ПараметрыВидаКонтактнойИнформации
// * Значение - Строка - значение полей контактной информации в формате JSON или ХML. // * Значение - Строка - значение полей контактной информации в формате JSON или ХML.
// * Представление - Строка - представление контактной информации. // * Представление - Строка - представление контактной информации.
// * ТипКонтактнойИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации, если был указан // * ТипКонтактнойИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации, если был указан
// в параметрах. // в параметрах.
// * Страна - Строка - страна мира, только если указан тип контактной информации Адрес. // * Страна - Строка - страна мира, только если указан тип контактной информации Адрес.
// * Регион - Строка - значение поля региона, только если указан тип контактной информации Адрес. // * Регион - Строка - значение поля региона, только если указан тип контактной информации Адрес.
// Актуально для стран ЕАЭС. // Актуально для стран ЕАЭС.
// * Индекс - Строка - почтовый индекс, только если указан тип контактной информации Адрес. // * Индекс - Строка - почтовый индекс, только если указан тип контактной информации Адрес.
// * ТипПомещения - Строка - тип помещения в форме ввода нового адреса, , только если указан тип контактной // * ТипПомещения - Строка - тип помещения в форме ввода нового адреса, , только если указан тип контактной
// информации Адрес. // информации Адрес.
// * КодСтраны - Строка - телефонный код страны мира, только если указан тип контактной информации Телефон. // * КодСтраны - Строка - телефонный код страны мира, только если указан тип контактной информации Телефон.
// * КодГорода - Строка - телефонный код города, только если указан тип контактной информации Телефон. // * КодГорода - Строка - телефонный код города, только если указан тип контактной информации Телефон.
// * НомерТелефона - Строка - телефонный номер, только если указан тип контактной информации Телефон. // * НомерТелефона - Строка - телефонный номер, только если указан тип контактной информации Телефон.
// * Добавочный - Строка - добавочный телефонный номер, только если указан тип контактной информации Телефон. // * Добавочный - Строка - добавочный телефонный номер, только если указан тип контактной информации Телефон.
// * Заголовок - Строка - заголовок формы. По умолчанию, представление вида контактной информации. // * Заголовок - Строка - заголовок формы. По умолчанию, представление вида контактной информации.
// * ТипАдреса - Строка - варианты: Пустая строка (по умолчанию), "ВСвободнойФорме", "ЕАЭС"; // * ТипАдреса - Строка - варианты: Пустая строка (по умолчанию), "ВСвободнойФорме", "ЕАЭС";
// Для РФ: "Муниципальный" или "АдминистративноТерриториальный". // Для РФ: "Муниципальный" или "АдминистративноТерриториальный".
// Если не указан (пустая строка), то для существующего адреса будет установлен адрес // Если не указан (пустая строка), то для существующего адреса будет установлен адрес
// выбранный пользователем в форме ввода адреса, для нового адреса - Муниципальный". // выбранный пользователем в форме ввода адреса, для нового адреса - Муниципальный".
@@ -61,4 +61,17 @@
КонецПроцедуры КонецПроцедуры
// Вызывается из обработчика ОбработкаОповещения формы ПечатьДокументов.
// Позволяет реализовать обработчик внешнего события в форме.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма ОбщаяФорма.ПечатьДокументов.
// ИмяСобытия - Строка - идентификатор оповещения.
// Параметр - Произвольный - произвольный параметр оповещения.
// Источник - Произвольный - источник события.
//
Процедура ПечатьДокументовОбработкаОповещения(Форма, ИмяСобытия, Параметр, Источник) Экспорт
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -105,12 +105,12 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - Список параметров открытия формы. // Структура - Список параметров открытия формы.
// * Владелец - Произвольный - Форма или элемент управления другой формы. // * Владелец - Произвольный - Форма или элемент управления другой формы.
// * Уникальность - Произвольный - Ключ, значение которого будет использоваться для поиска уже открытых форм. // * Уникальность - Произвольный - Ключ, значение которого будет использоваться для поиска уже открытых форм.
// * НавигационнаяСсылка - Строка - Задает навигационную ссылку, возвращаемую формой. // * НавигационнаяСсылка - Строка - Задает навигационную ссылку, возвращаемую формой.
// * ОписаниеОповещенияОЗакрытии - ОписаниеОповещения - Содержит описание процедуры, которая будет вызвана после // * ОписаниеОповещенияОЗакрытии - ОписаниеОповещения - Содержит описание процедуры, которая будет вызвана после
// закрытия формы. // закрытия формы.
// * РежимОткрытияОкна - РежимОткрытияОкнаФормы - Указывает режим открытия окна управляемой формы. // * РежимОткрытияОкна - РежимОткрытияОкнаФормы - Указывает режим открытия окна управляемой формы.
// //
Функция ПараметрыФормы(ДанныеЗаполнения) Экспорт Функция ПараметрыФормы(ДанныеЗаполнения) Экспорт
ПараметрыОткрытия = Новый Структура(); ПараметрыОткрытия = Новый Структура();
@@ -629,7 +629,7 @@
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
СформированноеСообщение = КонструкторСообщения(); СформированноеСообщение = КонструкторСообщения(ПараметрыШаблона);
ЗаполнитьПолучателейСообщения(ПараметрыОтправки, ПараметрыШаблона, СформированноеСообщение, МенеджерОбъекта); ЗаполнитьПолучателейСообщения(ПараметрыОтправки, ПараметрыШаблона, СформированноеСообщение, МенеджерОбъекта);
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
@@ -1066,7 +1066,7 @@
// - СправочникСсылка.ШаблоныСообщений - // - СправочникСсылка.ШаблоныСообщений -
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. ШаблоныСообщенийКлиентСервер.ОписаниеПараметровШаблона // см. ШаблоныСообщенийКлиентСервер.ОписаниеПараметровШаблона
// //
Функция ПараметрыШаблона(Шаблон) Экспорт Функция ПараметрыШаблона(Шаблон) Экспорт
@@ -1178,7 +1178,8 @@
// * ИмяАлгоритмаХеширования - Строка - например, "GOST R 34.11-94" + Символы.ПС + "GOST R 34.11-12" + ... // * ИмяАлгоритмаХеширования - Строка - например, "GOST R 34.11-94" + Символы.ПС + "GOST R 34.11-12" + ...
// * OIDАлгоритмаХеширования - Строка - например, "1.2.643.2.2.9" + Символы.ПС + "1.2.643.7.1.1.2.2" + ... // * OIDАлгоритмаХеширования - Строка - например, "1.2.643.2.2.9" + Символы.ПС + "1.2.643.7.1.1.2.2" + ...
// * АлгоритмПодписи - Строка - например, "http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411" // * АлгоритмПодписи - Строка - например, "http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"
// + Символы.ПС + "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256" + ... // + Символы.ПС +
// "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256" + ...
// * АлгоритмХеширования - Строка - например, "http://www.w3.org/2001/04/xmldsig-more#gostr3411" // * АлгоритмХеширования - Строка - например, "http://www.w3.org/2001/04/xmldsig-more#gostr3411"
// + Символы.ПС + "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256" + ... // + Символы.ПС + "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256" + ...
// //
@@ -33,26 +33,26 @@
// //
// Параметры: // Параметры:
// Параметры - Структура - со свойствами: // Параметры - Структура - со свойствами:
// * ОжидатьПродолжения - Булево - (возвращаемое значение) - если Истина, тогда дополнительная проверка // * ОжидатьПродолжения - Булево - (возвращаемое значение) - если Истина, тогда дополнительная проверка
// будет выполнятся асинхронно, продолжение возобновится после выполнения оповещения. // будет выполнятся асинхронно, продолжение возобновится после выполнения оповещения.
// Начальное значение Ложь. // Начальное значение Ложь.
// * Оповещение - ОписаниеОповещения - обработка, которую нужно вызывать для продолжения // * Оповещение - ОписаниеОповещения - обработка, которую нужно вызывать для продолжения
// после асинхронного выполнения дополнительной проверки. // после асинхронного выполнения дополнительной проверки.
// * Сертификат - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - проверяемый сертификат. // * Сертификат - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - проверяемый сертификат.
// * Проверка - Строка - имя проверки, добавленное в процедуре ПриСозданииФормыПроверкаСертификата // * Проверка - Строка - имя проверки, добавленное в процедуре ПриСозданииФормыПроверкаСертификата
// общего модуля ЭлектроннаяПодписьПереопределяемый. // общего модуля ЭлектроннаяПодписьПереопределяемый.
// * МенеджерКриптографии - МенеджерКриптографии - подготовленный менеджер криптографии для // * МенеджерКриптографии - МенеджерКриптографии - подготовленный менеджер криптографии для
// выполнения проверки. // выполнения проверки.
// - Неопределено - если стандартные проверки отключены в процедуре // - Неопределено - если стандартные проверки отключены в процедуре
// ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый. // ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый.
// * ОписаниеОшибки - Строка - (возвращаемое значение) - описание ошибки, полученной при выполнении проверки. // * ОписаниеОшибки - Строка - (возвращаемое значение) - описание ошибки, полученной при выполнении проверки.
// Это описание сможет увидеть пользователь при нажатии на картинку результата. // Это описание сможет увидеть пользователь при нажатии на картинку результата.
// * ЭтоПредупреждение - Булево - (возвращаемое значение) - вид картинки Ошибка/Предупреждение, // * ЭтоПредупреждение - Булево - (возвращаемое значение) - вид картинки Ошибка/Предупреждение,
// начальное значение - Ложь. // начальное значение - Ложь.
// * Пароль - Строка - пароль, введенный пользователем. // * Пароль - Строка - пароль, введенный пользователем.
// - Неопределено - если свойство ВводитьПароль установлено в Ложь в процедуре // - Неопределено - если свойство ВводитьПароль установлено в Ложь в процедуре
// ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый. // ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый.
// * РезультатыПроверок - Структура - со свойствами: // * РезультатыПроверок - Структура - со свойствами:
// * Ключ - Строка - имя стандартной или дополнительной проверки или имя ошибки. Ключ свойства, содержащего // * Ключ - Строка - имя стандартной или дополнительной проверки или имя ошибки. Ключ свойства, содержащего
// ошибку, содержит имя проверки с окончанием Ошибка. // ошибку, содержит имя проверки с окончанием Ошибка.
// * Значение - Неопределено - проверка не выполнялась (ОписаниеОшибки осталось Неопределено). // * Значение - Неопределено - проверка не выполнялась (ОписаниеОшибки осталось Неопределено).
@@ -84,21 +84,21 @@
// //
// Параметры: // Параметры:
// Параметры - Структура - со свойствами: // Параметры - Структура - со свойствами:
// * Сертификат - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - проверяемый сертификат. // * Сертификат - СправочникСсылка.СертификатыКлючейЭлектроннойПодписиИШифрования - проверяемый сертификат.
// * Проверка - Строка - имя проверки, добавленное в процедуре ПриСозданииФормыПроверкаСертификата // * Проверка - Строка - имя проверки, добавленное в процедуре ПриСозданииФормыПроверкаСертификата
// общего модуля ЭлектроннаяПодписьПереопределяемый. // общего модуля ЭлектроннаяПодписьПереопределяемый.
// * МенеджерКриптографии - МенеджерКриптографии - подготовленный менеджер криптографии для // * МенеджерКриптографии - МенеджерКриптографии - подготовленный менеджер криптографии для
// выполнения проверки. // выполнения проверки.
// - Неопределено - если стандартные проверки отключены в процедуре // - Неопределено - если стандартные проверки отключены в процедуре
// ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый. // ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый.
// * ОписаниеОшибки - Строка - (возвращаемое значение) - описание ошибки, полученной при выполнении проверки. // * ОписаниеОшибки - Строка - (возвращаемое значение) - описание ошибки, полученной при выполнении проверки.
// Это описание сможет увидеть пользователь при нажатии на картинку результата. // Это описание сможет увидеть пользователь при нажатии на картинку результата.
// * ЭтоПредупреждение - Булево - (возвращаемое значение) - вид картинки Ошибка/Предупреждение, // * ЭтоПредупреждение - Булево - (возвращаемое значение) - вид картинки Ошибка/Предупреждение,
// начальное значение - Ложь. // начальное значение - Ложь.
// * Пароль - Строка - пароль, введенный пользователем. // * Пароль - Строка - пароль, введенный пользователем.
// - Неопределено - если свойство ВводитьПароль установлено в Ложь в процедуре // - Неопределено - если свойство ВводитьПароль установлено в Ложь в процедуре
// ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый. // ПриСозданииФормыПроверкаСертификата общего модуля ЭлектроннаяПодписьПереопределяемый.
// * РезультатыПроверок - Структура - со свойствами: // * РезультатыПроверок - Структура - со свойствами:
// * Ключ - Строка - имя дополнительной проверки, которая уже выполнена. // * Ключ - Строка - имя дополнительной проверки, которая уже выполнена.
// * Значение - Неопределено - дополнительная проверка не выполнялась (ОписаниеОшибки осталось Неопределено). // * Значение - Неопределено - дополнительная проверка не выполнялась (ОписаниеОшибки осталось Неопределено).
// - Булево - результат выполнения дополнительной проверки. // - Булево - результат выполнения дополнительной проверки.
@@ -72,8 +72,8 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - // Структура -
// * РасширениеСертификата - Строка - Расширение файла сертификата. // * РасширениеСертификата - Строка - Расширение файла сертификата.
// * АдресСертификата - Строка - Адрес во временном хранилище, по которому был помещен сертификат. // * АдресСертификата - Строка - Адрес во временном хранилище, по которому был помещен сертификат.
// //
Функция ДанныеПоСертификату(СведенияОЭлектроннойПодписи, УникальныйИдентификатор) Экспорт Функция ДанныеПоСертификату(СведенияОЭлектроннойПодписи, УникальныйИдентификатор) Экспорт
+10 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1596306c-0243-4c24-8a5c-d1acca0fe938"> <mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="cca59235-9376-49e9-8643-01e75f5adf06">
<name>БиблиотекаСтандартныхПодсистем</name> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value> <value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="cdbcd538-851c-436a-b420-deb172b81085"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="aa6a6b55-46a6-4e2e-b6ba-bcad75d3cbba"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="78db71d0-72f6-4ad5-8459-f77db6d0eda7"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="a49f61da-c98e-4cb4-90b9-529f2ec76989"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="a4caaa6c-3656-49fa-a6e4-f7b273e4349f"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="e09cddde-8217-429d-bf1a-c562e34fa9af"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="d75889f3-ac03-4881-901e-fc8c3b568a47"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="3edd0acb-e202-4df1-8a77-c8ac0541067c"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="ff2a0308-e7e6-40f3-a04f-130bb24e66af"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="f88c5906-be7e-42c8-89ee-9fdcf5151b14"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="6f21ace5-d7cf-48d8-a48f-b74cacd45035"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="c3c3a1fb-9384-4934-8848-77ea58969cd5"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="56f5c35e-2a05-4436-9de3-04264a465772"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="a995995b-3031-491d-8cd6-85d3118a368d"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.2.352</version> <version>3.1.2.359</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -1925,6 +1925,7 @@
<informationRegisters>InformationRegister.ПараметрыОграниченияДоступа</informationRegisters> <informationRegisters>InformationRegister.ПараметрыОграниченияДоступа</informationRegisters>
<informationRegisters>InformationRegister.ПараметрыРаботыВерсийРасширений</informationRegisters> <informationRegisters>InformationRegister.ПараметрыРаботыВерсийРасширений</informationRegisters>
<informationRegisters>InformationRegister.ПараметрыРаботыПрограммы</informationRegisters> <informationRegisters>InformationRegister.ПараметрыРаботыПрограммы</informationRegisters>
<informationRegisters>InformationRegister.ПериодыНерабочихДнейКалендаря</informationRegisters>
<informationRegisters>InformationRegister.ПользовательскиеМакетыПечати</informationRegisters> <informationRegisters>InformationRegister.ПользовательскиеМакетыПечати</informationRegisters>
<informationRegisters>InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам</informationRegisters> <informationRegisters>InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам</informationRegisters>
<informationRegisters>InformationRegister.ПоставляемыеМакетыПечати</informationRegisters> <informationRegisters>InformationRegister.ПоставляемыеМакетыПечати</informationRegisters>
@@ -1 +1 @@
{6,1,1,bdb1e375-682c-4c83-a11f-5f88b4849b49,1,b7f2c226-9c47-4d13-b952-9673dddf2f07,"3.1.2.352","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5926,1,0,1596306c-0243-4c24-8a5c-d1acca0fe938,1596306c-0243-4c24-8a5c-d1acca0fe938,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated {6,1,1,84a24a10-afb2-47ae-a7f3-06f1ad388a55,1,53821d27-2b28-4520-bf66-77d0a49c1e2f,"3.1.2.359","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5933,1,0,cca59235-9376-49e9-8643-01e75f5adf06,cca59235-9376-49e9-8643-01e75f5adf06,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,4009cb3a-6754-481f-911b-907558cea38a,4009cb3a-6754-481f-911b-907558cea38a,1,0,653a7fd8-91c7-49aa-aa63-45da087e0d0a,653a7fd8-91c7-49aa-aa63-45da087e0d0a,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,1,0,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,1,0,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,1,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,1,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5Line truncated
@@ -196,6 +196,9 @@
ТаблицаДанных = Справочники.ПроизводственныеКалендари.РезультатЗаполненияПроизводственныхКалендарейПоУмолчанию(КодыКалендарей); ТаблицаДанных = Справочники.ПроизводственныеКалендари.РезультатЗаполненияПроизводственныхКалендарейПоУмолчанию(КодыКалендарей);
Справочники.ПроизводственныеКалендари.ОбновитьДанныеПроизводственныхКалендарей(ТаблицаДанных); Справочники.ПроизводственныеКалендари.ОбновитьДанныеПроизводственныхКалендарей(ТаблицаДанных);
Справочники.ПроизводственныеКалендари.ОбновитьПериодыНерабочихДней(
Справочники.ПроизводственныеКалендари.ПериодыНерабочихДнейПоУмолчанию());
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт Функция ВерсияКалендарей() Экспорт
Возврат 1; Возврат 2;
КонецФункции КонецФункции
@@ -57,22 +57,19 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.1.2.341"; Возврат "3.1.2.358";
КонецФункции КонецФункции
Функция ПериодыНерабочихДней(ДанныеКалендаря, Период) Экспорт Функция ПериодыНерабочихДней(ПроизводственныйКалендарь, Период) Экспорт
Периоды = Новый Массив; Периоды = Новый Массив;
Если СокрЛП(ДанныеКалендаря.Код) = "РФ" Тогда ТаблицаПериодов = РегистрыСведений.ПериодыНерабочихДнейКалендаря.ПериодыНерабочихДней(ПроизводственныйКалендарь);
Для Каждого СтрокаТаблицы Из ТаблицаПериодов Цикл
Периоды.Добавить( Периоды.Добавить(
ОписаниеПериодаНерабочихДней( ОписаниеПериодаНерабочихДней(СтрокаТаблицы.ДатаНачала, СтрокаТаблицы.ДатаОкончания, СтрокаТаблицы.Основание));
Дата(2020, 3, 30), Дата(2020, 4, 3), НСтр("ru = 'Указ Президента РФ от 25.03.2020 № 206'"))); КонецЦикла;
Периоды.Добавить(
ОписаниеПериодаНерабочихДней(
Дата(2020, 4, 4), Дата(2020, 4, 30), НСтр("ru = 'Указ Президента РФ от 02.04.2020 № 239'")));
КонецЕсли;
Возврат Периоды; Возврат Периоды;
@@ -0,0 +1,4 @@
<Items Description="Периоды нерабочих дней" Columns="Calendar,Order,StartDate,EndDate,Description">
<Item Calendar="РФ" Order="1" StartDate="20200330" EndDate="20200403" Description="Указ Президента РФ от 25.03.2020 № 206"/>
<Item Calendar="РФ" Order="2" StartDate="20200404" EndDate="20200430" Description="Указ Президента РФ от 02.04.2020 № 239"/>
</Items>
@@ -56,4 +56,12 @@
</synonym> </synonym>
<templateType>TextDocument</templateType> <templateType>TextDocument</templateType>
</templates> </templates>
<templates uuid="8efa4c12-b5ba-4dfd-bdc9-e824402fc4b1">
<name>ПериодыНерабочихДней</name>
<synonym>
<key>ru</key>
<value>Периоды нерабочих дней</value>
</synonym>
<templateType>TextDocument</templateType>
</templates>
</mdclass:DataProcessor> </mdclass:DataProcessor>
@@ -23,6 +23,7 @@
Элементы.Должность.Видимость = Не СведенияОВладельце.ЭтоИндивидуальныйПредприниматель; Элементы.Должность.Видимость = Не СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
Элементы.Подразделение.Видимость = Не СведенияОВладельце.ЭтоИндивидуальныйПредприниматель; Элементы.Подразделение.Видимость = Не СведенияОВладельце.ЭтоИндивидуальныйПредприниматель;
ПриИзмененииВидаДокументаНаСервере();
УстановитьТолькоПросмотр(); УстановитьТолькоПросмотр();
КонецПроцедуры КонецПроцедуры
@@ -2915,6 +2915,34 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ПрограммаИмя</name>
<id>36</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ПрограммаТип</name>
<id>90</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>УказатьСведенияОбОрганизации</name> <name>УказатьСведенияОбОрганизации</name>
<title> <title>
@@ -871,6 +871,8 @@
ОбновитьЗначение(Содержание, "ПредставлениеПрограммы"); ОбновитьЗначение(Содержание, "ПредставлениеПрограммы");
ОбновитьЗначение(Содержание, "КонтейнерКлючаИмя"); ОбновитьЗначение(Содержание, "КонтейнерКлючаИмя");
ОбновитьЗначение(Содержание, "КонтейнерКлючаПуть"); ОбновитьЗначение(Содержание, "КонтейнерКлючаПуть");
ОбновитьЗначение(Содержание, "ПрограммаИмя");
ОбновитьЗначение(Содержание, "ПрограммаТип");
ОбновитьЗначение(Содержание, "ЗапросНаСертификат", ПолучитьИзВременногоХранилища(АдресЗапросаНаСертификат)); ОбновитьЗначение(Содержание, "ЗапросНаСертификат", ПолучитьИзВременногоХранилища(АдресЗапросаНаСертификат));
ОбновитьЗначение(Содержание, "ОткрытаяЧастьКлючаЭП"); ОбновитьЗначение(Содержание, "ОткрытаяЧастьКлючаЭП");
ОбновитьЗначение(Содержание, "ИдентификаторКлючаСубъекта"); ОбновитьЗначение(Содержание, "ИдентификаторКлючаСубъекта");
@@ -1348,15 +1350,16 @@
Если ДокументВид = "" Тогда Если ДокументВид = "" Тогда
ДокументВид = "21"; ДокументВид = "21";
ДокументКодПодразделения = "";
ИначеЕсли ДокументВид = 91 Тогда
ДокументВид = "";
КонецЕсли; КонецЕсли;
Если ДокументВид <> "21" Тогда Если ДокументВид <> "21" Тогда
ДокументКодПодразделения = ""; ДокументКодПодразделения = "";
КонецЕсли; КонецЕсли;
Если ДокументВид = 91 Тогда
ДокументВид = "";
КонецЕсли;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -1459,7 +1462,7 @@
КонецЕсли; КонецЕсли;
УстановитьРеквизит(Реквизиты, "ДокументВид", Истина); УстановитьРеквизит(Реквизиты, "ДокументВид", Истина);
УстановитьРеквизит(Реквизиты, "ДокументНомер", Истина); УстановитьРеквизит(Реквизиты, "ДокументНомер", ДокументВид = "21");
УстановитьРеквизит(Реквизиты, "ДокументКемВыдан"); УстановитьРеквизит(Реквизиты, "ДокументКемВыдан");
УстановитьРеквизит(Реквизиты, "ДокументКодПодразделения", Истина); УстановитьРеквизит(Реквизиты, "ДокументКодПодразделения", Истина);
УстановитьРеквизит(Реквизиты, "ДокументДатаВыдачи"); УстановитьРеквизит(Реквизиты, "ДокументДатаВыдачи");
@@ -3134,8 +3137,8 @@
Строки = СписокПрограмм.НайтиСтроки(Новый Структура("Ссылка", Объект.Программа)); Строки = СписокПрограмм.НайтиСтроки(Новый Структура("Ссылка", Объект.Программа));
ЗаписьXML.ЗаписатьНачалоЭлемента("Криптопровайдер"); ЗаписьXML.ЗаписатьНачалоЭлемента("Криптопровайдер");
ЗаписьXMLЭлемент(ЗаписьXML, "ТипКриптопровайдера", XMLСтрока(Строки[0].ТипПрограммы)); ЗаписьXMLЭлемент(ЗаписьXML, "ТипКриптопровайдера", XMLСтрока(ПрограммаТип));
ЗаписьXMLЭлемент(ЗаписьXML, "ИмяКриптопровайдера", XMLСтрока(Строки[0].ИмяПрограммы)); ЗаписьXMLЭлемент(ЗаписьXML, "ИмяКриптопровайдера", XMLСтрока(ПрограммаИмя));
ЗаписьXML.ЗаписатьКонецЭлемента(); // КонецЭлемента Криптопровайдер. ЗаписьXML.ЗаписатьКонецЭлемента(); // КонецЭлемента Криптопровайдер.
ЗаписьXML.ЗаписатьНачалоЭлемента("ЗапросНаСертификат"); ЗаписьXML.ЗаписатьНачалоЭлемента("ЗапросНаСертификат");
@@ -3411,9 +3414,9 @@
АктивноеОкно().Активизировать(); АктивноеОкно().Активизировать();
Строки = СписокПрограмм.НайтиСтроки(Новый Структура("Ссылка", Объект.Программа));
Если Не ЗначениеЗаполнено(Путь) Тогда Если Не ЗначениеЗаполнено(Путь) Тогда
Строки = СписокПрограмм.НайтиСтроки(Новый Структура("Ссылка", Объект.Программа));
Если СтрНачинаетсяС(Строки[0].Идентификатор, "CryptoPro") Тогда Если СтрНачинаетсяС(Строки[0].Идентификатор, "CryptoPro") Тогда
ПоказатьПредупреждение(, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ПоказатьПредупреждение(, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Ключ электронной подписи не создан. НСтр("ru = 'Ключ электронной подписи не создан.
@@ -3432,6 +3435,8 @@
КонтейнерКлючаИмя = Контекст.КонтейнерКлючаНовоеИмя; КонтейнерКлючаИмя = Контекст.КонтейнерКлючаНовоеИмя;
КонтейнерКлючаПуть = Путь; КонтейнерКлючаПуть = Путь;
ПрограммаИмя = Строки[0].ИмяПрограммы;
ПрограммаТип = Строки[0].ТипПрограммы;
ПоказатьОповещениеПользователя(НСтр("ru = 'Создан новый контейнер ключа:'"),, КонтейнерКлючаПуть); ПоказатьОповещениеПользователя(НСтр("ru = 'Создан новый контейнер ключа:'"),, КонтейнерКлючаПуть);
@@ -4377,7 +4382,10 @@
ОшибкаУстановкиСертификата = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ОшибкаУстановкиСертификата = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось найти контейнер ключа на компьютере. НСтр("ru = 'Не удалось найти контейнер ключа на компьютере.
|Имя контейнера: ""%1"". |Имя контейнера: ""%1"".
|Путь к контейнеру: ""%2"".'"), |Путь к контейнеру: ""%2"".
|Нужно, либо вставить флешку с контейнером ключа в используемый компьютер
|(если контейнер ключа создавался на флешке), либо выполнить установку сертификата
|на том компьютере, на котором создавался контейнер ключа при печати заявления.'"),
КонтейнерКлючаИмя, КонтейнерКлючаИмя,
КонтейнерКлючаПуть); КонтейнерКлючаПуть);
@@ -4475,11 +4483,13 @@
Если Результат.Свойство("СертификатНеНайден") Тогда Если Результат.Свойство("СертификатНеНайден") Тогда
ОшибкаПоиска = ОшибкаПоиска =
НСтр("ru = 'Не удалось найти личный сертификат, установленный на компьютер.'"); НСтр("ru = 'Не удалось найти личный сертификат в папке ""Личное""
|хранилища сертификатов пользователя ОС на компьютере.'");
Иначе Иначе
ОшибкаПоиска = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ОшибкаПоиска = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось найти личный сертификат, установленный на компьютер по причине: НСтр("ru = 'Не удалось найти личный сертификат в папке ""Личное""
|хранилища сертификатов пользователя ОС на компьютере по причине:
|%1'"), |%1'"),
Результат.ОписаниеОшибки); Результат.ОписаниеОшибки);
@@ -4661,6 +4671,9 @@
Иначе Иначе
СостояниеОбработкиЗаявления = НСтр("ru = 'Исполнено. Сертификат не установлен.'"); СостояниеОбработкиЗаявления = НСтр("ru = 'Исполнено. Сертификат не установлен.'");
Объект.СостояниеЗаявления = Перечисления.СостоянияЗаявленияНаВыпускСертификата.ИсполненоСертификатНеУстановлен; Объект.СостояниеЗаявления = Перечисления.СостоянияЗаявленияНаВыпускСертификата.ИсполненоСертификатНеУстановлен;
Если ЗначениеЗаполнено(ОшибкаУстановкиСертификата) Тогда
СостояниеОбработкиЗаявления = СостояниеОбработкиЗаявления + Символы.ПС + ОшибкаУстановкиСертификата;
КонецЕсли;
КонецЕсли; КонецЕсли;
ЗаписатьЗаявление(); ЗаписатьЗаявление();
@@ -4865,6 +4878,10 @@
Доступность = Истина; Доступность = Истина;
ОписаниеОшибки = ""; ОписаниеОшибки = "";
Если Не ОтветСервиса.Выполнено Тогда Если Не ОтветСервиса.Выполнено Тогда
Если ОтветСервиса.Свойство("КодОшибки")
И ОтветСервиса.КодОшибки = "ПользовательОтменилДействие" Тогда
Возврат;
КонецЕсли;
ОписаниеОшибки = ОтветСервиса.ОписаниеОшибки; ОписаниеОшибки = ОтветСервиса.ОписаниеОшибки;
Если Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда Если Не ЗначениеЗаполнено(ОписаниеОшибки) Тогда
ОписаниеОшибки = НСтр("ru = 'Сервис облачной подписи сообщил, что действие не выполнено.'"); ОписаниеОшибки = НСтр("ru = 'Сервис облачной подписи сообщил, что действие не выполнено.'");
@@ -4891,9 +4908,8 @@
ДокументыПоляСертификата = ЗапросНаСертификат; ДокументыПоляСертификата = ЗапросНаСертификат;
ДатаЗаявления = Формат(ОбщегоНазначенияКлиент.ДатаСеанса(), "ДФ=dd.MM.yyyy"); // АПК:335 Не локализуется (формат веб-сервиса). ДатаЗаявления = Формат(ОбщегоНазначенияКлиент.ДатаСеанса(), "ДФ=dd.MM.yyyy"); // АПК:335 Не локализуется (формат веб-сервиса).
Программы = СписокПрограмм.НайтиСтроки(Новый Структура("Ссылка", Объект.Программа)); ПрограммаИмя = ОтветСервиса.ИмяПровайдера;
Программы[0].ИмяПрограммы = ОтветСервиса.ИмяПровайдера; ПрограммаТип = ОтветСервиса.ТипПровайдера;
Программы[0].ТипПрограммы = ОтветСервиса.ТипПровайдера;
ПечатьЗаявленияПослеСозданияКлючаИЗапросаНаСертификат(Истина, Неопределено); ПечатьЗаявленияПослеСозданияКлючаИЗапросаНаСертификат(Истина, Неопределено);
@@ -3007,10 +3007,6 @@
</attributes> </attributes>
<attributes> <attributes>
<name>ДоступнаНастройкаТранспорта</name> <name>ДоступнаНастройкаТранспорта</name>
<title>
<key>ru</key>
<value>Доступна настройка транспорта</value>
</title>
<id>6</id> <id>6</id>
<valueType> <valueType>
<types>Boolean</types> <types>Boolean</types>
@@ -8008,10 +8008,6 @@
</attributes> </attributes>
<attributes> <attributes>
<name>ИдентификаторВременногоКаталогаДляОбмена</name> <name>ИдентификаторВременногоКаталогаДляОбмена</name>
<title>
<key>ru</key>
<value>Идентификатор временного каталога для обмена</value>
</title>
<id>2</id> <id>2</id>
<valueType> <valueType>
<types>String</types> <types>String</types>
@@ -5633,10 +5633,6 @@
</columns> </columns>
<columns> <columns>
<name>НастройкаСинхронизацииНедоступна</name> <name>НастройкаСинхронизацииНедоступна</name>
<title>
<key>ru</key>
<value>Настройка синхронизации недоступна</value>
</title>
<id>10</id> <id>10</id>
<valueType> <valueType>
<types>Boolean</types> <types>Boolean</types>
@@ -5678,10 +5674,6 @@
</columns> </columns>
<columns> <columns>
<name>СообщениеОбОшибке</name> <name>СообщениеОбОшибке</name>
<title>
<key>ru</key>
<value>Сообщение об ошибке</value>
</title>
<id>14</id> <id>14</id>
<valueType> <valueType>
<types>String</types> <types>String</types>
@@ -1488,17 +1488,17 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриЗавершенииПомещенияФайлаНастроекXDTOКорреспондента(РезультатВыбора, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт Процедура ПриЗавершенииПомещенияФайлаНастроекXDTOКорреспондента(ПомещенныйФайл, ДополнительныеПараметры) Экспорт
Если ПомещенныйФайл = Неопределено Тогда
Возврат;
КонецЕсли;
Результат = Новый Структура; Результат = Новый Структура;
Результат.Вставить("Отказ", Ложь); Результат.Вставить("Отказ", Ложь);
Результат.Вставить("СообщениеОбОшибке", ""); Результат.Вставить("СообщениеОбОшибке", "");
Если Не РезультатВыбора Тогда ЗаполнитьНастройкиXDTOКорреспондентаИзXMLНаСервере(ПомещенныйФайл.Хранение, Результат.Отказ, Результат.СообщениеОбОшибке);
Результат.Отказ = Истина;
Иначе
ЗаполнитьНастройкиXDTOКорреспондентаИзXMLНаСервере(Адрес, Результат.Отказ, Результат.СообщениеОбОшибке);
КонецЕсли;
Если Результат.Отказ Тогда Если Результат.Отказ Тогда
Если ПустаяСтрока(Результат.СообщениеОбОшибке) Тогда Если ПустаяСтрока(Результат.СообщениеОбОшибке) Тогда
@@ -468,10 +468,6 @@
</attributes> </attributes>
<attributes> <attributes>
<name>ИдентификаторПроверки</name> <name>ИдентификаторПроверки</name>
<title>
<key>ru</key>
<value>Идентификатор проверки</value>
</title>
<id>2</id> <id>2</id>
<valueType> <valueType>
<types>String</types> <types>String</types>
@@ -34,6 +34,7 @@
<types>InformationRegisterRecordSet.ЗагруженныеВерсииАдресныхСведений</types> <types>InformationRegisterRecordSet.ЗагруженныеВерсииАдресныхСведений</types>
<types>InformationRegisterRecordSet.ИсторияАдресныхОбъектов</types> <types>InformationRegisterRecordSet.ИсторияАдресныхОбъектов</types>
<types>InformationRegisterRecordSet.ПраваРолей</types> <types>InformationRegisterRecordSet.ПраваРолей</types>
<types>InformationRegisterRecordSet.ПериодыНерабочихДнейКалендаря</types>
</source> </source>
<event>OnWrite</event> <event>OnWrite</event>
<handler>CommonModule.РаботаВМоделиСервисаБСП.КонтрольНеразделенныхНаборовЗаписейПриЗаписи</handler> <handler>CommonModule.РаботаВМоделиСервисаБСП.КонтрольНеразделенныхНаборовЗаписейПриЗаписи</handler>
@@ -125,6 +125,9 @@
<content> <content>
<mdObject>Catalog.НаборыДополнительныхРеквизитовИСведений</mdObject> <mdObject>Catalog.НаборыДополнительныхРеквизитовИСведений</mdObject>
</content> </content>
<content>
<mdObject>InformationRegister.ПериодыНерабочихДнейКалендаря</mdObject>
</content>
<content> <content>
<mdObject>Catalog.ПапкиЭлектронныхПисем</mdObject> <mdObject>Catalog.ПапкиЭлектронныхПисем</mdObject>
</content> </content>
@@ -13,7 +13,7 @@
// См. СтандартныеПодсистемыСервер.ПараметрРаботыРасширения. // См. СтандартныеПодсистемыСервер.ПараметрРаботыРасширения.
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. СтандартныеПодсистемыСервер.ПараметрРаботыРасширения // см. СтандартныеПодсистемыСервер.ПараметрРаботыРасширения
// //
Функция ПараметрРаботыРасширения(ИмяПараметра, БезУчетаВерсииРасширений = Ложь) Экспорт Функция ПараметрРаботыРасширения(ИмяПараметра, БезУчетаВерсииРасширений = Ложь) Экспорт
@@ -0,0 +1,37 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2020, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область СлужебныеПроцедурыИФункции
Функция ПериодыНерабочихДней(ПроизводственныйКалендарь) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ПроизводственныйКалендарь", ПроизводственныйКалендарь);
Запрос.Текст =
"ВЫБРАТЬ
| ПериодыНерабочихДнейКалендаря.ПроизводственныйКалендарь КАК ПроизводственныйКалендарь,
| ПериодыНерабочихДнейКалендаря.НомерПериода КАК НомерПериода,
| ПериодыНерабочихДнейКалендаря.ДатаНачала КАК ДатаНачала,
| ПериодыНерабочихДнейКалендаря.ДатаОкончания КАК ДатаОкончания,
| ПериодыНерабочихДнейКалендаря.Основание КАК Основание
|ИЗ
| РегистрСведений.ПериодыНерабочихДнейКалендаря КАК ПериодыНерабочихДнейКалендаря
|ГДЕ
| ПериодыНерабочихДнейКалендаря.ПроизводственныйКалендарь = &ПроизводственныйКалендарь
|
|УПОРЯДОЧИТЬ ПО
| НомерПериода";
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
#КонецОбласти
#КонецЕсли
@@ -0,0 +1,155 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:InformationRegister 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="0a92df3d-fb51-4fba-938c-55846929bd5f">
<producedTypes>
<selectionType typeId="5949c51b-6929-4b50-af20-8e05f8cb0284" valueTypeId="06ee4e55-1829-4a2e-ba83-49e94bc8478d"/>
<listType typeId="45e998ed-4ee3-4bf8-a7ce-cd2aab32ed63" valueTypeId="6e89e14c-4590-48da-80c9-1ddd7cdcb1eb"/>
<managerType typeId="f46bbe38-9a00-42f3-837e-46d865cf166a" valueTypeId="59eb071c-6aea-429b-a9cb-def33f2b581f"/>
<recordSetType typeId="ebfbc844-f724-47c9-b96a-eca5011fa87f" valueTypeId="187b4d44-c7aa-435b-a213-e23a2827fa17"/>
<recordKeyType typeId="b19cfa18-f0cb-4066-913a-2d5dfdcf8923" valueTypeId="7875cb6d-684e-4a89-9169-363d0fcaf19a"/>
<recordType typeId="bc057a73-5412-463b-a797-db5bee38f69b" valueTypeId="44b2b6c3-0e6c-44fd-8349-b1b8146696f3"/>
<recordManagerType typeId="f5f824e6-916a-4d56-a86b-7b620226b744" valueTypeId="d3e2b81f-131f-45a4-9db8-5fe67edbf0d3"/>
</producedTypes>
<name>ПериодыНерабочихДнейКалендаря</name>
<synonym>
<key>ru</key>
<value>Периоды нерабочих дней календаря</value>
</synonym>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Active</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>LineNumber</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Recorder</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Period</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<dataLockControlMode>Managed</dataLockControlMode>
<recordPresentation>
<key>ru</key>
<value>Период нерабочих дней</value>
</recordPresentation>
<extendedRecordPresentation>
<key>ru</key>
<value>Период нерабочих дней производственного календаря</value>
</extendedRecordPresentation>
<extendedListPresentation>
<key>ru</key>
<value>Периоды нерабочих дней производственного календаря</value>
</extendedListPresentation>
<resources uuid="1d005a8d-aaac-4442-a7dc-12634d03f6f3">
<name>ДатаНачала</name>
<synonym>
<key>ru</key>
<value>Дата начала</value>
</synonym>
<type>
<types>Date</types>
<dateQualifiers>
<dateFractions>Date</dateFractions>
</dateQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</resources>
<resources uuid="348d0ad2-f64e-4ea0-8b8e-11bbc10926f7">
<name>ДатаОкончания</name>
<synonym>
<key>ru</key>
<value>Дата окончания</value>
</synonym>
<type>
<types>Date</types>
<dateQualifiers>
<dateFractions>Date</dateFractions>
</dateQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
</resources>
<attributes uuid="7f7eb00d-7a38-4025-8853-9d1cf2dab1e3">
<name>Основание</name>
<synonym>
<key>ru</key>
<value>Основание</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>150</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:StringValue"/>
</attributes>
<dimensions uuid="36221881-a9c8-4b91-acac-44f7c065c05a">
<name>ПроизводственныйКалендарь</name>
<synonym>
<key>ru</key>
<value>Производственный календарь</value>
</synonym>
<type>
<types>CatalogRef.ПроизводственныеКалендари</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<denyIncompleteValues>true</denyIncompleteValues>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
<master>true</master>
<mainFilter>true</mainFilter>
</dimensions>
<dimensions uuid="3fdcf013-38e0-4a30-9ae8-19100e6704ba">
<name>НомерПериода</name>
<synonym>
<key>ru</key>
<value>Номер периода</value>
</synonym>
<type>
<types>Number</types>
<numberQualifiers>
<precision>10</precision>
<nonNegative>true</nonNegative>
</numberQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
<fillValue xsi:type="core:UndefinedValue"/>
<mainFilter>true</mainFilter>
</dimensions>
</mdclass:InformationRegister>
@@ -86,7 +86,8 @@
&НаКлиенте &НаКлиенте
Процедура ПерейтиКЖурналуРегистрации(Команда) Процедура ПерейтиКЖурналуРегистрации(Команда)
Для Каждого Область Из Отчет.ВыделенныеОбласти Цикл ВыделенныеОбласти = Элементы.Отчет.ПолучитьВыделенныеОбласти();
Для Каждого Область Из ВыделенныеОбласти Цикл
Если Область.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Прямоугольник Тогда Если Область.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Прямоугольник Тогда
Расшифровка = Область.Расшифровка; Расшифровка = Область.Расшифровка;
Иначе Иначе
@@ -81,6 +81,65 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ПериодыНерабочихДнейКалендаря</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>true</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>true</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>true</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>true</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ЗамерыКомментарииСтатистики</name> <name>InformationRegister.ЗамерыКомментарииСтатистики</name>
<right> <right>
@@ -535,93 +594,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </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> <object>
<name>DataProcessor.НастройкаРезервногоКопированияИБ</name> <name>DataProcessor.НастройкаРезервногоКопированияИБ</name>
<right> <right>
@@ -4070,6 +4042,93 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </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> <object>
<name>Constant.ИспользоватьСервисСклоненияMorpher</name> <name>Constant.ИспользоватьСервисСклоненияMorpher</name>
<right> <right>
@@ -79,6 +79,17 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ПериодыНерабочихДнейКалендаря</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.ВариантыОтчетов</name> <name>Catalog.ВариантыОтчетов</name>
<right> <right>
@@ -50,6 +50,17 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ПериодыНерабочихДнейКалендаря</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.ВариантыОтчетов</name> <name>Catalog.ВариантыОтчетов</name>
<right> <right>
@@ -3,6 +3,29 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>InformationRegister.ПериодыНерабочихДнейКалендаря</name>
<right>
<name>Read</name>
<value>true</value>
</right>
<right>
<name>Update</name>
<value>true</value>
</right>
<right>
<name>View</name>
<value>true</value>
</right>
<right>
<name>Edit</name>
<value>true</value>
</right>
<right>
<name>TotalsControl</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.ДанныеПроизводственногоКалендаря</name> <name>InformationRegister.ДанныеПроизводственногоКалендаря</name>
<right> <right>
@@ -14,37 +14,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </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> <object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name> <name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right> <right>
@@ -107,6 +76,37 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </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> <restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name> <name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "") <condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -181,6 +181,57 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>InformationRegister.ПериодыНерабочихДнейКалендаря</name>
<right>
<name>Update</name>
<value>false</value>
</right>
<right>
<name>Edit</name>
<value>false</value>
</right>
<right>
<name>TotalsControl</name>
<value>false</value>
</right>
<right>
<name>ReadDataHistory</name>
<value>false</value>
</right>
<right>
<name>ReadDataHistoryOfMissingData</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistory</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistoryOfMissingData</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistorySettings</name>
<value>false</value>
</right>
<right>
<name>UpdateDataHistoryVersionComment</name>
<value>false</value>
</right>
<right>
<name>ViewDataHistory</name>
<value>false</value>
</right>
<right>
<name>EditDataHistoryVersionComment</name>
<value>false</value>
</right>
<right>
<name>SwitchToDataHistoryVersion</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>Catalog.ПапкиЭлектронныхПисем</name> <name>Catalog.ПапкиЭлектронныхПисем</name>
<right> <right>
@@ -763,45 +814,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </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> <object>
<name>Catalog.ВнешниеКомпоненты</name> <name>Catalog.ВнешниеКомпоненты</name>
<right> <right>
@@ -5581,6 +5593,45 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </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> <object>
<name>Constant.ИспользоватьСервисСклоненияMorpher</name> <name>Constant.ИспользоватьСервисСклоненияMorpher</name>
<right> <right>
@@ -3,6 +3,13 @@
<setForNewObjects>false</setForNewObjects> <setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault> <setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects> <independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -34,13 +41,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>DataProcessor.ЖурналРегистрации</name> <name>DataProcessor.ЖурналРегистрации</name>
<right> <right>
@@ -29,5 +29,6 @@
<content>DataProcessor.ЗаполнениеКалендарныхГрафиков</content> <content>DataProcessor.ЗаполнениеКалендарныхГрафиков</content>
<content>CommonModule.КалендарныеГрафикиСлужебный</content> <content>CommonModule.КалендарныеГрафикиСлужебный</content>
<content>StyleItem.НерабочийПериодПроизводственногоКалендаряФон</content> <content>StyleItem.НерабочийПериодПроизводственногоКалендаряФон</content>
<content>InformationRegister.ПериодыНерабочихДнейКалендаря</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem> <parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem> </mdclass:Subsystem>