3_1_2_157

This commit is contained in:
Компания 1С committed 2019-09-26 12:22:00 +03:00
1 parent ccbf98d8bf
commit 9317048254
80 files changed
+3735 -1503

No files matched your search

@@ -180,7 +180,7 @@
#Область СлужебныеПроцедурыИФункции
// Регистрирует к обработке виды контактной информации другое у которых необходимо заполнить поле ВидРедактирования.
// Регистрирует к обработке виды контактной информации.
//
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
@@ -188,9 +188,7 @@
Запрос.Текст = "ВЫБРАТЬ
| ВидыКонтактнойИнформации.Ссылка КАК Ссылка
|ИЗ
| Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
|ГДЕ
| ВидыКонтактнойИнформации.ЭтоГруппа = ЛОЖЬ";
| Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации";
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
@@ -203,12 +201,27 @@
ВидКонтактнойИнформацииСсылка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, "Справочник.ВидыКонтактнойИнформации");
ЯзыковБольшеОдного = Метаданные.Языки.Количество() > 1;
Наименования = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.НаименованияВидовКонтактнойИнформации();
ПроблемныхОбъектов = 0;
ОбъектовОбработано = 0;
Пока ВидКонтактнойИнформацииСсылка.Следующий() Цикл
Попытка
ВидКонтактнойИнформации = ВидКонтактнойИнформацииСсылка.Ссылка.ПолучитьОбъект();
// Исправление наименований на разных языках
Если ЯзыковБольшеОдного Тогда
ИмяВида = ?(ЗначениеЗаполнено(ВидКонтактнойИнформации.ИмяПредопределенногоВида),
ВидКонтактнойИнформации.ИмяПредопределенногоВида, ВидКонтактнойИнформации.ИмяПредопределенныхДанных);
Если ЗначениеЗаполнено(ИмяВида) Тогда
УстановитьНаименованияВидовКонтактнойИнформации(ВидКонтактнойИнформации, ИмяВида, Наименования);
КонецЕсли;
КонецЕсли;
Если Не ВидКонтактнойИнформации.ЭтоГруппа Тогда
Если ВидКонтактнойИнформации.УдалитьРедактированиеТолькоВДиалоге Тогда
ВидКонтактнойИнформации.ВидРедактирования = "Диалог";
ИначеЕсли ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты
@@ -220,6 +233,7 @@
Иначе
ВидКонтактнойИнформации.ВидРедактирования = "ПолеВводаИДиалог";
КонецЕсли;
КонецЕсли;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВидКонтактнойИнформации);
ОбъектовОбработано = ОбъектовОбработано + 1;
@@ -251,6 +265,39 @@
КонецПроцедуры
Процедура УстановитьНаименованияВидовКонтактнойИнформации(ВидКонтактнойИнформации, ИмяВида, Наименования)
Для Каждого Язык Из Метаданные.Языки Цикл
Представление = Наименования[Язык.КодЯзыка][ИмяВида];
Если ЗначениеЗаполнено(Представление) Тогда
Если Язык = Метаданные.ОсновнойЯзык Тогда
ВидКонтактнойИнформации.Наименование = Представление;
Иначе
Если Наименования[Язык.КодЯзыка][ИмяВида] <> Неопределено Тогда
Отбор = Новый Структура;
Отбор.Вставить("КодЯзыка", Язык.КодЯзыка);
Отбор.Вставить("Наименование", Представление);
НайденныеСтроки = ВидКонтактнойИнформации.Представления.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда
НоваяСтрока = НайденныеСтроки[0];
Иначе
НоваяСтрока = ВидКонтактнойИнформации.Представления.Добавить();
КонецЕсли;
НоваяСтрока.КодЯзыка = Язык.КодЯзыка;
НоваяСтрока.Наименование = Представление;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
@@ -184,6 +184,32 @@
<items xsi:type="form:FormGroup">
<name>ГруппаДействие</name>
<id>65</id>
<items xsi:type="form:Button">
<name>ОбновитьСПортала1СИТС</name>
<id>67</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОбновитьСПортала1СИТСРасширеннаяПодсказка</name>
<id>68</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ОбновитьСПортала1СИТС</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ФормаОбновитьИзФайла</name>
<id>58</id>
@@ -237,32 +263,6 @@
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ОбновитьСПортала1СИТС</name>
<id>67</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОбновитьСПортала1СИТСРасширеннаяПодсказка</name>
<id>68</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ОбновитьСПортала1СИТС</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -796,7 +796,7 @@
<name>ОбновитьИзФайла</name>
</handler>
</action>
<representation>TextPicture</representation>
<representation>Picture</representation>
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
@@ -259,6 +259,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
@@ -1635,6 +1635,7 @@
<event>StartChoice</event>
<name>КомментарийНачалоВыбора</name>
</handlers>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<choiceButton>true</choiceButton>
<chooseType>true</chooseType>
@@ -253,6 +253,10 @@
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle>
@@ -0,0 +1,25 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список,
"ПометкаУдаления",
Ложь,
ВидСравненияКомпоновкиДанных.Равно,
НСтр("ru = 'Отображение только не помеченных на удаление папок'"),
Истина,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный);
КонецПроцедуры
#КонецОбласти
@@ -15,6 +15,12 @@
<v8:content>Письмо</v8:content>
</v8:item>
</title>
<attributeUseRestriction>
<field>true</field>
<condition>true</condition>
<group>true</group>
<order>true</order>
</attributeUseRestriction>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>Тема</dataPath>
@@ -33,10 +39,22 @@
<field xsi:type="DataSetFieldField">
<dataPath>ОтправительКонтакт</dataPath>
<field>ОтправительКонтакт</field>
<attributeUseRestriction>
<field>true</field>
<condition>true</condition>
<group>true</group>
<order>true</order>
</attributeUseRestriction>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>Предмет</dataPath>
<field>Предмет</field>
<attributeUseRestriction>
<field>true</field>
<condition>true</condition>
<group>true</group>
<order>true</order>
</attributeUseRestriction>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>ТипПисьма</dataPath>
@@ -2001,6 +2001,8 @@
ПараметрыДоставки.Вставить("ДобавлятьСсылки", "");
РезультатВыполнения = ПроверитьСпособДоставки(Объект.Ссылка, ПараметрыДоставки);
ПараметрыВопроса = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю();
ПараметрыВопроса.ПредлагатьБольшеНеЗадаватьЭтотВопрос = Ложь;
СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(Неопределено,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1
|%2'"), РезультатВыполнения.Текст, РезультатВыполнения.Подробно), РежимДиалогаВопрос.ОК);
@@ -608,7 +608,7 @@
Если ЗаполнитьСвойстваТекущегоСертификатаНаСервере(ТекущиеДанные.Отпечаток, Контекст.СохраненныеСвойства) Тогда
ПерейтиКВыборуТекущегоСертификатаПослеЗаполненияСвойствСертификата(Контекст);
Иначе
Результат.ОписаниеОшибки = НСтр("ru = 'Сертификат не найден на сервере (возможно удален).'");
Результат.ОписаниеОшибки = НСтр("ru = 'Сертификат отсутствует на сервере (возможно удален).'");
Результат.ОбновитьСписокСертификатов = Истина;
ВыполнитьОбработкуОповещения(Оповещение, Результат);
КонецЕсли;
@@ -657,11 +657,20 @@
Процедура ПерейтиКВыборуТекущегоСертификатаПослеПоискаСертификатаВОблачномСервисе(РезультатПоиска, Контекст) Экспорт
Если Не РезультатПоиска.Выполнено Тогда
Контекст.Вставить("ОписаниеОшибки", РезультатПоиска.ОписаниеОшибки.Описание);
Контекст.Результат.ОписаниеОшибки = РезультатПоиска.ОписаниеОшибки.Описание;
Контекст.Результат.ОбновитьСписокСертификатов = Истина;
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Контекст.Результат);
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(РезультатПоиска.Сертификат) Тогда
Контекст.Результат.ОписаниеОшибки = НСтр("ru = 'Сертификат отсутствует в облачном сервисе (возможно удален).'");
Контекст.Результат.ОбновитьСписокСертификатов = Истина;
ВыполнитьОбработкуОповещения(Контекст.Оповещение, Контекст.Результат);
Возврат;
КонецЕсли;
Контекст.Вставить("СертификатКриптографии", РезультатПоиска.Сертификат);
ПерейтиКВыборуТекущегоСертификатаПослеВыгрузкиСертификата(РезультатПоиска.Сертификат.Сертификат, Контекст);
КонецПроцедуры
@@ -277,23 +277,23 @@
&НаКлиенте
Процедура ДалееПослеПоискаСертификатаВОблачномСервисе(Результат, Контекст) Экспорт
Если ТипЗнч(Результат) = Тип("Структура") Тогда
Если Результат.Выполнено Тогда
ДалееПослеВыгрузкиСертификата(Результат.Сертификат.Сертификат, Результат.Сертификат);
КонецЕсли;
Если Не Результат.Выполнено Тогда
Контекст = Новый Структура;
Контекст.Вставить("ОписаниеОшибки", Результат.ОписаниеОшибки.Описание);
ОбновитьСписокСертификатов(Новый ОписаниеОповещения(
"ДалееПослеОбновленияСпискаСертификатов", ЭтотОбъект, Контекст));
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(Результат.Сертификат) Тогда
Контекст = Новый Структура;
Если Не Результат.Выполнено Тогда
Контекст.Вставить("ОписаниеОшибки", НСтр("ru = 'Сертификат не найден в облачном сервисе (возможно удален).'"));
Иначе
Контекст.Вставить("ОписаниеОшибки", Результат.ОписаниеОшибки);
КонецЕсли;
Контекст.Вставить("ОписаниеОшибки", НСтр("ru = 'Сертификат отсутствует в облачном сервисе (возможно удален).'"));
ОбновитьСписокСертификатов(Новый ОписаниеОповещения(
"ДалееПослеОбновленияСпискаСертификатов", ЭтотОбъект, Контекст));
Возврат;
КонецЕсли;
ДалееПослеВыгрузкиСертификата(Результат.Сертификат.Сертификат, Результат.Сертификат);
КонецПроцедуры
@@ -1006,6 +1006,19 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ОблачныйПарольПодтвержден</name>
<id>23</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>Подписать</name>
<title>
@@ -282,7 +282,8 @@
Если БезПодтверждения
И ( ДополнительныеПараметры.ПарольУказан
Или ДополнительныеПараметры.УсиленнаяЗащитаЗакрытогоКлюча) Тогда
Или ДополнительныеПараметры.УсиленнаяЗащитаЗакрытогоКлюча
Или ОблачныйПарольПодтвержден) Тогда
ОбработкаПослеПредупреждения = Неопределено;
ПодписатьДанные(Новый ОписаниеОповещения("ПродолжитьОткрытиеПослеПодписанияДанных", ЭтотОбъект, Контекст));
@@ -541,17 +541,15 @@
&НаКлиенте
Процедура ПроверитьНаСторонеКлиентаПослеПоискаСертификатаВМоделиСервиса(Результат, Контекст) Экспорт
Если ТипЗнч(Результат) = Тип("Структура") И Не Результат.Выполнено Тогда
ОписаниеОшибки = КраткоеПредставлениеОшибки(Результат.ИнформацияОбОшибке) + Символы.ПС + Символы.ПС
+ НСтр("ru = 'Проверка подписания, созданной подписи и расшифровки не могут быть выполнены.'");
ИначеЕсли ТипЗнч(Результат) <> Тип("Структура") Тогда
ОписаниеОшибки = Результат.ОписаниеОшибки.Описание + Символы.ПС + Символы.ПС
+ НСтр("ru = 'Проверка подписания, созданной подписи и расшифровки не могут быть выполнены.'");
ИначеЕсли Результат.Сертификат = Неопределено Тогда
ОписаниеОшибки = НСтр("ru = 'Сертификат не найден в хранилище сертификатов.'") + Символы.ПС
+ НСтр("ru = 'Проверка подписания, созданной подписи и расшифровки не могут быть выполнены.'");
Иначе
ОписаниеОшибки = "";
Если Не Результат.Выполнено Тогда
ОписаниеОшибки = Результат.ОписаниеОшибки.Описание;
ИначеЕсли Не ЗначениеЗаполнено(Результат.Сертификат) Тогда
ОписаниеОшибки = НСтр("ru = 'Сертификат отсутствует в облачном сервисе (возможно удален).'");
КонецЕсли;
Если Не ПустаяСтрока(ОписаниеОшибки) Тогда
ОписаниеОшибки = ОписаниеОшибки + Символы.ПС
+ НСтр("ru = 'Проверка подписания, созданной подписи и расшифровки не могут быть выполнены.'");
КонецЕсли;
УстановитьЭлемент(ЭтотОбъект, "НаличиеСертификата", Ложь, ОписаниеОшибки);
@@ -939,6 +939,19 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ОблачныйПарольПодтвержден</name>
<id>24</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>Расшифровать</name>
<title>
@@ -319,7 +319,8 @@
Если БезПодтверждения
И ( ДополнительныеПараметры.ПарольУказан
Или ДополнительныеПараметры.УсиленнаяЗащитаЗакрытогоКлюча) Тогда
Или ДополнительныеПараметры.УсиленнаяЗащитаЗакрытогоКлюча
Или ОблачныйПарольПодтвержден) Тогда
ОбработкаПослеПредупреждения = Неопределено;
РасшифроватьДанные(Новый ОписаниеОповещения("ПродолжитьОткрытиеПослеРасшифровкиДанных", ЭтотОбъект, Контекст));
@@ -1464,6 +1464,7 @@
<segments>Реквизиты</segments>
</dataPath>
<titleLocation>None</titleLocation>
<excludedCommands>Change</excludedCommands>
<excludedCommands>Copy</excludedCommands>
<excludedCommands>EndEdit</excludedCommands>
<excludedCommands>MoveDown</excludedCommands>
@@ -1878,7 +1879,7 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.Реквизиты.StandardCommand.Change</commandName>
<commandName>Form.Command.ИзменитьРеквизит</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -3987,6 +3988,32 @@
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ИзменитьРеквизит</name>
<title>
<key>ru</key>
<value>Изменить</value>
</title>
<id>11</id>
<toolTip>
<key>ru</key>
<value>Изменить реквизит</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.Change</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ИзменитьРеквизит</name>
</handler>
</action>
<modifiesStoredData>true</modifiesStoredData>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>ВидСообщения</name>
<valueType>
@@ -436,9 +436,11 @@
Если ТекущиеДанные.ПроизвольныйПараметр Тогда
Элементы.РеквизитыКонтекстноеМенюУдалить.Доступность = Истина;
Элементы.Удалить.Доступность = Истина;
Элементы.РеквизитыКонтекстноеМенюИзменить.Доступность = Истина;
Иначе
Элементы.РеквизитыКонтекстноеМенюУдалить.Доступность = Ложь;
Элементы.Удалить.Доступность = Ложь;
Элементы.РеквизитыКонтекстноеМенюИзменить.Доступность = Ложь;
КонецЕсли;
Если ТекущиеДанные.ПолучитьЭлементы().Количество() > 0 Тогда
ИзменитьДоступностьКонтекстногоМенюРеквизитов(Ложь);
@@ -460,18 +462,13 @@
&НаКлиенте
Процедура РеквизитыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если ИспользоватьПроизвольныеПараметры Тогда
Реквизит = Реквизиты.НайтиПоИдентификатору(ВыбраннаяСтрока);
Если Реквизит.ПроизвольныйПараметр Тогда
ДополнительныеПараметры = Новый Структура("Добавление, ВыбраннаяСтрока", Ложь, ВыбраннаяСтрока);
ПараметрыФормы = Новый Структура("ИмяПараметра, ПредставлениеПараметра, ОписаниеТипа", Реквизит.Имя, Реквизит.Представление, Реквизит.Тип);
ПараметрыФормы.Вставить("СписокПараметров", Объект.Параметры);
ПараметрыФормы.Вставить("ПолноеИмяТипаПараметраВводаНаОсновании", Объект.ПолноеИмяТипаПараметраВводаНаОсновании);
ОповещениеОЗакрытие = Новый ОписаниеОповещения("ПослеЗакрытияФормыПараметра", ЭтотОбъект, ДополнительныеПараметры);
ОткрытьФорму("Справочник.ШаблоныСообщений.Форма.ПроизвольныйПараметр", ПараметрыФормы,,,,, ОповещениеОЗакрытие);
КонецЕсли;
Реквизит = Реквизиты.НайтиПоИдентификатору(ВыбраннаяСтрока);
ЭлементДерева = Реквизиты.НайтиПоИдентификатору(Реквизит.ПолучитьИдентификатор());
Если ЭлементДерева.ПолучитьЭлементы().Количество() = 0 Тогда
ДобавитьВТекстСообщенияПараметр();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
@@ -604,31 +601,27 @@
&НаКлиенте
Процедура ДобавитьПараметрВТекстСообщения(Команда)
Если Элементы.Реквизиты.ВыделенныеСтроки <> Неопределено Тогда
Текст = "";
Для каждого НомерСтроки Из Элементы.Реквизиты.ВыделенныеСтроки Цикл
НайденнаяСтрока = Реквизиты.НайтиПоИдентификатору(НомерСтроки);
Если НайденнаяСтрока <> Неопределено Тогда
ФорматВывода = ?(ПустаяСтрока(НайденнаяСтрока.Формат), "", "{" + НайденнаяСтрока.Формат +"}");
Текст = Текст + "[" + НайденнаяСтрока.Имя + ФорматВывода + "] ";
КонецЕсли;
КонецЦикла;
Если Объект.ТипТекстаПисьма = ПредопределенноеЗначение("Перечисление.СпособыРедактированияЭлектронныхПисем.HTML") Тогда
Если ПустаяСтрока(Элементы.ТелоПисьмаВHTML.ВыделенныйТекст) Тогда
ЗакладкаДляВставкиНачало = Неопределено;
ЗакладкаДляВставкиКонец = Неопределено;
Элементы.ТелоПисьмаВHTML.ПолучитьГраницыВыделения(ЗакладкаДляВставкиНачало, ЗакладкаДляВставкиКонец);
ТелоПисьмаВHTML.Вставить(ЗакладкаДляВставкиКонец, Текст);
Иначе
Элементы.ТелоПисьмаВHTML.ВыделенныйТекст = Текст;
КонецЕсли;
Иначе
Если Объект.ПредназначенДляSMS Тогда
Элементы.ТелоСообщенияОбычныйТекстSMS.ВыделенныйТекст = Текст;
Иначе
Элементы.ТелоСообщенияОбычныйТекст.ВыделенныйТекст = Текст;
КонецЕсли;
ДобавитьВТекстСообщенияПараметр();
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьРеквизит(Команда)
ТекущиеДанные = Элементы.Реквизиты.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Если ИспользоватьПроизвольныеПараметры И ТекущиеДанные.ПроизвольныйПараметр Тогда
ИдентификаторыСтроки = ТекущиеДанные.ПолучитьИдентификатор();
ДополнительныеПараметры = Новый Структура("Добавление, ВыбраннаяСтрока", Ложь, ИдентификаторыСтроки);
ПараметрыФормы = Новый Структура("ИмяПараметра, ПредставлениеПараметра, ОписаниеТипа", ТекущиеДанные.Имя, ТекущиеДанные.Представление, ТекущиеДанные.Тип);
ПараметрыФормы.Вставить("СписокПараметров", Объект.Параметры);
ПараметрыФормы.Вставить("ПолноеИмяТипаПараметраВводаНаОсновании", Объект.ПолноеИмяТипаПараметраВводаНаОсновании);
ОповещениеОЗакрытие = Новый ОписаниеОповещения("ПослеЗакрытияФормыПараметра", ЭтотОбъект, ДополнительныеПараметры);
ОткрытьФорму("Справочник.ШаблоныСообщений.Форма.ПроизвольныйПараметр", ПараметрыФормы,,,,, ОповещениеОЗакрытие);
КонецЕсли;
КонецПроцедуры
@@ -1830,4 +1823,37 @@
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьВТекстСообщенияПараметр()
Если Элементы.Реквизиты.ВыделенныеСтроки <> Неопределено Тогда
Текст = "";
Для каждого НомерСтроки Из Элементы.Реквизиты.ВыделенныеСтроки Цикл
НайденнаяСтрока = Реквизиты.НайтиПоИдентификатору(НомерСтроки);
Если НайденнаяСтрока <> Неопределено Тогда
ФорматВывода = ?(ПустаяСтрока(НайденнаяСтрока.Формат), "", "{" + НайденнаяСтрока.Формат +"}");
Текст = Текст + "[" + НайденнаяСтрока.Имя + ФорматВывода + "] ";
КонецЕсли;
КонецЦикла;
Если Объект.ТипТекстаПисьма = ПредопределенноеЗначение("Перечисление.СпособыРедактированияЭлектронныхПисем.HTML") Тогда
Если ПустаяСтрока(Элементы.ТелоПисьмаВHTML.ВыделенныйТекст) Тогда
ЗакладкаДляВставкиНачало = Неопределено;
ЗакладкаДляВставкиКонец = Неопределено;
Элементы.ТелоПисьмаВHTML.ПолучитьГраницыВыделения(ЗакладкаДляВставкиНачало, ЗакладкаДляВставкиКонец);
ТелоПисьмаВHTML.Вставить(ЗакладкаДляВставкиКонец, Текст);
Иначе
Элементы.ТелоПисьмаВHTML.ВыделенныйТекст = Текст;
КонецЕсли;
Иначе
Если Объект.ПредназначенДляSMS Тогда
Элементы.ТелоСообщенияОбычныйТекстSMS.ВыделенныйТекст = Текст;
Иначе
Элементы.ТелоСообщенияОбычныйТекст.ВыделенныйТекст = Текст;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
File diff suppressed because it is too large. Load diff
@@ -19,19 +19,27 @@
ЗаполнитьТаблицуПолучателей();
УстановитьГруппуПоУмолчанию();
ВидыКонтактнойИнформации = УправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(
Справочники.Пользователи.ПустаяСсылка(), Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
Если ВидыКонтактнойИнформации.Количество() > 0 Тогда
ВидЭлектроннаяПочта = ВидыКонтактнойИнформации[0].Ссылка;
Иначе
ВидЭлектроннаяПочта = Неопределено;
КонецЕсли;
СписокПользователей.Параметры.УстановитьЗначениеПараметра("ЭлектроннаяПочта", ВидЭлектроннаяПочта);
// Заполним контакты по предмету.
Предмет = Параметры.Предмет;
Взаимодействия.ЗаполнитьКонтактыПоПредмету(Элементы, Предмет, КонтактыПоПредмету, Истина);
// Заполним список вариантов поиска и осуществим первый поиск.
ВсеСпискиПоиска = Взаимодействия.СписокДоступныхПоисков(ППДВключен, Параметры, Элементы, Истина);
ВариантыПоиска = "ПоEmail";
ВариантыПоиска = "Везде";
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ОбновитьМенюВариантовПоиска();
УправлениеСтраницами();
КонецПроцедуры
@@ -233,17 +241,19 @@
// Инициирует процесс поиска контактов.
//
&НаКлиенте
Процедура КомандаНайтиВыполнить()
Процедура НайтиКонтактыВыполнить()
Если ПустаяСтрока(СтрокаПоиска) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Не задана строка поиска.'"),,"СтрокаПоиска");
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Не задано, что нужно найти.'"),, "СтрокаПоиска");
Возврат;
КонецЕсли;
Результат = "";
НайденныеКонтакты.Очистить();
Если ВариантыПоиска = "ПоEmail" Тогда
Если ВариантыПоиска = "Везде" Тогда
Результат = НайтиКонтакты();
ИначеЕсли ВариантыПоиска = "ПоEmail" Тогда
НайтиПоEmail(Ложь);
ИначеЕсли ВариантыПоиска = "ПоДомену" Тогда
НайтиПоEmail(Истина);
@@ -254,9 +264,7 @@
КонецЕсли;
Если Не ПустаяСтрока(Результат) Тогда
ПоказатьПредупреждение(, Результат);
КонецЕсли;
КонецПроцедуры
@@ -307,7 +315,6 @@
Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов;
НайденныеКонтакты.Очистить();
ВариантыПоиска = "ПоEmail";
ТекущиеДанные = Элементы.ПолучателиПисьма.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
@@ -328,7 +335,6 @@
Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов;
НайденныеКонтакты.Очистить();
ВариантыПоиска = "ПоСтроке";
ТекущиеДанные = Элементы.ПолучателиПисьма.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
@@ -462,6 +468,48 @@
КонецПроцедуры
&НаКлиенте
Процедура ВариантПоискаВезде(Команда)
ВариантыПоиска = "Везде";
ОбновитьМенюВариантовПоиска();
КонецПроцедуры
&НаКлиенте
Процедура ВариантПоискаВАдресах(Команда)
ВариантыПоиска = "ПоEmail";
ОбновитьМенюВариантовПоиска();
КонецПроцедуры
&НаКлиенте
Процедура ВариантПоискаВНаименованияхКонтактов(Команда)
ВариантыПоиска = "ПоСтроке";
ОбновитьМенюВариантовПоиска();
КонецПроцедуры
&НаКлиенте
Процедура ВариантПоискаПоДоменномуИмени(Команда)
ВариантыПоиска = "ПоДомену";
ОбновитьМенюВариантовПоиска();
КонецПроцедуры
&НаКлиенте
Процедура Просмотр(Команда)
Если Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПользователей Тогда
ТекущиеДанные = Элементы.СписокПользователей.ТекущиеДанные;
ИначеЕсли ТипЗнч(ТекущийЭлемент) = Тип("ТаблицаФормы") Тогда
ТекущиеДанные = ТекущийЭлемент.ТекущиеДанные;
Иначе
Возврат;
КонецЕсли;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ПоказатьЗначение(, ТекущиеДанные.Ссылка);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -469,8 +517,13 @@
////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции осуществления поиска.
// Осуществляет поиск контактов по доменному имени или по адресу электронной почты.
//
&НаСервере
Функция НайтиКонтакты()
Возврат Взаимодействия.НайтиКонтакты(СтрокаПоиска, ЭтотОбъект);
КонецФункции
&НаСервере
Процедура НайтиПоEmail(ПоДомену)
@@ -478,21 +531,17 @@
КонецПроцедуры
// Осуществляет поиск контактов по строке.
//
&НаСервере
Функция КонтактыНайденныеПоСтроке()
Возврат Взаимодействия.ОсуществитьПоискКонтактовПоСтроке(ЭтотОбъект, Истина);
Возврат Взаимодействия.ПолнотекстовыйПоискКонтактовПоСтроке(СтрокаПоиска, ЭтотОбъект, Истина);
КонецФункции
// Осуществляет поиск контактов по началу наименования.
//
&НаСервере
Процедура НайтиПоНачалуНаименования()
Взаимодействия.ВсеКонтактыПоНачалуНаименованияСАдресамиЭлектроннойПочты(СтрокаПоиска, ЭтотОбъект);
Взаимодействия.НайтиКонтактыСАдресамиПоНаименованию(СтрокаПоиска, ЭтотОбъект);
КонецПроцедуры
@@ -574,6 +623,13 @@
&НаКлиенте
Процедура ДобавитьПолучателя(Адрес, Наименование, Контакт, СписокАдресов = "")
Для Индекс = 0 По ПолучателиПисьма.Количество() - 1 Цикл
ПолучательПисьма = ПолучателиПисьма[ПолучателиПисьма.Количество() - Индекс - 1];
Если ПустаяСтрока(ПолучательПисьма.Адрес) И ПустаяСтрока(ПолучательПисьма.Представление) И Не ЗначениеЗаполнено(ПолучательПисьма.Контакт) Тогда
ПолучателиПисьма.Удалить(Индекс);
КонецЕсли;
КонецЦикла;
НоваяСтрока = ПолучателиПисьма.Добавить();
НоваяСтрока.Адрес = Адрес;
НоваяСтрока.Представление = Наименование;
@@ -718,4 +774,14 @@
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьМенюВариантовПоиска()
Элементы.ВариантПоискаВезде.Пометка = (ВариантыПоиска = "Везде");
Элементы.ВариантПоискаВАдресах.Пометка = (ВариантыПоиска = "ПоEmail");
Элементы.ВариантПоискаВНаименованияхКонтактов.Пометка = (ВариантыПоиска = "ПоСтроке");
Элементы.ВариантПоискаПоДоменномуИмени.Пометка = (ВариантыПоиска = "ПоДомену");
КонецПроцедуры
#КонецОбласти
@@ -9,7 +9,7 @@
#Область ОписаниеПеременных
&НаКлиенте
Перем ЭлементСпискаДоНачалаИзменения;
Перем ЭлементСпискаДоНачалаИзменения; // см. ЭлементСпискаДоНачалаИзменения
#КонецОбласти
@@ -148,7 +148,7 @@
Если ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
ЭлементСпискаДоНачалаИзменения = Новый Структура("Идентификатор, Пометка, Значение, Представление");
ЭлементСпискаДоНачалаИзменения = ЭлементСпискаДоНачалаИзменения();
ЗаполнитьЗначенияСвойств(ЭлементСпискаДоНачалаИзменения, ЭлементСпискаВФорме);
ЭлементСпискаДоНачалаИзменения.Идентификатор = СтрокаИдентификатор;
КонецПроцедуры
@@ -289,4 +289,29 @@
КонецПроцедуры
////////////////////////////////////////////////////////////////////////////////
// Конструкторы.
// Конструктор описания свойств элемента списка значений.
//
// Возвращаемое значение:
// Структура - описание свойств элемента списка значений, где:
// * Идентификатор - Число - идентификатор строки таблицы формы.
// * Пометка - Булево - признак того, что элемент списка значений выбран.
// * Значение - Неопределено - значение списка значений.
// * Представление - Строка - представление элемента списка значений.
//
&НаКлиенте
Функция ЭлементСпискаДоНачалаИзменения()
Элемент = Новый Структура();
Элемент.Вставить("Идентификатор", 0);
Элемент.Вставить("Пометка", Ложь);
Элемент.Вставить("Значение", Неопределено);
Элемент.Вставить("Представление", "");
Возврат Элемент;
КонецФункции
#КонецОбласти
@@ -365,7 +365,7 @@
&НаСервере
Функция НайтиПоСтроке()
Возврат Взаимодействия.ОсуществитьПоискКонтактовПоСтроке(ЭтотОбъект);
Возврат Взаимодействия.ПолнотекстовыйПоискКонтактовПоСтроке(СтрокаПоиска, ЭтотОбъект);
КонецФункции
@@ -319,7 +319,9 @@
Образец.Область(1, 1).ВысотаСтроки = 5;
Образец.Область(1, 1).ШиринаКолонки = 1;
Образец.Область(2, 2, 4, 4).ЦветРамки = Новый Цвет(128, 128, 128);
ЦветОбразца = Метаданные.ЭлементыСтиля.ОбразецНастройкиКолонтитуловЦвет.Значение;
Образец.Область(2, 2, 4, 4).ЦветРамки = ЦветОбразца;
Образец.Область(2, 2, 4, 4).РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Забивать;
Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);
@@ -332,7 +334,6 @@
Образец.Область(4, 3).Обвести(, Линия, , Линия);
Образец.Область(4, 4).Обвести(, Линия, Линия, Линия);
Образец.Область(2, 2).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Лево;
Образец.Область(2, 3).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
Образец.Область(2, 4).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
@@ -347,7 +348,7 @@
Образец.Область(3, 2).Текст = Символы.ПС + НСтр("ru = 'Образец отчета'") + Символы.ПС + " ";
Образец.Область(3, 2).Шрифт = Новый Шрифт("Arial", 20);
Образец.Область(3, 2).ЦветТекста = Новый Цвет(128, 128, 128);
Образец.Область(3, 2).ЦветТекста = ЦветОбразца;
Образец.Область(3, 2).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
@@ -1315,22 +1315,7 @@
КонецЦикла;
КонецЦикла;
ОписаниеТиповИдентификатора = Новый ОписаниеТипов;
ОписаниеТиповИдентификатора.Типы().Добавить("СправочникСсылка.ИдентификаторыОбъектовМетаданных");
ОписаниеТиповИдентификатора.Типы().Добавить("СправочникСсылка.ИдентификаторыОбъектовРасширений");
// Моделирование распределения вариантов с учетом вложенности подсистем.
ДеревоРаспределения = Новый ДеревоЗначений;
ДеревоРаспределения.Колонки.Добавить("Подсистема");
ДеревоРаспределения.Колонки.Добавить("ПодсистемаСсылка", ОписаниеТиповИдентификатора);
ДеревоРаспределения.Колонки.Добавить("Варианты", Новый ОписаниеТипов("Массив"));
ДеревоРаспределения.Колонки.Добавить("КоличествоВариантов", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("КоличествоПустыхСтрок", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхВариантов", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхПодсистем", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхПустыхСтрок", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("УровеньВложенности", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("ВерхнийУровень", Новый ОписаниеТипов("Булево"));
ДеревоРаспределения = ДеревоРаспределения();
МаксимальныйУровеньВложенности = 0;
@@ -1398,19 +1383,7 @@
// Количество вариантов для вывода в одной колонке.
ГруппаУровня3Отсечка = Макс(Цел(КоличествоСтрок / КоличествоКолонок), 2);
ПорядокВывода = Новый ТаблицаЗначений;
ПорядокВывода.Колонки.Добавить("НомерКолонки", Новый ОписаниеТипов("Число"));
ПорядокВывода.Колонки.Добавить("ЭтоПодсистема", Новый ОписаниеТипов("Булево"));
ПорядокВывода.Колонки.Добавить("ЭтоПродолжение", Новый ОписаниеТипов("Булево"));
ПорядокВывода.Колонки.Добавить("ЭтоВариант", Новый ОписаниеТипов("Булево"));
ПорядокВывода.Колонки.Добавить("ЭтоПустаяСтрока", Новый ОписаниеТипов("Булево"));
ПорядокВывода.Колонки.Добавить("СтрокаДерева");
ПорядокВывода.Колонки.Добавить("Подсистема");
ПорядокВывода.Колонки.Добавить("ПодсистемаСсылка", ОписаниеТиповИдентификатора);
ПорядокВывода.Колонки.Добавить("ПодсистемаПриоритет", Новый ОписаниеТипов("Строка"));
ПорядокВывода.Колонки.Добавить("Вариант");
ПорядокВывода.Колонки.Добавить("ВариантСсылка");
ПорядокВывода.Колонки.Добавить("УровеньВложенности", Новый ОписаниеТипов("Число"));
ПорядокВывода = ПорядокВывода();
Рекурсия = Новый Структура;
Рекурсия.Вставить("ВсегоОсталосьВывести", КоличествоСтрок);
@@ -1482,6 +1455,99 @@
КонецПроцедуры
// Конструктор коллекции, для моделирования распределения вариантов отчетов с учетом вложенности подсистем.
//
// Возвращаемое значение:
// ДеревоЗначений - коллекция, для моделирования распределения вариантов отчетов с учетом вложенности подсистем, где:
// * Подсистема - СтрокаТаблицыЗначений - описание подсистемы.
// * ПодсистемаСсылка - СправочникСсылка.ИдентификаторыОбъектовМетаданных,
// СправочникСсылка.ИдентификаторыОбъектовРасширений - ссылка на идентификатор подсистемы.
// * Варианты - Массив - коллекция вариантов отчета, где:
// ** Элемент - СтрокаТаблицыЗначений - описание варианта отчета, где:
// *** КоличествоПодчиненных - Число - счетчик подчиненных элементов.
// * КоличествоВариантов- Число - счетчик вариантов отчетов.
// * КоличествоПустыхСтрок - Число - дополнительный счетчик.
// * ВсегоВложенныхВариантов- Число - счетчик дочерних вариантов отчетов.
// * ВсегоВложенныхПодсистем- Число - счетчик дочерних подсистем.
// * ВсегоВложенныхПустыхСтрок- Число - дополнительный счетчик.
// * УровеньВложенности- Число - номер уровня в иерархии.
// * ВерхнийУровень- Булево - признак того, что запись верхнего уровня.
//
&НаСервере
Функция ДеревоРаспределения()
ОписаниеПризнака = Новый ОписаниеТипов("Булево");
ОписаниеЧисла = Новый ОписаниеТипов("Число");
ОписаниеМассива = Новый ОписаниеТипов("Массив");
ОписаниеИдентификатора = Новый ОписаниеТипов(
"СправочникСсылка.ИдентификаторыОбъектовМетаданных, СправочникСсылка.ИдентификаторыОбъектовРасширений");
ДеревоРаспределения = Новый ДеревоЗначений;
ДеревоРаспределения.Колонки.Добавить("Подсистема");
ДеревоРаспределения.Колонки.Добавить("ПодсистемаСсылка", ОписаниеИдентификатора);
ДеревоРаспределения.Колонки.Добавить("Варианты", ОписаниеМассива);
ДеревоРаспределения.Колонки.Добавить("КоличествоВариантов", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("КоличествоПустыхСтрок", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхВариантов", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхПодсистем", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхПустыхСтрок", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("УровеньВложенности", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("ВерхнийУровень", ОписаниеПризнака);
Возврат ДеревоРаспределения;
КонецФункции
// Конструктор коллекции, хранящей сведения о порядке вывода отчетов на панель.
//
// Возвращаемое значение:
// ТаблицаЗначений - коллекция, хранящая сведения о порядке вывода отчетов на панель, где:
// * НомерКолонки- Число - номер колонки, в которую выводится отчет.
// * ЭтоПодсистема - Булево - признак подсистемы.
// * ЭтоПродолжение - Булево - дополнительный признак.
// * ЭтоВариант - Булево -признак варианта отчета.
// * ЭтоПустаяСтрока - Булево - признак не заполненной строки.
// * СтрокаДерева - СтрокаДереваЗначений - см. ...
// * Подсистема - СтрокаТаблицыЗначений - описание подсистемы.
// * ПодсистемаСсылка - СправочникСсылка.ИдентификаторыОбъектовМетаданных,
// СправочникСсылка.ИдентификаторыОбъектовРасширений - ссылка на идентификатор подсистемы.
// * ПодсистемаПриоритет - Число - приоритет подсистемы.
// * Вариант - СтрокаТаблицыЗначений - описание варианта отчета, где:
// ** КоличествоПодчиненных - Число - счетчик подчиненных элементов.
// * ВариантСсылка - СправочникСсылка.ВариантыОтчетов - ссылка на вариант отчета.
// * УровеньВложенности - Число - номер уровня в иерархии.
//
&НаСервере
Функция ПорядокВывода()
ОписаниеПризнака = Новый ОписаниеТипов("Булево");
ОписаниеЧисла = Новый ОписаниеТипов("Число");
ОписаниеСтроки = Новый ОписаниеТипов("Строка");
ОписаниеИдентификатора = Новый ОписаниеТипов(
"СправочникСсылка.ИдентификаторыОбъектовМетаданных, СправочникСсылка.ИдентификаторыОбъектовРасширений");
ПорядокВывода = Новый ТаблицаЗначений;
ПорядокВывода.Колонки.Добавить("НомерКолонки", ОписаниеЧисла);
ПорядокВывода.Колонки.Добавить("ЭтоПодсистема", ОписаниеПризнака);
ПорядокВывода.Колонки.Добавить("ЭтоПродолжение", ОписаниеПризнака);
ПорядокВывода.Колонки.Добавить("ЭтоВариант", ОписаниеПризнака);
ПорядокВывода.Колонки.Добавить("ЭтоПустаяСтрока", ОписаниеПризнака);
ПорядокВывода.Колонки.Добавить("СтрокаДерева");
ПорядокВывода.Колонки.Добавить("Подсистема");
ПорядокВывода.Колонки.Добавить("ПодсистемаСсылка", ОписаниеИдентификатора);
ПорядокВывода.Колонки.Добавить("ПодсистемаПриоритет", ОписаниеСтроки);
ПорядокВывода.Колонки.Добавить("Вариант");
ПорядокВывода.Колонки.Добавить("ВариантСсылка");
ПорядокВывода.Колонки.Добавить("УровеньВложенности", ОписаниеЧисла);
Возврат ПорядокВывода;
КонецФункции
&НаСервере
Процедура ЗаполнитьПорядокВывода(ПорядокВывода, СтрокаРодителя, СтрокаДерева, Рекурсия, ПараметрыЗаполнения)
@@ -1222,33 +1222,6 @@
<items xsi:type="form:FormGroup">
<name>ГруппаОбменНастройкамиЕще</name>
<id>820</id>
<items xsi:type="form:Button">
<name>СохранитьВариантОтчетаВФайл</name>
<id>822</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СохранитьВариантОтчетаВФайлРасширеннаяПодсказка</name>
<id>823</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СохранитьВариантОтчетаВФайл</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ОбновитьВариантОтчетаИзФайла</name>
<id>824</id>
@@ -1276,6 +1249,33 @@
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>СохранитьВариантОтчетаВФайл</name>
<id>822</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СохранитьВариантОтчетаВФайлРасширеннаяПодсказка</name>
<id>823</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СохранитьВариантОтчетаВФайл</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -1221,6 +1221,7 @@
ПараметрыОткрытия.Вставить("Представление", Элемент.Заголовок);
ПараметрыОткрытия.Вставить("ПараметрыВыбора", Новый Массив(ПараметрыВыбора));
ПараметрыОткрытия.Вставить("ВыборГруппИЭлементов", ВыборГруппИЭлементов);
ПараметрыОткрытия.Вставить("БыстрыйВыбор", ?(ОписаниеНастроек = Неопределено, Ложь, ОписаниеНастроек.БыстрыйВыбор));
Обработчик = Новый ОписаниеОповещения("ЗавершитьВыборИзСписка", ЭтотОбъект, Сведения.ЭлементПользовательскойНастройки);
Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
@@ -225,7 +225,7 @@
//
// Служебные реквизиты (только для чтения):
// * Отчет - <см. Справочники.ВариантыОтчетов.Реквизиты.Отчет> - полное имя или ссылка на отчет.
// * Метаданные - ОбъектМетаданных: Отчет - метаданные отчета.
// * Метаданные - ОбъектМетаданныхОтчет - метаданные отчета.
// * КлючВарианта - Строка - имя варианта отчета.
// * ОписаниеПолучено - Булево - флажок что описание строки уже получено.
// Описание получается методом ОписаниеВарианта().
@@ -324,7 +324,7 @@
Если ТипЗнч(Отчет) = Тип("СтрокаТаблицыЗначений") Тогда
ОписаниеОтчета = Отчет;
Иначе
ОписаниеОтчета = ОписаниеОтчета(Настройки, Отчет);
ОписаниеОтчета = ОписаниеОтчета(Настройки, Отчет); // см. ОписаниеОтчета
КонецЕсли;
КлючВариантаОтчета = ?(ПустаяСтрока(КлючВарианта), ОписаниеОтчета.ОсновнойВариант, КлючВарианта);
@@ -747,7 +747,7 @@
КонецЕсли;
// Пропуск не подключенных внутренних отчетов.
ОтчетМетаданные = Метаданные.НайтиПоПолномуИмени(ВыборкаХранилища.КлючОбъекта);
ОтчетМетаданные = Метаданные.НайтиПоПолномуИмени(ВыборкаХранилища.КлючОбъекта); // ОбъектМетаданныхОтчет
Если ОтчетМетаданные <> Неопределено Тогда
ХранилищеМетаданные = ОтчетМетаданные.ХранилищеВариантов;
Если ХранилищеМетаданные = Неопределено Или ХранилищеМетаданные.Имя <> "ХранилищеВариантовОтчетов" Тогда
@@ -1903,43 +1903,7 @@
// Для отчета по внедрению.
Функция ПредопределенныеВариантыОтчетов(ТипОтчетов = "Внутренний") Экспорт
РеквизитыСправочника = Метаданные.Справочники.ВариантыОтчетов.Реквизиты;
Результат = Новый ТаблицаЗначений;
Результат.Колонки.Добавить("Отчет", РеквизитыСправочника.Отчет.Тип);
Результат.Колонки.Добавить("Метаданные", Новый ОписаниеТипов("ОбъектМетаданных"));
Результат.Колонки.Добавить("ИспользуетСКД", Новый ОписаниеТипов("Булево"));
Результат.Колонки.Добавить("КлючВарианта", РеквизитыСправочника.КлючВарианта.Тип);
Результат.Колонки.Добавить("ОписаниеПолучено", Новый ОписаниеТипов("Булево"));
Результат.Колонки.Добавить("Включен", Новый ОписаниеТипов("Булево"));
Результат.Колонки.Добавить("ВидимостьПоУмолчанию", Новый ОписаниеТипов("Булево"));
Результат.Колонки.Добавить("Наименование", ОписаниеТиповСтрока());
Результат.Колонки.Добавить("Описание", ОписаниеТиповСтрока());
Результат.Колонки.Добавить("Размещение", Новый ОписаниеТипов("Соответствие"));
Результат.Колонки.Добавить("НастройкиДляПоиска", Новый ОписаниеТипов("Структура"));
Результат.Колонки.Добавить("СистемнаяИнформация", Новый ОписаниеТипов("Структура"));
Результат.Колонки.Добавить("Тип", ОписаниеТиповСтрока());
Результат.Колонки.Добавить("ЭтоВариант", Новый ОписаниеТипов("Булево"));
Результат.Колонки.Добавить("ФункциональныеОпции", Новый ОписаниеТипов("Массив"));
Результат.Колонки.Добавить("ГруппироватьПоОтчету", Новый ОписаниеТипов("Булево"));
Результат.Колонки.Добавить("КлючЗамеров", Новый ОписаниеТипов("Строка"));
Результат.Колонки.Добавить("ОсновнойВариант", РеквизитыСправочника.КлючВарианта.Тип);
Результат.Колонки.Добавить("ФорматНастроекСКД", Новый ОписаниеТипов("Булево"));
Результат.Колонки.Добавить("ОпределитьНастройкиФормы", Новый ОписаниеТипов("Булево"));
// Вспомогательные сведения для процедуры ОбновитьНастройкиПредопределенных.
Результат.Колонки.Добавить("НайденВБазеДанных", Новый ОписаниеТипов("Булево"));
Результат.Колонки.Добавить("ВариантИзБазы"); // строка выборки из таблицы
Результат.Колонки.Добавить("ВариантРодитель", Новый ОписаниеТипов(Новый ОписаниеТипов("СправочникСсылка.ПредопределенныеВариантыОтчетов"),
"СправочникСсылка.ПредопределенныеВариантыОтчетовРасширений"));
Результат.Индексы.Добавить("Отчет");
Результат.Индексы.Добавить("Отчет,ЭтоВариант");
Результат.Индексы.Добавить("Отчет,КлючВарианта");
Результат.Индексы.Добавить("Отчет,КлючВарианта,ЭтоВариант");
Результат.Индексы.Добавить("КлючВарианта");
Результат.Индексы.Добавить("Метаданные,КлючВарианта");
Результат.Индексы.Добавить("Метаданные,ЭтоВариант");
Результат = КоллекцияПредопределенныхВариантовОтчетов();
ГруппироватьПоОтчетам = ГлобальныеНастройки().ВыводитьОтчетыВместоВариантов;
РазрешеноИндексирование = РазрешеноИндексированиеНеразделенныхДанных();
@@ -2099,17 +2063,28 @@
ЕстьОсновойВариант = Не ПустаяСтрока(ОписаниеОтчета.ОсновнойВариант);
ОсновойВариантВключен = Ложь;
Если ЕстьОсновойВариант Тогда
Описание = Результат.НайтиСтроки(Новый Структура("Отчет,КлючВарианта,ЭтоВариант",
ОписаниеОтчета.Отчет, ОписаниеОтчета.ОсновнойВариант, Истина))[0];
ПоискОписания = Новый Структура();
ПоискОписания.Вставить("Отчет", ОписаниеОтчета.Отчет);
ПоискОписания.Вставить("КлючВарианта", ОписаниеОтчета.ОсновнойВариант);
ПоискОписания.Вставить("ЭтоВариант", Истина);
НайденныеОписания = Результат.НайтиСтроки(ПоискОписания); // см. КоллекцияПредопределенныхВариантовОтчетов
Описание = НайденныеОписания.Получить(0);
ОсновойВариантВключен = Описание.Включен;
КонецЕсли;
Если Не ЕстьОсновойВариант Или Не ОсновойВариантВключен Тогда
Для каждого ОписаниеВарианта Из Результат.НайтиСтроки(Новый Структура("Отчет", ОписаниеОтчета.Отчет)) Цикл
ПоискОписания = Новый Структура("Отчет", ОписаниеОтчета.Отчет);
НайденныеОписания = Результат.НайтиСтроки(ПоискОписания); // см. КоллекцияПредопределенныхВариантовОтчетов
Для Каждого ОписаниеВарианта Из НайденныеОписания Цикл
Если ПустаяСтрока(ОписаниеВарианта.КлючВарианта) Тогда
Продолжить;
КонецЕсли;
ЗаполнитьОписаниеСтрокиВарианта(ОписаниеВарианта, ОписаниеОтчета);
Если ОписаниеВарианта.Включен Тогда
ОписаниеОтчета.ОсновнойВариант = ОписаниеВарианта.КлючВарианта;
ОписаниеВарианта.ВидимостьПоУмолчанию = Истина;
@@ -3248,6 +3223,9 @@
// 2. Установить пометку удаления вариантов удаленных отчетов.
ПометитьНаУдалениеВариантыУдаленныхОтчетов(Режим, Результат);
// 3. Настроить доступность (видимость) вариантов отчетов в панели отчетов (по умолчанию).
РегистрыСведений.НастройкиВариантовОтчетов.УстановитьДоступностьВариантовОтчетовПоУмолчанию();
Возврат Результат;
КонецФункции
@@ -7681,4 +7659,135 @@
#КонецОбласти
////////////////////////////////////////////////////////////////////////////////
// Конструкторы.
#Область Конструкторы
// Конструктор коллекции предопределенных вариантов отчетов.
//
// Возвращаемое значение:
// ТаблицаЗначений - коллекция предопределенных вариантов отчетов, где:
// * Отчет - СправочникСсылка.ИдентификаторыОбъектовРасширений,
// СправочникСсылка.ДополнительныеОтчетыИОбработки,
// СправочникСсылка.ИдентификаторыОбъектовМетаданных,
// Строка - полное имя или ссылка на идентификатор отчета.
// * Метаданные - ОбъектМетаданныхОтчет - метаданные отчета.
// * ИспользуетСКД - Булево - признак использования в отчете основной СКД.
// * КлючВарианта - Строка - идентификатор варианта отчета.
// * ОписаниеПолучено - Булево - флажок что описание строки уже получено.
// Описание получается методом ОписаниеВарианта().
// * Включен - Булево - если Ложь, то вариант отчета не регистрируется в подсистеме
// * ВидимостьПоУмолчанию - Булево - если Ложь, то вариант отчета по умолчанию скрыт в панели отчетов.
// * Наименование - Строка - наименование варианта отчета.
// * Описание - Строка - пояснение назначения отчета.
// * Размещение - Соответствие - настройки размещения варианта отчета в разделах (подсистемах), где:
// ** Ключ - ОбъектМетаданных - подсистема, в которой размещается отчет или вариант отчета.
// ** Значение - Строка - настройки размещения в подсистеме (группе).
// *** "" - вывод отчета в подсистеме без специального выделение.
// *** "Важный" - вывод отчета в подсистеме с выделением жирным шрифтом.
// *** "СмТакже" - вывод отчета в группе "См. также".
// * НастройкиДляПоиска - Структура - дополнительные настройки для поиска этого варианта отчета.
// Эти настройки необходимо задавать только если СКД не используется или используется не в полном объеме.
// Например, СКД может использоваться только для параметризации и получения данных,
// а вывод выполняться в фиксированный макет табличного документа.
// ** НаименованияПолей - Строка - имена полей варианта отчета.
// ** НаименованияПараметровИОтборов - Строка - имена настроек варианта отчета.
// ** КлючевыеСлова - Строка - дополнительная терминология (в т.ч. специализированная или устаревшая).
// Разделитель терминов: Символы.ПС.
// ** ИменаМакетов - Строка - используется вместо НаименованияПолей.
// Имена макетов табличных или текстовых документов,
// из которых требуется извлечь информацию о наименованиях полей.
// Имена перечисляются через запятую.
// К сожалению, в макетах отсутствует информация о связях полей и их представлениях
// (которая есть в СКД), поэтому для более точной работы механизма поиска рекомендуется
// заполнять НаименованияПолей, а не ИменаМакетов.
// * СистемнаяИнформация - Структура - другая служебная информация.
// * Тип - Строка - перечень идентификаторов типов.
// * ЭтоВариант - Булево - признак того, что описание отчета относится к варианту отчета.
// * ФункциональныеОпции - Массив - коллекция идентификаторов функциональных опций, где:
// ** Строка - идентификатор функциональной опции.
// * ГруппироватьПоОтчету - Булево - признак необходимости группировки вариантов по отчету-основанию.
// * КлючЗамеров - Строка - идентификатор замера производительности отчета.
// * ОсновнойВариант - Строка - идентификатор основного варианта отчета.
// * ФорматНастроекСКД - Булево - отчет использует типовой формат хранения настроек на механике СКД,
// а его основные формы поддерживают стандартную схему взаимодействия между формами (параметры и тип
// возвращаемого значения).
// Если Ложь, тогда для отчета отключаются проверки консистентности и некоторые механизмы, которые
// рассчитывают на типовой формат.
// * ОпределитьНастройкиФормы - Булево - отчет имеет программный интерфейс для тесной интеграции с формой отчета,
// в том числе может переопределять некоторые настройки формы и подписываться на ее события.
// Если Истина и отчет подключен к общей форме ФормаОтчета,
// тогда в модуле объекта отчета следует определить процедуру по шаблону:
//
// // Настройки общей формы отчета подсистемы "Варианты отчетов".
// //
// // Параметры:
// // Форма - ФормаКлиентскогоПриложения, Неопределено - Форма отчета или форма настроек отчета.
// // Неопределено когда вызов без контекста.
// // КлючВарианта - Строка, Неопределено - Имя предопределенного
// // или уникальный идентификатор пользовательского варианта отчета.
// // Неопределено когда вызов без контекста.
// // Настройки - Структура - см. возвращаемое значение
// // ОтчетыКлиентСервер.НастройкиОтчетаПоУмолчанию().
// //
// Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
// // Код процедуры.
// КонецПроцедуры
//
Функция КоллекцияПредопределенныхВариантовОтчетов()
РеквизитыСправочника = Метаданные.Справочники.ВариантыОтчетов.Реквизиты;
ОписаниеПризнака = Новый ОписаниеТипов("Булево");
ОписаниеМассива = Новый ОписаниеТипов("Массив");
ОписаниеСоответствия = Новый ОписаниеТипов("Соответствие");
ОписаниеСтруктуры = Новый ОписаниеТипов("Структура");
ОписаниеОбъектаМетаданных = Новый ОписаниеТипов("ОбъектМетаданных");
ОписаниеВариантаОтчета = Новый ОписаниеТипов(
"СправочникСсылка.ПредопределенныеВариантыОтчетов,
|СправочникСсылка.ПредопределенныеВариантыОтчетовРасширений");
Результат = Новый ТаблицаЗначений;
Результат.Колонки.Добавить("Отчет", РеквизитыСправочника.Отчет.Тип);
Результат.Колонки.Добавить("Метаданные", ОписаниеОбъектаМетаданных);
Результат.Колонки.Добавить("ИспользуетСКД", ОписаниеПризнака);
Результат.Колонки.Добавить("КлючВарианта", РеквизитыСправочника.КлючВарианта.Тип);
Результат.Колонки.Добавить("ОписаниеПолучено", ОписаниеПризнака);
Результат.Колонки.Добавить("Включен", ОписаниеПризнака);
Результат.Колонки.Добавить("ВидимостьПоУмолчанию", ОписаниеПризнака);
Результат.Колонки.Добавить("Наименование", ОписаниеТиповСтрока());
Результат.Колонки.Добавить("Описание", ОписаниеТиповСтрока());
Результат.Колонки.Добавить("Размещение", ОписаниеСоответствия);
Результат.Колонки.Добавить("НастройкиДляПоиска", ОписаниеСтруктуры);
Результат.Колонки.Добавить("СистемнаяИнформация", ОписаниеСтруктуры);
Результат.Колонки.Добавить("Тип", ОписаниеТиповСтрока());
Результат.Колонки.Добавить("ЭтоВариант", ОписаниеПризнака);
Результат.Колонки.Добавить("ФункциональныеОпции", ОписаниеМассива);
Результат.Колонки.Добавить("ГруппироватьПоОтчету", ОписаниеПризнака);
Результат.Колонки.Добавить("КлючЗамеров", ОписаниеТиповСтрока());
Результат.Колонки.Добавить("ОсновнойВариант", РеквизитыСправочника.КлючВарианта.Тип);
Результат.Колонки.Добавить("ФорматНастроекСКД", ОписаниеПризнака);
Результат.Колонки.Добавить("ОпределитьНастройкиФормы", ОписаниеПризнака);
// Вспомогательные сведения для процедуры ОбновитьНастройкиПредопределенных.
Результат.Колонки.Добавить("НайденВБазеДанных", ОписаниеПризнака);
Результат.Колонки.Добавить("ВариантИзБазы"); // строка выборки из таблицы
Результат.Колонки.Добавить("ВариантРодитель", ОписаниеВариантаОтчета);
Результат.Индексы.Добавить("Отчет");
Результат.Индексы.Добавить("Отчет, ЭтоВариант");
Результат.Индексы.Добавить("Отчет, КлючВарианта");
Результат.Индексы.Добавить("Отчет, КлючВарианта, ЭтоВариант");
Результат.Индексы.Добавить("КлючВарианта");
Результат.Индексы.Добавить("Метаданные, КлючВарианта");
Результат.Индексы.Добавить("Метаданные, ЭтоВариант");
Возврат Результат;
КонецФункции
#КонецОбласти
#КонецОбласти
@@ -47,7 +47,6 @@
Контакты = МенеджерОбъекта.ПолучитьКонтакты(ДанныеЗаполнения);
ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
// Заполним контакт
Если ДанныеЗаполнения.Свойство("Контакт") И ЗначениеЗаполнено(ДанныеЗаполнения.Контакт) Тогда
Контакты = Новый Массив;
Контакты.Добавить(ДанныеЗаполнения.Контакт);
@@ -58,7 +57,9 @@
Контакты = МенеджерОбъекта.ПолучитьКонтакты(ДанныеЗаполнения.Предмет);
КонецЕсли;
КонецЕсли;
Если ДанныеЗаполнения.Свойство("УчетнаяЗапись") И ЗначениеЗаполнено(ДанныеЗаполнения.УчетнаяЗапись) Тогда
Объект.УчетнаяЗапись = ДанныеЗаполнения.УчетнаяЗапись;
КонецЕсли;
КонецЕсли;
// Заполним участников
@@ -71,34 +72,24 @@
Если (ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЭлектронноеПисьмоВходящее")
Или ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЭлектронноеПисьмоИсходящее")) Тогда
ТребуетсяОчисткаАдреса = Истина;
КонецЕсли;
Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура")
И ДанныеЗаполнения.Свойство("Предмет")
И (ТипЗнч(ДанныеЗаполнения.Предмет) = Тип("ДокументСсылка.ЭлектронноеПисьмоВходящее")
Или ТипЗнч(ДанныеЗаполнения.Предмет) = Тип("ДокументСсылка.ЭлектронноеПисьмоИсходящее")) Тогда
ТребуетсяОчисткаАдреса = Истина;
КонецЕсли;
Если ТребуетсяОчисткаАдреса Тогда
Для Каждого СтрокаКонтакт Из Контакты Цикл
Если ТипЗнч(СтрокаКонтакт) = Тип("Структура") Тогда
Если Не ЗначениеЗаполнено(СтрокаКонтакт.Контакт) Тогда
СтрокаКонтакт.Адрес = "";
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
@@ -955,10 +946,10 @@
//
Функция ИмяПоляДляНаименованияВладельца(ИмяТаблицы) Экспорт
МассивОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
Для каждого ЭлементОписанияМассива Из МассивОписанияКонтактов Цикл
Если ЭлементОписанияМассива.Имя = ИмяТаблицы И ЭлементОписанияМассива.ЕстьВладелец Тогда
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ОписаниеКонтакта.Имя = ИмяТаблицы И ОписаниеКонтакта.ЕстьВладелец Тогда
Возврат "СправочникКонтакт.Владелец.Наименование";
КонецЕсли;
КонецЦикла;
@@ -974,7 +965,7 @@
//
// Параметры:
// ППДВключен - Булево - признак доступности полнотекстового поиска.
// Параметры - Структура - параметры содержащие Представление и Адрес контакта.
// Параметры - Структура - параметры, содержащие Представление и Адрес контакта.
// ЭлементыФормы - ЭлементыФормы
// ДляАдреснойКниги - Булево - истина если список формируется для адресной книги.
//
@@ -1000,9 +991,7 @@
ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоEmail", НСтр("ru = 'По email'"), Адрес);
ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоДомену", НСтр("ru = 'По доменному имени'"), ДоменныйАдрес);
Если Не ДляАдреснойКниги
И (Параметры.Свойство("ТолькоEmail")
И Не Параметры.ТолькоEmail) Тогда
Если Не ДляАдреснойКниги И (Параметры.Свойство("ТолькоEmail") И Не Параметры.ТолькоEmail) Тогда
ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоТелефону", НСтр("ru = 'По телефону'"), Адрес);
КонецЕсли;
@@ -1186,17 +1175,14 @@
// Возвращаемое значение:
// Массив - массив содержащий метаданные возможных типов контактов.
//
Функция МассивМетаданныхКонтакты()
МассивОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
МассивМетаданных = Новый Массив;
Для каждого ЭлементМассиваОписания Из МассивОписанияКонтактов Цикл
МассивМетаданных.Добавить(Метаданные.Справочники[ЭлементМассиваОписания.Имя]);
Функция МетаданныеКонтактов()
ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
Результат = Новый Массив;
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Результат.Добавить(Метаданные.Справочники[ОписаниеКонтакта.Имя]);
КонецЦикла;
Возврат МассивМетаданных;
Возврат Результат;
КонецФункции
@@ -1634,7 +1620,7 @@
// Возвращаемое значение:
// ТаблицаЗначений - Результат выполненного запроса выгруженный в таблицу значений.
//
Функция ВсеКонтактыПоНачалуНаименования(Наименование) Экспорт
Функция ВсеКонтактыПоНачалуНаименования(СтрокаПоиска) Экспорт
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
@@ -1682,13 +1668,12 @@
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Наименование", Наименование + "%");
Запрос.УстановитьПараметр("Наименование", СтрокаПоиска + "%");
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
// Формирует текст запроса для поиска контактов по началу наименования с адресами электронной почты
// и выполняет его.
// Поиск по наименованию контактов, содержащих адреса электронной почты.
//
// Параметры:
// Наименование - Строка - строка, содержащая начало наименования контакта.
@@ -1697,63 +1682,9 @@
// Возвращаемое значение:
// Булево - Истина, если найден хотя бы один контакт.
//
Функция ВсеКонтактыПоНачалуНаименованияСАдресамиЭлектроннойПочты(Наименование,Форма) Экспорт
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ТекстЗапроса =
" ВЫБРАТЬ
| СправочникКонтакт.Ссылка КАК Контакт,
| СправочникКонтакт.Наименование КАК Наименование,
| """" КАК НаименованиеВладельца,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Представление
|ИЗ
| Справочник.Пользователи КАК СправочникКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| СправочникКонтакт.Наименование ПОДОБНО &Наименование
| И (НЕ СправочникКонтакт.ПометкаУдаления)";
Для каждого ЭлементМассиваОписания Из МассивОписанияТиповКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда
Продолжить;
Иначе
ТекстЗапроса =ТекстЗапроса + "
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаСправочника.Ссылка,
| ТаблицаСправочника." + ЭлементМассиваОписания.ИмяРеквизитаПредставлениеКонтакта + " КАК Наименование,
| " + ?(ЭлементМассиваОписания.ЕстьВладелец," ТаблицаСправочника.Владелец.Наименование","""""") + ",
| ТаблицаКонтактнаяИнформация.АдресЭП
|ИЗ
| Справочник." +ЭлементМассиваОписания.Имя +" КАК ТаблицаСправочника
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ЭлементМассиваОписания.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаСправочника.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| ТаблицаСправочника.Наименование ПОДОБНО &Наименование "+?(ЭлементМассиваОписания.Иерархический," И (НЕ ТаблицаСправочника.ЭтоГруппа)","")+"
| И (НЕ ТаблицаСправочника.ПометкаУдаления)";
КонецЕсли;
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + "
|
|УПОРЯДОЧИТЬ ПО
| Наименование";
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Наименование", Наименование + "%");
ТаблицаКонтакты = Запрос.Выполнить().Выгрузить();
Функция НайтиКонтактыСАдресамиПоНаименованию(СтрокаПоиска, Форма) Экспорт
ТаблицаКонтакты = НайтиКонтактыСАдресами(СтрокаПоиска);
Если ТаблицаКонтакты = Неопределено ИЛИ ТаблицаКонтакты.Количество() = 0 Тогда
Возврат Ложь;
КонецЕсли;
@@ -1763,6 +1694,72 @@
КонецФункции
Функция НайтиКонтактыСАдресами(СтрокаПоиска) Экспорт
ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ ПЕРВЫЕ 20
| СправочникКонтакт.Ссылка КАК Контакт,
| ПРЕДСТАВЛЕНИЕ(СправочникКонтакт.Ссылка) КАК Наименование,
| """" КАК НаименованиеВладельца,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Представление
|ИЗ
| Справочник.Пользователи КАК СправочникКонтакт
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
| И (ТаблицаКонтактнаяИнформация.АдресЭП <> """")
|ГДЕ
| НЕ СправочникКонтакт.ПометкаУдаления
| И (СправочникКонтакт.Наименование ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.АдресЭП ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.ДоменноеИмяСервера ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.Представление ПОДОБНО &ВведеннаяСтрока)";
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ОписаниеКонтакта.Имя = "Пользователи" Тогда
Продолжить;
КонецЕсли;
УсловиеПолейВводаПоСтроке = "";
МетаданныеОбъекта = Метаданные.НайтиПоТипу(ОписаниеКонтакта.Тип);
СписокПолей = МетаданныеОбъекта.ВводПоСтроке;
Для Каждого Поле Из СписокПолей Цикл
Если МетаданныеОбъекта.СтандартныеРеквизиты[Поле.Имя].Тип.Типы()[0] = Тип("Строка") Тогда
УсловиеПолейВводаПоСтроке = УсловиеПолейВводаПоСтроке + " ИЛИ СправочникКонтакт." + Поле.Имя + " ПОДОБНО &ВведеннаяСтрока";
КонецЕсли;
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + "
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ ПЕРВЫЕ 20
| СправочникКонтакт.Ссылка КАК Контакт,
| СправочникКонтакт." + ОписаниеКонтакта.ИмяРеквизитаПредставлениеКонтакта + " КАК Наименование,
| " + ?(ОписаниеКонтакта.ЕстьВладелец, "ПРЕДСТАВЛЕНИЕ(СправочникКонтакт.Владелец)", """""") + " КАК НаименованиеВладельца,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Представление
|ИЗ
| Справочник." + ОписаниеКонтакта.Имя + " КАК СправочникКонтакт
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник." + ОписаниеКонтакта.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты) И (ТаблицаКонтактнаяИнформация.АдресЭП <> """"))
|ГДЕ
| НЕ СправочникКонтакт.ПометкаУдаления И (ТаблицаКонтактнаяИнформация.АдресЭП ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.ДоменноеИмяСервера ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.Представление ПОДОБНО &ВведеннаяСтрока
|" + УсловиеПолейВводаПоСтроке + ")
|";
КонецЦикла;
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ВведеннаяСтрока", "%" + СтрокаПоиска + "%");
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
// Формирует шаблон условия для запроса, на соответствие получаемого поля в запросе типу возможного контакта.
//
// Возвращаемое значение:
@@ -1789,6 +1786,22 @@
КонецФункции
Функция НайтиКонтакты(СтрокаПоиска, Форма) Экспорт
Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Запретить
ИЛИ Не ПолучитьФункциональнуюОпцию("ИспользоватьПолнотекстовыйПоиск") Тогда
НайтиКонтактыСАдресамиПоНаименованию(СтрокаПоиска, Форма);
Возврат "";
Иначе
Результат = ПолнотекстовыйПоискКонтактовПоСтроке(СтрокаПоиска, Форма, Истина);
Если ПустаяСтрока(Результат) Тогда
НайтиПоEmail(СтрокаПоиска, Ложь, Форма);
КонецЕсли;
Возврат Результат;
КонецЕсли;
КонецФункции
// Осуществляет поиск контактов по Email или по домену Email.
//
// Параметры:
@@ -1812,7 +1825,6 @@
КонецЕсли;
ЗаполнитьНайденныеКонтакты(ТаблицаКонтакты, Форма.НайденныеКонтакты);
Возврат Истина;
КонецФункции
@@ -1834,10 +1846,10 @@
ПерваяТаблица = Истина;
ТекстЗапроса = "";
МассивОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
Для каждого ЭлементМассиваОписания Из МассивОписанияКонтактов Цикл
ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ЭлементМассиваОписания.ИскатьПоДомену Тогда
Если ОписаниеКонтакта.ИскатьПоДомену Тогда
Если ПерваяТаблица Тогда
@@ -1854,11 +1866,11 @@
ТекстЗапроса = ТекстЗапроса + "
| ТаблицаКонтактнаяИнформация.Ссылка КАК Контакт,
| ТаблицаКонтактнаяИнформация.Ссылка." + ЭлементМассиваОписания.ИмяРеквизитаПредставлениеКонтакта + " КАК Наименование,
| ТаблицаКонтактнаяИнформация.Ссылка." + ОписаниеКонтакта.ИмяРеквизитаПредставлениеКонтакта + " КАК Наименование,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Представление,
| " + ?(ЭлементМассиваОписания.ЕстьВладелец,"ТаблицаКонтактнаяИнформация.Ссылка.Владелец.Наименование ","""""") + ?(ПерваяТаблица," КАК НаименованиеВладельца ","") +"
| " + ?(ОписаниеКонтакта.ЕстьВладелец,"ТаблицаКонтактнаяИнформация.Ссылка.Владелец.Наименование ","""""") + ?(ПерваяТаблица," КАК НаименованиеВладельца ","") +"
|ИЗ
| Справочник." + ЭлементМассиваОписания.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| Справочник." + ОписаниеКонтакта.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
|ГДЕ
| ТаблицаКонтактнаяИнформация.АдресЭП ПОДОБНО &СтрокаПоиска";
@@ -1877,7 +1889,7 @@
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("СтрокаПоиска", "%@" + ИмяДомена);
Запрос.УстановитьПараметр("СтрокаПоиска", "%@" + ИмяДомена + "%");
Возврат Запрос.Выполнить().Выгрузить();
@@ -1890,30 +1902,30 @@
// ДляАдреснойКниги - Булево - признак того, что поиск осуществляется для адресной книги.
//
// Возвращаемое значение:
// Строка - сообщение пользователю по результатам поиска, если такое необходимо.
// Строка - сообщение пользователю по результатам поиска.
//
Функция ОсуществитьПоискКонтактовПоСтроке(Форма,ДляАдреснойКниги = Ложь) Экспорт
Функция ПолнотекстовыйПоискКонтактовПоСтроке(СтрокаПоиска, Форма, ДляАдреснойКниги = Ложь) Экспорт
Форма.НайденныеКонтакты.Очистить();
Если ПустаяСтрока(Форма.СтрокаПоиска) Тогда
Если ПустаяСтрока(СтрокаПоиска) Тогда
Возврат "";
КонецЕсли;
Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Запретить
ИЛИ НЕ ПолучитьФункциональнуюОпцию("ИспользоватьПолнотекстовыйПоиск") Тогда
Возврат НСтр("ru = 'Использование индекса полнотекстового поиска данных запрещено.'");
Возврат НСтр("ru = 'Использование полнотекстового поиска данных запрещено.'");
КонецЕсли;
МассивМетаданных = МассивМетаданныхКонтакты();
МассивМетаданных = МетаданныеКонтактов();
СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(Форма.СтрокаПоиска, 101);
СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПоиска, 101);
СписокПоиска.ОбластьПоиска = МассивМетаданных;
Попытка
СписокПоиска.ПерваяЧасть();
Исключение
Возврат НСтр("ru = 'При выполнении поиска произошла ошибка, попробуйте изменить выражение поиска.'");
Возврат НСтр("ru = 'Не удалось выполнить поиск, попробуйте изменить выражение поиска.'");
КонецПопытки;
КоличествоНайденныхЭлементов = СписокПоиска.Количество();
@@ -2886,7 +2898,7 @@
ПараметрыПисьма.Вставить("ПротоколПочты", ПротоколПочты);
ИдентификаторПисьма = РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(Объект.УчетнаяЗапись, ПараметрыПисьма);
ИдентификаторПисьма = РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(Объект.УчетнаяЗапись, ПараметрыПисьма); // АПК:223
Если Не Объект.УдалятьПослеОтправки Тогда
@@ -3767,53 +3779,52 @@
ОписаниеТипаДинамическийСписок = Новый ОписаниеТипов("ДинамическийСписок");
ДобавляемыеРеквизиты = Новый Массив;
МассивОписанийВозможныхКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
// Создадим динамические списки.
Для каждого ЭлементМассиваОписания Из МассивОписанийВозможныхКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ОписаниеКонтакта.Имя = "Пользователи" Тогда
Продолжить;
КонецЕсли;
ДобавляемыеРеквизиты.Добавить(
Новый РеквизитФормы("Список_" + ЭлементМассиваОписания.Имя ,ОписаниеТипаДинамическийСписок));
Новый РеквизитФормы("Список_" + ОписаниеКонтакта.Имя, ОписаниеТипаДинамическийСписок));
КонецЦикла;
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
// Установим в динамические списки основные таблицы и обязательное использование реквизита ЭтоГруппа.
Для каждого ЭлементМассиваОписания Из МассивОписанийВозможныхКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда
ЕстьКолонкиАдрес = Новый Соответствие;
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ОписаниеКонтакта.Имя = "Пользователи" Тогда
Продолжить;
КонецЕсли;
Форма["Список_" + ЭлементМассиваОписания.Имя].ОсновнаяТаблица = "Справочник." + ЭлементМассиваОписания.Имя;
ЕстьКолонкаАдрес = УстановитьТекстЗапросаКонтакта(Форма["Список_" + ОписаниеКонтакта.Имя], ОписаниеКонтакта);
ЕстьКолонкиАдрес[ОписаниеКонтакта.Имя] = ЕстьКолонкаАдрес;
КонецЦикла;
Для каждого ЭлементМассиваОписания Из МассивОписанийВозможныхКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ОписаниеКонтакта.Имя = "Пользователи" Тогда
Продолжить;
КонецЕсли;
Если НЕ ЭлементМассиваОписания.ЕстьВладелец Тогда
Если НЕ ОписаниеКонтакта.ЕстьВладелец Тогда
ЭлементСтраница = Форма.Элементы.Добавить(
"Страница_" + ЭлементМассиваОписания.Имя,Тип("ГруппаФормы"),Форма.Элементы.СтраницыСписки);
"Страница_" + ОписаниеКонтакта.Имя,Тип("ГруппаФормы"), Форма.Элементы.СтраницыСписки);
ЭлементСтраница.Вид = ВидГруппыФормы.Страница;
ЭлементСтраница.ОтображатьЗаголовок = Истина;
ЭлементСтраница.Заголовок = ЭлементМассиваОписания.Представление;
ЭлементСтраница.Заголовок = ОписаниеКонтакта.Представление;
ЭлементСтраница.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
КонецЕсли;
ЭлементТаблица = Форма.Элементы.Добавить("Таблица_" + ЭлементМассиваОписания.Имя,
Тип("ТаблицаФормы"),
Форма.Элементы[?(ЭлементМассиваОписания.ЕстьВладелец,
"Страница_" + ЭлементМассиваОписания.ИмяВладельца,
"Страница_" + ЭлементМассиваОписания.Имя)]);
ЭлементТаблица.ПутьКДанным = "Список_" + ЭлементМассиваОписания.Имя;
ЭлементТаблица = Форма.Элементы.Добавить("Таблица_" + ОписаниеКонтакта.Имя, Тип("ТаблицаФормы"),
Форма.Элементы[?(ОписаниеКонтакта.ЕстьВладелец,
"Страница_" + ОписаниеКонтакта.ИмяВладельца,
"Страница_" + ОписаниеКонтакта.Имя)]);
ЭлементТаблица.ПутьКДанным = "Список_" + ОписаниеКонтакта.Имя;
ЭлементТаблица.УстановитьДействие("Выбор", "Подключаемый_СписокСправочникаВыбор");
ЭлементТаблица.АвтоМаксимальнаяВысота = Ложь;
ЭлементТаблица.АвтоМаксимальнаяШирина = Ложь;
@@ -3821,27 +3832,90 @@
ЭлементТаблица.РежимВыделения = РежимВыделенияТаблицы.Одиночный;
ЭлементТаблица.УстановитьДействие("ПриАктивизацииСтроки", "Подключаемый_СписокКонтактыПриАктивизацииСтроки");
КонецЕсли;
Если ЭлементМассиваОписания.ЕстьВладелец Тогда
Форма.Элементы["Таблица_" + ЭлементМассиваОписания.ИмяВладельца].УстановитьДействие(
Если ОписаниеКонтакта.ЕстьВладелец Тогда
Форма.Элементы["Таблица_" + ОписаниеКонтакта.ИмяВладельца].УстановитьДействие(
"ПриАктивизацииСтроки", "Подключаемый_СписокВладелецПриАктивизацииСтроки");
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Форма["Список_" + ЭлементМассиваОписания.Имя], "Владелец", Неопределено, , , Истина);
Форма["Список_" + ОписаниеКонтакта.Имя], "Владелец", Неопределено, , , Истина);
ЭлементТаблица.Высота = 5;
Форма.Элементы["Таблица_" + ЭлементМассиваОписания.ИмяВладельца].Высота = 5;
Форма.Элементы["Таблица_" + ОписаниеКонтакта.ИмяВладельца].Высота = 5;
Иначе
ЭлементТаблица.Высота = 10;
КонецЕсли;
КолонкаСсылка = Форма.Элементы.Добавить(
"Колонка_" + ЭлементМассиваОписания.Имя + "_Ссылка",Тип("ПолеФормы"),ЭлементТаблица);
"Колонка_" + ОписаниеКонтакта.Имя + "_Ссылка", Тип("ПолеФормы"), ЭлементТаблица);
КолонкаСсылка.Вид = ВидПоляФормы.ПолеВвода;
КолонкаСсылка.ПутьКДанным = "Список_" + ЭлементМассиваОписания.Имя + ".Ссылка";
КолонкаСсылка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
КолонкаСсылка.ПутьКДанным = "Список_" + ОписаниеКонтакта.Имя + ".Ссылка";
МетаданныеКонтакта = Метаданные.НайтиПоТипу(ОписаниеКонтакта.Тип);
КолонкаСсылка.Заголовок = ОбщегоНазначения.ПредставлениеОбъекта(МетаданныеКонтакта);
Если ЕстьКолонкиАдрес[ОписаниеКонтакта.Имя] Тогда
КолонкаАдрес = Форма.Элементы.Добавить(
"Колонка_" + ОписаниеКонтакта.Имя + "_Адрес", Тип("ПолеФормы"), ЭлементТаблица);
КолонкаАдрес.Вид = ВидПоляФормы.ПолеВвода;
КолонкаАдрес.ПутьКДанным = "Список_" + ОписаниеКонтакта.Имя + ".Адрес";
КолонкаАдрес.Заголовок = НСтр("ru = 'Адрес'");
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Функция УстановитьТекстЗапросаКонтакта(Список, ОписаниеКонтакта)
МетаданныеКонтакта = Метаданные.НайтиПоТипу(ОписаниеКонтакта.Тип);
ЕстьВидДляСписка = МетаданныеКонтакта.ТабличныеЧасти.КонтактнаяИнформация.Реквизиты.Найти("ВидДляСписка") <> Неопределено;
Если ЕстьВидДляСписка Тогда
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СправочникКонтакт.Ссылка,
| СправочникКонтакт.ПометкаУдаления,
| СправочникКонтакт.Предопределенный,
| ПРЕДСТАВЛЕНИЕ(СправочникКонтакт.Ссылка) КАК Наименование,
| СправочникКонтактнаяИнформация.Представление КАК Адрес
|ИЗ
| #Таблица КАК СправочникКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ #Таблица.КонтактнаяИнформация КАК СправочникКонтактнаяИнформация
| ПО (СправочникКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (СправочникКонтактнаяИнформация.ВидДляСписка = &ЭлектроннаяПочта)
|ГДЕ
| СправочникКонтакт.ПометкаУдаления = ЛОЖЬ";
Иначе
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СправочникКонтакт.Ссылка,
| СправочникКонтакт.ПометкаУдаления,
| СправочникКонтакт.Предопределенный,
| ПРЕДСТАВЛЕНИЕ(СправочникКонтакт.Ссылка) КАК Наименование
|ИЗ
| #Таблица КАК СправочникКонтакт
|ГДЕ
| СправочникКонтакт.ПометкаУдаления = ЛОЖЬ";
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#Таблица", "Справочник." + ОписаниеКонтакта.Имя);
Список.ТекстЗапроса = ТекстЗапроса;
Список.ОсновнаяТаблица = "Справочник." + ОписаниеКонтакта.Имя;
Список.ДинамическоеСчитываниеДанных = Истина;
Если ЕстьВидДляСписка Тогда
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени("Справочник." + ОписаниеКонтакта.Имя);
ВидыКонтактнойИнформации = УправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(
МенеджерОбъекта.ПустаяСсылка(), Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
Если ВидыКонтактнойИнформации.Количество() > 0 Тогда
ВидЭлектроннаяПочта = ВидыКонтактнойИнформации[0].Ссылка;
Иначе
ВидЭлектроннаяПочта = Неопределено;
КонецЕсли;
Список.Параметры.УстановитьЗначениеПараметра("ЭлектроннаяПочта", ВидЭлектроннаяПочта);
КонецЕсли;
Возврат ЕстьВидДляСписка;
КонецФункции
// Устанавливает отбор динамического списка документов взаимодействий, исключая документы не относящиеся к почте.
//
// Параметры:
@@ -357,12 +357,7 @@
КонецЕсли;
Если ПустаяСтрока(КомпонентыОбмена.СтрокаСообщенияОбОшибке) Тогда
КомпонентыОбмена.СтрокаСообщенияОбОшибке = КраткоеПредставлениеОшибки;
Иначе
КомпонентыОбмена.СтрокаСообщенияОбОшибке = КомпонентыОбмена.СтрокаСообщенияОбОшибке + "
|" + КраткоеПредставлениеОшибки;
КонецЕсли;
Если ВзвестиФлагОшибок Тогда
@@ -4094,7 +4094,7 @@
// См. РаботаВБезопасномРежимеПереопределяемый.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам.
Процедура ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений) Экспорт
Если НЕ ПолучитьФункциональнуюОпцию("ИспользоватьСинхронизациюДанных") Тогда
Если Не Константы.ИспользоватьСинхронизациюДанных.Получить() Тогда
Возврат;
КонецЕсли;
@@ -13997,7 +13997,10 @@
Константы.КаталогСообщенийОбменаДаннымиДляLinux.СоздатьМенеджерЗначения().ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
Константы.КаталогСообщенийОбменаДаннымиДляWindows.СоздатьМенеджерЗначения().ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
РегистрыСведений.НастройкиТранспортаОбменаДанными.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
КонецЕсли;
РегистрыСведений.ПравилаДляОбменаДанными.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
КонецПроцедуры
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.2.150";
Описание.Версия = "3.1.2.157";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -4362,7 +4362,7 @@
РезультатДиагностики.ОписаниеОшибки);
КонецЕсли;
ЗаписьЖурналаРегистрации(НСтр("ru = 'WSПрокси'", КодЛокализацииИнформационнойБазы()),
ЗаписьЖурналаРегистрации(НСтр("ru = 'WSПрокси'", КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
ВызватьИсключение ТекстОшибки;
КонецПопытки;
@@ -2274,7 +2274,8 @@
Обработчик.Процедура = "РаботаСФайламиСлужебный.ОбновитьСписокЗапрещенныхРасширенийВОбластиДанных";
Обработчик.РежимВыполнения = "Оперативно";
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
ПодсистемаЭПСуществует = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись");
Если ПодсистемаЭПСуществует Тогда
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "2.4.1.49";
@@ -2319,9 +2320,12 @@
Обработчик.БлокируемыеОбъекты = "Справочник.Файлы, Справочник.ВерсииФайлов";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Если ПодсистемаЭПСуществует Тогда
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "РаботаСФайлами.ПеренестиЭлектронныеПодписиИСертификатыШифрованияВРегистрыСведений";
Приоритет.Порядок = "После";
КонецЕсли;
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "2.4.1.1";
@@ -2337,9 +2341,13 @@
Обработчик.ОчередьОтложеннойОбработки = 3;
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Если ПодсистемаЭПСуществует Тогда
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "РаботаСФайлами.ПеренестиЭлектронныеПодписиИСертификатыШифрованияВРегистрыСведений";
Приоритет.Порядок = "Любой";
КонецЕсли;
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "РегистрыСведений.СведенияОФайлах.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Приоритет.Порядок = "Любой";
@@ -2361,9 +2369,13 @@
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Справочники.Файлы.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Если ПодсистемаЭПСуществует Тогда
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "РаботаСФайлами.ПеренестиЭлектронныеПодписиИСертификатыШифрованияВРегистрыСведений";
Приоритет.Порядок = "Любой";
КонецЕсли;
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "РегистрыСведений.НаличиеФайлов.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Приоритет.Порядок = "Любой";
@@ -2385,9 +2397,13 @@
Обработчик.ПроцедураЗаполненияДанныхОбновления = "РегистрыСведений.СведенияОФайлах.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Если ПодсистемаЭПСуществует Тогда
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "РаботаСФайлами.ПеренестиЭлектронныеПодписиИСертификатыШифрованияВРегистрыСведений";
Приоритет.Порядок = "Любой";
КонецЕсли;
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "РегистрыСведений.НаличиеФайлов.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Приоритет.Порядок = "Любой";
@@ -2878,7 +2894,15 @@
Если Не ЭлементДанных.ЭтоНовый()
И ЭлементДанных.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
РаботаСФайламиВТомахСлужебный.УдалитьДанныеФайла(ЭлементДанных);
СвойстваФайла = РаботаСФайламиВТомахСлужебный.СвойстваФайлаВТоме();
ЗаполнитьЗначенияСвойств(СвойстваФайла, ЭлементДанных);
РаботаСФайламиВТомахСлужебный.УдалитьФайл(
РаботаСФайламиВТомахСлужебный.ПолноеИмяФайлаВТоме(СвойстваФайла));
ЭлементДанных.Том = Справочники.ТомаХраненияФайлов.ПустаяСсылка();
ЭлементДанных.ПутьКФайлу = "";
КонецЕсли;
ДвоичныеДанные = ЭлементДанных.ФайлХранилище.Получить();
@@ -1895,76 +1895,6 @@
КонецПроцедуры
// Удалить из регистра сведений ФайлыВРабочемКаталоге все записи,
// кроме записей о файлах занятых текущим пользователем.
//
Процедура ОчиститьВсеСвоиКромеЗанятых() Экспорт
// Отбираем все в регистре сведений. Перебираем - находим те, что не заняты текущим пользователем -
// и все удаляем - считаем, что на диске они уже удалены.
УстановитьПривилегированныйРежим(Истина);
СписокУдалить = Новый Массив;
ТекущийПользователь = Пользователи.АвторизованныйПользователь();
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ФайлыВРабочемКаталоге");
ЭлементБлокировки.УстановитьЗначение("Пользователь", ТекущийПользователь);
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
// Для каждой нашей записи находим запись в регистре сведений - оттуда берем поле Версия и Редактирует.
ЗапросВРегистр = Новый Запрос;
ЗапросВРегистр.УстановитьПараметр("Пользователь", ТекущийПользователь);
ЗапросВРегистр.Текст =
"ВЫБРАТЬ
| ФайлыВРабочемКаталоге.Файл КАК Файл,
| СведенияОФайлах.Редактирует КАК Редактирует
|ИЗ
| РегистрСведений.ФайлыВРабочемКаталоге КАК ФайлыВРабочемКаталоге
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОФайлах КАК СведенияОФайлах
| ПО ФайлыВРабочемКаталоге.Файл = СведенияОФайлах.Файл
|ГДЕ
| ФайлыВРабочемКаталоге.Пользователь = &Пользователь
| И ФайлыВРабочемКаталоге.ВРабочемКаталогеВладельца = ЛОЖЬ";
РезультатЗапроса = ЗапросВРегистр.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Редактирует <> ТекущийПользователь Тогда
СписокУдалить.Добавить(Выборка.Файл);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Для Каждого Файл Из СписокУдалить Цикл
// Создать набор записей
НаборЗаписей = РегистрыСведений.ФайлыВРабочемКаталоге.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Файл.Установить(Файл);
НаборЗаписей.Отбор.Пользователь.Установить(ТекущийПользователь);
НаборЗаписей.Записать();
КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
// Удалить из регистра сведений ФайлыВРабочемКаталоге запись о старой версии и внести запись о новой.
// Параметры:
// СтараяВерсия - СправочникСсылка.ВерсииФайлов - старая версия.
@@ -7742,6 +7742,31 @@
Если Не ЭтоНаборЗаписей И Источник.ЭтоНовый() И ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
Блокировка = Новый БлокировкаДанных;
Блокировка.Добавить("РегистрСведений.КлючиДоступаКОбъектам");
Блокировка.Добавить("РегистрСведений.КлючиДоступаГруппДоступа");
Блокировка.Добавить("РегистрСведений.КлючиДоступаНаборовГруппДоступа");
Блокировка.Добавить("РегистрСведений.КлючиДоступаПользователей");
Блокировка.Добавить("РегистрСведений.КлючиДоступаВнешнихПользователей");
Блокировка.Добавить("Справочник.КлючиДоступа");
ЭлементБлокировки = Блокировка.Добавить("Справочник.НаборыГруппДоступа");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ПрофилиГруппДоступа");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыДоступа");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ТаблицыГруппДоступа");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ГруппыЗначенийДоступа");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ЗначенияГруппДоступа");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ЗначенияГруппДоступаПоУмолчанию");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.НастройкиПравОбъектов");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.НаследованиеНастроекПравОбъектов");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ПараметрыРаботыВерсийРасширений");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
Блокировка.Заблокировать();
КонецЕсли;
@@ -2279,7 +2279,7 @@
Для каждого Язык Из Метаданные.Языки Цикл
Представление = Наименования[Язык.КодЯзыка][СокрЛП(Объект.ИмяПредопределенногоВида)];
Если ЗначениеЗаполнено(Представление) Тогда
Если ТекущийЯзык() = Метаданные.ОсновнойЯзык Тогда
Если Язык = Метаданные.ОсновнойЯзык Тогда
Объект.Наименование = Представление;
Иначе
НоваяСтрока = Объект.Представления.Добавить();
@@ -2387,7 +2387,7 @@
Для каждого Язык Из Метаданные.Языки Цикл
Представление = Наименования[Язык.КодЯзыка][СокрЛП(Объект.ИмяПредопределенногоВида)];
Если ЗначениеЗаполнено(Представление) Тогда
Если ТекущийЯзык() = Метаданные.ОсновнойЯзык Тогда
Если Язык = Метаданные.ОсновнойЯзык Тогда
Объект.Наименование = Представление;
Иначе
НоваяСтрока = Объект.Представления.Добавить();
@@ -2930,7 +2930,7 @@
Позиция = ИнформацияПоКолонкам.Количество() + 1;
ВидыКонтактнойИнформации = ВидыКонтактнойИнформацияОбъекта(Справочники[МетаданныеСправочника.Имя].ПустаяСсылка());
ВидыКонтактнойИнформации = ВидыКонтактнойИнформацииОбъекта(Справочники[МетаданныеСправочника.Имя].ПустаяСсылка());
Для каждого ВидКонтактнойИнформации Из ВидыКонтактнойИнформации Цикл
ИмяКолонки = "КонтактнаяИнформация_" + СтандартныеПодсистемыСервер.ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки(ВидКонтактнойИнформации.Наименование);
@@ -2950,16 +2950,15 @@
КонецПроцедуры
// Виды контактной информация объекта.
// Виды контактной информации объекта.
//
// Параметры:
// ВладелецКонтактнойИнформации - Ссылка на владельца контактной информации.
// Объект владельца контактной информации.
// ДанныеФормыСтруктура (по типу объекта владельца свойств).
// ВладелецКонтактнойИнформации - ЛюбаяСсылка, Объект, ДанныеФормыСтруктура
//
// Возвращаемое значение:
// ТаблицаЗначений - виды контактной информации.
//
Функция ВидыКонтактнойИнформацияОбъекта(ВладелецКонтактнойИнформации) Экспорт
Функция ВидыКонтактнойИнформацииОбъекта(ВладелецКонтактнойИнформации, ТипКонтактнойИнформации = Неопределено) Экспорт
Если ТипЗнч(ВладелецКонтактнойИнформации) = Тип("ДанныеФормыСтруктура") Тогда
ТипСсылки = ТипЗнч(ВладелецКонтактнойИнформации.Ссылка)
@@ -3017,11 +3016,20 @@
| ВидыКонтактнойИнформации.Родитель = &ГруппаВидовКИ
| И ВидыКонтактнойИнформации.ПометкаУдаления = ЛОЖЬ
| И ВидыКонтактнойИнформации.Используется = ИСТИНА
| И &ОтборТипаКонтактнойИнформации
|
|УПОРЯДОЧИТЬ ПО
| РеквизитДопУпорядочивания";
Если ТипКонтактнойИнформации <> Неопределено Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ОтборТипаКонтактнойИнформации",
"ВидыКонтактнойИнформации.Тип = &ТипКонтактнойИнформации");
Запрос.УстановитьПараметр("ТипКонтактнойИнформации", ТипКонтактнойИнформации);
Иначе
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ОтборТипаКонтактнойИнформации", "Истина");
КонецЕсли;
Запрос.УстановитьПараметр("ГруппаВидовКИ", ГруппаВидовКИ);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат РезультатЗапроса;
@@ -172,7 +172,7 @@
Приоритет.Порядок = "Любой";
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "3.1.2.85";
Обработчик.Версия = "3.1.2.154";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("22f43dca-ac4f-3289-81a9-e110cd56f8b2");
Обработчик.Процедура = "Справочники.ВидыКонтактнойИнформации.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.РежимВыполнения = "Отложенно";
@@ -181,11 +181,9 @@
Обработчик.ЧитаемыеОбъекты = "Справочник.ВидыКонтактнойИнформации";
Обработчик.ИзменяемыеОбъекты = "Справочник.ВидыКонтактнойИнформации";
Обработчик.БлокируемыеОбъекты = "Справочник.ВидыКонтактнойИнформации";
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.Комментарий = НСтр("ru = 'Заполнение значения поля ""ВидРедактирования"" у видов контактной информации.
|До завершения обработки поля ""ВидРедактирования"" документов в ряде случаев будут отображаться некорректно.'");
Обработчик.Комментарий = НСтр("ru = 'Обновление видов контактной информации.
|До завершения обработки виды контактной информации в документах в ряде случаев будут отображаться некорректно.'");
КонецПроцедуры
@@ -67,7 +67,6 @@
#Область СлужебныеПроцедурыИФункции
// Продолжение процедуры УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати.
Процедура ВыполнитьПодключаемуюКомандуПечатиЗавершение(РасширениеРаботыСФайламиПодключено, ДополнительныеПараметры)
Если Не РасширениеРаботыСФайламиПодключено Тогда
@@ -125,7 +124,6 @@
КонецПроцедуры
// Продолжение процедуры УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов.
Процедура ПроверитьПроведенностьДокументовДиалогПроведения(Параметры) Экспорт
Если УправлениеПечатьюВызовСервера.ДоступноПравоПроведения(Параметры.НепроведенныеДокументы) Тогда
@@ -148,7 +146,6 @@
КонецПроцедуры
// Продолжение процедуры УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов.
Процедура ПроверитьПроведенностьДокументовПроведениеДокументов(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если РезультатВопроса <> КодВозвратаДиалога.Да Тогда
@@ -205,7 +202,6 @@
КонецПроцедуры
// Продолжение процедуры УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов.
Процедура ПроверитьПроведенностьДокументовЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если РезультатВопроса <> Неопределено И РезультатВопроса <> КодВозвратаДиалога.Пропустить Тогда
@@ -216,7 +212,6 @@
КонецПроцедуры
// Проверяет что менеджер печати является отчетом или обработкой.
Функция ЭтоОтчетИлиОбработка(МенеджерПечати)
Если Не ЗначениеЗаполнено(МенеджерПечати) Тогда
Возврат Ложь;
@@ -229,7 +224,6 @@
Возврат Вид = "ОТЧЕТ" Или Вид = "ОБРАБОТКА";
КонецФункции
// Продолжение процедуры ВыполнитьОткрытиеПечатнойФормы.
Процедура ВыполнитьОткрытиеПечатнойФормыЗавершение(ОбъектыНазначения, ДополнительныеПараметры) Экспорт
Форма = ДополнительныеПараметры.Форма;
@@ -1720,7 +1720,7 @@
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
Ссылка = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(МетаданныеОбъект.ПолноеИмя()).ПустаяСсылка();
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
ВидыКонтактнойИнформацией = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацияОбъекта(Ссылка);
ВидыКонтактнойИнформацией = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(Ссылка);
Если ВидыКонтактнойИнформацией.Количество() > 0 Тогда
Для каждого ВидКонтактнойИнформацией Из ВидыКонтактнойИнформацией Цикл
ДобавитьРеквизитПоМетаданнымОбъекта(Реквизиты, ВидКонтактнойИнформацией.Ссылка, Префикс, СведенияОСпискеРеквизитов, СведенияОИсключаемыхРеквизитах);
@@ -1923,7 +1923,7 @@
ОбъектыСКонтактнойИнформацией = Новый Массив;
ОбъектыСКонтактнойИнформацией.Добавить(Предмет);
ВидыКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацияОбъекта(Предмет.Ссылка);
ВидыКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(Предмет.Ссылка);
Если ВидыКонтактнойИнформации.Количество() > 0 Тогда
КонтактнаяИнформацияОбъектов = МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(ОбъектыСКонтактнойИнформацией,,, ТекущаяДатаСеанса());
КонецЕсли;
@@ -2222,8 +2222,8 @@
Если Получатели.Количество() = 0 И ТипЗнч(Предмет) <> Тип("Строка") Тогда
ОбъектыСКонтактнойИнформацией = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Предмет);
ВидыКонтактнойИнформацияОбъекта = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацияОбъекта(Предмет);
Если ВидыКонтактнойИнформацияОбъекта.Количество() > 0 Тогда
ВидыКонтактнойИнформацииОбъекта = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(Предмет);
Если ВидыКонтактнойИнформацииОбъекта.Количество() > 0 Тогда
КонтактнаяИнформацияОбъектов = МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(ОбъектыСКонтактнойИнформацией, ТипКонтактнойИнформации,, ТекущаяДатаСеанса());
Если КонтактнаяИнформацияОбъектов.Количество() > 0 Тогда
Для каждого КонтактнаяИнформацияОбъекта Из КонтактнаяИнформацияОбъектов Цикл
@@ -873,6 +873,51 @@
КонецФункции
// Только для внутреннего использования.
Функция ОблачныйПарольПодтвержден(Сертификат)
Если Не ИспользоватьЭлектроннуюПодписьВМоделиСервиса() Тогда
Возврат Ложь;
КонецЕсли;
Если ТипЗнч(Сертификат) = Тип("ДвоичныеДанные") Тогда
ДанныеСертификата = Сертификат;
ИначеЕсли ТипЗнч(Сертификат) = Тип("СертификатКриптографии") Тогда
ДанныеСертификата = Сертификат.Выгрузить();
Иначе
ДанныеСертификата = ПолучитьИзВременногоХранилища(Сертификат);
КонецЕсли;
МодульСервисКриптографии = ОбщегоНазначения.ОбщийМодуль("СервисКриптографии");
СвойстваСертификата = МодульСервисКриптографии.ПолучитьСвойстваСертификата(Сертификат);
МаркерыБезопасности = МаркерыБезопасности(СвойстваСертификата.Идентификатор);
Возврат ЗначениеЗаполнено(МаркерыБезопасности.МаркерБезопасности);
КонецФункции
// Для функции ОблачныйПарольПодтвержден.
Функция МаркерыБезопасности(ИдентификаторСертификата)
Результат = Новый Структура();
Результат.Вставить("МаркерБезопасности");
УстановитьПривилегированныйРежим(Истина);
Результат.МаркерБезопасности = ПараметрыСеанса["МаркерыБезопасности"].Получить(ИдентификаторСертификата);
УстановитьПривилегированныйРежим(Ложь);
// Незаполненные значения заменим пустыми строками для передачи в сервис криптографии.
Если НЕ ЗначениеЗаполнено(Результат.МаркерБезопасности) Тогда
Результат.МаркерБезопасности = "";
КонецЕсли;
Возврат Результат;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Общие процедуры и функции управляемых форм.
@@ -1983,6 +2028,15 @@
КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;
Если Форма.БезПодтверждения
И ЗначенияРеквизитов.Программа = ПрограммаОблачногоСервиса() Тогда
Свойства = Новый Структура("ОблачныйПарольПодтвержден",
ОблачныйПарольПодтвержден(ДвоичныеДанныеСертификата));
ЗаполнитьЗначенияСвойств(Форма, Свойства);
КонецЕсли;
Форма.СертификатАдрес = ПоместитьВоВременноеХранилище(ДвоичныеДанныеСертификата, Форма.УникальныйИдентификатор);
Форма.СертификатОтпечаток = ЗначенияРеквизитов.Отпечаток;
@@ -5062,11 +5062,26 @@
КонецПроцедуры
// Продолжение процедуры ВыполнитьНаСтороне.
Процедура ВыполнитьНаСторонеПослеВыгрузкиСертификатаВМоделиСервиса(ВыгруженныеДанные, Контекст) Экспорт
Процедура ВыполнитьНаСторонеПослеВыгрузкиСертификатаВМоделиСервиса(РезультатПоиска, Контекст) Экспорт
Если Не РезультатПоиска.Выполнено Тогда
Ошибка = Новый Структура("ОписаниеОшибки",
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Контекст.Операция) + Символы.ПС
+ РезультатПоиска.ОписаниеОшибки.Описание);
ВыполнитьНаСторонеПослеЦикла(Ошибка, Контекст);
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(РезультатПоиска.Сертификат) Тогда
Ошибка = Новый Структура("ОписаниеОшибки",
ЭлектроннаяПодписьСлужебныйКлиентСервер.ЗаголовокОшибкиПолученияДанных(Контекст.Операция) + Символы.ПС
+ НСтр("ru = 'Сертификат отсутствует в облачном сервисе (возможно удален).'"));
ВыполнитьНаСторонеПослеЦикла(Ошибка, Контекст);
Возврат;
КонецЕсли;
Контекст.Вставить("СвойстваСертификата", ЭлектроннаяПодписьКлиент.СвойстваСертификата(
ВыгруженныеДанные.Сертификат));
Контекст.СвойстваСертификата.Вставить("ДвоичныеДанные", ВыгруженныеДанные.Сертификат.Сертификат);
РезультатПоиска.Сертификат));
Контекст.СвойстваСертификата.Вставить("ДвоичныеДанные", РезультатПоиска.Сертификат.Сертификат);
ВыполнитьНаСторонеЦиклЗапуск(Контекст);
+10 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="39188694-f35c-4edb-91fd-2cfdc2c8fb3c">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="469eeed3-2746-4b44-bfa2-9c9dd3b484fd">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="551c2aea-4595-48ce-a77c-0a1c96625b3a"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="99054df9-064c-4c8a-adfa-d5bfdef3f9b5"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="25cc1f09-83ee-407e-95a1-2e1ed0e78a2d"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="3af28ec7-791b-4b28-a7d7-27943534c23a"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="33e8ee40-f4ee-44ee-ad96-49742a5a43cf"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="e162e88d-0a8a-4929-91bd-0bccb10c7497"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="15ad5637-2f63-49a0-bd04-e6c16a396323"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="a0240c7a-544a-4d61-90fd-bef2c6fa7906"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="07e39231-0854-463b-ad4a-507cfcb3f392"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="23471ce3-7c6d-4732-ab2d-e6e7b92b111e"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f049956a-2c80-430a-b94d-fe4baf54e802"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="999c29b7-ab84-4bee-bd0d-7e049a8ec093"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="06e39078-a473-412d-8656-c4898a0a168f"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="cf7566d6-d240-4d9d-9531-dd13041e7f19"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.2.150</version>
<version>3.1.2.157</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -103,6 +103,7 @@
<styleItems>StyleItem.НепринятаяВерсия</styleItems>
<styleItems>StyleItem.НеПринятыеКИсполнениюЗадачи</styleItems>
<styleItems>StyleItem.НеСтартованныйБизнесПроцесс</styleItems>
<styleItems>StyleItem.ОбразецНастройкиКолонтитуловЦвет</styleItems>
<styleItems>StyleItem.ОсновнойЭлементСписка</styleItems>
<styleItems>StyleItem.ОшибкаПолнотекстовыйПоискФон</styleItems>
<styleItems>StyleItem.ПользовательВыбранный</styleItems>
@@ -1 +1 @@
{6,1,1,337636b4-129b-4333-bbc0-fbb29ae744dd,1,dd5bd95b-4876-4180-8461-b7752c1384de,"3.1.2.150","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5902,1,0,39188694-f35c-4edb-91fd-2cfdc2c8fb3c,39188694-f35c-4edb-91fd-2cfdc2c8fb3c,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,abbf41d4-b44a-4035-ad72-72985f73d778,1,a0176e6d-acef-4971-a06b-36e1349787d1,"3.1.2.157","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5903,1,0,469eeed3-2746-4b44-bfa2-9c9dd3b484fd,469eeed3-2746-4b44-bfa2-9c9dd3b484fd,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
@@ -172,7 +172,6 @@
&НаКлиенте
Процедура УстановитьОбновление(Команда)
Закрыть();
ОбменДаннымиКлиент.УстановитьОбновлениеКонфигурации(ЗавершениеРаботыСистемы);
КонецПроцедуры
@@ -1483,7 +1483,7 @@
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
ВидыКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацияОбъекта(Справочники[ИмяСправочника].ПустаяСсылка());
ВидыКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(Справочники[ИмяСправочника].ПустаяСсылка());
КонецЕсли;
Для каждого Элемент Из СопоставитьПоКолонке Цикл
@@ -1504,7 +1504,7 @@
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульУправлениеКонтактнойИнформацией = ОбщегоНазначения.ОбщийМодуль("УправлениеКонтактнойИнформацией");
ВидыКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацияОбъекта(Справочники[ИмяСправочника].ПустаяСсылка());
ВидыКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(Справочники[ИмяСправочника].ПустаяСсылка());
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Свойства") Тогда
@@ -30,7 +30,6 @@
Если ОбщегоНазначения.РазделениеВключено() Тогда
ИнтернетПоддержкаПользователейПодключена = Истина;
ПрограммаОблачногоСервиса = ПрограммаОблачногоСервиса();
КонецЕсли;
ЗаполнитьСписокПрограмм();
@@ -1229,6 +1228,8 @@
ЗаполнитьРеквизитыОрганизации();
Иначе
ОбновитьКонтактнуюИнформациюОрганизации();
КонецЕсли;
Если СотрудникТип <> Неопределено
@@ -1239,19 +1240,6 @@
Сотрудник = ОписаниеТипов.ПривестиЗначение(Неопределено);
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
ДополнительныеПараметры = Новый Структура("НаименованиеВключаетСокращение", Истина);
ФактическийАдресСтруктура =
МодульРаботаСАдресами.СведенияОбАдресе(ФактическийАдресXML, ДополнительныеПараметры);
ЮридическийАдресСтруктура =
МодульРаботаСАдресами.СведенияОбАдресе(ЮридическийАдресXML, ДополнительныеПараметры);
КонецЕсли;
ПриИзмененииРуководителяНаСервере(Загрузка);
ПриИзмененииПартнераНаСервере(Загрузка);
ПриИзмененииВладельцаСертификатаНаСервере(Загрузка);
@@ -1386,6 +1374,8 @@
УстановитьРеквизит(Реквизиты, "КПП", Истина);
КонецЕсли;
ОбновитьКонтактнуюИнформациюОрганизации();
КонецПроцедуры
&НаСервере
@@ -1567,6 +1557,24 @@
КонецПроцедуры
&НаСервере
Процедура ОбновитьКонтактнуюИнформациюОрганизации()
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
МодульРаботаСАдресами = ОбщегоНазначения.ОбщийМодуль("РаботаСАдресами");
ДополнительныеПараметры = Новый Структура("НаименованиеВключаетСокращение", Истина);
ФактическийАдресСтруктура =
МодульРаботаСАдресами.СведенияОбАдресе(ФактическийАдресXML, ДополнительныеПараметры);
ЮридическийАдресСтруктура =
МодульРаботаСАдресами.СведенияОбАдресе(ЮридическийАдресXML, ДополнительныеПараметры);
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция РеквизитыОрганизации(ДляПроверки = Ложь)
@@ -1794,8 +1802,20 @@
Если РеквизитыЗаявления <> Неопределено Тогда
ДозаполнитьРеквизитыИзСведений(РеквизитыЗаявления, РеквизитыОрганизации());
ДозаполнитьРеквизитыИзСведений(РеквизитыЗаявления, РеквизитыВладельцаСертификата());
СведенияОбОрганизации = РеквизитыОрганизации();
СведенияОбОрганизации.Вставить("ТелефонXML");
СведенияОбОрганизации.Вставить("ЮридическийАдресXML");
СведенияОбОрганизации.Вставить("ФактическийАдресXML");
ДозаполнитьРеквизитыИзСведений(РеквизитыЗаявления, СведенияОбОрганизации);
ОбновитьКонтактнуюИнформациюОрганизации();
СведенияОВладельце = РеквизитыВладельцаСертификата();
СведенияОВладельце.Вставить("ЭтоИндивидуальныйПредприниматель");
СведенияОВладельце.Вставить("ГражданствоОКСМКодАльфа3");
СведенияОВладельце.Вставить("ГражданствоПредставление");
ДозаполнитьРеквизитыИзСведений(РеквизитыЗаявления, СведенияОВладельце);
РеквизитыПодписанта = РеквизитыПодписанта();
РеквизитыПодписанта.Вставить("ДокументыРуководительСсылка");
@@ -4918,27 +4938,6 @@
КонецФункции
&НаСервереБезКонтекста
Функция ПрограммаОблачногоСервиса()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПрограммыЭлектроннойПодписиИШифрования.Ссылка КАК Ссылка
|ИЗ
| Справочник.ПрограммыЭлектроннойПодписиИШифрования КАК ПрограммыЭлектроннойПодписиИШифрования
|ГДЕ
| ПрограммыЭлектроннойПодписиИШифрования.ЭтоПрограммаОблачногоСервиса";
ПрограммыОблачногоСервиса = Запрос.Выполнить().Выбрать();
Если ПрограммыОблачногоСервиса.Следующий() Тогда
Возврат ПрограммыОблачногоСервиса.Ссылка;
КонецЕсли;
Возврат Неопределено;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция НайтиБезУчетаРегистраИРазделителяПути(Строка, ПодстрокаПоиска)
@@ -239,7 +239,7 @@
ЭлементыУсловногоОформления = УсловноеОформление.Элементы;
ЭлементыУсловногоОформления.Очистить();
ЦветНедоступныеДанные = ЦветСтиляИлиАвто("ЦветНедоступныеДанные", 192, 192, 192);
ЦветНедоступныеДанные = Метаданные.ЭлементыСтиля.ТекстЗапрещеннойЯчейкиЦвет.Значение;
Для Каждого ЭлементСписка Из ВсеВидыСравненияПравилПоиска Цикл
ЭлементОформления = ЭлементыУсловногоОформления.Добавить();
@@ -269,16 +269,5 @@
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветНедоступныеДанные);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ЦветСтиляИлиАвто(Знач Имя, Знач Красный = Неопределено, Зеленый = Неопределено, Синий = Неопределено)
ЭлементСтиля = Метаданные.ЭлементыСтиля.Найти(Имя);
Если ЭлементСтиля <> Неопределено И ЭлементСтиля.Вид = Метаданные.СвойстваОбъектов.ВидЭлементаСтиля.Цвет Тогда
Возврат ЦветаСтиля[Имя];
КонецЕсли;
Возврат ?(Красный = Неопределено, Новый Цвет, Новый Цвет(Красный, Зеленый, Синий));
КонецФункции
#КонецОбласти
@@ -580,7 +580,7 @@
Процедура ПослеЗапускаСкрипта(Результат, Контекст) Экспорт
Если Результат.ПриложениеЗапущено Тогда
ЗавершитьРаботуСистемы(Ложь);
ПрекратитьРаботуСистемы();
Иначе
ПоказатьПредупреждение(, Результат.ОписаниеОшибки);
КонецЕсли;
@@ -3579,6 +3579,11 @@
Если ТекущиеДанные <> Неопределено Тогда
ПараметрыСоздания.Вставить("ЗначенияЗаполнения", Новый Структура("Предмет", ТекущиеДанные.Предмет));
КонецЕсли;
ИначеЕсли ИмяТекущейПанелиНавигации = "СтраницаПапки" Тогда
ТекущиеДанные = Элементы.Папки.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ПараметрыСоздания.Вставить("ЗначенияЗаполнения", Новый Структура("УчетнаяЗапись", ТекущиеДанные.УчетнаяЗапись));
КонецЕсли;
КонецЕсли;
ВзаимодействияКлиент.СоздатьНовоеВзаимодействие(ТипОбъекта, ПараметрыСоздания, ЭтотОбъект);
@@ -29,7 +29,12 @@
Элементы.Участники.Заголовок = ЗаголовокУчастникиПочта;
КонецЕсли;
Если Параметры.Свойство("Отбор") Тогда
ШаблонЗаголовка = НСтр("ru = 'Взаимодействия по %1'");
Если Параметры.Отбор.Свойство("Предмет") Тогда
Если Параметры.Свойство("ДополнительныеПараметры")
@@ -46,9 +51,12 @@
Параметры.Отбор.Удалить("Предмет");
УстановитьОтборПоПредмету();
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонЗаголовка, ОбщегоНазначения.ПредметСтрокой(ПредметДляОтбора));
ИначеЕсли Параметры.Отбор.Свойство("Контакт") Тогда
Контакт = Параметры.Отбор.Контакт;
Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонЗаголовка, ОбщегоНазначения.ПредметСтрокой(Контакт));
Параметры.Отбор.Удалить("Контакт");
УстановитьОтборПоКонтакту();
@@ -59,6 +59,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаСервере
@@ -80,6 +87,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаКлиенте
@@ -102,6 +116,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаКлиенте
@@ -508,4 +529,29 @@
// Конец СтандартныеПодсистемы.Свойства
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -272,6 +272,10 @@
<id>5</id>
<horizontalAlign>Left</horizontalAlign>
</autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition>
<name>СписокСтрокаПоиска</name>
<id>7</id>
@@ -18,6 +18,29 @@
МодульВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
@@ -31,4 +54,29 @@
КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -57,6 +57,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаСервере
@@ -78,6 +85,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаКлиенте
@@ -99,6 +113,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаКлиенте
@@ -439,4 +460,29 @@
КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -272,6 +272,10 @@
<id>5</id>
<horizontalAlign>Left</horizontalAlign>
</autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition>
<name>СписокСтрокаПоиска</name>
<id>7</id>
@@ -18,6 +18,29 @@
МодульВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
@@ -31,4 +54,29 @@
КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -1090,6 +1090,37 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:FormGroup">
<name>ПодменюСоздатьНаОсновании</name>
<id>175</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Создать на основании</value>
</title>
<extendedTooltip>
<name>ПодменюСоздатьНаОснованииРасширеннаяПодсказка</name>
<id>176</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Popup</type>
<extInfo xsi:type="form:PopupGroupExtInfo">
<picture xsi:type="core:PictureRef">
<picture>StdPicture.InputOnBasis</picture>
</picture>
<representation>Picture</representation>
<importance>Normal</importance>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ФормаГлобальныеКоманды</name>
<id>157</id>
@@ -66,6 +66,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаСервере
@@ -87,6 +94,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаКлиенте
@@ -108,6 +122,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.РаботаСФайлами
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаСервере
@@ -451,4 +472,29 @@
КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -273,6 +273,10 @@
<id>5</id>
<horizontalAlign>Left</horizontalAlign>
</autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition>
<name>СписокСтрокаПоиска</name>
<id>7</id>
@@ -18,6 +18,29 @@
МодульВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
@@ -31,5 +54,31 @@
КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -129,6 +129,150 @@
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>СтраницыУказаныКонтакты</name>
<id>203</id>
<items xsi:type="form:FormGroup">
<name>СтраницаКонтактыЗаполнены</name>
<id>206</id>
<items xsi:type="form:Decoration">
<name>ДекорацияКонтактыНеЗаполнены</name>
<id>210</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДекорацияКонтактыНеЗаполненыРасширеннаяПодсказка</name>
<id>255</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДекорацияКонтактыНеЗаполненыКонтекстноеМеню</name>
<id>211</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<width>12</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Страница контакты заполнены</value>
</title>
<extendedTooltip>
<name>СтраницаКонтактыЗаполненыExtendedTooltip</name>
<id>254</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>HorizontalIfPossible</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>СтраницаКонтактыНеЗаполнены</name>
<id>204</id>
<items xsi:type="form:Button">
<name>УточнитьКонтакты</name>
<id>205</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>УточнитьКонтактыExtendedTooltip</name>
<id>259</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.УточнитьКонтакты</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>PictureAndText</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Страница контакты не заполнены</value>
</title>
<extendedTooltip>
<name>СтраницаКонтактыНеЗаполненыExtendedTooltip</name>
<id>257</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>HorizontalIfPossible</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Страницы указаны контакты</value>
</title>
<groupHorizontalAlign>Right</groupHorizontalAlign>
<extendedTooltip>
<name>СтраницыУказаныКонтактыExtendedTooltip</name>
<id>253</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Pages</type>
<extInfo xsi:type="form:PagesGroupExtInfo">
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Тема</name>
<id>29</id>
@@ -898,6 +1042,113 @@
<autoMaxCardHeight>true</autoMaxCardHeight>
<rowFilter xsi:type="core:UndefinedValue"/>
</items>
<items xsi:type="form:FormGroup">
<name>ВложенияКоманды</name>
<id>313</id>
<items xsi:type="form:Button">
<name>ОткрытьВложениеКоманда</name>
<id>315</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>ОткрытьВложениеКомандаРасширеннаяПодсказка</name>
<id>316</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ОткрытьВложение</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>СохранитьВложениеКоманда</name>
<id>317</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>СохранитьВложениеКомандаРасширеннаяПодсказка</name>
<id>318</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СохранитьВложение</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>СвойстваВложения</name>
<id>319</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СвойстваВложенияРасширеннаяПодсказка</name>
<id>320</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СвойстваВложения</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Вложения команды</value>
</title>
<extendedTooltip>
<name>ВложенияКомандыРасширеннаяПодсказка</name>
<id>314</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>CommandBar</type>
<extInfo xsi:type="form:CommandBarExtInfo">
<horizontalAlign>Right</horizontalAlign>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Предмет</name>
<id>144</id>
@@ -1081,149 +1332,6 @@
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>СтраницыУказаныКонтакты</name>
<id>203</id>
<items xsi:type="form:FormGroup">
<name>СтраницаКонтактыЗаполнены</name>
<id>206</id>
<items xsi:type="form:Decoration">
<name>ДекорацияКонтактыНеЗаполнены</name>
<id>210</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ДекорацияКонтактыНеЗаполненыРасширеннаяПодсказка</name>
<id>255</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДекорацияКонтактыНеЗаполненыКонтекстноеМеню</name>
<id>211</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<width>12</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Страница контакты заполнены</value>
</title>
<extendedTooltip>
<name>СтраницаКонтактыЗаполненыExtendedTooltip</name>
<id>254</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>HorizontalIfPossible</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>СтраницаКонтактыНеЗаполнены</name>
<id>204</id>
<items xsi:type="form:Button">
<name>УточнитьКонтакты</name>
<id>205</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>УточнитьКонтактыExtendedTooltip</name>
<id>259</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.УточнитьКонтакты</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Страница контакты не заполнены</value>
</title>
<extendedTooltip>
<name>СтраницаКонтактыНеЗаполненыExtendedTooltip</name>
<id>257</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Page</type>
<extInfo xsi:type="form:PageGroupExtInfo">
<group>HorizontalIfPossible</group>
<showTitle>auto</showTitle>
<scrollOnCompress>false</scrollOnCompress>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Страницы указаны контакты</value>
</title>
<extendedTooltip>
<name>СтраницыУказаныКонтактыExtendedTooltip</name>
<id>253</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Pages</type>
<extInfo xsi:type="form:PagesGroupExtInfo">
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаВажностьНомерОтправлено</name>
<id>187</id>
@@ -1520,6 +1628,34 @@
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>Записать</name>
<id>164</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>ЗаписатьExtendedTooltip</name>
<id>236</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Write</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Picture</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ФормаЖурналДокументовВзаимодействияСохранитьПисьмоНаДиск</name>
@@ -1544,12 +1680,11 @@
</extendedTooltip>
<commandName>DocumentJournal.Взаимодействия.Command.СохранитьПисьмоНаДиск</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<representation>Picture</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ФормаПеречитать</name>
@@ -1605,33 +1740,6 @@
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>Записать</name>
<id>164</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>ЗаписатьExtendedTooltip</name>
<id>236</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Write</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаОтветитьПереслать</name>
<id>191</id>
@@ -2270,7 +2378,7 @@
<name>ОткрытьВложение</name>
<title>
<key>ru</key>
<value>Открыть</value>
<value>Открыть...</value>
</title>
<id>1</id>
<toolTip>
@@ -2320,7 +2428,7 @@
<name>ПараметрыПисьма</name>
<title>
<key>ru</key>
<value>Параметры письма</value>
<value>Параметры письма...</value>
</title>
<id>3</id>
<toolTip>
@@ -2343,7 +2451,7 @@
<name>СвязанныеВзаимодействия</name>
<title>
<key>ru</key>
<value>Связанные взаимодействия</value>
<value>Связанные взаимодействия...</value>
</title>
<id>4</id>
<toolTip>
@@ -2369,12 +2477,12 @@
<name>ИзменитьКодировку</name>
<title>
<key>ru</key>
<value>Изменить кодировку</value>
<value>Изменить кодировку...</value>
</title>
<id>5</id>
<toolTip>
<key>ru</key>
<value>Изменить кодировку</value>
<value>Изменить кодировку письма</value>
</toolTip>
<use>
<common>true</common>
@@ -2391,16 +2499,19 @@
<name>УточнитьКонтакты</name>
<title>
<key>ru</key>
<value>Уточнить контакты</value>
<value>Сохранить адреса в контакты</value>
</title>
<id>6</id>
<toolTip>
<key>ru</key>
<value>Уточнить контакты</value>
<value>Внести адресаты письма в адресную книгу</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Встреча</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>УточнитьКонтакты</name>
@@ -2413,7 +2524,7 @@
<name>СвойстваВложения</name>
<title>
<key>ru</key>
<value>Свойства</value>
<value>Свойства вложения...</value>
</title>
<id>7</id>
<toolTip>
@@ -49,6 +49,13 @@
Элементы.СтраницаКомментарий.Картинка = ОбщегоНазначенияКлиентСервер.КартинкаКомментария(Объект.Комментарий);
КонецЕсли;
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаКлиенте
@@ -61,6 +68,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.Свойства
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаСервере
@@ -141,6 +155,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаКлиенте
@@ -765,4 +786,29 @@
УстановитьВидимостьПредупрежденияБезопасности();
КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -205,6 +205,10 @@
<id>3</id>
<horizontalAlign>Left</horizontalAlign>
</autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition>
<name>СписокСтрокаПоиска</name>
<id>21</id>
@@ -13,6 +13,29 @@
УстановитьУсловноеОформление();
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
@@ -26,5 +49,30 @@
КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -49,6 +49,13 @@
ОпределитьВозможностьЗаполненияПисьмаПоШаблону();
// Конец СтандартныеПодсистемы.ШаблоныСообщений
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаКлиенте
@@ -61,6 +68,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.Свойства
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
УправлениеДоступностью();
КонецПроцедуры
@@ -171,6 +185,13 @@
КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
&НаКлиенте
@@ -760,11 +781,11 @@
Возврат;
КонецЕсли;
ДанныеВыбора = ДанныеВыбораДляЭлектронногоПисьма(Текст, 0);
ДанныеВыбора = НайтиКонтакты(Текст);
Если ДанныеВыбора.Количество() > 0 Тогда
СтандартнаяОбработка = Ложь;
Иначе
ДанныеВыбора = Неопределено
ДанныеВыбора = Неопределено;
КонецЕсли;
КонецПроцедуры
@@ -1095,14 +1116,11 @@
И (НЕ ИнформационнаяБазаФайловая
ИЛИ (Объект.ДатаКогдаОтправить <> Дата(1,1,1) И Объект.ДатаКогдаОтправить > ОбщегоНазначенияКлиент.ДатаСеанса())
ИЛИ (Объект.ДатаАктуальностиОтправки <> Дата(1,1,1) И Объект.ДатаАктуальностиОтправки < ОбщегоНазначенияКлиент.ДатаСеанса())) Тогда
Элементы.Отправить.Видимость = Ложь;
Иначе
Элементы.Отправить.Видимость = Истина;
КонецЕсли;
Элементы.ФормаЗаписатьИЗакрыть.Видимость = Не Элементы.Отправить.Видимость;
Элементы.ГруппаДатаОтправкиАктуальность.Доступность = (Объект.СтатусПисьма <> ПредопределенноеЗначение("Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Отправлено"));
@@ -2241,86 +2259,20 @@
КонецПроцедуры
&НаСервереБезКонтекста
Функция ДанныеВыбораДляЭлектронногоПисьма(Текст, ИндексВСпискеПолучателей)
ВозвращаемыйСписок = Новый СписокЗначений;
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| СправочникКонтакт.Ссылка КАК Контакт,
| ПРЕДСТАВЛЕНИЕ(СправочникКонтакт.Ссылка) КАК Представление,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК АдресЭП
|ИЗ
| Справочник.Пользователи КАК СправочникКонтакт
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты) И (ТаблицаКонтактнаяИнформация.АдресЭП <> """"))
|ГДЕ
| (СправочникКонтакт.Наименование ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.АдресЭП ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.ДоменноеИмяСервера ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.Представление ПОДОБНО &ВведеннаяСтрока)";
Для каждого ЭлементМассиваОписания Из МассивОписанияТиповКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда
Продолжить;
Иначе
УсловиеПолейВводаПоСтроке = "";
МетаданныеОбъекта = Метаданные.НайтиПоТипу(ЭлементМассиваОписания.Тип);
СписокПолей = МетаданныеОбъекта.ВводПоСтроке;
Для Каждого Поле Из СписокПолей Цикл
Если МетаданныеОбъекта.СтандартныеРеквизиты[Поле.Имя].Тип.Типы()[0] = Тип("Строка") Тогда
УсловиеПолейВводаПоСтроке = УсловиеПолейВводаПоСтроке + " ИЛИ СправочникКонтакт." + Поле.Имя + " ПОДОБНО &ВведеннаяСтрока";
КонецЕсли;
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + "
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СправочникКонтакт.Ссылка КАК Контакт,
| СправочникКонтакт." + ЭлементМассиваОписания.ИмяРеквизитаПредставлениеКонтакта + " КАК Представление,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК АдресЭП
|ИЗ
| Справочник." + ЭлементМассиваОписания.Имя + " КАК СправочникКонтакт
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник." + ЭлементМассиваОписания.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты) И (ТаблицаКонтактнаяИнформация.АдресЭП <> """"))
|ГДЕ
| (ТаблицаКонтактнаяИнформация.АдресЭП ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.ДоменноеИмяСервера ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.Представление ПОДОБНО &ВведеннаяСтрока
|" + УсловиеПолейВводаПоСтроке + ")
|";
КонецЕсли;
КонецЦикла;
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ВведеннаяСтрока", Текст + "%");
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат ВозвращаемыйСписок;
КонецЕсли;
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Функция НайтиКонтакты(Знач СтрокаПоиска)
Результат = Новый СписокЗначений;
ТаблицаКонтактов = Взаимодействия.НайтиКонтактыСАдресами(СтрокаПоиска);
Для каждого Выборка Из ТаблицаКонтактов Цикл
ЗначениеВыбора = Новый Структура;
ЗначениеВыбора.Вставить("Контакт", Выборка.Контакт);
ЗначениеВыбора.Вставить("Адрес", Выборка.АдресЭП);
ЗначениеВыбора.Вставить("Представление", Выборка.Представление);
ЗначениеВыбора.Вставить("ИндексВСпискеПолучателей", ИндексВСпискеПолучателей);
ВозвращаемыйСписок.Добавить(ЗначениеВыбора,
ВзаимодействияКлиентСервер.ПолучитьПредставлениеАдресата(Выборка.Представление, Выборка.АдресЭП, ""));
ЗначениеВыбора.Вставить("Адрес", Выборка.Представление);
ЗначениеВыбора.Вставить("Представление", Выборка.Наименование);
ЗначениеВыбора.Вставить("ИндексВСпискеПолучателей", 0);
Результат.Добавить(ЗначениеВыбора,
ВзаимодействияКлиентСервер.ПолучитьПредставлениеАдресата(Выборка.Наименование, Выборка.Представление, ""));
КонецЦикла;
Возврат ВозвращаемыйСписок;
Возврат Результат;
КонецФункции
@@ -3050,4 +3002,29 @@
#КонецОбласти
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -344,6 +344,10 @@
<id>5</id>
<horizontalAlign>Left</horizontalAlign>
</autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition>
<name>СписокСтрокаПоиска</name>
<id>7</id>
@@ -13,6 +13,29 @@
УстановитьУсловноеОформление();
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
@@ -26,4 +49,29 @@
КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти
@@ -439,6 +439,95 @@
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Настройка доступности вариантов отчетов по умолчанию.
Процедура УстановитьДоступностьВариантовОтчетовПоУмолчанию() Экспорт
Запрос = Новый Запрос(ТекстЗапросаНастроекДоступностиВариантовОтчетовПоУмолчанию());
Данные = Запрос.Выполнить().Выбрать();
МетаданныеРегистра = Метаданные.РегистрыСведений.НастройкиВариантовОтчетов;
КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();
Пока Данные.Следующий() Цикл
Попытка
ПеренестиНастройкиДоступностиВариантаОтчета(Данные);
Исключение
ШаблонКомментария = НСтр("ru = 'Не удалось установить доступность варианта отчета ""%1"" по умолчанию
|по причине: %2'");
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
ШаблонКомментария,
Данные.Вариант,
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Варианты отчетов.Установка настроек доступности по умолчанию'", КодОсновногоЯзыка),,
УровеньЖурналаРегистрации.Предупреждение,
МетаданныеРегистра,,
Комментарий);
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Функция ТекстЗапросаНастроекДоступностиВариантовОтчетовПоУмолчанию()
Возврат "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| Отчеты.Ссылка КАК Вариант,
| ЗНАЧЕНИЕ(Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка) КАК Подсистема,
| НЕОПРЕДЕЛЕНО КАК Пользователь,
| ВЫБОР
| КОГДА Отчеты.ВидимостьПоУмолчаниюПереопределена
| ИЛИ ЕСТЬNULL(ОтчетыКонфигурации.ВидимостьПоУмолчанию, ОтчетыРасширений.ВидимостьПоУмолчанию) ЕСТЬ NULL
| ТОГДА Отчеты.ВидимостьПоУмолчанию
| ИНАЧЕ ЕСТЬNULL(ОтчетыКонфигурации.ВидимостьПоУмолчанию, ОтчетыРасширений.ВидимостьПоУмолчанию)
| КОНЕЦ КАК Видимость,
| ЛОЖЬ КАК БыстрыйДоступ
|ПОМЕСТИТЬ Настройки
|ИЗ
| Справочник.ВариантыОтчетов КАК Отчеты
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Размещение КАК РазмещениеОтчетов
| ПО РазмещениеОтчетов.Ссылка = Отчеты.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов КАК ОтчетыКонфигурации
| ПО ОтчетыКонфигурации.Ссылка = Отчеты.ПредопределенныйВариант
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Размещение КАК РазмещениеОтчетовКонфигурации
| ПО РазмещениеОтчетовКонфигурации.Ссылка = Отчеты.ПредопределенныйВариант
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ОтчетыРасширений
| ПО ОтчетыРасширений.Ссылка = Отчеты.ПредопределенныйВариант
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений.Размещение КАК РазмещениеОтчетовРасширений
| ПО РазмещениеОтчетовРасширений.Ссылка = Отчеты.ПредопределенныйВариант
|ГДЕ
| ЕСТЬNULL(РазмещениеОтчетов.Использование, ИСТИНА)
| И НЕ ЕСТЬNULL(РазмещениеОтчетов.Подсистема,
| ЕСТЬNULL(РазмещениеОтчетовКонфигурации.Подсистема, РазмещениеОтчетовРасширений.Подсистема)) ЕСТЬ NULL
|;
|
|ВЫБРАТЬ
| Настройки.Вариант,
| Настройки.Подсистема,
| Настройки.Пользователь,
| Настройки.Видимость,
| Настройки.БыстрыйДоступ
|ИЗ
| Настройки КАК Настройки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиВариантовОтчетов КАК НастройкиСуществующие
| ПО НастройкиСуществующие.Вариант = Настройки.Вариант
| И НастройкиСуществующие.Подсистема = Настройки.Подсистема
|ГДЕ
| Настройки.Видимость
| И НастройкиСуществующие.Вариант ЕСТЬ NULL";
КонецФункции
////////////////////////////////////////////////////////////////////////////////
// Обработчики оповещения пользователей варианта отчета.
@@ -627,46 +716,7 @@
//
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| Отчеты.Ссылка КАК Вариант,
| ЗНАЧЕНИЕ(Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка) КАК Подсистема,
| НЕОПРЕДЕЛЕНО КАК Пользователь,
| ВЫБОР
| КОГДА Отчеты.ВидимостьПоУмолчаниюПереопределена
| ИЛИ ЕСТЬNULL(ОтчетыКонфигурации.ВидимостьПоУмолчанию, ОтчетыРасширений.ВидимостьПоУмолчанию) ЕСТЬ NULL
| ТОГДА Отчеты.ВидимостьПоУмолчанию
| ИНАЧЕ ЕСТЬNULL(ОтчетыКонфигурации.ВидимостьПоУмолчанию, ОтчетыРасширений.ВидимостьПоУмолчанию)
| КОНЕЦ КАК Видимость
|ПОМЕСТИТЬ Настройки
|ИЗ
| Справочник.ВариантыОтчетов КАК Отчеты
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Размещение КАК РазмещениеОтчетов
| ПО РазмещениеОтчетов.Ссылка = Отчеты.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов КАК ОтчетыКонфигурации
| ПО ОтчетыКонфигурации.Ссылка = Отчеты.ПредопределенныйВариант
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Размещение КАК РазмещениеОтчетовКонфигурации
| ПО РазмещениеОтчетовКонфигурации.Ссылка = Отчеты.ПредопределенныйВариант
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений КАК ОтчетыРасширений
| ПО ОтчетыРасширений.Ссылка = Отчеты.ПредопределенныйВариант
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетовРасширений.Размещение КАК РазмещениеОтчетовРасширений
| ПО РазмещениеОтчетовРасширений.Ссылка = Отчеты.ПредопределенныйВариант
|ГДЕ
| ЕСТЬNULL(РазмещениеОтчетов.Использование, ИСТИНА)
| И НЕ ЕСТЬNULL(РазмещениеОтчетов.Подсистема,
| ЕСТЬNULL(РазмещениеОтчетовКонфигурации.Подсистема, РазмещениеОтчетовРасширений.Подсистема)) ЕСТЬ NULL
|;
|
|ВЫБРАТЬ
| Настройки.Вариант
|ИЗ
| Настройки КАК Настройки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиВариантовОтчетов КАК НастройкиСуществующие
| ПО НастройкиСуществующие.Вариант = Настройки.Вариант
| И НастройкиСуществующие.Подсистема = Настройки.Подсистема
|ГДЕ
| Настройки.Видимость
| И НастройкиСуществующие.Вариант ЕСТЬ NULL");
Запрос = Новый Запрос(ТекстЗапросаНастроекДоступностиВариантовОтчетовПоУмолчанию());
Ссылки = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Вариант");
@@ -3380,6 +3380,19 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>КрасныйЦвет</name>
<id>12</id>
<valueType>
<types>Color</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>РучноеУправление</name>
<title>
@@ -56,6 +56,8 @@
Элементы.ГруппаКоличествоПотоковОбновленияДоступа2.Видимость = Ложь;
КонецЕсли;
КрасныйЦвет = ЦветаСтиля.ЦветОсобогоТекста;
КонецПроцедуры
&НаКлиенте
@@ -395,7 +397,7 @@
Если ЗначениеЗаполнено(Состояние.ПоследнееЗавершениеОбновленияДоступа) Тогда
ФорматЧастей = Новый Соответствие;
ЖирныйШрифт = Новый Шрифт(Элементы.ПоследнееЗавершениеОбновленияДоступа.Шрифт,,, Истина);
КрасныйЦвет = Новый Цвет(255, 0, 0);
Если Состояние.ОбновлениеОтмененоНештатно Тогда
Если Состояние.ПоследнееЗавершениеСегодня Тогда
Шаблон = НСтр("ru = '<1>отменено нештатно</1> после запуска в %1'");
@@ -167,8 +167,8 @@
Запрос.Текст =
"ВЫБРАТЬ
| ПользователиКонтактнаяИнформация.Ссылка КАК Ссылка,
| ПользователиКонтактнаяИнформация.Вид,
| ПользователиКонтактнаяИнформация.Представление
| ПользователиКонтактнаяИнформация.Вид КАК Вид,
| ПользователиКонтактнаяИнформация.Представление КАК Представление
|ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
|ГДЕ
@@ -177,28 +177,17 @@
|УПОРЯДОЧИТЬ ПО
| ПользователиКонтактнаяИнформация.Ссылка,
| ПользователиКонтактнаяИнформация.Тип.Порядок,
| ПользователиКонтактнаяИнформация.Вид";
| ПользователиКонтактнаяИнформация.Вид
|ИТОГИ ПО
| Ссылка";
Выборка = Запрос.Выполнить().Выбрать();
ВыборкаПоПользователям = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ТекущаяСсылка = Неопределено;
Пока ВыборкаПоПользователям.Следующий() Цикл
Телефоны = "";
ЭлектронныеАдреса = "";
Выборка = ВыборкаПоПользователям.Выбрать();
Пока Выборка.Следующий() Цикл
Если ТекущаяСсылка <> Выборка.Ссылка Тогда
Если ТекущаяСсылка <> Неопределено Тогда
Если ЗначениеЗаполнено(Телефоны) Или ЗначениеЗаполнено(ЭлектронныеАдреса) Тогда
НоваяСтрока = Контакты.Добавить();
НоваяСтрока.Ссылка = ТекущаяСсылка;
НоваяСтрока.Телефон = Телефоны;
НоваяСтрока.ЭлектронныйАдрес = ЭлектронныеАдреса;
КонецЕсли;
КонецЕсли;
Телефоны = "";
ЭлектронныеАдреса = "";
ТекущаяСсылка = Выборка.Ссылка;
КонецЕсли;
Если Выборка.Вид = Справочники["ВидыКонтактнойИнформации"].ТелефонПользователя Тогда
Телефоны = Телефоны + ?(ЗначениеЗаполнено(Телефоны), ", ", "");
Телефоны = Телефоны + Выборка.Представление;
@@ -208,6 +197,13 @@
ЭлектронныеАдреса = ЭлектронныеАдреса + Выборка.Представление;
КонецЕсли;
КонецЦикла;
Если ЗначениеЗаполнено(Телефоны) Или ЗначениеЗаполнено(ЭлектронныеАдреса) Тогда
НоваяСтрока = Контакты.Добавить();
НоваяСтрока.Ссылка = ВыборкаПоПользователям.Ссылка;
НоваяСтрока.Телефон = Телефоны;
НоваяСтрока.ЭлектронныйАдрес = ЭлектронныеАдреса;
КонецЕсли;
КонецЦикла;
Возврат Контакты;
@@ -1135,93 +1135,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.СценарииОбменовДанными</name>
<right>
@@ -1485,6 +1398,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name>
<right>
@@ -14,6 +14,13 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -45,13 +52,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
@@ -152,6 +152,25 @@
<value>true</value>
</right>
</object>
<object>
<name>Constant.ДатаПоследнейВыгрузкиЗамеровПроизводительностиUTC</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>
</object>
<object>
<name>Constant.КоличествоЗамеровВПакетеЭкспорта</name>
<right>
@@ -1658,45 +1658,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Task.ЗадачаИсполнителя</name>
<right>
@@ -2058,6 +2019,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name>
<right>
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:StyleItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9f9e6146-17ce-4296-a89f-33dfe4d0468d">
<name>ОбразецНастройкиКолонтитуловЦвет</name>
<synonym>
<key>ru</key>
<value>Образец настройки колонтитулов цвет</value>
</synonym>
<value xsi:type="core:ColorValue">
<value xsi:type="core:ColorDef">
<red>128</red>
<green>128</green>
<blue>128</blue>
</value>
</value>
</mdclass:StyleItem>
@@ -119,6 +119,10 @@
<command>CommonCommand.ВремяТекущегоСеанса</command>
<visible/>
</visibilityFragments>
<visibilityFragments>
<command>Catalog.ПрофилиКлючевыхОпераций.StandardCommand.OpenList</command>
<visible/>
</visibilityFragments>
<visibilityFragments>
<command>Catalog.ПравилаПроверкиУчета.StandardCommand.OpenList</command>
<visible/>
@@ -143,6 +147,10 @@
<command>DataProcessor.НастройкаСтандартногоИнтерфейсаOData.Command.НастройкиСтандартногоИнтерфейсаOData</command>
<visible/>
</visibilityFragments>
<visibilityFragments>
<command>Catalog.ВнешниеКомпоненты.StandardCommand.OpenList</command>
<visible/>
</visibilityFragments>
<visibilityFragments>
<command>CommonCommand.АвтономнаяРаботаВМоделиСервиса</command>
<visible>
@@ -486,6 +494,7 @@
<commands>InformationRegister.АдресныеОбъекты.Command.ОчиститьАдресныйКлассификатор</commands>
<commands>InformationRegister.АдресныеОбъекты.Command.ПодключитьИнтернетПоддержку</commands>
<commands>DataProcessor.НастройкаСтандартногоИнтерфейсаOData.Command.НастройкиСтандартногоИнтерфейсаOData</commands>
<commands>Catalog.ВнешниеКомпоненты.StandardCommand.OpenList</commands>
</orderFragments>
<orderFragments>
<group>NavigationPanelSeeAlso</group>
@@ -102,4 +102,5 @@
<content>InformationRegister.АдресныеОбъекты</content>
<content>CommonForm.УстановленныеИсправления</content>
<content>DataProcessor.НастройкаСтандартногоИнтерфейсаOData</content>
<content>Catalog.ВнешниеКомпоненты</content>
</mdclass:Subsystem>
@@ -81,5 +81,6 @@
<content>StyleItem.ГруппаВариантовОтчетовОбычнаяШрифт</content>
<content>StyleItem.РазделВариантовОтчетовШрифт</content>
<content>StyleItem.ФонРезультатовПоиска</content>
<content>StyleItem.ОбразецНастройкиКолонтитуловЦвет</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem>