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
+3752 -1520

No files matched your search

@@ -180,7 +180,7 @@
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
// Регистрирует к обработке виды контактной информации другое у которых необходимо заполнить поле ВидРедактирования. // Регистрирует к обработке виды контактной информации.
// //
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
@@ -188,9 +188,7 @@
Запрос.Текст = "ВЫБРАТЬ Запрос.Текст = "ВЫБРАТЬ
| ВидыКонтактнойИнформации.Ссылка КАК Ссылка | ВидыКонтактнойИнформации.Ссылка КАК Ссылка
|ИЗ |ИЗ
| Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации | Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации";
|ГДЕ
| ВидыКонтактнойИнформации.ЭтоГруппа = ЛОЖЬ";
РезультатЗапроса = Запрос.Выполнить().Выгрузить(); РезультатЗапроса = Запрос.Выполнить().Выгрузить();
@@ -203,12 +201,27 @@
ВидКонтактнойИнформацииСсылка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, "Справочник.ВидыКонтактнойИнформации"); ВидКонтактнойИнформацииСсылка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, "Справочник.ВидыКонтактнойИнформации");
ЯзыковБольшеОдного = Метаданные.Языки.Количество() > 1;
Наименования = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.НаименованияВидовКонтактнойИнформации();
ПроблемныхОбъектов = 0; ПроблемныхОбъектов = 0;
ОбъектовОбработано = 0; ОбъектовОбработано = 0;
Пока ВидКонтактнойИнформацииСсылка.Следующий() Цикл Пока ВидКонтактнойИнформацииСсылка.Следующий() Цикл
Попытка Попытка
ВидКонтактнойИнформации = ВидКонтактнойИнформацииСсылка.Ссылка.ПолучитьОбъект(); ВидКонтактнойИнформации = ВидКонтактнойИнформацииСсылка.Ссылка.ПолучитьОбъект();
// Исправление наименований на разных языках
Если ЯзыковБольшеОдного Тогда
ИмяВида = ?(ЗначениеЗаполнено(ВидКонтактнойИнформации.ИмяПредопределенногоВида),
ВидКонтактнойИнформации.ИмяПредопределенногоВида, ВидКонтактнойИнформации.ИмяПредопределенныхДанных);
Если ЗначениеЗаполнено(ИмяВида) Тогда
УстановитьНаименованияВидовКонтактнойИнформации(ВидКонтактнойИнформации, ИмяВида, Наименования);
КонецЕсли;
КонецЕсли;
Если Не ВидКонтактнойИнформации.ЭтоГруппа Тогда
Если ВидКонтактнойИнформации.УдалитьРедактированиеТолькоВДиалоге Тогда Если ВидКонтактнойИнформации.УдалитьРедактированиеТолькоВДиалоге Тогда
ВидКонтактнойИнформации.ВидРедактирования = "Диалог"; ВидКонтактнойИнформации.ВидРедактирования = "Диалог";
ИначеЕсли ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты ИначеЕсли ВидКонтактнойИнформации.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты
@@ -220,6 +233,7 @@
Иначе Иначе
ВидКонтактнойИнформации.ВидРедактирования = "ПолеВводаИДиалог"; ВидКонтактнойИнформации.ВидРедактирования = "ПолеВводаИДиалог";
КонецЕсли; КонецЕсли;
КонецЕсли;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВидКонтактнойИнформации); ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВидКонтактнойИнформации);
ОбъектовОбработано = ОбъектовОбработано + 1; ОбъектовОбработано = ОбъектовОбработано + 1;
@@ -251,6 +265,39 @@
КонецПроцедуры КонецПроцедуры
Процедура УстановитьНаименованияВидовКонтактнойИнформации(ВидКонтактнойИнформации, ИмяВида, Наименования)
Для Каждого Язык Из Метаданные.Языки Цикл
Представление = Наименования[Язык.КодЯзыка][ИмяВида];
Если ЗначениеЗаполнено(Представление) Тогда
Если Язык = Метаданные.ОсновнойЯзык Тогда
ВидКонтактнойИнформации.Наименование = Представление;
Иначе
Если Наименования[Язык.КодЯзыка][ИмяВида] <> Неопределено Тогда
Отбор = Новый Структура;
Отбор.Вставить("КодЯзыка", Язык.КодЯзыка);
Отбор.Вставить("Наименование", Представление);
НайденныеСтроки = ВидКонтактнойИнформации.Представления.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() > 0 Тогда
НоваяСтрока = НайденныеСтроки[0];
Иначе
НоваяСтрока = ВидКонтактнойИнформации.Представления.Добавить();
КонецЕсли;
НоваяСтрока.КодЯзыка = Язык.КодЯзыка;
НоваяСтрока.Наименование = Представление;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -184,6 +184,32 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаДействие</name> <name>ГруппаДействие</name>
<id>65</id> <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"> <items xsi:type="form:Button">
<name>ФормаОбновитьИзФайла</name> <name>ФормаОбновитьИзФайла</name>
<id>58</id> <id>58</id>
@@ -237,32 +263,6 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </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> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -796,7 +796,7 @@
<name>ОбновитьИзФайла</name> <name>ОбновитьИзФайла</name>
</handler> </handler>
</action> </action>
<representation>TextPicture</representation> <representation>Picture</representation>
<currentRowUse>DontUse</currentRowUse> <currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
@@ -259,6 +259,7 @@
<autoFill>true</autoFill> <autoFill>true</autoFill>
</contextMenu> </contextMenu>
<type>InputField</type> <type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode> <editMode>Enter</editMode>
<showInHeader>true</showInHeader> <showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign> <headerHorizontalAlign>Left</headerHorizontalAlign>
@@ -1635,6 +1635,7 @@
<event>StartChoice</event> <event>StartChoice</event>
<name>КомментарийНачалоВыбора</name> <name>КомментарийНачалоВыбора</name>
</handlers> </handlers>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap> <wrap>true</wrap>
<choiceButton>true</choiceButton> <choiceButton>true</choiceButton>
<chooseType>true</chooseType> <chooseType>true</chooseType>
@@ -253,6 +253,10 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<windowOpeningMode>LockOwner</windowOpeningMode> <windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle> <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:content>Письмо</v8:content>
</v8:item> </v8:item>
</title> </title>
<attributeUseRestriction>
<field>true</field>
<condition>true</condition>
<group>true</group>
<order>true</order>
</attributeUseRestriction>
</field> </field>
<field xsi:type="DataSetFieldField"> <field xsi:type="DataSetFieldField">
<dataPath>Тема</dataPath> <dataPath>Тема</dataPath>
@@ -33,10 +39,22 @@
<field xsi:type="DataSetFieldField"> <field xsi:type="DataSetFieldField">
<dataPath>ОтправительКонтакт</dataPath> <dataPath>ОтправительКонтакт</dataPath>
<field>ОтправительКонтакт</field> <field>ОтправительКонтакт</field>
<attributeUseRestriction>
<field>true</field>
<condition>true</condition>
<group>true</group>
<order>true</order>
</attributeUseRestriction>
</field> </field>
<field xsi:type="DataSetFieldField"> <field xsi:type="DataSetFieldField">
<dataPath>Предмет</dataPath> <dataPath>Предмет</dataPath>
<field>Предмет</field> <field>Предмет</field>
<attributeUseRestriction>
<field>true</field>
<condition>true</condition>
<group>true</group>
<order>true</order>
</attributeUseRestriction>
</field> </field>
<field xsi:type="DataSetFieldField"> <field xsi:type="DataSetFieldField">
<dataPath>ТипПисьма</dataPath> <dataPath>ТипПисьма</dataPath>
@@ -2001,6 +2001,8 @@
ПараметрыДоставки.Вставить("ДобавлятьСсылки", ""); ПараметрыДоставки.Вставить("ДобавлятьСсылки", "");
РезультатВыполнения = ПроверитьСпособДоставки(Объект.Ссылка, ПараметрыДоставки); РезультатВыполнения = ПроверитьСпособДоставки(Объект.Ссылка, ПараметрыДоставки);
ПараметрыВопроса = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю();
ПараметрыВопроса.ПредлагатьБольшеНеЗадаватьЭтотВопрос = Ложь;
СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(Неопределено, СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(Неопределено,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1 СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = '%1
|%2'"), РезультатВыполнения.Текст, РезультатВыполнения.Подробно), РежимДиалогаВопрос.ОК); |%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> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ОблачныйПарольПодтвержден</name>
<id>23</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>Подписать</name> <name>Подписать</name>
<title> <title>
@@ -282,7 +282,8 @@
Если БезПодтверждения Если БезПодтверждения
И ( ДополнительныеПараметры.ПарольУказан И ( ДополнительныеПараметры.ПарольУказан
Или ДополнительныеПараметры.УсиленнаяЗащитаЗакрытогоКлюча) Тогда Или ДополнительныеПараметры.УсиленнаяЗащитаЗакрытогоКлюча
Или ОблачныйПарольПодтвержден) Тогда
ОбработкаПослеПредупреждения = Неопределено; ОбработкаПослеПредупреждения = Неопределено;
ПодписатьДанные(Новый ОписаниеОповещения("ПродолжитьОткрытиеПослеПодписанияДанных", ЭтотОбъект, Контекст)); ПодписатьДанные(Новый ОписаниеОповещения("ПродолжитьОткрытиеПослеПодписанияДанных", ЭтотОбъект, Контекст));
@@ -541,17 +541,15 @@
&НаКлиенте &НаКлиенте
Процедура ПроверитьНаСторонеКлиентаПослеПоискаСертификатаВМоделиСервиса(Результат, Контекст) Экспорт Процедура ПроверитьНаСторонеКлиентаПослеПоискаСертификатаВМоделиСервиса(Результат, Контекст) Экспорт
Если ТипЗнч(Результат) = Тип("Структура") И Не Результат.Выполнено Тогда
ОписаниеОшибки = КраткоеПредставлениеОшибки(Результат.ИнформацияОбОшибке) + Символы.ПС + Символы.ПС
+ НСтр("ru = 'Проверка подписания, созданной подписи и расшифровки не могут быть выполнены.'");
ИначеЕсли ТипЗнч(Результат) <> Тип("Структура") Тогда
ОписаниеОшибки = Результат.ОписаниеОшибки.Описание + Символы.ПС + Символы.ПС
+ НСтр("ru = 'Проверка подписания, созданной подписи и расшифровки не могут быть выполнены.'");
ИначеЕсли Результат.Сертификат = Неопределено Тогда
ОписаниеОшибки = НСтр("ru = 'Сертификат не найден в хранилище сертификатов.'") + Символы.ПС
+ НСтр("ru = 'Проверка подписания, созданной подписи и расшифровки не могут быть выполнены.'");
Иначе
ОписаниеОшибки = ""; ОписаниеОшибки = "";
Если Не Результат.Выполнено Тогда
ОписаниеОшибки = Результат.ОписаниеОшибки.Описание;
ИначеЕсли Не ЗначениеЗаполнено(Результат.Сертификат) Тогда
ОписаниеОшибки = НСтр("ru = 'Сертификат отсутствует в облачном сервисе (возможно удален).'");
КонецЕсли;
Если Не ПустаяСтрока(ОписаниеОшибки) Тогда
ОписаниеОшибки = ОписаниеОшибки + Символы.ПС
+ НСтр("ru = 'Проверка подписания, созданной подписи и расшифровки не могут быть выполнены.'");
КонецЕсли; КонецЕсли;
УстановитьЭлемент(ЭтотОбъект, "НаличиеСертификата", Ложь, ОписаниеОшибки); УстановитьЭлемент(ЭтотОбъект, "НаличиеСертификата", Ложь, ОписаниеОшибки);
@@ -939,6 +939,19 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>ОблачныйПарольПодтвержден</name>
<id>24</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>Расшифровать</name> <name>Расшифровать</name>
<title> <title>
@@ -319,7 +319,8 @@
Если БезПодтверждения Если БезПодтверждения
И ( ДополнительныеПараметры.ПарольУказан И ( ДополнительныеПараметры.ПарольУказан
Или ДополнительныеПараметры.УсиленнаяЗащитаЗакрытогоКлюча) Тогда Или ДополнительныеПараметры.УсиленнаяЗащитаЗакрытогоКлюча
Или ОблачныйПарольПодтвержден) Тогда
ОбработкаПослеПредупреждения = Неопределено; ОбработкаПослеПредупреждения = Неопределено;
РасшифроватьДанные(Новый ОписаниеОповещения("ПродолжитьОткрытиеПослеРасшифровкиДанных", ЭтотОбъект, Контекст)); РасшифроватьДанные(Новый ОписаниеОповещения("ПродолжитьОткрытиеПослеРасшифровкиДанных", ЭтотОбъект, Контекст));
@@ -1464,6 +1464,7 @@
<segments>Реквизиты</segments> <segments>Реквизиты</segments>
</dataPath> </dataPath>
<titleLocation>None</titleLocation> <titleLocation>None</titleLocation>
<excludedCommands>Change</excludedCommands>
<excludedCommands>Copy</excludedCommands> <excludedCommands>Copy</excludedCommands>
<excludedCommands>EndEdit</excludedCommands> <excludedCommands>EndEdit</excludedCommands>
<excludedCommands>MoveDown</excludedCommands> <excludedCommands>MoveDown</excludedCommands>
@@ -1878,7 +1879,7 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<commandName>Form.Item.Реквизиты.StandardCommand.Change</commandName> <commandName>Form.Command.ИзменитьРеквизит</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -3987,6 +3988,32 @@
<currentRowUse>DontUse</currentRowUse> <currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </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> <parameters>
<name>ВидСообщения</name> <name>ВидСообщения</name>
<valueType> <valueType>
@@ -436,9 +436,11 @@
Если ТекущиеДанные.ПроизвольныйПараметр Тогда Если ТекущиеДанные.ПроизвольныйПараметр Тогда
Элементы.РеквизитыКонтекстноеМенюУдалить.Доступность = Истина; Элементы.РеквизитыКонтекстноеМенюУдалить.Доступность = Истина;
Элементы.Удалить.Доступность = Истина; Элементы.Удалить.Доступность = Истина;
Элементы.РеквизитыКонтекстноеМенюИзменить.Доступность = Истина;
Иначе Иначе
Элементы.РеквизитыКонтекстноеМенюУдалить.Доступность = Ложь; Элементы.РеквизитыКонтекстноеМенюУдалить.Доступность = Ложь;
Элементы.Удалить.Доступность = Ложь; Элементы.Удалить.Доступность = Ложь;
Элементы.РеквизитыКонтекстноеМенюИзменить.Доступность = Ложь;
КонецЕсли; КонецЕсли;
Если ТекущиеДанные.ПолучитьЭлементы().Количество() > 0 Тогда Если ТекущиеДанные.ПолучитьЭлементы().Количество() > 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";
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПриОткрытии(Отказ) Процедура ПриОткрытии(Отказ)
ОбновитьМенюВариантовПоиска();
УправлениеСтраницами(); УправлениеСтраницами();
КонецПроцедуры КонецПроцедуры
@@ -94,7 +102,7 @@
Если НЕ ПустаяСтрока(ТекущиеДанные.СписокАдресов) Тогда Если НЕ ПустаяСтрока(ТекущиеДанные.СписокАдресов) Тогда
Элементы.Адрес.СписокВыбора.ЗагрузитьЗначения( Элементы.Адрес.СписокВыбора.ЗагрузитьЗначения(
СтрРазделить(ТекущиеДанные.СписокАдресов,";")); СтрРазделить(ТекущиеДанные.СписокАдресов, ";"));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@@ -233,17 +241,19 @@
// Инициирует процесс поиска контактов. // Инициирует процесс поиска контактов.
// //
&НаКлиенте &НаКлиенте
Процедура КомандаНайтиВыполнить() Процедура НайтиКонтактыВыполнить()
Если ПустаяСтрока(СтрокаПоиска) Тогда Если ПустаяСтрока(СтрокаПоиска) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Не задана строка поиска.'"),,"СтрокаПоиска"); ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Не задано, что нужно найти.'"),, "СтрокаПоиска");
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Результат = ""; Результат = "";
НайденныеКонтакты.Очистить(); НайденныеКонтакты.Очистить();
Если ВариантыПоиска = "ПоEmail" Тогда Если ВариантыПоиска = "Везде" Тогда
Результат = НайтиКонтакты();
ИначеЕсли ВариантыПоиска = "ПоEmail" Тогда
НайтиПоEmail(Ложь); НайтиПоEmail(Ложь);
ИначеЕсли ВариантыПоиска = "ПоДомену" Тогда ИначеЕсли ВариантыПоиска = "ПоДомену" Тогда
НайтиПоEmail(Истина); НайтиПоEmail(Истина);
@@ -254,9 +264,7 @@
КонецЕсли; КонецЕсли;
Если Не ПустаяСтрока(Результат) Тогда Если Не ПустаяСтрока(Результат) Тогда
ПоказатьПредупреждение(, Результат);
ПоказатьПредупреждение(,Результат);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -307,7 +315,6 @@
Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов; Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов;
НайденныеКонтакты.Очистить(); НайденныеКонтакты.Очистить();
ВариантыПоиска = "ПоEmail";
ТекущиеДанные = Элементы.ПолучателиПисьма.ТекущиеДанные; ТекущиеДанные = Элементы.ПолучателиПисьма.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда Если ТекущиеДанные = Неопределено Тогда
@@ -328,7 +335,6 @@
Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов; Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов;
НайденныеКонтакты.Очистить(); НайденныеКонтакты.Очистить();
ВариантыПоиска = "ПоСтроке";
ТекущиеДанные = Элементы.ПолучателиПисьма.ТекущиеДанные; ТекущиеДанные = Элементы.ПолучателиПисьма.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда Если ТекущиеДанные = Неопределено Тогда
@@ -462,6 +468,48 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ВариантПоискаВезде(Команда)
ВариантыПоиска = "Везде";
ОбновитьМенюВариантовПоиска();
КонецПроцедуры
&НаКлиенте
Процедура ВариантПоискаВАдресах(Команда)
ВариантыПоиска = "ПоEmail";
ОбновитьМенюВариантовПоиска();
КонецПроцедуры
&НаКлиенте
Процедура ВариантПоискаВНаименованияхКонтактов(Команда)
ВариантыПоиска = "ПоСтроке";
ОбновитьМенюВариантовПоиска();
КонецПроцедуры
&НаКлиенте
Процедура ВариантПоискаПоДоменномуИмени(Команда)
ВариантыПоиска = "ПоДомену";
ОбновитьМенюВариантовПоиска();
КонецПроцедуры
&НаКлиенте
Процедура Просмотр(Команда)
Если Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПользователей Тогда
ТекущиеДанные = Элементы.СписокПользователей.ТекущиеДанные;
ИначеЕсли ТипЗнч(ТекущийЭлемент) = Тип("ТаблицаФормы") Тогда
ТекущиеДанные = ТекущийЭлемент.ТекущиеДанные;
Иначе
Возврат;
КонецЕсли;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ПоказатьЗначение(, ТекущиеДанные.Ссылка);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -469,30 +517,31 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции осуществления поиска. // Процедуры и функции осуществления поиска.
// Осуществляет поиск контактов по доменному имени или по адресу электронной почты.
//
&НаСервере &НаСервере
Процедура НайтиПоEmail(ПоДомену) Функция НайтиКонтакты()
Взаимодействия.НайтиПоEmail(СтрокаПоиска, ПоДомену ,ЭтотОбъект); Возврат Взаимодействия.НайтиКонтакты(СтрокаПоиска, ЭтотОбъект);
КонецФункции
&НаСервере
Процедура НайтиПоEmail(ПоДомену)
Взаимодействия.НайтиПоEmail(СтрокаПоиска, ПоДомену, ЭтотОбъект);
КонецПроцедуры КонецПроцедуры
// Осуществляет поиск контактов по строке.
//
&НаСервере &НаСервере
Функция КонтактыНайденныеПоСтроке() Функция КонтактыНайденныеПоСтроке()
Возврат Взаимодействия.ОсуществитьПоискКонтактовПоСтроке(ЭтотОбъект, Истина); Возврат Взаимодействия.ПолнотекстовыйПоискКонтактовПоСтроке(СтрокаПоиска, ЭтотОбъект, Истина);
КонецФункции КонецФункции
// Осуществляет поиск контактов по началу наименования.
//
&НаСервере &НаСервере
Процедура НайтиПоНачалуНаименования() Процедура НайтиПоНачалуНаименования()
Взаимодействия.ВсеКонтактыПоНачалуНаименованияСАдресамиЭлектроннойПочты(СтрокаПоиска, ЭтотОбъект); Взаимодействия.НайтиКонтактыСАдресамиПоНаименованию(СтрокаПоиска, ЭтотОбъект);
КонецПроцедуры КонецПроцедуры
@@ -572,7 +621,14 @@
// Контакт - СправочникСсылка - контакт получатель. // Контакт - СправочникСсылка - контакт получатель.
// //
&НаКлиенте &НаКлиенте
Процедура ДобавитьПолучателя(Адрес, Наименование, Контакт,СписокАдресов = "") Процедура ДобавитьПолучателя(Адрес, Наименование, Контакт, СписокАдресов = "")
Для Индекс = 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).ВысотаСтроки = 5;
Образец.Область(1, 1).ШиринаКолонки = 1; Образец.Область(1, 1).ШиринаКолонки = 1;
Образец.Область(2, 2, 4, 4).ЦветРамки = Новый Цвет(128, 128, 128); ЦветОбразца = Метаданные.ЭлементыСтиля.ОбразецНастройкиКолонтитуловЦвет.Значение;
Образец.Область(2, 2, 4, 4).ЦветРамки = ЦветОбразца;
Образец.Область(2, 2, 4, 4).РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Забивать; Образец.Область(2, 2, 4, 4).РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Забивать;
Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1); Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);
@@ -332,7 +334,6 @@
Образец.Область(4, 3).Обвести(, Линия, , Линия); Образец.Область(4, 3).Обвести(, Линия, , Линия);
Образец.Область(4, 4).Обвести(, Линия, Линия, Линия); Образец.Область(4, 4).Обвести(, Линия, Линия, Линия);
Образец.Область(2, 2).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Лево; Образец.Область(2, 2).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Лево;
Образец.Область(2, 3).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр; Образец.Область(2, 3).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
Образец.Область(2, 4).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право; Образец.Область(2, 4).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
@@ -347,7 +348,7 @@
Образец.Область(3, 2).Текст = Символы.ПС + НСтр("ru = 'Образец отчета'") + Символы.ПС + " "; Образец.Область(3, 2).Текст = Символы.ПС + НСтр("ru = 'Образец отчета'") + Символы.ПС + " ";
Образец.Область(3, 2).Шрифт = Новый Шрифт("Arial", 20); Образец.Область(3, 2).Шрифт = Новый Шрифт("Arial", 20);
Образец.Область(3, 2).ЦветТекста = Новый Цвет(128, 128, 128); Образец.Область(3, 2).ЦветТекста = ЦветОбразца;
Образец.Область(3, 2).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр; Образец.Область(3, 2).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
@@ -1315,22 +1315,7 @@
КонецЦикла; КонецЦикла;
КонецЦикла; КонецЦикла;
ОписаниеТиповИдентификатора = Новый ОписаниеТипов; ДеревоРаспределения = ДеревоРаспределения();
ОписаниеТиповИдентификатора.Типы().Добавить("СправочникСсылка.ИдентификаторыОбъектовМетаданных");
ОписаниеТиповИдентификатора.Типы().Добавить("СправочникСсылка.ИдентификаторыОбъектовРасширений");
// Моделирование распределения вариантов с учетом вложенности подсистем.
ДеревоРаспределения = Новый ДеревоЗначений;
ДеревоРаспределения.Колонки.Добавить("Подсистема");
ДеревоРаспределения.Колонки.Добавить("ПодсистемаСсылка", ОписаниеТиповИдентификатора);
ДеревоРаспределения.Колонки.Добавить("Варианты", Новый ОписаниеТипов("Массив"));
ДеревоРаспределения.Колонки.Добавить("КоличествоВариантов", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("КоличествоПустыхСтрок", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхВариантов", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхПодсистем", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхПустыхСтрок", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("УровеньВложенности", Новый ОписаниеТипов("Число"));
ДеревоРаспределения.Колонки.Добавить("ВерхнийУровень", Новый ОписаниеТипов("Булево"));
МаксимальныйУровеньВложенности = 0; МаксимальныйУровеньВложенности = 0;
@@ -1398,19 +1383,7 @@
// Количество вариантов для вывода в одной колонке. // Количество вариантов для вывода в одной колонке.
ГруппаУровня3Отсечка = Макс(Цел(КоличествоСтрок / КоличествоКолонок), 2); ГруппаУровня3Отсечка = Макс(Цел(КоличествоСтрок / КоличествоКолонок), 2);
ПорядокВывода = Новый ТаблицаЗначений; ПорядокВывода = ПорядокВывода();
ПорядокВывода.Колонки.Добавить("НомерКолонки", Новый ОписаниеТипов("Число"));
ПорядокВывода.Колонки.Добавить("ЭтоПодсистема", Новый ОписаниеТипов("Булево"));
ПорядокВывода.Колонки.Добавить("ЭтоПродолжение", Новый ОписаниеТипов("Булево"));
ПорядокВывода.Колонки.Добавить("ЭтоВариант", Новый ОписаниеТипов("Булево"));
ПорядокВывода.Колонки.Добавить("ЭтоПустаяСтрока", Новый ОписаниеТипов("Булево"));
ПорядокВывода.Колонки.Добавить("СтрокаДерева");
ПорядокВывода.Колонки.Добавить("Подсистема");
ПорядокВывода.Колонки.Добавить("ПодсистемаСсылка", ОписаниеТиповИдентификатора);
ПорядокВывода.Колонки.Добавить("ПодсистемаПриоритет", Новый ОписаниеТипов("Строка"));
ПорядокВывода.Колонки.Добавить("Вариант");
ПорядокВывода.Колонки.Добавить("ВариантСсылка");
ПорядокВывода.Колонки.Добавить("УровеньВложенности", Новый ОписаниеТипов("Число"));
Рекурсия = Новый Структура; Рекурсия = Новый Структура;
Рекурсия.Вставить("ВсегоОсталосьВывести", КоличествоСтрок); Рекурсия.Вставить("ВсегоОсталосьВывести", КоличествоСтрок);
@@ -1482,6 +1455,99 @@
КонецПроцедуры КонецПроцедуры
// Конструктор коллекции, для моделирования распределения вариантов отчетов с учетом вложенности подсистем.
//
// Возвращаемое значение:
// ДеревоЗначений - коллекция, для моделирования распределения вариантов отчетов с учетом вложенности подсистем, где:
// * Подсистема - СтрокаТаблицыЗначений - описание подсистемы.
// * ПодсистемаСсылка - СправочникСсылка.ИдентификаторыОбъектовМетаданных,
// СправочникСсылка.ИдентификаторыОбъектовРасширений - ссылка на идентификатор подсистемы.
// * Варианты - Массив - коллекция вариантов отчета, где:
// ** Элемент - СтрокаТаблицыЗначений - описание варианта отчета, где:
// *** КоличествоПодчиненных - Число - счетчик подчиненных элементов.
// * КоличествоВариантов- Число - счетчик вариантов отчетов.
// * КоличествоПустыхСтрок - Число - дополнительный счетчик.
// * ВсегоВложенныхВариантов- Число - счетчик дочерних вариантов отчетов.
// * ВсегоВложенныхПодсистем- Число - счетчик дочерних подсистем.
// * ВсегоВложенныхПустыхСтрок- Число - дополнительный счетчик.
// * УровеньВложенности- Число - номер уровня в иерархии.
// * ВерхнийУровень- Булево - признак того, что запись верхнего уровня.
//
&НаСервере
Функция ДеревоРаспределения()
ОписаниеПризнака = Новый ОписаниеТипов("Булево");
ОписаниеЧисла = Новый ОписаниеТипов("Число");
ОписаниеМассива = Новый ОписаниеТипов("Массив");
ОписаниеИдентификатора = Новый ОписаниеТипов(
"СправочникСсылка.ИдентификаторыОбъектовМетаданных, СправочникСсылка.ИдентификаторыОбъектовРасширений");
ДеревоРаспределения = Новый ДеревоЗначений;
ДеревоРаспределения.Колонки.Добавить("Подсистема");
ДеревоРаспределения.Колонки.Добавить("ПодсистемаСсылка", ОписаниеИдентификатора);
ДеревоРаспределения.Колонки.Добавить("Варианты", ОписаниеМассива);
ДеревоРаспределения.Колонки.Добавить("КоличествоВариантов", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("КоличествоПустыхСтрок", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхВариантов", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхПодсистем", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхПустыхСтрок", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("УровеньВложенности", ОписаниеЧисла);
ДеревоРаспределения.Колонки.Добавить("ВерхнийУровень", ОписаниеПризнака);
Возврат ДеревоРаспределения;
КонецФункции
// Конструктор коллекции, хранящей сведения о порядке вывода отчетов на панель.
//
// Возвращаемое значение:
// ТаблицаЗначений - коллекция, хранящая сведения о порядке вывода отчетов на панель, где:
// * НомерКолонки- Число - номер колонки, в которую выводится отчет.
// * ЭтоПодсистема - Булево - признак подсистемы.
// * ЭтоПродолжение - Булево - дополнительный признак.
// * ЭтоВариант - Булево -признак варианта отчета.
// * ЭтоПустаяСтрока - Булево - признак не заполненной строки.
// * СтрокаДерева - СтрокаДереваЗначений - см. ...
// * Подсистема - СтрокаТаблицыЗначений - описание подсистемы.
// * ПодсистемаСсылка - СправочникСсылка.ИдентификаторыОбъектовМетаданных,
// СправочникСсылка.ИдентификаторыОбъектовРасширений - ссылка на идентификатор подсистемы.
// * ПодсистемаПриоритет - Число - приоритет подсистемы.
// * Вариант - СтрокаТаблицыЗначений - описание варианта отчета, где:
// ** КоличествоПодчиненных - Число - счетчик подчиненных элементов.
// * ВариантСсылка - СправочникСсылка.ВариантыОтчетов - ссылка на вариант отчета.
// * УровеньВложенности - Число - номер уровня в иерархии.
//
&НаСервере
Функция ПорядокВывода()
ОписаниеПризнака = Новый ОписаниеТипов("Булево");
ОписаниеЧисла = Новый ОписаниеТипов("Число");
ОписаниеСтроки = Новый ОписаниеТипов("Строка");
ОписаниеИдентификатора = Новый ОписаниеТипов(
"СправочникСсылка.ИдентификаторыОбъектовМетаданных, СправочникСсылка.ИдентификаторыОбъектовРасширений");
ПорядокВывода = Новый ТаблицаЗначений;
ПорядокВывода.Колонки.Добавить("НомерКолонки", ОписаниеЧисла);
ПорядокВывода.Колонки.Добавить("ЭтоПодсистема", ОписаниеПризнака);
ПорядокВывода.Колонки.Добавить("ЭтоПродолжение", ОписаниеПризнака);
ПорядокВывода.Колонки.Добавить("ЭтоВариант", ОписаниеПризнака);
ПорядокВывода.Колонки.Добавить("ЭтоПустаяСтрока", ОписаниеПризнака);
ПорядокВывода.Колонки.Добавить("СтрокаДерева");
ПорядокВывода.Колонки.Добавить("Подсистема");
ПорядокВывода.Колонки.Добавить("ПодсистемаСсылка", ОписаниеИдентификатора);
ПорядокВывода.Колонки.Добавить("ПодсистемаПриоритет", ОписаниеСтроки);
ПорядокВывода.Колонки.Добавить("Вариант");
ПорядокВывода.Колонки.Добавить("ВариантСсылка");
ПорядокВывода.Колонки.Добавить("УровеньВложенности", ОписаниеЧисла);
Возврат ПорядокВывода;
КонецФункции
&НаСервере &НаСервере
Процедура ЗаполнитьПорядокВывода(ПорядокВывода, СтрокаРодителя, СтрокаДерева, Рекурсия, ПараметрыЗаполнения) Процедура ЗаполнитьПорядокВывода(ПорядокВывода, СтрокаРодителя, СтрокаДерева, Рекурсия, ПараметрыЗаполнения)
@@ -1222,33 +1222,6 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаОбменНастройкамиЕще</name> <name>ГруппаОбменНастройкамиЕще</name>
<id>820</id> <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"> <items xsi:type="form:Button">
<name>ОбновитьВариантОтчетаИзФайла</name> <name>ОбновитьВариантОтчетаИзФайла</name>
<id>824</id> <id>824</id>
@@ -1276,6 +1249,33 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </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> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <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. Установить пометку удаления вариантов удаленных отчетов. // 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'"), Адрес); ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоEmail", НСтр("ru = 'По email'"), Адрес);
ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоДомену", НСтр("ru = 'По доменному имени'"), ДоменныйАдрес); ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоДомену", НСтр("ru = 'По доменному имени'"), ДоменныйАдрес);
Если Не ДляАдреснойКниги Если Не ДляАдреснойКниги И (Параметры.Свойство("ТолькоEmail") И Не Параметры.ТолькоEmail) Тогда
И (Параметры.Свойство("ТолькоEmail")
И Не Параметры.ТолькоEmail) Тогда
ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоТелефону", НСтр("ru = 'По телефону'"), Адрес); ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоТелефону", НСтр("ru = 'По телефону'"), Адрес);
КонецЕсли; КонецЕсли;
@@ -1169,7 +1158,7 @@
// ТаблицаКонтакты - ТаблицаЗначений - таблица значений источник. // ТаблицаКонтакты - ТаблицаЗначений - таблица значений источник.
// НайденныеКонтакты - ТаблицаЗначений - таблица значений приемник. // НайденныеКонтакты - ТаблицаЗначений - таблица значений приемник.
// //
Процедура ЗаполнитьНайденныеКонтакты(ТаблицаКонтакты,НайденныеКонтакты) Экспорт Процедура ЗаполнитьНайденныеКонтакты(ТаблицаКонтакты, НайденныеКонтакты) Экспорт
Для Каждого Стр Из ТаблицаКонтакты Цикл Для Каждого Стр Из ТаблицаКонтакты Цикл
НоваяСтрока = НайденныеКонтакты.Добавить(); НоваяСтрока = НайденныеКонтакты.Добавить();
@@ -1186,17 +1175,14 @@
// Возвращаемое значение: // Возвращаемое значение:
// Массив - массив содержащий метаданные возможных типов контактов. // Массив - массив содержащий метаданные возможных типов контактов.
// //
Функция МассивМетаданныхКонтакты() Функция МетаданныеКонтактов()
МассивОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
МассивМетаданных = Новый Массив;
Для каждого ЭлементМассиваОписания Из МассивОписанияКонтактов Цикл
МассивМетаданных.Добавить(Метаданные.Справочники[ЭлементМассиваОписания.Имя]);
ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
Результат = Новый Массив;
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Результат.Добавить(Метаданные.Справочники[ОписаниеКонтакта.Имя]);
КонецЦикла; КонецЦикла;
Возврат Результат;
Возврат МассивМетаданных;
КонецФункции КонецФункции
@@ -1368,7 +1354,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// Строка - дополнение запроса. // Строка - дополнение запроса.
// //
Функция СтрокаСоединенияДляЗапросаИнформацииОКонтактах(ВключатьEmail,ИмяСправочника) Функция СтрокаСоединенияДляЗапросаИнформацииОКонтактах(ВключатьEmail, ИмяСправочника)
Если (Не ВключатьEmail) ИЛИ (НЕ НаличиеТабличнойЧастиУСправочника(ИмяСправочника,"КонтактнаяИнформация")) Тогда Если (Не ВключатьEmail) ИЛИ (НЕ НаличиеТабличнойЧастиУСправочника(ИмяСправочника,"КонтактнаяИнформация")) Тогда
@@ -1396,7 +1382,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// Строка - строка, дополняющая запрос. // Строка - строка, дополняющая запрос.
// //
Функция ПолучитьСтрокуПроАдресДляЗапросаИнформацииОКонтактах(ВключатьEmail,ИмяСправочника,ИменоватьПоле = Ложь) Функция ПолучитьСтрокуПроАдресДляЗапросаИнформацииОКонтактах(ВключатьEmail, ИмяСправочника, ИменоватьПоле = Ложь)
Если Не ВключатьEmail Тогда Если Не ВключатьEmail Тогда
@@ -1561,7 +1547,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// Булево - Истина, если найден хотя бы один контакт. // Булево - Истина, если найден хотя бы один контакт.
// //
Функция ПолучитьВсеКонтактыПоТелефону(Телефон,Форма) Экспорт Функция ПолучитьВсеКонтактыПоТелефону(Телефон, Форма) Экспорт
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов(); МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
@@ -1634,7 +1620,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// ТаблицаЗначений - Результат выполненного запроса выгруженный в таблицу значений. // ТаблицаЗначений - Результат выполненного запроса выгруженный в таблицу значений.
// //
Функция ВсеКонтактыПоНачалуНаименования(Наименование) Экспорт Функция ВсеКонтактыПоНачалуНаименования(СтрокаПоиска) Экспорт
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов(); МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
@@ -1682,13 +1668,12 @@
Запрос = Новый Запрос; Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса; Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Наименование", Наименование + "%"); Запрос.УстановитьПараметр("Наименование", СтрокаПоиска + "%");
Возврат Запрос.Выполнить().Выгрузить(); Возврат Запрос.Выполнить().Выгрузить();
КонецФункции КонецФункции
// Формирует текст запроса для поиска контактов по началу наименования с адресами электронной почты // Поиск по наименованию контактов, содержащих адреса электронной почты.
// и выполняет его.
// //
// Параметры: // Параметры:
// Наименование - Строка - строка, содержащая начало наименования контакта. // Наименование - Строка - строка, содержащая начало наименования контакта.
@@ -1697,72 +1682,84 @@
// Возвращаемое значение: // Возвращаемое значение:
// Булево - Истина, если найден хотя бы один контакт. // Булево - Истина, если найден хотя бы один контакт.
// //
Функция ВсеКонтактыПоНачалуНаименованияСАдресамиЭлектроннойПочты(Наименование,Форма) Экспорт Функция НайтиКонтактыСАдресамиПоНаименованию(СтрокаПоиска, Форма) Экспорт
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ТекстЗапроса =
" ВЫБРАТЬ
| СправочникКонтакт.Ссылка КАК Контакт,
| СправочникКонтакт.Наименование КАК Наименование,
| """" КАК НаименованиеВладельца,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Представление
|ИЗ
| Справочник.Пользователи КАК СправочникКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| СправочникКонтакт.Наименование ПОДОБНО &Наименование
| И (НЕ СправочникКонтакт.ПометкаУдаления)";
Для каждого ЭлементМассиваОписания Из МассивОписанияТиповКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда
Продолжить;
Иначе
ТекстЗапроса =ТекстЗапроса + "
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаСправочника.Ссылка,
| ТаблицаСправочника." + ЭлементМассиваОписания.ИмяРеквизитаПредставлениеКонтакта + " КАК Наименование,
| " + ?(ЭлементМассиваОписания.ЕстьВладелец," ТаблицаСправочника.Владелец.Наименование","""""") + ",
| ТаблицаКонтактнаяИнформация.АдресЭП
|ИЗ
| Справочник." +ЭлементМассиваОписания.Имя +" КАК ТаблицаСправочника
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ЭлементМассиваОписания.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаСправочника.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| ТаблицаСправочника.Наименование ПОДОБНО &Наименование "+?(ЭлементМассиваОписания.Иерархический," И (НЕ ТаблицаСправочника.ЭтоГруппа)","")+"
| И (НЕ ТаблицаСправочника.ПометкаУдаления)";
КонецЕсли;
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + "
|
|УПОРЯДОЧИТЬ ПО
| Наименование";
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("Наименование", Наименование + "%");
ТаблицаКонтакты = Запрос.Выполнить().Выгрузить();
ТаблицаКонтакты = НайтиКонтактыСАдресами(СтрокаПоиска);
Если ТаблицаКонтакты = Неопределено ИЛИ ТаблицаКонтакты.Количество() = 0 Тогда Если ТаблицаКонтакты = Неопределено ИЛИ ТаблицаКонтакты.Количество() = 0 Тогда
Возврат Ложь; Возврат Ложь;
КонецЕсли; КонецЕсли;
ЗаполнитьНайденныеКонтакты(ТаблицаКонтакты,Форма.НайденныеКонтакты); ЗаполнитьНайденныеКонтакты(ТаблицаКонтакты, Форма.НайденныеКонтакты);
Возврат Истина; Возврат Истина;
КонецФункции КонецФункции
Функция НайтиКонтактыСАдресами(СтрокаПоиска) Экспорт
ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ ПЕРВЫЕ 20
| СправочникКонтакт.Ссылка КАК Контакт,
| ПРЕДСТАВЛЕНИЕ(СправочникКонтакт.Ссылка) КАК Наименование,
| """" КАК НаименованиеВладельца,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Представление
|ИЗ
| Справочник.Пользователи КАК СправочникКонтакт
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
| И (ТаблицаКонтактнаяИнформация.АдресЭП <> """")
|ГДЕ
| НЕ СправочникКонтакт.ПометкаУдаления
| И (СправочникКонтакт.Наименование ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.АдресЭП ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.ДоменноеИмяСервера ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.Представление ПОДОБНО &ВведеннаяСтрока)";
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ОписаниеКонтакта.Имя = "Пользователи" Тогда
Продолжить;
КонецЕсли;
УсловиеПолейВводаПоСтроке = "";
МетаданныеОбъекта = Метаданные.НайтиПоТипу(ОписаниеКонтакта.Тип);
СписокПолей = МетаданныеОбъекта.ВводПоСтроке;
Для Каждого Поле Из СписокПолей Цикл
Если МетаданныеОбъекта.СтандартныеРеквизиты[Поле.Имя].Тип.Типы()[0] = Тип("Строка") Тогда
УсловиеПолейВводаПоСтроке = УсловиеПолейВводаПоСтроке + " ИЛИ СправочникКонтакт." + Поле.Имя + " ПОДОБНО &ВведеннаяСтрока";
КонецЕсли;
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + "
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ ПЕРВЫЕ 20
| СправочникКонтакт.Ссылка КАК Контакт,
| СправочникКонтакт." + ОписаниеКонтакта.ИмяРеквизитаПредставлениеКонтакта + " КАК Наименование,
| " + ?(ОписаниеКонтакта.ЕстьВладелец, "ПРЕДСТАВЛЕНИЕ(СправочникКонтакт.Владелец)", """""") + " КАК НаименованиеВладельца,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Представление
|ИЗ
| Справочник." + ОписаниеКонтакта.Имя + " КАК СправочникКонтакт
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник." + ОписаниеКонтакта.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты) И (ТаблицаКонтактнаяИнформация.АдресЭП <> """"))
|ГДЕ
| НЕ СправочникКонтакт.ПометкаУдаления И (ТаблицаКонтактнаяИнформация.АдресЭП ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.ДоменноеИмяСервера ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.Представление ПОДОБНО &ВведеннаяСтрока
|" + УсловиеПолейВводаПоСтроке + ")
|";
КонецЦикла;
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ВведеннаяСтрока", "%" + СтрокаПоиска + "%");
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
// Формирует шаблон условия для запроса, на соответствие получаемого поля в запросе типу возможного контакта. // Формирует шаблон условия для запроса, на соответствие получаемого поля в запросе типу возможного контакта.
// //
// Возвращаемое значение: // Возвращаемое значение:
@@ -1789,6 +1786,22 @@
КонецФункции КонецФункции
Функция НайтиКонтакты(СтрокаПоиска, Форма) Экспорт
Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Запретить
ИЛИ Не ПолучитьФункциональнуюОпцию("ИспользоватьПолнотекстовыйПоиск") Тогда
НайтиКонтактыСАдресамиПоНаименованию(СтрокаПоиска, Форма);
Возврат "";
Иначе
Результат = ПолнотекстовыйПоискКонтактовПоСтроке(СтрокаПоиска, Форма, Истина);
Если ПустаяСтрока(Результат) Тогда
НайтиПоEmail(СтрокаПоиска, Ложь, Форма);
КонецЕсли;
Возврат Результат;
КонецЕсли;
КонецФункции
// Осуществляет поиск контактов по Email или по домену 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,81 +3779,143 @@
ОписаниеТипаДинамическийСписок = Новый ОписаниеТипов("ДинамическийСписок"); ОписаниеТипаДинамическийСписок = Новый ОписаниеТипов("ДинамическийСписок");
ДобавляемыеРеквизиты = Новый Массив; ДобавляемыеРеквизиты = Новый Массив;
МассивОписанийВозможныхКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов(); ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
// Создадим динамические списки. // Создадим динамические списки.
Для каждого ЭлементМассиваОписания Из МассивОписанийВозможныхКонтактов Цикл Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда Если ОписаниеКонтакта.Имя = "Пользователи" Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
ДобавляемыеРеквизиты.Добавить( ДобавляемыеРеквизиты.Добавить(
Новый РеквизитФормы("Список_" + ЭлементМассиваОписания.Имя ,ОписаниеТипаДинамическийСписок)); Новый РеквизитФормы("Список_" + ОписаниеКонтакта.Имя, ОписаниеТипаДинамическийСписок));
КонецЦикла; КонецЦикла;
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты); Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
// Установим в динамические списки основные таблицы и обязательное использование реквизита ЭтоГруппа. // Установим в динамические списки основные таблицы и обязательное использование реквизита ЭтоГруппа.
Для каждого ЭлементМассиваОписания Из МассивОписанийВозможныхКонтактов Цикл ЕстьКолонкиАдрес = Новый Соответствие;
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ОписаниеКонтакта.Имя = "Пользователи" Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Форма["Список_" + ЭлементМассиваОписания.Имя].ОсновнаяТаблица = "Справочник." + ЭлементМассиваОписания.Имя; ЕстьКолонкаАдрес = УстановитьТекстЗапросаКонтакта(Форма["Список_" + ОписаниеКонтакта.Имя], ОписаниеКонтакта);
ЕстьКолонкиАдрес[ОписаниеКонтакта.Имя] = ЕстьКолонкаАдрес;
КонецЦикла; КонецЦикла;
Для каждого ЭлементМассиваОписания Из МассивОписанийВозможныхКонтактов Цикл Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда Если ОписаниеКонтакта.Имя = "Пользователи" Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Если НЕ ЭлементМассиваОписания.ЕстьВладелец Тогда Если НЕ ОписаниеКонтакта.ЕстьВладелец Тогда
ЭлементСтраница = Форма.Элементы.Добавить( ЭлементСтраница = Форма.Элементы.Добавить(
"Страница_" + ЭлементМассиваОписания.Имя,Тип("ГруппаФормы"),Форма.Элементы.СтраницыСписки); "Страница_" + ОписаниеКонтакта.Имя,Тип("ГруппаФормы"), Форма.Элементы.СтраницыСписки);
ЭлементСтраница.Вид = ВидГруппыФормы.Страница; ЭлементСтраница.Вид = ВидГруппыФормы.Страница;
ЭлементСтраница.ОтображатьЗаголовок = Истина; ЭлементСтраница.ОтображатьЗаголовок = Истина;
ЭлементСтраница.Заголовок = ЭлементМассиваОписания.Представление; ЭлементСтраница.Заголовок = ОписаниеКонтакта.Представление;
ЭлементСтраница.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; ЭлементСтраница.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная;
КонецЕсли; КонецЕсли;
ЭлементТаблица = Форма.Элементы.Добавить("Таблица_" + ЭлементМассиваОписания.Имя, ЭлементТаблица = Форма.Элементы.Добавить("Таблица_" + ОписаниеКонтакта.Имя, Тип("ТаблицаФормы"),
Тип("ТаблицаФормы"), Форма.Элементы[?(ОписаниеКонтакта.ЕстьВладелец,
Форма.Элементы[?(ЭлементМассиваОписания.ЕстьВладелец, "Страница_" + ОписаниеКонтакта.ИмяВладельца,
"Страница_" + ЭлементМассиваОписания.ИмяВладельца, "Страница_" + ОписаниеКонтакта.Имя)]);
"Страница_" + ЭлементМассиваОписания.Имя)]); ЭлементТаблица.ПутьКДанным = "Список_" + ОписаниеКонтакта.Имя;
ЭлементТаблица.ПутьКДанным = "Список_" + ЭлементМассиваОписания.Имя;
ЭлементТаблица.УстановитьДействие("Выбор", "Подключаемый_СписокСправочникаВыбор"); ЭлементТаблица.УстановитьДействие("Выбор", "Подключаемый_СписокСправочникаВыбор");
ЭлементТаблица.АвтоМаксимальнаяВысота = Ложь; ЭлементТаблица.АвтоМаксимальнаяВысота = Ложь;
ЭлементТаблица.АвтоМаксимальнаяШирина = Ложь; ЭлементТаблица.АвтоМаксимальнаяШирина = Ложь;
Если Форма.ИмяФормы = "ОбщаяФорма.ВыборКонтакта" Тогда Если Форма.ИмяФормы = "ОбщаяФорма.ВыборКонтакта" Тогда
ЭлементТаблица.РежимВыделения = РежимВыделенияТаблицы.Одиночный; ЭлементТаблица.РежимВыделения = РежимВыделенияТаблицы.Одиночный;
ЭлементТаблица.УстановитьДействие("ПриАктивизацииСтроки","Подключаемый_СписокКонтактыПриАктивизацииСтроки"); ЭлементТаблица.УстановитьДействие("ПриАктивизацииСтроки", "Подключаемый_СписокКонтактыПриАктивизацииСтроки");
КонецЕсли; КонецЕсли;
Если ЭлементМассиваОписания.ЕстьВладелец Тогда Если ОписаниеКонтакта.ЕстьВладелец Тогда
Форма.Элементы["Таблица_" + ЭлементМассиваОписания.ИмяВладельца].УстановитьДействие( Форма.Элементы["Таблица_" + ОписаниеКонтакта.ИмяВладельца].УстановитьДействие(
"ПриАктивизацииСтроки","Подключаемый_СписокВладелецПриАктивизацииСтроки"); "ПриАктивизацииСтроки", "Подключаемый_СписокВладелецПриАктивизацииСтроки");
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
Форма["Список_" + ЭлементМассиваОписания.Имя], "Владелец", Неопределено, , , Истина); Форма["Список_" + ОписаниеКонтакта.Имя], "Владелец", Неопределено, , , Истина);
ЭлементТаблица.Высота = 5; ЭлементТаблица.Высота = 5;
Форма.Элементы["Таблица_" + ЭлементМассиваОписания.ИмяВладельца].Высота = 5; Форма.Элементы["Таблица_" + ОписаниеКонтакта.ИмяВладельца].Высота = 5;
Иначе Иначе
ЭлементТаблица.Высота = 10; ЭлементТаблица.Высота = 10;
КонецЕсли; КонецЕсли;
КолонкаСсылка = Форма.Элементы.Добавить( КолонкаСсылка = Форма.Элементы.Добавить(
"Колонка_" + ЭлементМассиваОписания.Имя + "_Ссылка",Тип("ПолеФормы"),ЭлементТаблица); "Колонка_" + ОписаниеКонтакта.Имя + "_Ссылка", Тип("ПолеФормы"), ЭлементТаблица);
КолонкаСсылка.Вид = ВидПоляФормы.ПолеВвода; КолонкаСсылка.Вид = ВидПоляФормы.ПолеВвода;
КолонкаСсылка.ПутьКДанным = "Список_" + ЭлементМассиваОписания.Имя + ".Ссылка"; КолонкаСсылка.ПутьКДанным = "Список_" + ОписаниеКонтакта.Имя + ".Ссылка";
КолонкаСсылка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; МетаданныеКонтакта = Метаданные.НайтиПоТипу(ОписаниеКонтакта.Тип);
КолонкаСсылка.Заголовок = ОбщегоНазначения.ПредставлениеОбъекта(МетаданныеКонтакта);
Если ЕстьКолонкиАдрес[ОписаниеКонтакта.Имя] Тогда
КолонкаАдрес = Форма.Элементы.Добавить(
"Колонка_" + ОписаниеКонтакта.Имя + "_Адрес", Тип("ПолеФормы"), ЭлементТаблица);
КолонкаАдрес.Вид = ВидПоляФормы.ПолеВвода;
КолонкаАдрес.ПутьКДанным = "Список_" + ОписаниеКонтакта.Имя + ".Адрес";
КолонкаАдрес.Заголовок = НСтр("ru = 'Адрес'");
КонецЕсли;
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
Функция УстановитьТекстЗапросаКонтакта(Список, ОписаниеКонтакта)
МетаданныеКонтакта = Метаданные.НайтиПоТипу(ОписаниеКонтакта.Тип);
ЕстьВидДляСписка = МетаданныеКонтакта.ТабличныеЧасти.КонтактнаяИнформация.Реквизиты.Найти("ВидДляСписка") <> Неопределено;
Если ЕстьВидДляСписка Тогда
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СправочникКонтакт.Ссылка,
| СправочникКонтакт.ПометкаУдаления,
| СправочникКонтакт.Предопределенный,
| ПРЕДСТАВЛЕНИЕ(СправочникКонтакт.Ссылка) КАК Наименование,
| СправочникКонтактнаяИнформация.Представление КАК Адрес
|ИЗ
| #Таблица КАК СправочникКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ #Таблица.КонтактнаяИнформация КАК СправочникКонтактнаяИнформация
| ПО (СправочникКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (СправочникКонтактнаяИнформация.ВидДляСписка = &ЭлектроннаяПочта)
|ГДЕ
| СправочникКонтакт.ПометкаУдаления = ЛОЖЬ";
Иначе
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СправочникКонтакт.Ссылка,
| СправочникКонтакт.ПометкаУдаления,
| СправочникКонтакт.Предопределенный,
| ПРЕДСТАВЛЕНИЕ(СправочникКонтакт.Ссылка) КАК Наименование
|ИЗ
| #Таблица КАК СправочникКонтакт
|ГДЕ
| СправочникКонтакт.ПометкаУдаления = ЛОЖЬ";
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#Таблица", "Справочник." + ОписаниеКонтакта.Имя);
Список.ТекстЗапроса = ТекстЗапроса;
Список.ОсновнаяТаблица = "Справочник." + ОписаниеКонтакта.Имя;
Список.ДинамическоеСчитываниеДанных = Истина;
Если ЕстьВидДляСписка Тогда
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени("Справочник." + ОписаниеКонтакта.Имя);
ВидыКонтактнойИнформации = УправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(
МенеджерОбъекта.ПустаяСсылка(), Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты);
Если ВидыКонтактнойИнформации.Количество() > 0 Тогда
ВидЭлектроннаяПочта = ВидыКонтактнойИнформации[0].Ссылка;
Иначе
ВидЭлектроннаяПочта = Неопределено;
КонецЕсли;
Список.Параметры.УстановитьЗначениеПараметра("ЭлектроннаяПочта", ВидЭлектроннаяПочта);
КонецЕсли;
Возврат ЕстьВидДляСписка;
КонецФункции
// Устанавливает отбор динамического списка документов взаимодействий, исключая документы не относящиеся к почте. // Устанавливает отбор динамического списка документов взаимодействий, исключая документы не относящиеся к почте.
// //
// Параметры: // Параметры:
@@ -357,12 +357,7 @@
КонецЕсли; КонецЕсли;
Если ПустаяСтрока(КомпонентыОбмена.СтрокаСообщенияОбОшибке) Тогда
КомпонентыОбмена.СтрокаСообщенияОбОшибке = КраткоеПредставлениеОшибки; КомпонентыОбмена.СтрокаСообщенияОбОшибке = КраткоеПредставлениеОшибки;
Иначе
КомпонентыОбмена.СтрокаСообщенияОбОшибке = КомпонентыОбмена.СтрокаСообщенияОбОшибке + "
|" + КраткоеПредставлениеОшибки;
КонецЕсли;
Если ВзвестиФлагОшибок Тогда Если ВзвестиФлагОшибок Тогда
@@ -4094,7 +4094,7 @@
// См. РаботаВБезопасномРежимеПереопределяемый.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам. // См. РаботаВБезопасномРежимеПереопределяемый.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам.
Процедура ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений) Экспорт Процедура ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений) Экспорт
Если НЕ ПолучитьФункциональнуюОпцию("ИспользоватьСинхронизациюДанных") Тогда Если Не Константы.ИспользоватьСинхронизациюДанных.Получить() Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -13997,7 +13997,10 @@
Константы.КаталогСообщенийОбменаДаннымиДляLinux.СоздатьМенеджерЗначения().ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений); Константы.КаталогСообщенийОбменаДаннымиДляLinux.СоздатьМенеджерЗначения().ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
Константы.КаталогСообщенийОбменаДаннымиДляWindows.СоздатьМенеджерЗначения().ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений); Константы.КаталогСообщенийОбменаДаннымиДляWindows.СоздатьМенеджерЗначения().ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
РегистрыСведений.НастройкиТранспортаОбменаДанными.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений); РегистрыСведений.НастройкиТранспортаОбменаДанными.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
КонецЕсли;
РегистрыСведений.ПравилаДляОбменаДанными.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений); РегистрыСведений.ПравилаДляОбменаДанными.ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений);
КонецПроцедуры КонецПроцедуры
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.2.150"; Описание.Версия = "3.1.2.157";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -4362,7 +4362,7 @@
РезультатДиагностики.ОписаниеОшибки); РезультатДиагностики.ОписаниеОшибки);
КонецЕсли; КонецЕсли;
ЗаписьЖурналаРегистрации(НСтр("ru = 'WSПрокси'", КодЛокализацииИнформационнойБазы()), ЗаписьЖурналаРегистрации(НСтр("ru = 'WSПрокси'", КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки); УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
ВызватьИсключение ТекстОшибки; ВызватьИсключение ТекстОшибки;
КонецПопытки; КонецПопытки;
@@ -2274,7 +2274,8 @@
Обработчик.Процедура = "РаботаСФайламиСлужебный.ОбновитьСписокЗапрещенныхРасширенийВОбластиДанных"; Обработчик.Процедура = "РаботаСФайламиСлужебный.ОбновитьСписокЗапрещенныхРасширенийВОбластиДанных";
Обработчик.РежимВыполнения = "Оперативно"; Обработчик.РежимВыполнения = "Оперативно";
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда ПодсистемаЭПСуществует = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись");
Если ПодсистемаЭПСуществует Тогда
Обработчик = Обработчики.Добавить(); Обработчик = Обработчики.Добавить();
Обработчик.Версия = "2.4.1.49"; Обработчик.Версия = "2.4.1.49";
@@ -2319,9 +2320,12 @@
Обработчик.БлокируемыеОбъекты = "Справочник.Файлы, Справочник.ВерсииФайлов"; Обработчик.БлокируемыеОбъекты = "Справочник.Файлы, Справочник.ВерсииФайлов";
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы"; Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика(); Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Если ПодсистемаЭПСуществует Тогда
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить(); Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "РаботаСФайлами.ПеренестиЭлектронныеПодписиИСертификатыШифрованияВРегистрыСведений"; Приоритет.Процедура = "РаботаСФайлами.ПеренестиЭлектронныеПодписиИСертификатыШифрованияВРегистрыСведений";
Приоритет.Порядок = "После"; Приоритет.Порядок = "После";
КонецЕсли;
Обработчик = Обработчики.Добавить(); Обработчик = Обработчики.Добавить();
Обработчик.Версия = "2.4.1.1"; Обработчик.Версия = "2.4.1.1";
@@ -2337,9 +2341,13 @@
Обработчик.ОчередьОтложеннойОбработки = 3; Обработчик.ОчередьОтложеннойОбработки = 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; Позиция = ИнформацияПоКолонкам.Количество() + 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"); Обработчик.Идентификатор = Новый УникальныйИдентификатор("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 Тогда Если ВидыКонтактнойИнформацией.Количество() > 0 Тогда
Для каждого ВидКонтактнойИнформацией Из ВидыКонтактнойИнформацией Цикл Для каждого ВидКонтактнойИнформацией Из ВидыКонтактнойИнформацией Цикл
ДобавитьРеквизитПоМетаданнымОбъекта(Реквизиты, ВидКонтактнойИнформацией.Ссылка, Префикс, СведенияОСпискеРеквизитов, СведенияОИсключаемыхРеквизитах); ДобавитьРеквизитПоМетаданнымОбъекта(Реквизиты, ВидКонтактнойИнформацией.Ссылка, Префикс, СведенияОСпискеРеквизитов, СведенияОИсключаемыхРеквизитах);
@@ -1923,7 +1923,7 @@
ОбъектыСКонтактнойИнформацией = Новый Массив; ОбъектыСКонтактнойИнформацией = Новый Массив;
ОбъектыСКонтактнойИнформацией.Добавить(Предмет); ОбъектыСКонтактнойИнформацией.Добавить(Предмет);
ВидыКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацияОбъекта(Предмет.Ссылка); ВидыКонтактнойИнформации = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(Предмет.Ссылка);
Если ВидыКонтактнойИнформации.Количество() > 0 Тогда Если ВидыКонтактнойИнформации.Количество() > 0 Тогда
КонтактнаяИнформацияОбъектов = МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(ОбъектыСКонтактнойИнформацией,,, ТекущаяДатаСеанса()); КонтактнаяИнформацияОбъектов = МодульУправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(ОбъектыСКонтактнойИнформацией,,, ТекущаяДатаСеанса());
КонецЕсли; КонецЕсли;
@@ -2222,8 +2222,8 @@
Если Получатели.Количество() = 0 И ТипЗнч(Предмет) <> Тип("Строка") Тогда Если Получатели.Количество() = 0 И ТипЗнч(Предмет) <> Тип("Строка") Тогда
ОбъектыСКонтактнойИнформацией = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Предмет); ОбъектыСКонтактнойИнформацией = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Предмет);
ВидыКонтактнойИнформацияОбъекта = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацияОбъекта(Предмет); ВидыКонтактнойИнформацииОбъекта = МодульУправлениеКонтактнойИнформацией.ВидыКонтактнойИнформацииОбъекта(Предмет);
Если ВидыКонтактнойИнформацияОбъекта.Количество() > 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"?> <?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> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value> <value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="551c2aea-4595-48ce-a77c-0a1c96625b3a"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="a0240c7a-544a-4d61-90fd-bef2c6fa7906"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="99054df9-064c-4c8a-adfa-d5bfdef3f9b5"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="07e39231-0854-463b-ad4a-507cfcb3f392"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="25cc1f09-83ee-407e-95a1-2e1ed0e78a2d"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="23471ce3-7c6d-4732-ab2d-e6e7b92b111e"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="3af28ec7-791b-4b28-a7d7-27943534c23a"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f049956a-2c80-430a-b94d-fe4baf54e802"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="33e8ee40-f4ee-44ee-ad96-49742a5a43cf"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="999c29b7-ab84-4bee-bd0d-7e049a8ec093"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="e162e88d-0a8a-4929-91bd-0bccb10c7497"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="06e39078-a473-412d-8656-c4898a0a168f"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="15ad5637-2f63-49a0-bd04-e6c16a396323"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="cf7566d6-d240-4d9d-9531-dd13041e7f19"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.2.150</version> <version>3.1.2.157</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -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>
<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 @@
Процедура ПослеЗапускаСкрипта(Результат, Контекст) Экспорт Процедура ПослеЗапускаСкрипта(Результат, Контекст) Экспорт
Если Результат.ПриложениеЗапущено Тогда Если Результат.ПриложениеЗапущено Тогда
ЗавершитьРаботуСистемы(Ложь); ПрекратитьРаботуСистемы();
Иначе Иначе
ПоказатьПредупреждение(, Результат.ОписаниеОшибки); ПоказатьПредупреждение(, Результат.ОписаниеОшибки);
КонецЕсли; КонецЕсли;
@@ -3572,16 +3572,21 @@
Если ИмяТекущейПанелиНавигации = "СтраницаКонтакт" Тогда Если ИмяТекущейПанелиНавигации = "СтраницаКонтакт" Тогда
ТекущиеДанные = Элементы.КонтактыПанелиНавигации.ТекущиеДанные; ТекущиеДанные = Элементы.КонтактыПанелиНавигации.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда Если ТекущиеДанные <> Неопределено Тогда
ПараметрыСоздания.Вставить("ЗначенияЗаполнения",Новый Структура("Контакт", ТекущиеДанные.Контакт)); ПараметрыСоздания.Вставить("ЗначенияЗаполнения", Новый Структура("Контакт", ТекущиеДанные.Контакт));
КонецЕсли; КонецЕсли;
ИначеЕсли ИмяТекущейПанелиНавигации = "СтраницаПредмет" Тогда ИначеЕсли ИмяТекущейПанелиНавигации = "СтраницаПредмет" Тогда
ТекущиеДанные = Элементы.ПредметыПанельНавигации.ТекущиеДанные; ТекущиеДанные = Элементы.ПредметыПанельНавигации.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда Если ТекущиеДанные <> Неопределено Тогда
ПараметрыСоздания.Вставить("ЗначенияЗаполнения",Новый Структура("Предмет", ТекущиеДанные.Предмет)); ПараметрыСоздания.Вставить("ЗначенияЗаполнения", Новый Структура("Предмет", ТекущиеДанные.Предмет));
КонецЕсли;
ИначеЕсли ИмяТекущейПанелиНавигации = "СтраницаПапки" Тогда
ТекущиеДанные = Элементы.Папки.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ПараметрыСоздания.Вставить("ЗначенияЗаполнения", Новый Структура("УчетнаяЗапись", ТекущиеДанные.УчетнаяЗапись));
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
ВзаимодействияКлиент.СоздатьНовоеВзаимодействие(ТипОбъекта,ПараметрыСоздания, ЭтотОбъект); ВзаимодействияКлиент.СоздатьНовоеВзаимодействие(ТипОбъекта, ПараметрыСоздания, ЭтотОбъект);
КонецПроцедуры КонецПроцедуры
@@ -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> <id>5</id>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition> <searchStringAddition>
<name>СписокСтрокаПоиска</name> <name>СписокСтрокаПоиска</name>
<id>7</id> <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> <id>5</id>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition> <searchStringAddition>
<name>СписокСтрокаПоиска</name> <name>СписокСтрокаПоиска</name>
<id>7</id> <id>7</id>
@@ -18,6 +18,29 @@
МодульВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект); МодульВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли; КонецЕсли;
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -31,4 +54,29 @@
КонецПроцедуры КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти #КонецОбласти
@@ -1090,6 +1090,37 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </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"> <items xsi:type="form:FormGroup">
<name>ФормаГлобальныеКоманды</name> <name>ФормаГлобальныеКоманды</name>
<id>157</id> <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> <id>5</id>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition> <searchStringAddition>
<name>СписокСтрокаПоиска</name> <name>СписокСтрокаПоиска</name>
<id>7</id> <id>7</id>
@@ -18,6 +18,29 @@
МодульВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект); МодульВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли; КонецЕсли;
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
@@ -31,5 +54,31 @@
КонецПроцедуры КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Элементы.Список);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Элементы.Список);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти #КонецОбласти
@@ -129,6 +129,150 @@
<textSize>Normal</textSize> <textSize>Normal</textSize>
</extInfo> </extInfo>
</items> </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"> <items xsi:type="form:FormField">
<name>Тема</name> <name>Тема</name>
<id>29</id> <id>29</id>
@@ -898,6 +1042,113 @@
<autoMaxCardHeight>true</autoMaxCardHeight> <autoMaxCardHeight>true</autoMaxCardHeight>
<rowFilter xsi:type="core:UndefinedValue"/> <rowFilter xsi:type="core:UndefinedValue"/>
</items> </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"> <items xsi:type="form:FormField">
<name>Предмет</name> <name>Предмет</name>
<id>144</id> <id>144</id>
@@ -1081,149 +1332,6 @@
<textSize>Normal</textSize> <textSize>Normal</textSize>
</extInfo> </extInfo>
</items> </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"> <items xsi:type="form:FormGroup">
<name>ГруппаВажностьНомерОтправлено</name> <name>ГруппаВажностьНомерОтправлено</name>
<id>187</id> <id>187</id>
@@ -1520,6 +1628,34 @@
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <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>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>ФормаЖурналДокументовВзаимодействияСохранитьПисьмоНаДиск</name> <name>ФормаЖурналДокументовВзаимодействияСохранитьПисьмоНаДиск</name>
@@ -1544,12 +1680,11 @@
</extendedTooltip> </extendedTooltip>
<commandName>DocumentJournal.Взаимодействия.Command.СохранитьПисьмоНаДиск</commandName> <commandName>DocumentJournal.Взаимодействия.Command.СохранитьПисьмоНаДиск</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Picture</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>ФормаПеречитать</name> <name>ФормаПеречитать</name>
@@ -1605,33 +1740,6 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </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"> <items xsi:type="form:FormGroup">
<name>ГруппаОтветитьПереслать</name> <name>ГруппаОтветитьПереслать</name>
<id>191</id> <id>191</id>
@@ -2270,7 +2378,7 @@
<name>ОткрытьВложение</name> <name>ОткрытьВложение</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Открыть</value> <value>Открыть...</value>
</title> </title>
<id>1</id> <id>1</id>
<toolTip> <toolTip>
@@ -2320,7 +2428,7 @@
<name>ПараметрыПисьма</name> <name>ПараметрыПисьма</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Параметры письма</value> <value>Параметры письма...</value>
</title> </title>
<id>3</id> <id>3</id>
<toolTip> <toolTip>
@@ -2343,7 +2451,7 @@
<name>СвязанныеВзаимодействия</name> <name>СвязанныеВзаимодействия</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Связанные взаимодействия</value> <value>Связанные взаимодействия...</value>
</title> </title>
<id>4</id> <id>4</id>
<toolTip> <toolTip>
@@ -2369,12 +2477,12 @@
<name>ИзменитьКодировку</name> <name>ИзменитьКодировку</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Изменить кодировку</value> <value>Изменить кодировку...</value>
</title> </title>
<id>5</id> <id>5</id>
<toolTip> <toolTip>
<key>ru</key> <key>ru</key>
<value>Изменить кодировку</value> <value>Изменить кодировку письма</value>
</toolTip> </toolTip>
<use> <use>
<common>true</common> <common>true</common>
@@ -2391,16 +2499,19 @@
<name>УточнитьКонтакты</name> <name>УточнитьКонтакты</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Уточнить контакты</value> <value>Сохранить адреса в контакты</value>
</title> </title>
<id>6</id> <id>6</id>
<toolTip> <toolTip>
<key>ru</key> <key>ru</key>
<value>Уточнить контакты</value> <value>Внести адресаты письма в адресную книгу</value>
</toolTip> </toolTip>
<use> <use>
<common>true</common> <common>true</common>
</use> </use>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Встреча</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer"> <action xsi:type="form:FormCommandHandlerContainer">
<handler> <handler>
<name>УточнитьКонтакты</name> <name>УточнитьКонтакты</name>
@@ -2413,7 +2524,7 @@
<name>СвойстваВложения</name> <name>СвойстваВложения</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Свойства</value> <value>Свойства вложения...</value>
</title> </title>
<id>7</id> <id>7</id>
<toolTip> <toolTip>
@@ -49,6 +49,13 @@
Элементы.СтраницаКомментарий.Картинка = ОбщегоНазначенияКлиентСервер.КартинкаКомментария(Объект.Комментарий); Элементы.СтраницаКомментарий.Картинка = ОбщегоНазначенияКлиентСервер.КартинкаКомментария(Объект.Комментарий);
КонецЕсли; КонецЕсли;
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -61,6 +68,13 @@
КонецЕсли; КонецЕсли;
// Конец СтандартныеПодсистемы.Свойства // Конец СтандартныеПодсистемы.Свойства
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -141,6 +155,13 @@
КонецЕсли; КонецЕсли;
// Конец СтандартныеПодсистемы.УправлениеДоступом // Конец СтандартныеПодсистемы.УправлениеДоступом
// СтандартныеПодсистемы.ПодключаемыеКоманды
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецЕсли;
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -765,4 +786,29 @@
УстановитьВидимостьПредупрежденияБезопасности(); УстановитьВидимостьПредупрежденияБезопасности();
КонецПроцедуры КонецПроцедуры
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти #КонецОбласти
@@ -205,6 +205,10 @@
<id>3</id> <id>3</id>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition> <searchStringAddition>
<name>СписокСтрокаПоиска</name> <name>СписокСтрокаПоиска</name>
<id>21</id> <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 Тогда Если ДанныеВыбора.Количество() > 0 Тогда
СтандартнаяОбработка = Ложь; СтандартнаяОбработка = Ложь;
Иначе Иначе
ДанныеВыбора = Неопределено ДанныеВыбора = Неопределено;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -1095,14 +1116,11 @@
И (НЕ ИнформационнаяБазаФайловая И (НЕ ИнформационнаяБазаФайловая
ИЛИ (Объект.ДатаКогдаОтправить <> Дата(1,1,1) И Объект.ДатаКогдаОтправить > ОбщегоНазначенияКлиент.ДатаСеанса()) ИЛИ (Объект.ДатаКогдаОтправить <> Дата(1,1,1) И Объект.ДатаКогдаОтправить > ОбщегоНазначенияКлиент.ДатаСеанса())
ИЛИ (Объект.ДатаАктуальностиОтправки <> Дата(1,1,1) И Объект.ДатаАктуальностиОтправки < ОбщегоНазначенияКлиент.ДатаСеанса())) Тогда ИЛИ (Объект.ДатаАктуальностиОтправки <> Дата(1,1,1) И Объект.ДатаАктуальностиОтправки < ОбщегоНазначенияКлиент.ДатаСеанса())) Тогда
Элементы.Отправить.Видимость = Ложь; Элементы.Отправить.Видимость = Ложь;
Иначе Иначе
Элементы.Отправить.Видимость = Истина; Элементы.Отправить.Видимость = Истина;
КонецЕсли; КонецЕсли;
Элементы.ФормаЗаписатьИЗакрыть.Видимость = Не Элементы.Отправить.Видимость;
Элементы.ГруппаДатаОтправкиАктуальность.Доступность = (Объект.СтатусПисьма <> ПредопределенноеЗначение("Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Отправлено")); Элементы.ГруппаДатаОтправкиАктуальность.Доступность = (Объект.СтатусПисьма <> ПредопределенноеЗначение("Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Отправлено"));
@@ -2241,86 +2259,20 @@
КонецПроцедуры КонецПроцедуры
&НаСервереБезКонтекста &НаСервереБезКонтекста
Функция ДанныеВыбораДляЭлектронногоПисьма(Текст, ИндексВСпискеПолучателей) Функция НайтиКонтакты(Знач СтрокаПоиска)
ВозвращаемыйСписок = Новый СписокЗначений;
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| СправочникКонтакт.Ссылка КАК Контакт,
| ПРЕДСТАВЛЕНИЕ(СправочникКонтакт.Ссылка) КАК Представление,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК АдресЭП
|ИЗ
| Справочник.Пользователи КАК СправочникКонтакт
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты) И (ТаблицаКонтактнаяИнформация.АдресЭП <> """"))
|ГДЕ
| (СправочникКонтакт.Наименование ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.АдресЭП ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.ДоменноеИмяСервера ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.Представление ПОДОБНО &ВведеннаяСтрока)";
Для каждого ЭлементМассиваОписания Из МассивОписанияТиповКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда
Продолжить;
Иначе
УсловиеПолейВводаПоСтроке = "";
МетаданныеОбъекта = Метаданные.НайтиПоТипу(ЭлементМассиваОписания.Тип);
СписокПолей = МетаданныеОбъекта.ВводПоСтроке;
Для Каждого Поле Из СписокПолей Цикл
Если МетаданныеОбъекта.СтандартныеРеквизиты[Поле.Имя].Тип.Типы()[0] = Тип("Строка") Тогда
УсловиеПолейВводаПоСтроке = УсловиеПолейВводаПоСтроке + " ИЛИ СправочникКонтакт." + Поле.Имя + " ПОДОБНО &ВведеннаяСтрока";
КонецЕсли;
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + "
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СправочникКонтакт.Ссылка КАК Контакт,
| СправочникКонтакт." + ЭлементМассиваОписания.ИмяРеквизитаПредставлениеКонтакта + " КАК Представление,
| ТаблицаКонтактнаяИнформация.АдресЭП КАК АдресЭП
|ИЗ
| Справочник." + ЭлементМассиваОписания.Имя + " КАК СправочникКонтакт
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник." + ЭлементМассиваОписания.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = СправочникКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты) И (ТаблицаКонтактнаяИнформация.АдресЭП <> """"))
|ГДЕ
| (ТаблицаКонтактнаяИнформация.АдресЭП ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.ДоменноеИмяСервера ПОДОБНО &ВведеннаяСтрока
| ИЛИ ТаблицаКонтактнаяИнформация.Представление ПОДОБНО &ВведеннаяСтрока
|" + УсловиеПолейВводаПоСтроке + ")
|";
КонецЕсли;
КонецЦикла;
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("ВведеннаяСтрока", Текст + "%");
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат ВозвращаемыйСписок;
КонецЕсли;
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Результат = Новый СписокЗначений;
ТаблицаКонтактов = Взаимодействия.НайтиКонтактыСАдресами(СтрокаПоиска);
Для каждого Выборка Из ТаблицаКонтактов Цикл
ЗначениеВыбора = Новый Структура; ЗначениеВыбора = Новый Структура;
ЗначениеВыбора.Вставить("Контакт", Выборка.Контакт); ЗначениеВыбора.Вставить("Контакт", Выборка.Контакт);
ЗначениеВыбора.Вставить("Адрес", Выборка.АдресЭП); ЗначениеВыбора.Вставить("Адрес", Выборка.Представление);
ЗначениеВыбора.Вставить("Представление", Выборка.Представление); ЗначениеВыбора.Вставить("Представление", Выборка.Наименование);
ЗначениеВыбора.Вставить("ИндексВСпискеПолучателей", ИндексВСпискеПолучателей); ЗначениеВыбора.Вставить("ИндексВСпискеПолучателей", 0);
ВозвращаемыйСписок.Добавить(ЗначениеВыбора, Результат.Добавить(ЗначениеВыбора,
ВзаимодействияКлиентСервер.ПолучитьПредставлениеАдресата(Выборка.Представление, Выборка.АдресЭП, "")); ВзаимодействияКлиентСервер.ПолучитьПредставлениеАдресата(Выборка.Наименование, Выборка.Представление, ""));
КонецЦикла; КонецЦикла;
Возврат Результат;
Возврат ВозвращаемыйСписок;
КонецФункции КонецФункции
@@ -2375,7 +2327,7 @@
ПараметрыОткрытия.Вставить("СписокВыбранных", СписокВыбранных); ПараметрыОткрытия.Вставить("СписокВыбранных", СписокВыбранных);
ПараметрыОткрытия.Вставить("Предмет", Предмет); ПараметрыОткрытия.Вставить("Предмет", Предмет);
ПараметрыОткрытия.Вставить("Письмо", Объект.Ссылка); ПараметрыОткрытия.Вставить("Письмо", Объект.Ссылка);
ПараметрыОткрытия.Вставить("ГруппаПоУмолчанию",?(ПустаяСтрока(ГруппаПодбора),НСтр("ru = 'Кому'"), ГруппаПодбора)); ПараметрыОткрытия.Вставить("ГруппаПоУмолчанию", ?(ПустаяСтрока(ГруппаПодбора), НСтр("ru = 'Кому'"), ГруппаПодбора));
// Откроем форму для редактирования списка адресатов. // Откроем форму для редактирования списка адресатов.
ОповещениеПослеЗакрытия = Новый ОписаниеОповещения("ПослеЗаполненияАдреснойКниги", ЭтотОбъект); ОповещениеПослеЗакрытия = Новый ОписаниеОповещения("ПослеЗаполненияАдреснойКниги", ЭтотОбъект);
@@ -3050,4 +3002,29 @@
#КонецОбласти #КонецОбласти
// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
МодульПодключаемыеКоманды = ОбщегоНазначения.ОбщийМодуль("ПодключаемыеКоманды");
МодульПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
МодульПодключаемыеКомандыКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиентСервер");
МодульПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
#КонецОбласти #КонецОбласти
@@ -344,6 +344,10 @@
<id>5</id> <id>5</id>
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition> <searchStringAddition>
<name>СписокСтрокаПоиска</name> <name>СписокСтрокаПоиска</name>
<id>7</id> <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> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>КрасныйЦвет</name>
<id>12</id>
<valueType>
<types>Color</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands> <formCommands>
<name>РучноеУправление</name> <name>РучноеУправление</name>
<title> <title>
@@ -56,6 +56,8 @@
Элементы.ГруппаКоличествоПотоковОбновленияДоступа2.Видимость = Ложь; Элементы.ГруппаКоличествоПотоковОбновленияДоступа2.Видимость = Ложь;
КонецЕсли; КонецЕсли;
КрасныйЦвет = ЦветаСтиля.ЦветОсобогоТекста;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -395,7 +397,7 @@
Если ЗначениеЗаполнено(Состояние.ПоследнееЗавершениеОбновленияДоступа) Тогда Если ЗначениеЗаполнено(Состояние.ПоследнееЗавершениеОбновленияДоступа) Тогда
ФорматЧастей = Новый Соответствие; ФорматЧастей = Новый Соответствие;
ЖирныйШрифт = Новый Шрифт(Элементы.ПоследнееЗавершениеОбновленияДоступа.Шрифт,,, Истина); ЖирныйШрифт = Новый Шрифт(Элементы.ПоследнееЗавершениеОбновленияДоступа.Шрифт,,, Истина);
КрасныйЦвет = Новый Цвет(255, 0, 0);
Если Состояние.ОбновлениеОтмененоНештатно Тогда Если Состояние.ОбновлениеОтмененоНештатно Тогда
Если Состояние.ПоследнееЗавершениеСегодня Тогда Если Состояние.ПоследнееЗавершениеСегодня Тогда
Шаблон = НСтр("ru = '<1>отменено нештатно</1> после запуска в %1'"); Шаблон = НСтр("ru = '<1>отменено нештатно</1> после запуска в %1'");
@@ -167,38 +167,27 @@
Запрос.Текст = Запрос.Текст =
"ВЫБРАТЬ "ВЫБРАТЬ
| ПользователиКонтактнаяИнформация.Ссылка КАК Ссылка, | ПользователиКонтактнаяИнформация.Ссылка КАК Ссылка,
| ПользователиКонтактнаяИнформация.Вид, | ПользователиКонтактнаяИнформация.Вид КАК Вид,
| ПользователиКонтактнаяИнформация.Представление | ПользователиКонтактнаяИнформация.Представление КАК Представление
|ИЗ |ИЗ
| Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация | Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
|ГДЕ |ГДЕ
| ПользователиКонтактнаяИнформация.Вид В (&ВидыКонтактнойИнформации) | ПользователиКонтактнаяИнформация.Вид В(&ВидыКонтактнойИнформации)
| |
|УПОРЯДОЧИТЬ ПО |УПОРЯДОЧИТЬ ПО
| ПользователиКонтактнаяИнформация.Ссылка, | ПользователиКонтактнаяИнформация.Ссылка,
| ПользователиКонтактнаяИнформация.Тип.Порядок, | ПользователиКонтактнаяИнформация.Тип.Порядок,
| ПользователиКонтактнаяИнформация.Вид"; | ПользователиКонтактнаяИнформация.Вид
|ИТОГИ ПО
| Ссылка";
Выборка = Запрос.Выполнить().Выбрать(); ВыборкаПоПользователям = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
ТекущаяСсылка = Неопределено; Пока ВыборкаПоПользователям.Следующий() Цикл
Телефоны = ""; Телефоны = "";
ЭлектронныеАдреса = ""; ЭлектронныеАдреса = "";
Выборка = ВыборкаПоПользователям.Выбрать();
Пока Выборка.Следующий() Цикл Пока Выборка.Следующий() Цикл
Если ТекущаяСсылка <> Выборка.Ссылка Тогда
Если ТекущаяСсылка <> Неопределено Тогда
Если ЗначениеЗаполнено(Телефоны) Или ЗначениеЗаполнено(ЭлектронныеАдреса) Тогда
НоваяСтрока = Контакты.Добавить();
НоваяСтрока.Ссылка = ТекущаяСсылка;
НоваяСтрока.Телефон = Телефоны;
НоваяСтрока.ЭлектронныйАдрес = ЭлектронныеАдреса;
КонецЕсли;
КонецЕсли;
Телефоны = "";
ЭлектронныеАдреса = "";
ТекущаяСсылка = Выборка.Ссылка;
КонецЕсли;
Если Выборка.Вид = Справочники["ВидыКонтактнойИнформации"].ТелефонПользователя Тогда Если Выборка.Вид = Справочники["ВидыКонтактнойИнформации"].ТелефонПользователя Тогда
Телефоны = Телефоны + ?(ЗначениеЗаполнено(Телефоны), ", ", ""); Телефоны = Телефоны + ?(ЗначениеЗаполнено(Телефоны), ", ", "");
Телефоны = Телефоны + Выборка.Представление; Телефоны = Телефоны + Выборка.Представление;
@@ -208,6 +197,13 @@
ЭлектронныеАдреса = ЭлектронныеАдреса + Выборка.Представление; ЭлектронныеАдреса = ЭлектронныеАдреса + Выборка.Представление;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Если ЗначениеЗаполнено(Телефоны) Или ЗначениеЗаполнено(ЭлектронныеАдреса) Тогда
НоваяСтрока = Контакты.Добавить();
НоваяСтрока.Ссылка = ВыборкаПоПользователям.Ссылка;
НоваяСтрока.Телефон = Телефоны;
НоваяСтрока.ЭлектронныйАдрес = ЭлектронныеАдреса;
КонецЕсли;
КонецЦикла;
Возврат Контакты; Возврат Контакты;
@@ -1135,93 +1135,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.СценарииОбменовДанными</name> <name>Catalog.СценарииОбменовДанными</name>
<right> <right>
@@ -1485,6 +1398,93 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name> <name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name>
<right> <right>
@@ -14,6 +14,13 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -45,13 +52,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.РассылкиОтчетов.Command.СобытияРассылки</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name> <name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right> <right>
@@ -152,6 +152,25 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </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> <object>
<name>Constant.КоличествоЗамеровВПакетеЭкспорта</name> <name>Constant.КоличествоЗамеровВПакетеЭкспорта</name>
<right> <right>
@@ -1658,45 +1658,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>Task.ЗадачаИсполнителя</name> <name>Task.ЗадачаИсполнителя</name>
<right> <right>
@@ -2058,6 +2019,45 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name> <name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name>
<right> <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> <command>CommonCommand.ВремяТекущегоСеанса</command>
<visible/> <visible/>
</visibilityFragments> </visibilityFragments>
<visibilityFragments>
<command>Catalog.ПрофилиКлючевыхОпераций.StandardCommand.OpenList</command>
<visible/>
</visibilityFragments>
<visibilityFragments> <visibilityFragments>
<command>Catalog.ПравилаПроверкиУчета.StandardCommand.OpenList</command> <command>Catalog.ПравилаПроверкиУчета.StandardCommand.OpenList</command>
<visible/> <visible/>
@@ -143,6 +147,10 @@
<command>DataProcessor.НастройкаСтандартногоИнтерфейсаOData.Command.НастройкиСтандартногоИнтерфейсаOData</command> <command>DataProcessor.НастройкаСтандартногоИнтерфейсаOData.Command.НастройкиСтандартногоИнтерфейсаOData</command>
<visible/> <visible/>
</visibilityFragments> </visibilityFragments>
<visibilityFragments>
<command>Catalog.ВнешниеКомпоненты.StandardCommand.OpenList</command>
<visible/>
</visibilityFragments>
<visibilityFragments> <visibilityFragments>
<command>CommonCommand.АвтономнаяРаботаВМоделиСервиса</command> <command>CommonCommand.АвтономнаяРаботаВМоделиСервиса</command>
<visible> <visible>
@@ -486,6 +494,7 @@
<commands>InformationRegister.АдресныеОбъекты.Command.ОчиститьАдресныйКлассификатор</commands> <commands>InformationRegister.АдресныеОбъекты.Command.ОчиститьАдресныйКлассификатор</commands>
<commands>InformationRegister.АдресныеОбъекты.Command.ПодключитьИнтернетПоддержку</commands> <commands>InformationRegister.АдресныеОбъекты.Command.ПодключитьИнтернетПоддержку</commands>
<commands>DataProcessor.НастройкаСтандартногоИнтерфейсаOData.Command.НастройкиСтандартногоИнтерфейсаOData</commands> <commands>DataProcessor.НастройкаСтандартногоИнтерфейсаOData.Command.НастройкиСтандартногоИнтерфейсаOData</commands>
<commands>Catalog.ВнешниеКомпоненты.StandardCommand.OpenList</commands>
</orderFragments> </orderFragments>
<orderFragments> <orderFragments>
<group>NavigationPanelSeeAlso</group> <group>NavigationPanelSeeAlso</group>
@@ -102,4 +102,5 @@
<content>InformationRegister.АдресныеОбъекты</content> <content>InformationRegister.АдресныеОбъекты</content>
<content>CommonForm.УстановленныеИсправления</content> <content>CommonForm.УстановленныеИсправления</content>
<content>DataProcessor.НастройкаСтандартногоИнтерфейсаOData</content> <content>DataProcessor.НастройкаСтандартногоИнтерфейсаOData</content>
<content>Catalog.ВнешниеКомпоненты</content>
</mdclass:Subsystem> </mdclass:Subsystem>
@@ -81,5 +81,6 @@
<content>StyleItem.ГруппаВариантовОтчетовОбычнаяШрифт</content> <content>StyleItem.ГруппаВариантовОтчетовОбычнаяШрифт</content>
<content>StyleItem.РазделВариантовОтчетовШрифт</content> <content>StyleItem.РазделВариантовОтчетовШрифт</content>
<content>StyleItem.ФонРезультатовПоиска</content> <content>StyleItem.ФонРезультатовПоиска</content>
<content>StyleItem.ОбразецНастройкиКолонтитуловЦвет</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem> <parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem> </mdclass:Subsystem>