3_1_2_166

This commit is contained in:
Компания 1С committed 2019-10-04 16:57:00 +03:00
1 parent 9317048254
commit 07b2436eb9
82 files changed
+3811 -1247

No files matched your search

@@ -414,6 +414,10 @@
<event>BeforeDeleteRow</event>
<name>СписокПередУдалением</name>
</handlers>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<handlers>
<event>BeforeRowChange</event>
<name>СписокПередНачаломИзменения</name>
@@ -636,6 +640,33 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>КонтекстноеМенюСписокКопировать</name>
<id>46</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>КонтекстноеМенюСписокКопироватьExtendedTooltip</name>
<id>88</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.Список.StandardCommand.CopyToClipboard</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>112</id>
@@ -663,17 +694,16 @@
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>КонтекстноеМенюСписокКопировать</name>
<id>46</id>
<name>СписокКонтекстноеМенюУдалить</name>
<id>122</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>КонтекстноеМенюСписокКопироватьExtendedTooltip</name>
<id>88</id>
<name>СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка</name>
<id>123</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -681,7 +711,7 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.Список.StandardCommand.CopyToClipboard</commandName>
<commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -904,16 +934,16 @@
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ФормаИзменитьФорму</name>
<id>110</id>
<name>ФормаУдалить</name>
<id>118</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаИзменитьФормуРасширеннаяПодсказка</name>
<id>111</id>
<name>ФормаУдалитьРасширеннаяПодсказка</name>
<id>119</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -921,13 +951,14 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.CustomizeForm</commandName>
<commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
@@ -950,6 +981,59 @@
</extendedTooltip>
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items>
<items xsi:type="form:Button">
<name>ПоказыватьПомеченныеФайлы</name>
<id>120</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПоказыватьПомеченныеФайлыРасширеннаяПодсказка</name>
<id>121</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПоказыватьПомеченныеФайлы</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ФормаИзменитьФорму</name>
<id>110</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаИзменитьФормуРасширеннаяПодсказка</name>
<id>111</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.CustomizeForm</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>73</id>
@@ -1258,6 +1342,55 @@
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ПоказыватьПомеченныеФайлы</name>
<title>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</title>
<id>7</id>
<toolTip>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПоказыватьПомеченныеФайлы</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>8</id>
<toolTip>
<key>ru</key>
<value>Удалить данные версии файла</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.DeleteDirectly</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Удалить</name>
</handler>
</action>
<associatedTableElementId xsi:type="core:StringValue">
<value>Список</value>
</associatedTableElementId>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>Файл</name>
<valueType>
@@ -31,6 +31,8 @@
Список.Параметры.УстановитьЗначениеПараметра("Владелец", Параметры.Файл);
ВладелецВерсии = Параметры.Файл;
РаботаСФайламиСлужебный.УстановитьОтборПоПометкеУдаления(Список.Отбор);
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.ФормаОткрытьВерсию.Картинка = БиблиотекаКартинок.Лупа;
@@ -101,7 +103,16 @@
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьКарточку(Команда)
Процедура СписокПередУдалением(Элемент, Отказ)
Отказ = Истина;
КонецПроцедуры
&НаКлиенте
Процедура СписокПередНачаломИзменения(Элемент, Отказ)
Отказ = Истина;
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
@@ -116,16 +127,25 @@
КонецПроцедуры
&НаКлиенте
Процедура СписокПередУдалением(Элемент, Отказ)
Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
Отказ = Истина;
КонецПроцедуры
&НаКлиенте
Процедура СписокПередНачаломИзменения(Элемент, Отказ)
Процедура СписокПриАктивизацииСтроки(Элемент)
Отказ = Истина;
Если Элементы.Список.ТекущаяСтрока <> Неопределено Тогда
ИзменитьДоступностьКоманд();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ОткрытьКарточку(Команда)
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
@@ -189,14 +209,47 @@
КонецПроцедуры
&НаКлиенте
Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
Отказ = Истина;
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
РаботаСФайламиСлужебныйКлиент.ИзменитьОтборПоПометкеУдаления(Список.Отбор, Элементы.ПоказыватьПомеченныеФайлы);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ИзменитьДоступностьКоманд()
АвторТекущийПользователь =
Элементы.Список.ТекущиеДанные.Автор = ПользователиКлиент.АвторизованныйПользователь();
Элементы.ФормаУдалить.Доступность = АвторТекущийПользователь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = АвторТекущийПользователь;
КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
&НаСервере
Процедура СменитьАктивнуюВерсиюФайла(Версия)
@@ -40,6 +40,474 @@
<items xsi:type="form:FormGroup">
<name>КоманднаяПанель</name>
<id>37</id>
<items xsi:type="form:Button">
<name>ФормаВыбрать</name>
<id>58</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаВыбратьРасширеннаяПодсказка</name>
<id>59</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Choose</commandName>
<representation>Auto</representation>
<defaultButton>true</defaultButton>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ФормаСоздать</name>
<id>60</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаСоздатьРасширеннаяПодсказка</name>
<id>61</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Create</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>62</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаСкопироватьРасширеннаяПодсказка</name>
<id>63</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Copy</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>64</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаИзменитьРасширеннаяПодсказка</name>
<id>65</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Change</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>66</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаОбновитьРасширеннаяПодсказка</name>
<id>67</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Refresh</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаУдаление</name>
<id>68</id>
<items xsi:type="form:Button">
<name>УстановитьПометкуУдаления</name>
<id>70</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>УстановитьПометкуУдаленияРасширеннаяПодсказка</name>
<id>71</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.SetDeletionMark</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>72</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаУдалитьРасширеннаяПодсказка</name>
<id>73</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Удаление</value>
</title>
<extendedTooltip>
<name>ГруппаУдалениеРасширеннаяПодсказка</name>
<id>69</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items>
<items xsi:type="form:Button">
<name>ФормаПоискПоТекущемуЗначению</name>
<id>74</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаПоискПоТекущемуЗначениюРасширеннаяПодсказка</name>
<id>75</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.FindByCurrentValue</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>76</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаНайтиРасширеннаяПодсказка</name>
<id>77</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.Find</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>78</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаОтменитьПоискРасширеннаяПодсказка</name>
<id>79</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.CancelSearch</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>80</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаИсторияИзмененийРасширеннаяПодсказка</name>
<id>81</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.ChangeHistory</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>82</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаНастройкаСпискаРасширеннаяПодсказка</name>
<id>83</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.ListSettings</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>84</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаЗагрузитьНастройкиДинамическогоСпискаРасширеннаяПодсказка</name>
<id>85</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.LoadDynamicListSettings</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>86</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаСохранитьНастройкиДинамическогоСпискаРасширеннаяПодсказка</name>
<id>87</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.SaveDynamicListSettings</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>88</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаСтандартныеНастройкиДинамическогоСпискаРасширеннаяПодсказка</name>
<id>89</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.DynamicListStandardSettings</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>90</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаВывестиСписокРасширеннаяПодсказка</name>
<id>91</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.OutputList</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>92</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПоказыватьПомеченныеФайлыРасширеннаяПодсказка</name>
<id>93</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПоказыватьПомеченныеФайлы</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -83,6 +551,7 @@
<defaultItem>true</defaultItem>
<skipOnInput>false</skipOnInput>
<titleLocation>None</titleLocation>
<excludedCommands>Delete</excludedCommands>
<items xsi:type="form:FormGroup">
<name>ГруппаВертикально</name>
<id>51</id>
@@ -427,6 +896,10 @@
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition>
<name>СписокСтрокаПоиска</name>
<id>42</id>
@@ -561,6 +1034,7 @@
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<excludedCommands>Delete</excludedCommands>
<windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings>
<autoUrl>true</autoUrl>
@@ -611,6 +1085,55 @@
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations>
</extInfo>
</attributes>
<formCommands>
<name>ПоказыватьПомеченныеФайлы</name>
<title>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</title>
<id>1</id>
<toolTip>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПоказыватьПомеченныеФайлы</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>2</id>
<toolTip>
<key>ru</key>
<value>Удалить данные версии файла</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.DeleteDirectly</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Удалить</name>
</handler>
</action>
<associatedTableElementId xsi:type="core:StringValue">
<value>Список</value>
</associatedTableElementId>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -28,6 +28,8 @@
ЭлементОтбораДанных.ПравоеЗначение = Истина;
ЭлементОтбораДанных.Использование = Истина;
РаботаСФайламиСлужебный.УстановитьОтборПоПометкеУдаления(Список.Отбор);
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.Комментарий.Видимость = Ложь;
КонецЕсли;
@@ -35,3 +37,52 @@
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
Если Элементы.Список.ТекущаяСтрока <> Неопределено Тогда
Элементы.ФормаУдалить.Доступность =
Элементы.Список.ТекущиеДанные.Автор = ПользователиКлиент.АвторизованныйПользователь();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
РаботаСФайламиСлужебныйКлиент.ИзменитьОтборПоПометкеУдаления(Список.Отбор, Элементы.ПоказыватьПомеченныеФайлы);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
#КонецОбласти
@@ -66,6 +66,83 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаУдаление</name>
<id>68</id>
<items xsi:type="form:Button">
<name>УстановитьПометкуУдаления</name>
<id>70</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>УстановитьПометкуУдаленияРасширеннаяПодсказка</name>
<id>71</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.SetDeletionMark</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>72</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаУдалитьРасширеннаяПодсказка</name>
<id>73</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Удаление</value>
</title>
<extendedTooltip>
<name>ГруппаУдалениеРасширеннаяПодсказка</name>
<id>69</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items>
<items xsi:type="form:FormGroup">
<name>ФормаСтандартныеКоманды</name>
<id>15</id>
@@ -92,6 +169,33 @@
<commandSource>Form</commandSource>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>ПоказыватьПомеченныеФайлы</name>
<id>74</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПоказыватьПомеченныеФайлыРасширеннаяПодсказка</name>
<id>75</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПоказыватьПомеченныеФайлы</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ФормаСправка</name>
<id>14</id>
@@ -565,6 +669,10 @@
<event>BeforeDeleteRow</event>
<name>СписокПередУдалением</name>
</handlers>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<handlers>
<event>BeforeRowChange</event>
<name>СписокПередНачаломИзменения</name>
@@ -683,6 +791,32 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>СписокКонтекстноеМенюКопироватьВБуферОбмена</name>
<id>12</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СписокКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip</name>
<id>37</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.Список.StandardCommand.CopyToClipboard</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>11</id>
@@ -710,16 +844,16 @@
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>СписокКонтекстноеМенюКопироватьВБуферОбмена</name>
<id>12</id>
<name>СписокКонтекстноеМенюУдалить</name>
<id>76</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СписокКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip</name>
<id>37</id>
<name>СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка</name>
<id>77</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -727,7 +861,7 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Item.Список.StandardCommand.CopyToClipboard</commandName>
<commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -850,6 +984,55 @@
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations>
</extInfo>
</attributes>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>1</id>
<toolTip>
<key>ru</key>
<value>Удалить данные версии файла</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.DeleteDirectly</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Удалить</name>
</handler>
</action>
<associatedTableElementId xsi:type="core:StringValue">
<value>Список</value>
</associatedTableElementId>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ПоказыватьПомеченныеФайлы</name>
<title>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</title>
<id>2</id>
<toolTip>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПоказыватьПомеченныеФайлы</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -24,6 +24,8 @@
ЭлементОтбораДанных.ПравоеЗначение = Истина;
ЭлементОтбораДанных.Использование = Истина;
РаботаСФайламиСлужебный.УстановитьОтборПоПометкеУдаления(Список.Отбор);
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.СписокКомментарий.Видимость = Ложь;
КонецЕсли;
@@ -80,10 +82,61 @@
ОткрытьКарточкуФайла();
КонецПроцедуры
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
Если Элементы.Список.ТекущаяСтрока <> Неопределено Тогда
ИзменитьДоступностьКоманд();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
РаботаСФайламиСлужебныйКлиент.ИзменитьОтборПоПометкеУдаления(Список.Отбор, Элементы.ПоказыватьПомеченныеФайлы);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ИзменитьДоступностьКоманд()
АвторТекущийПользователь =
Элементы.Список.ТекущиеДанные.Автор = ПользователиКлиент.АвторизованныйПользователь();
Элементы.ФормаУдалить.Доступность = АвторТекущийПользователь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = АвторТекущийПользователь;
КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьКарточкуФайла()
@@ -104,5 +157,4 @@
Возврат ВыбраннаяСтрока.Владелец;
КонецФункции
#КонецОбласти
@@ -12,15 +12,11 @@
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если ДополнительныеСвойства.Свойство("КонвертацияФайлов") Тогда
Возврат;
КонецЕсли;
Если ДополнительныеСвойства.Свойство("РазмещениеФайловВТомах") Тогда
Если ОбменДанными.Загрузка
Или ДополнительныеСвойства.Свойство("УдалениеДанных")
Или ДополнительныеСвойства.Свойство("КонвертацияФайлов")
Или ДополнительныеСвойства.Свойство("РазмещениеФайловВТомах") Тогда
Возврат;
КонецЕсли;
@@ -2815,9 +2815,9 @@
ЗаголовокОшибки = НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных().'");
ИначеЕсли КоличествоОшибок = 1 Тогда
ЗаголовокОшибки = НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторыОбъектаМетаданных().'");
ЗаголовокОшибки = НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторыОбъектовМетаданных().'");
Иначе
ЗаголовокОшибки = НСтр("ru = 'Ошибки при выполнении функции ОбщегоНазначения.ИдентификаторыОбъектаМетаданных().'");
ЗаголовокОшибки = НСтр("ru = 'Ошибки при выполнении функции ОбщегоНазначения.ИдентификаторыОбъектовМетаданных().'");
КонецЕсли;
Разделитель = Символы.ПС + Символы.ПС;
@@ -497,7 +497,6 @@
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<indexing>Index</indexing>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="aa7d5ca4-3c02-4ca1-a790-2435ee9f9f02">
<name>Вид</name>
@@ -516,7 +515,6 @@
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<indexing>Index</indexing>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="b7e85f5c-4312-44c6-895a-3f636a8c78d8">
<name>Представление</name>
@@ -556,7 +554,6 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="1969e8d1-0a82-44cb-a0d4-e5badb1d28d4">
<name>Страна</name>
@@ -577,7 +574,6 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="a1afacc5-f49a-4df2-a44d-479594d50179">
<name>Регион</name>
@@ -598,7 +594,6 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="fe70eba3-7477-4a38-a511-d69960abb928">
<name>Город</name>
@@ -619,7 +614,6 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="6534ea96-2145-49e6-9739-f59459dc7f6b">
<name>АдресЭП</name>
@@ -640,7 +634,6 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="f49bffa0-cad6-4801-b82e-21aa580e72e6">
<name>ДоменноеИмяСервера</name>
@@ -661,7 +654,6 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="bbbfb817-8db3-4415-86c3-af028276d6e9">
<name>НомерТелефона</name>
@@ -682,7 +674,6 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="6a91112c-f6cc-47a0-9d26-a36c7702af7d">
<name>НомерТелефонаБезКодов</name>
@@ -703,7 +694,6 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="40a59681-f31d-4fb9-9301-67c1430590e0">
<name>ВидДляСписка</name>
@@ -721,7 +711,6 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
<attributes uuid="ae3358ad-ea3a-4b73-a305-02a152863978">
<name>Значение</name>
@@ -740,7 +729,6 @@
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
</tabularSections>
<forms uuid="cb92dc2e-6053-4233-a408-4464514b1257">
@@ -904,30 +904,23 @@
ОписанияПрофилей = Новый Массив;
// Описание для заполнения предопределенного профиля "Администратор".
ОписаниеПрофиляАдминистратор = УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа();
ЗаполнитьПрофильАдминистратор(ОписаниеПрофиляАдминистратор);
ОписанияПрофилей.Добавить(ОписаниеПрофиляАдминистратор);
ИнтеграцияПодсистемБСП.ПриЗаполненииПоставляемыхПрофилейГруппДоступа(
ОписанияПрофилей, ПараметрыОбновления);
УправлениеДоступомПереопределяемый.ПриЗаполненииПоставляемыхПрофилейГруппДоступа(
ОписанияПрофилей, ПараметрыОбновления);
// Описание для заполнения предопределенного профиля "Администратор".
ОписаниеПрофиляАдминистратор = УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа();
ОписаниеПрофиляАдминистратор.Имя = "Администратор";
ОписаниеПрофиляАдминистратор.Идентификатор = ИдентификаторПрофиляАдминистратор();
ОписаниеПрофиляАдминистратор.Наименование = НСтр("ru = 'Администратор'", ОбщегоНазначения.КодОсновногоЯзыка());
ОписаниеПрофиляАдминистратор.Роли.Добавить("АдминистраторСистемы");
ОписаниеПрофиляАдминистратор.Роли.Добавить("ПолныеПрава");
Если ОписанияПрофилей.Найти(ОписаниеПрофиляАдминистратор) = Неопределено Тогда
ОписанияПрофилей.Добавить(ОписаниеПрофиляАдминистратор);
КонецЕсли;
ОписаниеПрофиляАдминистратор.Описание =
НСтр("ru = 'Предназначен для:
|- настройки параметров работы и обслуживания информационной системы,
|- настройки прав доступа других пользователей,
|- удаления помеченных объектов,
|- в редких случаях для внесения изменений в конфигурацию.
|
|Рекомендуется не использовать для ""обычной"" работы в информационной системе.'");
ОписанияПрофилей.Добавить(ОписаниеПрофиляАдминистратор);
ЗаполнитьПрофильАдминистратор(ОписаниеПрофиляАдминистратор, Истина);
Если Не ОбщегоНазначения.РазделениеВключено() Тогда
ОписанияПрофилей.Добавить(
@@ -938,6 +931,34 @@
КонецФункции
// Для функции ЗаполненныеПоставляемыеПрофили.
Процедура ЗаполнитьПрофильАдминистратор(ОписаниеПрофиляАдминистратор, КромеОписания = Ложь)
Если КромеОписания Тогда
Описание = ОписаниеПрофиляАдминистратор.Описание;
Иначе
Описание =
НСтр("ru = 'Предназначен для:
|- настройки параметров работы и обслуживания информационной системы,
|- настройки прав доступа других пользователей,
|- удаления помеченных объектов,
|- в редких случаях для внесения изменений в конфигурацию.
|
|Рекомендуется не использовать для ""обычной"" работы в информационной системе.'");
КонецЕсли;
ЗаполнитьЗначенияСвойств(ОписаниеПрофиляАдминистратор,
УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа());
ОписаниеПрофиляАдминистратор.Имя = "Администратор";
ОписаниеПрофиляАдминистратор.Идентификатор = ИдентификаторПрофиляАдминистратор();
ОписаниеПрофиляАдминистратор.Наименование = НСтр("ru = 'Администратор'", ОбщегоНазначения.КодОсновногоЯзыка());
ОписаниеПрофиляАдминистратор.Роли.Добавить("АдминистраторСистемы");
ОписаниеПрофиляАдминистратор.Роли.Добавить("ПолныеПрава");
ОписаниеПрофиляАдминистратор.Описание = Описание;
КонецПроцедуры
Функция ПоставляемыеПрофили()
ЗаполненныеПоставляемыеПрофили = ЗаполненныеПоставляемыеПрофили();
@@ -1040,6 +1040,20 @@
<common>true</common>
</edit>
</columns>
<columns>
<name>МеждународноеНаименование</name>
<id>8</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<attributes>
<name>ПоляКлассификатора</name>
@@ -1095,12 +1109,31 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>РежимДобавления</name>
<id>6</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<parameters>
<name>ТекущаяСтрока</name>
<valueType>
<types>CatalogRef.СтраныМира</types>
</valueType>
</parameters>
<parameters>
<name>РежимДобавления</name>
<valueType>
<types>Boolean</types>
</valueType>
</parameters>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -15,9 +15,10 @@
РежимОткрытияОкна = Параметры.РежимОткрытияОкна
КонецЕсли;
Параметры.Свойство("РежимДобавления", РежимДобавления);
Параметры.Свойство("РежимВыбора", РежимВыбора);
Элементы.Классификатор.РежимВыбора = РежимВыбора;
ЗакрыватьПриВыборе = РежимВыбора;
// Служебные реквизиты
@@ -42,7 +43,7 @@
Элементы.КлассификаторКонтекстноеМенюИзменить.Видимость = ЕстьПравоРедактироватьСтраны;
Элементы.КлассификаторИзменить.Видимость = ЕстьПравоРедактироватьСтраны;
Элементы.Классификатор.ТолькоПросмотр = НЕ ЕстьПравоРедактироватьСтраны;
КонецПроцедуры
#КонецОбласти
@@ -143,10 +144,10 @@
ДанныеСтроки = Новый Структура(ПоляКлассификатора);
ЗаполнитьЗначенияСвойств(ДанныеСтроки, ВсеДанныеСтроки);
ДанныеВыбора = ДанныеВыбораЭлементаКлассификатора(ДанныеСтроки);
ДанныеВыбора = ДанныеВыбораЭлементаКлассификатора(ДанныеСтроки, ПоляКлассификатора);
Если ДанныеВыбора.ЭтоНовый Тогда
ОповеститьОСозданииЭлементов(ДанныеВыбора.Ссылка);
Иначе
ИначеЕсли РежимДобавления И ДанныеВыбора.ДанныеОтличаются Тогда
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("Ссылка", ДанныеВыбора.Ссылка);
ДополнительныеПараметры.Вставить("Данные", ДанныеСтроки);
@@ -169,6 +170,7 @@
ПерезаполнитьДанныеСтраны(ДополнительныеПараметры);
Оповестить("Справочник.СтраныМира.Изменение", ДополнительныеПараметры.Ссылка, ЭтотОбъект);
КонецЕсли;
Закрыть();
КонецПроцедуры
@@ -179,18 +181,40 @@
КонецПроцедуры
&НаСервереБезКонтекста
Функция ДанныеВыбораЭлементаКлассификатора(Знач СведенияОСтране)
Функция ДанныеВыбораЭлементаКлассификатора(Знач СведенияОСтране, ПоляКлассификатора)
Результат = Новый Структура;
Результат.Вставить("ЭтоНовый", Ложь);
Результат.Вставить("Ссылка", Неопределено);
Результат.Вставить("Код", СведенияОСтране.Код);
Результат.Вставить("ДанныеОтличаются", Ложь);
// Ищем только по коду, так как в классификаторе все коды заданы.
Ссылка = Справочники.СтраныМира.НайтиПоКоду(СведенияОСтране.Код);
ЭтоНовый = Не ЗначениеЗаполнено(Ссылка);
Если ЭтоНовый Тогда
Результат.ЭтоНовый = Не ЗначениеЗаполнено(Ссылка);
Если Результат.ЭтоНовый Тогда
Страна = Справочники.СтраныМира.СоздатьЭлемент();
ЗаполнитьЗначенияСвойств(Страна, СведенияОСтране);
Страна.Записать();
Ссылка = Страна.Ссылка;
Иначе
ЗначенияСправочника = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, ПоляКлассификатора);
Для каждого ЗначениеКлассификатора Из СведенияОСтране Цикл
Если ЗначениеКлассификатора.Значение <> ЗначенияСправочника[ЗначениеКлассификатора.Ключ] Тогда
Результат.ДанныеОтличаются = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат Новый Структура("Ссылка, ЭтоНовый, Код", Ссылка, ЭтоНовый, СведенияОСтране.Код);
Результат.Ссылка = Ссылка;
Возврат Результат;
КонецФункции
&НаСервереБезКонтекста
@@ -143,6 +143,7 @@
ПараметрыОткрытия.Вставить("ТекущаяСтрока", Элементы.Список.ТекущаяСтрока);
ПараметрыОткрытия.Вставить("РежимОткрытияОкна", РежимОткрытияОкна);
ПараметрыОткрытия.Вставить("ТекущаяСтрока", Элементы.Список.ТекущаяСтрока);
ПараметрыОткрытия.Вставить("РежимДобавления", Истина);
ПоказатьКлассификатор(ПараметрыОткрытия, Элементы.Список, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
@@ -153,7 +153,7 @@
// Регистрирует к обработке страны мира.
//
Процедура ЗаполнитьСписокСтранКОбработке(Параметры) Экспорт
Процедура ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию(Параметры) Экспорт
ЗначенияОКСМ = УправлениеКонтактнойИнформацией.СтраныУчастникиЕАЭС();
@@ -202,7 +202,7 @@
КонецПроцедуры
Процедура ОбновитьСтраныМираПоОКСМ(Параметры) Экспорт
Процедура ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры) Экспорт
СтранаМираСсылка = ОбновлениеИнформационнойБазы.ВыбратьСсылкиДляОбработки(Параметры.Очередь, "Справочник.СтраныМира");
@@ -2190,6 +2190,32 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>СписокКонтекстноеМенюУдалить</name>
<id>444</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка</name>
<id>445</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>72</id>
@@ -3459,32 +3485,6 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ФормаУстановитьПометкуУдаления</name>
<id>240</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка</name>
<id>241</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.SetDeletionMark</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>81</id>
@@ -3628,6 +3628,83 @@
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:FormGroup">
<name>ФормаГруппаУдаление</name>
<id>438</id>
<items xsi:type="form:Button">
<name>ФормаУстановитьПометкуУдаления</name>
<id>240</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка</name>
<id>241</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.StandardCommand.SetDeletionMark</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>440</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаУдалитьРасширеннаяПодсказка</name>
<id>441</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Форма группа удаление</value>
</title>
<extendedTooltip>
<name>ФормаГруппаУдалениеРасширеннаяПодсказка</name>
<id>439</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -3981,6 +4058,33 @@
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ПоказыватьПомеченныеФайлы</name>
<id>442</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПоказыватьПомеченныеФайлыРасширеннаяПодсказка</name>
<id>443</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПоказыватьПомеченныеФайлы</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ПоказыватьСлужебныеФайлы</name>
<id>432</id>
@@ -5261,6 +5365,55 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ПоказыватьПомеченныеФайлы</name>
<title>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</title>
<id>31</id>
<toolTip>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПоказыватьПомеченныеФайлы</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>32</id>
<toolTip>
<key>ru</key>
<value>Удалить данные версии файла</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.DeleteDirectly</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Удалить</name>
</handler>
</action>
<associatedTableElementId xsi:type="core:StringValue">
<value>Список</value>
</associatedTableElementId>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar>
@@ -91,7 +91,7 @@
ДатаУниверсальная = ТекущаяДатаСеанса();
Список.Параметры.УстановитьЗначениеПараметра("СекундДоМестногоВремени",
МестноеВремя(ДатаУниверсальная, ЧасовойПоясСеанса()) - ДатаУниверсальная);
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.Папки.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Авто;
Элементы.ФормаПодменюСоздать.Отображение = ОтображениеКнопки.Картинка;
@@ -786,6 +786,26 @@
КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
РаботаСФайламиСлужебныйКлиент.ИзменитьОтборПоПометкеУдаления(Список.Отбор, Элементы.ПоказыватьПомеченныеФайлы);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -1027,6 +1047,13 @@
КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
&НаСервере
Процедура ЗашифроватьСервер(МассивДанныхДляЗанесенияВБазу, МассивОтпечатков,
МассивФайловВРабочемКаталогеДляУдаления,
@@ -1350,6 +1377,12 @@
Элементы.Отправить.Доступность = Ложь;
Элементы.ФормаУстановитьПометкуУдаления.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = Ложь;
Элементы.ФормаУдалить.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = Ложь;
КонецПроцедуры
&НаКлиенте
@@ -1359,6 +1392,7 @@
Зашифрован = ДанныеКоманд.Зашифрован;
ПодписанЭП = ДанныеКоманд.ПодписанЭП;
Редактирует = ДанныеКоманд.Редактирует;
АвторТекущийПользователь = ДанныеКоманд.Автор = ПользователиКлиент.АвторизованныйПользователь();
РедактируетТекущийПользователь = ДанныеКоманд.ФайлРедактируетТекущийПользователь;
РедактируетДругой = ЗначениеЗаполнено(Редактирует) И НЕ РедактируетТекущийПользователь;
@@ -1414,6 +1448,19 @@
Элементы.Отправить.Доступность = Истина;
Элементы.СписокКонтекстноеМенюОтправить.Доступность = Истина;
Элементы.ФормаУстановитьПометкуУдаления.Доступность = ИзменениеФайлов;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = ИзменениеФайлов;
Элементы.ФормаУдалить.Доступность = ИзменениеФайлов
И АвторТекущийПользователь
И Не ЗначениеЗаполнено(Редактирует)
И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = ИзменениеФайлов
И АвторТекущийПользователь
И Не ЗначениеЗаполнено(Редактирует)
И Не ФайлыРедактируютсяВОблачномСервисе;
КонецПроцедуры
&НаСервере
@@ -519,18 +519,76 @@
<importance>Normal</importance>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>ФормаСтандартныеУстановитьПометкуУдаления</name>
<id>5</id>
<displayImportance>High</displayImportance>
<items xsi:type="form:FormGroup">
<name>ФормаГруппаУдаление</name>
<id>283</id>
<items xsi:type="form:Button">
<name>ФормаСтандартныеУстановитьПометкуУдаления</name>
<id>5</id>
<displayImportance>High</displayImportance>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаСтандартныеУстановитьПометкуУдаленияExtendedTooltip</name>
<id>61</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СтандартныеУстановитьПометкуУдаления</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ФормаУдалить</name>
<id>287</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаУдалитьРасширеннаяПодсказка</name>
<id>288</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Форма группа удаление</value>
</title>
<extendedTooltip>
<name>ФормаСтандартныеУстановитьПометкуУдаленияExtendedTooltip</name>
<id>61</id>
<name>ФормаГруппаУдалениеРасширеннаяПодсказка</name>
<id>284</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -538,14 +596,7 @@
<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>
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items>
<items xsi:type="form:FormGroup">
<name>ФормаГруппаДополнительныеКоманды</name>
@@ -4657,6 +4708,30 @@
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>4</id>
<toolTip>
<key>ru</key>
<value>Удалить данные версии файла</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.DeleteDirectly</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Удалить</name>
</handler>
</action>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>Ключ</name>
<valueType>
@@ -41,6 +41,9 @@
Элементы.Печать.Заголовок = НСтр("ru = 'Печать'");
КонецЕсли;
Элементы.ФормаУдалить.Видимость =
Объект.Автор = Пользователи.АвторизованныйПользователь();
ОбновитьЗаголовок();
ОбновитьПолныйПуть();
ОбновитьПояснениеОблачногоСервиса(Объект.Ссылка);
@@ -869,6 +872,14 @@
КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Неопределено, Объект.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -522,6 +522,32 @@
<contextMenu>
<name>НайденныеКонтактыКонтекстноеМеню</name>
<id>26</id>
<items xsi:type="form:Button">
<name>НайденныеКонтактыПросмотр</name>
<id>333</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>НайденныеКонтактыПросмотрРасширеннаяПодсказка</name>
<id>334</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>143</id>
@@ -1598,7 +1624,7 @@
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзСпискаВВыбранное</commandName>
<commandName>Form.Command.ВключитьВСписокПолучателей</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<placementArea>UserCmds</placementArea>
@@ -1653,7 +1679,7 @@
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзВыбранногоВСписокВсе</commandName>
<commandName>Form.Command.УдалитьВсехПолучателей</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -1680,7 +1706,7 @@
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзВыбранногоВСписок</commandName>
<commandName>Form.Command.УдалитьПолучателя</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -1798,7 +1824,7 @@
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзСпискаВВыбранное</commandName>
<commandName>Form.Command.ВключитьВСписокПолучателей</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -1855,7 +1881,7 @@
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзВыбранногоВСписок</commandName>
<commandName>Form.Command.УдалитьПолучателя</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -1885,7 +1911,7 @@
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзВыбранногоВСписокВсе</commandName>
<commandName>Form.Command.УдалитьВсехПолучателей</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -1942,7 +1968,7 @@
</extInfo>
</extendedTooltip>
<type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзСпискаВВыбранное</commandName>
<commandName>Form.Command.ВключитьВСписокПолучателей</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -2763,7 +2789,7 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.УстановитьАдресКонтакта</commandName>
<commandName>Form.Command.ВыбратьАдресИзКонтакта</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -3052,33 +3078,6 @@
<representation>Compact</representation>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>УстановитьАдресКонтакта1</name>
<id>324</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>УстановитьАдресКонтакта1РасширеннаяПодсказка</name>
<id>325</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>PictureAndText</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
@@ -3722,12 +3721,12 @@
<name>УстановитьКонтактИзСпискаПредметов</name>
<title>
<key>ru</key>
<value>Установить контакт в получателях</value>
<value>Выбрать адрес, указанный в контакте</value>
</title>
<id>6</id>
<toolTip>
<key>ru</key>
<value>Установить контакт в списке получателей</value>
<value>Выбрать адрес из контакта</value>
</toolTip>
<use>
<common>true</common>
@@ -3880,15 +3879,15 @@
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>УстановитьАдресКонтакта</name>
<name>ВыбратьАдресИзКонтакта</name>
<title>
<key>ru</key>
<value>Установить адрес контакта</value>
<value>Выбрать адрес, указанный в контакте</value>
</title>
<id>13</id>
<toolTip>
<key>ru</key>
<value>Установить адрес контакта</value>
<value>Выбрать адрес из контакта</value>
</toolTip>
<use>
<common>true</common>
@@ -3930,7 +3929,7 @@
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ПереместитьИзВыбранногоВСписок</name>
<name>УдалитьПолучателя</name>
<title>
<key>ru</key>
<value>&lt;</value>
@@ -3945,7 +3944,7 @@
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПереместитьИзВыбранногоВСписок</name>
<name>УдалитьПолучателя</name>
</handler>
</action>
<representation>Text</representation>
@@ -3953,7 +3952,7 @@
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ПереместитьИзВыбранногоВСписокВсе</name>
<name>УдалитьВсехПолучателей</name>
<title>
<key>ru</key>
<value>&lt;&lt;</value>
@@ -3968,7 +3967,7 @@
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПереместитьИзВыбранногоВСписокВсе</name>
<name>УдалитьВсехПолучателей</name>
</handler>
</action>
<representation>Text</representation>
@@ -3976,7 +3975,7 @@
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ПереместитьИзСпискаВВыбранное</name>
<name>ВключитьВСписокПолучателей</name>
<title>
<key>ru</key>
<value>></value>
@@ -3991,7 +3990,7 @@
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПереместитьИзСпискаВВыбранное</name>
<name>ВключитьВСписокПолучателей</name>
</handler>
</action>
<currentRowUse>DontUse</currentRowUse>
@@ -357,12 +357,22 @@
Процедура УстановитьАдресКонтактаВыполнить()
ТекущиеДанные = Элементы.ПолучателиПисьма.ТекущиеДанные;
Если ТекущиеДанные = Неопределено ИЛИ Не ЗначениеЗаполнено(ТекущиеДанные.Контакт) Тогда
Если ТекущиеДанные = Неопределено Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Необходимо выбрать адрес получателя в списке справа.'"));
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(ТекущиеДанные.Контакт) Тогда
КонтактНачалоВыбора(Элементы.ПолучателиПисьма, Неопределено, Истина);
Возврат;
КонецЕсли;
Результат = ВзаимодействияВызовСервера.ПолучитьАдресаЭлектроннойПочтыКонтакта(ТекущиеДанные.Контакт);
Если Результат.Количество() = 0 Тогда
ПоказатьПредупреждение(,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'У контакта ""%1"" нет адресов электронной почты.'"),
ТекущиеДанные.Контакт));
Возврат;
КонецЕсли;
@@ -403,38 +413,31 @@
КонецПроцедуры
&НаКлиенте
Процедура ПереместитьИзВыбранногоВСписокВсе(Команда)
Процедура УдалитьВсехПолучателей(Команда)
ПолучателиПисьма.Очистить();
КонецПроцедуры
&НаКлиенте
Процедура ПереместитьИзВыбранногоВСписок(Команда)
Процедура УдалитьПолучателя(Команда)
ВыделенныеСтроки = Элементы.ПолучателиПисьма.ВыделенныеСтроки;
Для каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
ПолучателиПисьма.Удалить(ПолучателиПисьма.НайтиПоИдентификатору(ВыделеннаяСтрока));
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ПереместитьИзСпискаВВыбранное(Команда)
Процедура ВключитьВСписокПолучателей(Команда)
Если Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов Тогда
Для каждого ВыделеннаяСтрока Из Элементы.НайденныеКонтакты.ВыделенныеСтроки Цикл
ДанныеСтроки = Элементы.НайденныеКонтакты.ДанныеСтроки(ВыделеннаяСтрока);
ДобавитьПолучателя(ДанныеСтроки.Представление, ДанныеСтроки.НаименованиеКонтакта, ДанныеСтроки.Ссылка);
КонецЦикла;
Возврат;
КонецЕсли;
НомерЭлементаФормы = Неопределено;
@@ -446,21 +449,15 @@
ИначеЕсли Элементы.СтраницыСписки.ТекущаяСтраница.ПодчиненныеЭлементы.Количество() = 2 Тогда
Если ТекущийЭлемент.Имя = "ПереместитьИзВерхнегоСпискаВВыбранное" Тогда
НомерЭлементаФормы = 0;
Иначе
НомерЭлементаФормы = 1;
КонецЕсли;
КонецЕсли;
Если НомерЭлементаФормы = Неопределено Тогда
Возврат;
КонецЕсли;
ПеренестиВыделенныеСтроки(
@@ -567,7 +564,7 @@
Если табПолучатели.Количество() > 0 Тогда
ТаблицаАдресов =
Взаимодействия.ПолучитьАдресаЭлектроннойПочтыДляМассиваКонтактов(табПолучатели.ВыгрузитьКолонку("Контакт"));
Взаимодействия.АдресаЭлектроннойПочтыКонтактов(табПолучатели.ВыгрузитьКолонку("Контакт"));
Запрос = Новый Запрос;
Запрос.Текст = "
@@ -613,22 +610,10 @@
КонецПроцедуры
// Добавляет строку в таблицу "Получатели письма" и заполняет ее согласно переданным параметрам.
//
// Параметры:
// Адрес - Строка - адрес электронной почты.
// Наименование - Строка - Представление адресата.
// Контакт - СправочникСсылка - контакт получатель.
//
&НаКлиенте
Процедура ДобавитьПолучателя(Адрес, Наименование, Контакт, СписокАдресов = "")
Для Индекс = 0 По ПолучателиПисьма.Количество() - 1 Цикл
ПолучательПисьма = ПолучателиПисьма[ПолучателиПисьма.Количество() - Индекс - 1];
Если ПустаяСтрока(ПолучательПисьма.Адрес) И ПустаяСтрока(ПолучательПисьма.Представление) И Не ЗначениеЗаполнено(ПолучательПисьма.Контакт) Тогда
ПолучателиПисьма.Удалить(Индекс);
КонецЕсли;
КонецЦикла;
УдалитьПустогоПолучателя(ПолучателиПисьма);
НоваяСтрока = ПолучателиПисьма.Добавить();
НоваяСтрока.Адрес = Адрес;
@@ -639,8 +624,20 @@
КонецПроцедуры
// Добавляет в таблицу получателей письма выбранную строку из списка "Контакты по предмету".
//
&НаКлиентеНаСервереБезКонтекста
Процедура УдалитьПустогоПолучателя(ПолучателиПисьма)
Если ПолучателиПисьма.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ПолучательПисьма = ПолучателиПисьма[0];
Если ПустаяСтрока(ПолучательПисьма.Адрес) И ПустаяСтрока(ПолучательПисьма.Представление) И Не ЗначениеЗаполнено(ПолучательПисьма.Контакт) Тогда
ПолучателиПисьма.Удалить(0);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьПолучателяИзСпискаПоПредмету()
@@ -660,11 +657,6 @@
КонецПроцедуры
// Позиционируется на заданном контакте в списке получателей письма.
//
// Параметры:
// Контакт - СправочникСсылка - контакт, на котором необходимо спозиционироваться.
//
&НаКлиенте
Процедура УстановитьКонтактВСпискеПолучателей(Контакт)
@@ -674,11 +666,6 @@
КонецПроцедуры
// Устанавливает текущим контакт в соответствующем динамическом списке.
//
// Параметры:
// Контакт - СправочникСсылка - контакт, на котором необходимо спозиционироваться.
//
&НаСервере
Процедура УстановитьТекущимКонтакт(Контакт)
@@ -697,11 +684,11 @@
КонецПроцедуры
&НаСервере
Процедура ПеренестиВыделенныеСтроки(ЗНАЧ ВыделенныеСтроки)
Процедура ПеренестиВыделенныеСтроки(Знач ВыделенныеСтроки)
Результат = Взаимодействия.ПолучитьАдресаЭлектроннойПочтыДляМассиваКонтактов(ВыделенныеСтроки, ГруппаПоУмолчанию);
Результат = Взаимодействия.АдресаЭлектроннойПочтыКонтактов(ВыделенныеСтроки, ГруппаПоУмолчанию);
Если Результат <> Неопределено Тогда
УдалитьПустогоПолучателя(ПолучателиПисьма);
ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(Результат, ПолучателиПисьма);
КонецЕсли;
@@ -296,10 +296,10 @@
//
// Возвращаемое значение:
// Структура - описание свойств элемента списка значений, где:
// * Идентификатор - Число - идентификатор строки таблицы формы.
// * Пометка - Булево - признак того, что элемент списка значений выбран.
// * Значение - Неопределено - значение списка значений.
// * Представление - Строка - представление элемента списка значений.
// * Идентификатор - Число -
// * Пометка - Булево -
// * Значение - Неопределено -
// * Представление - Строка -
//
&НаКлиенте
Функция ЭлементСпискаДоНачалаИзменения()
@@ -708,7 +708,6 @@
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:LabelFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<height>4</height>
</extInfo>
</items>
<items xsi:type="form:FormField">
@@ -3518,12 +3518,19 @@
ОтчетыКлиентСервер.ЗаполнитьСвойстваРекурсивно(СвойствоЭлементаСтруктуры, ЭлементНастройки, Результат.ЭлементКД);
ЭлементНастройки.ИдентификаторПользовательскойНастройки = Новый УникальныйИдентификатор;
ЭлементНастройки.Представление = Результат.Наименование;
Если Не ЗначениеЗаполнено(ЭлементНастройки.ПредставлениеПользовательскойНастройки) Тогда
ЭлементНастройки.Представление = Результат.Наименование;
КонецЕсли;
Строка.Идентификатор = СвойствоЭлементаСтруктуры.ПолучитьИдентификаторПоОбъекту(ЭлементНастройки);
Строка.Использование = ЭлементНастройки.Использование;
Строка.Заголовок = Результат.Наименование;
Строка.Представление = Результат.Наименование;
Если Не ЗначениеЗаполнено(ЭлементНастройки.ПредставлениеПользовательскойНастройки) Тогда
Строка.Представление = Результат.Наименование;
КонецЕсли;
Строка.ЭтоПредопределенныйЗаголовок = (Строка.Заголовок = Строка.Представление);
Если Строка.ЭтоПредопределенныйЗаголовок Тогда
@@ -4676,8 +4683,9 @@
Отчет.КомпоновщикНастроек, КлючСвойства, ИдентификаторЭлементаСтруктурыНастроек, РасширенныйРежим);
ЭлементНастройки = ЭлементНастройки(СвойствоЭлементаСтруктуры, Строка);
Если Тип(ЭлементНастройки) <> Тип("КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных")
И Тип(ЭлементНастройки) <> Тип("КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных") Тогда
Если ТипЗнч(ЭлементНастройки) <> Тип("НастройкиКомпоновкиДанных")
И ТипЗнч(ЭлементНастройки) <> Тип("КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных")
И ТипЗнч(ЭлементНастройки) <> Тип("КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных") Тогда
ЭлементНастройки.Использование = Использование;
КонецЕсли;
@@ -251,7 +251,7 @@
КонецЕсли;
ИначеЕсли ТипЗнч(ПодчиненнаяФорма) = Тип("КонструкторСхемыКомпоновкиДанных") Тогда
#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
Если Тип(Результат) = Тип("СхемаКомпоновкиДанных") Тогда
Если ТипЗнч(Результат) = Тип("СхемаКомпоновкиДанных") Тогда
НастройкиОтчета.АдресСхемы = ПоместитьВоВременноеХранилище(Результат, УникальныйИдентификатор);
Путь = ПолучитьИмяВременногоФайла();
@@ -1547,8 +1547,6 @@
ДоступныеНастройки = ОтчетыСервер.ДоступныеНастройки(ПараметрыЗагрузки, НастройкиОтчета);
ПрименитьПредопределенныеНастройки(ДоступныеНастройки.Настройки);
СброситьНастройкиВарианта = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
ПараметрыЗагрузки, "СброситьНастройкиВарианта", Ложь);
Если СброситьНастройкиВарианта Тогда
@@ -1646,26 +1644,6 @@
ПараметрыЗагрузки.Вставить("ОтчетОбъектИлиПолноеИмя", НастройкиОтчета.ПолноеИмя);
КонецПроцедуры
&НаСервере
Процедура ПрименитьПредопределенныеНастройки(Настройки)
Если Настройки = Неопределено
Или Не РежимВариантаОтчета()
Или ВариантМодифицирован
Или ТекущийЯзык() = Метаданные.ОсновнойЯзык Тогда
Возврат;
КонецЕсли;
ЭтоПредопределенный = Не НастройкиОтчета.Внешний
И Не НастройкиОтчета.Пользовательский
И (НастройкиОтчета.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний
Или НастройкиОтчета.ТипОтчета = Перечисления.ТипыОтчетов.Расширение)
И ЗначениеЗаполнено(НастройкиОтчета.ПредопределенныйСсылка);
Если ЭтоПредопределенный Тогда
Настройки = Отчет.КомпоновщикНастроек.Настройки;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловияОтборов(ПараметрыЗагрузки)
УсловияОтборов = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПараметрыЗагрузки, "УсловияОтборов");
@@ -26,28 +26,24 @@
COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера(
COMСоединитель,
СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер(
СоединениеСАгентомСервера,
Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер);
СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ(
СоединениеСРабочимПроцессом,
Кластер,
ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
Результат = ОписаниеОбъектаОбъектнойМоделиCOMАдминистратора(
ИнформационнаяБаза,
ИБ.ИнформационнаяБаза,
СловарьСвойствБлокировкиСеансовИРегламентныхЗаданий());
Если Результат.ДатаС = АдминистрированиеКластера.ПустаяДата() Тогда
@@ -101,32 +97,27 @@
COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера(
COMСоединитель,
СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер(
СоединениеСАгентомСервера,
Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер);
СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ(
СоединениеСРабочимПроцессом,
Кластер,
ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
ЗаполнитьСвойстваОбъектаОбъектнойМоделиCOMАдминистратораПоОписанию(
ИнформационнаяБаза,
ЗаполнитьСвойстваОбъектаОбъектнойМоделиCOMАдминистратораПоОписанию(ИБ.ИнформационнаяБаза,
УстанавливаемаяБлокировка,
СловарьСвойствБлокировкиСеансовИРегламентныхЗаданий());
СоединениеСРабочимПроцессом.UpdateInfoBase(ИнформационнаяБаза);
ИБ.СоединениеСРабочимПроцессом.UpdateInfoBase(ИБ.ИнформационнаяБаза);
КонецПроцедуры
@@ -151,28 +142,28 @@
Попытка
COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера(
COMСоединитель,
СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер(
СоединениеСАгентомСервера,
Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
Исключение
Если ОбщегоНазначения.ЭтоWindowsСервер() Тогда
ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось подключиться к кластеру серверов по причине:
|%1
НСтр("ru = 'Не удалось подключиться с компьютера %1 к кластеру серверов по причине:
|%2
|
|Если в тексте ошибки указано, что ""класс не зарегистрирован"" или не совпадает версия компоненты ""comcntr"" с требуемой,
|то следует зарегистрировать ее на компьютере %2, для этого обратитесь к администратору.'"),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()),
ИмяКомпьютера());
|то следует зарегистрировать ее на компьютере %1, для этого обратитесь к администратору.'"),
ИмяКомпьютера(), КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
Иначе
ТекстИсключения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось подключиться с компьютера %1 к кластеру серверов по причине:
|%2.'"),
ИмяКомпьютера(), КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецЕсли;
ВызватьИсключение ТекстИсключения
@@ -183,10 +174,9 @@
Если ПроверятьПараметрыАдминистрированияИнформационнойБазы Тогда
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер);
СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ПолучитьИБ(СоединениеСРабочимПроцессом,
Кластер,
ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
@@ -214,27 +204,23 @@
COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера(
COMСоединитель,
СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер(
СоединениеСАгентомСервера,
Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер);
СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ(
СоединениеСРабочимПроцессом,
Кластер,
ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
Возврат ИнформационнаяБаза.ScheduledJobsDenied;
Возврат ИБ.ИнформационнаяБаза.ScheduledJobsDenied;
КонецФункции
@@ -256,23 +242,20 @@
ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер(
СоединениеСАгентомСервера,
Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер);
СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ(
СоединениеСРабочимПроцессом,
Кластер,
ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
ИнформационнаяБаза.ScheduledJobsDenied = БлокировкаРегламентныхЗаданий;
СоединениеСРабочимПроцессом.UpdateInfoBase(ИнформационнаяБаза);
ИБ.ИнформационнаяБаза.ScheduledJobsDenied = БлокировкаРегламентныхЗаданий;
ИБ.СоединениеСРабочимПроцессом.UpdateInfoBase(ИБ.ИнформационнаяБаза);
КонецПроцедуры
@@ -648,38 +631,28 @@
COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера(
COMСоединитель,
СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер(
СоединениеСАгентомСервера,
Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер);
СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ(
СоединениеСРабочимПроцессом,
Кластер,
ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
Если ЗначениеЗаполнено(ИнформационнаяБаза.SecurityProfileName) Тогда
Результат = ИнформационнаяБаза.SecurityProfileName;
Если ЗначениеЗаполнено(ИБ.ИнформационнаяБаза.SecurityProfileName) Тогда
Результат = ИБ.ИнформационнаяБаза.SecurityProfileName;
Иначе
Результат = "";
КонецЕсли;
ИнформационнаяБаза = Неопределено;
СоединениеСРабочимПроцессом = Неопределено;
Кластер = Неопределено;
СоединениеСАгентомСервера = Неопределено;
COMСоединитель = Неопределено;
Возврат Результат;
КонецФункции
@@ -701,38 +674,28 @@
COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера(
COMСоединитель,
СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер(
СоединениеСАгентомСервера,
Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер);
СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ(
СоединениеСРабочимПроцессом,
Кластер,
ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
Если ЗначениеЗаполнено(ИнформационнаяБаза.SafeModeSecurityProfileName) Тогда
Результат = ИнформационнаяБаза.SafeModeSecurityProfileName;
Если ЗначениеЗаполнено(ИБ.ИнформационнаяБаза.SafeModeSecurityProfileName) Тогда
Результат = ИБ.ИнформационнаяБаза.SafeModeSecurityProfileName;
Иначе
Результат = "";
КонецЕсли;
ИнформационнаяБаза = Неопределено;
СоединениеСРабочимПроцессом = Неопределено;
Кластер = Неопределено;
СоединениеСАгентомСервера = Неопределено;
COMСоединитель = Неопределено;
Возврат Результат;
КонецФункции
@@ -751,35 +714,24 @@
COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера(
COMСоединитель,
СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер(
СоединениеСАгентомСервера,
Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер);
СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ(
СоединениеСРабочимПроцессом,
Кластер,
ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
ИнформационнаяБаза.SecurityProfileName = ИмяПрофиля;
СоединениеСРабочимПроцессом.UpdateInfoBase(ИнформационнаяБаза);
ИнформационнаяБаза = Неопределено;
СоединениеСРабочимПроцессом = Неопределено;
Кластер = Неопределено;
СоединениеСАгентомСервера = Неопределено;
COMСоединитель = Неопределено
ИБ.ИнформационнаяБаза.SecurityProfileName = ИмяПрофиля;
ИБ.СоединениеСРабочимПроцессом.UpdateInfoBase(ИБ.ИнформационнаяБаза);
КонецПроцедуры
@@ -797,35 +749,24 @@
COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера(
COMСоединитель,
СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер(
СоединениеСАгентомСервера,
Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер);
СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ(
СоединениеСРабочимПроцессом,
Кластер,
ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
ИнформационнаяБаза.SafeModeSecurityProfileName = ИмяПрофиля;
СоединениеСРабочимПроцессом.UpdateInfoBase(ИнформационнаяБаза);
ИнформационнаяБаза = Неопределено;
СоединениеСРабочимПроцессом = Неопределено;
Кластер = Неопределено;
СоединениеСАгентомСервера = Неопределено;
COMСоединитель = Неопределено
ИБ.ИнформационнаяБаза.SafeModeSecurityProfileName = ИмяПрофиля;
ИБ.СоединениеСРабочимПроцессом.UpdateInfoBase(ИБ.ИнформационнаяБаза);
КонецПроцедуры
@@ -1098,7 +1039,7 @@
КонецФункции
// Устанавливает соединение с рабочим процессом.
// Устанавливает соединения с рабочими процессами.
//
// Параметры:
// COMСоединитель - COMОбъект, com-объект V8*.ComConnector.
@@ -1106,21 +1047,26 @@
// Кластер - COMОбъект - com-объект, реализующий интерфейс IClusterInfo.
//
// Возвращаемое значение:
// COMОбъект - com-объект, реализующий интерфейс IV8ServerConnection.
// Массив Из COMОбъект - com-объекты, реализующие интерфейс IV8ServerConnection.
//
Функция СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер)
Функция СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер)
Результат = Новый Массив;
Для Каждого РабочийПроцесс Из СоединениеСАгентомСервера.GetWorkingProcesses(Кластер) Цикл
Если РабочийПроцесс.Running И РабочийПроцесс.IsEnable Тогда
СтрокаСоединенияСРабочимПроцессом = РабочийПроцесс.HostName + ":" + Формат(РабочийПроцесс.MainPort, "ЧГ=");
Возврат COMСоединитель.ConnectWorkingProcess(СтрокаСоединенияСРабочимПроцессом);
Результат.Добавить(COMСоединитель.ConnectWorkingProcess(СтрокаСоединенияСРабочимПроцессом));
КонецЕсли;
КонецЦикла;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В кластере серверов %1:%2 не найдено активных рабочих процессов.'"),
Кластер.HostName,
Формат(Кластер.MainPort, "ЧГ=0"));
Если Результат.Количество() = 0 Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В кластере серверов %1:%2 не найдено активных рабочих процессов.'"),
Кластер.HostName,
Формат(Кластер.MainPort, "ЧГ=0"));
КонецЕсли;
Возврат Результат;
КонецФункции
// Возвращает описание информационной базы.
@@ -1151,40 +1097,53 @@
// Возвращает информационную базу.
//
// Параметры:
// СоединениеСРабочимПроцессом - COMОбъект - com-объект, реализующий интерфейс IV8ServerConnection.
// СоединенияСРабочимиПроцессами - Массив Из COMОбъект - com-объекты, реализующие интерфейс IV8ServerConnection.
// Кластер - COMОбъект - com-объект, реализующий интерфейс IClusterInfo.
// ИмяВКластере - Строка - имя информационной базы в кластере серверов.
// ИмяАдминистратораИБ - Строка - имя администратора информационной базы.
// ПарольАдминистратораИБ - Строка - пароль администратора информационной базы.
//
// Возвращаемое значение:
// COMОбъект - com-объект, реализующий интерфейс IInfoBaseInfo.
// Структура - со свойствами:
// * ИнформационнаяБаза - COMОбъект - com-объект, реализующий интерфейс IInfoBaseInfo.
// * СоединениеСРабочимПроцессом - COMОбъект - com-объект, реализующий интерфейс IV8ServerConnection.
//
Функция ПолучитьИБ(СоединениеСРабочимПроцессом, Кластер, Знач ИмяВКластере, Знач ИмяАдминистратораИБ, Знач ПарольАдминистратораИБ)
Функция ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер, Знач ИмяВКластере, Знач ИмяАдминистратораИБ, Знач ПарольАдминистратораИБ)
СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминистратораИБ, ПарольАдминистратораИБ);
ИнформационнаяБазаНайдена = Ложь;
Для Каждого СоединениеСРабочимПроцессом Из СоединенияСРабочимиПроцессами Цикл
СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминистратораИБ, ПарольАдминистратораИБ);
Для Каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл
Если НРег(ИнформационнаяБаза.Name) = НРег(ИмяВКластере) Тогда
Если Не ЗначениеЗаполнено(ИнформационнаяБаза.DBMS) Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Неправильные имя и пароль администратора информационной базы %1 в кластере серверов %2:%3 (имя: ""%4"").'"),
ИмяВКластере,
Кластер.HostName,
Кластер.MainPort,
ИмяАдминистратораИБ);
КонецЕсли;
Возврат ИнформационнаяБаза;
Для Каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл
КонецЕсли;
Если НРег(ИнформационнаяБаза.Name) <> НРег(ИмяВКластере) Тогда
Продолжить;
КонецЕсли;
ИнформационнаяБазаНайдена = Истина;
Если Не ЗначениеЗаполнено(ИнформационнаяБаза.DBMS) Тогда
Продолжить;
КонецЕсли;
Результат = Новый Структура("ИнформационнаяБаза, СоединениеСРабочимПроцессом");
Результат.ИнформационнаяБаза = ИнформационнаяБаза;
Результат.СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом;
Возврат Результат;
КонецЦикла;
КонецЦикла;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В кластере серверов %1:%2 не найдена информационная база ""%3""'"),
Кластер.HostName,
Формат(Кластер.MainPort, "ЧГ=0"),
ИмяВКластере);
Если ИнформационнаяБазаНайдена Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неправильные имя и пароль администратора информационной базы %1 в кластере серверов %2:%3 (имя: ""%4"").'"),
ИмяВКластере, Кластер.HostName, Кластер.MainPort, ИмяАдминистратораИБ);
Иначе
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В кластере серверов %1:%2 не найдена информационная база ""%3""'"),
Кластер.HostName, Формат(Кластер.MainPort, "ЧГ=0"), ИмяВКластере);
КонецЕсли;
КонецФункции
// Возвращает сеансы информационной базы.
@@ -92,17 +92,15 @@
СвойстваРабочихПроцессов(ИдентификаторКластера, ПараметрыАдминистрированияКластера);
Исключение
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1
|
|Если на компьютере %2 не запущен сервер администрирования (ras),
|следует его запустить.
|
|Например:
|""%3"" cluster --port=%4 %5:%6
|
|В противном случае следует проверить параметры подключения и сетевого экрана.'"),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()),
ИмяКомпьютера(),
НСтр("ru = 'Не удалось подключиться с компьютера %1 к кластеру серверов по причине:
|%2
|
|Если на компьютере %1 не запущен сервер администрирования (ras), следует его запустить.
|Например:
|""%3"" cluster --port=%4 %5:%6
|
|Также рекомендуется проверить параметры подключения и сетевого экрана.'"),
ИмяКомпьютера(), КраткоеПредставлениеОшибки(ИнформацияОбОшибке()),
КаталогПрограммы() + ?(ОбщегоНазначения.ЭтоWindowsСервер(), "ras.exe", "ras"),
XMLСтрока(ПараметрыАдминистрированияКластера.ПортСервераАдминистрирования),
ПараметрыАдминистрированияКластера.АдресАгентаСервера,
@@ -31,7 +31,7 @@
Возврат Новый Структура();
КонецЕсли;
ТипБизнесПроцесса = Реквизиты.БизнесПроцесс.Метаданные();
ТипБизнесПроцесса = Реквизиты.БизнесПроцесс.Метаданные(); // ОбъектМетаданныхБизнесПроцесс
ПараметрыФормы = БизнесПроцессы[ТипБизнесПроцесса.Имя].ФормаВыполненияЗадачи(ЗадачаСсылка,
Реквизиты.ТочкаМаршрута);
БизнесПроцессыИЗадачиПереопределяемый.ПриПолученииФормыВыполненияЗадачи(
@@ -54,7 +54,7 @@
//
Функция ЭтоЗадачаИсполнителю(Знач Расшифровка, Знач ДанныеРасшифровкиОтчета, ЗначениеРасшифровки) Экспорт
ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровкиОтчета);
ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровкиОтчета); // ДанныеРасшифровкиКомпоновкиДанных
ЗначениеРасшифровки = ДанныеРасшифровкиОбъект.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;
Возврат ТипЗнч(ЗначениеРасшифровки) = Тип("ЗадачаСсылка.ЗадачаИсполнителя");
@@ -582,4 +582,4 @@
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -79,7 +79,8 @@
// Предназначена для вызова из формы бизнес-процесса.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма бизнес-процесса.
// Форма - ФормаКлиентскогоПриложения, РасширениеУправляемойФормыДляОбъектов - форма бизнес-процесса, где:
// * Объект - БизнесПроцессОбъект - бизнес-процесс.
//
Процедура ОстановитьБизнесПроцессИзФормыОбъекта(Форма) Экспорт
Форма.Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияБизнесПроцессов.Остановлен");
@@ -150,7 +151,8 @@
// Предназначена для вызова из формы бизнес-процесса.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма бизнес-процесса.
// Форма - ФормаКлиентскогоПриложения, РасширениеУправляемойФормыДляОбъектов - форма бизнес-процесса, где:
// * Объект - БизнесПроцессОбъект - бизнес-процесс.
//
Процедура ПродолжитьБизнесПроцессИзФормыОбъекта(Форма) Экспорт
@@ -195,7 +197,8 @@
// Отмечает указанную задачу как принятую к исполнению.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - Форма задачи.
// Форма - ФормаКлиентскогоПриложения, РасширениеУправляемойФормыДляОбъектов - Форма задачи, где:
// * Объект - ЗадачаОбъект - задача.
// ТекущийПользователь - СправочникСсылка.ВнешниеПользователи, СправочникСсылка.Пользователи - ссылка на текущего
// пользователя программы.
//
@@ -248,7 +251,8 @@
// Отмечает указанную задачу как не принятую к исполнению.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - Форма задачи.
// Форма - ФормаКлиентскогоПриложения, РасширениеУправляемойФормыДляОбъектов - Форма задачи, где:
// * Объект - ЗадачаОбъект - задача.
//
Процедура ОтменитьПринятиеЗадачиКИсполнению(Форма) Экспорт
@@ -268,7 +272,10 @@
// Устанавливает доступность команд принятия к исполнению.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - Форма задачи.
// Форма - ФормаКлиентскогоПриложения - Форма задачи, где:
// * Элементы - ВсеЭлементыФормы - элементы формы. Содержит:
// ** ФормаПринятьКИсполнению - ПолеВвода - кнопка команды на форме.
// ** ФормаОтменитьПринятиеКИсполнению - ПолеВвода - кнопка команды на форме.
//
Процедура ОбновитьДоступностьКомандПринятияКИсполнению(Форма) Экспорт
@@ -322,7 +329,8 @@
// Для вызова из обработчика события формы ОбработкаОповещения.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - Форма выполнения задачи.
// Форма - ФормаКлиентскогоПриложения - Форма выполнения задачи, где:
// * Объект - ЗадачаОбъект - задача объект.
// ИмяСобытия - Строка - Имя события.
// Параметр - Произвольный - Параметр события.
// Источник - Произвольный - Источник события.
@@ -347,7 +355,7 @@
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - Форма задачи.
// Элемент - Произвольный - Элементы таблицы формы.
// Элемент - ТаблицаФормы - Элементы таблицы формы.
// Отказ - Булево - Признак отказа от добавления объекта. Если в теле процедуры-обработчика установить данному
// параметру значение Истина, то добавление объекта выполнено не будет.
// Копирование - Булево - Определяет режим копирования. Если установлено Истина, то происходит копирование строки.
@@ -372,7 +380,8 @@
// Записать и закрыть форму выполнения задачи.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма выполнения задачи.
// Форма - ФормаКлиентскогоПриложения - форма выполнения задачи, где:
// * Объект - ЗадачаОбъект - задача бизнес-процесса.
// ВыполнитьЗадачу - Булево - задача записывается в режиме выполнения.
// ПараметрыОповещения - Структура - дополнительные параметры оповещения.
//
@@ -654,4 +663,4 @@
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -15,7 +15,7 @@
//
// Параметры:
// МенеджерОбъекта - БизнесПроцессМенеджер - Менеджер бизнес процесса.
// Поля - Структура - Поля, из которых формируется представление бизнес-процесса.
// Поля - Массив - Поля, из которых формируется представление бизнес-процесса.
// СтандартнаяОбработка - Булево - если установить Ложь, то стандартная обработка заполнения не будет
// выполнена.
//
@@ -35,7 +35,7 @@
//
// Параметры:
// МенеджерОбъекта - БизнесПроцессМенеджер - Менеджер бизнес процесса.
// Данные - Структура - Поля, из которых формируется представление бизнес процесса.
// Данные - Структура - Поля, из которых формируется представление бизнес процесса:
// Представление - Строка - Представление бизнес процесса.
// СтандартнаяОбработка - Булево - Если установить Ложь, то стандартная обработка заполнения не будет
// выполнена.
@@ -64,7 +64,8 @@
//
// Параметры:
// МенеджерОбъекта - БизнесПроцессМенеджер - Менеджер бизнес процесса.
// Данные - Структура - Поля, из которых формируется представление бизнес процесса.
// Данные - Структура - Поля, из которых формируется представление бизнес процесса, где:
// * Наименование - Строка - Наименование бизнес-процесса.
// Дата - Дата - Дата создания бизнес процесса.
// Представление - Строка - Представление бизнес процесса.
// СтандартнаяОбработка - Булево - Если установить Ложь, то стандартная обработка заполнения не будет
@@ -80,6 +81,4 @@
КонецПроцедуры
#КонецОбласти
#КонецОбласти
File diff suppressed because it is too large. Load diff
@@ -203,6 +203,12 @@
КонецПроцедуры
// Процедура обслуживает событие реквизита ДеревоПодсистем в формах редактирования.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма, в которой редактируется дерево подсистем, где:
// * Элементы - ВсеЭлементыФормы - см. Синтакс-помощник.
// Элемент - ПолеФормы - поле признака использования.
//
Процедура ДеревоПодсистемИспользованиеПриИзменении(Форма, Элемент) Экспорт
СтрокаДерева = Форма.Элементы.ДеревоПодсистем.ТекущиеДанные;
Если СтрокаДерева = Неопределено Тогда
@@ -223,6 +229,20 @@
КонецПроцедуры
// Процедура обслуживает событие реквизита ДеревоПодсистем в формах редактирования.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма, в которой редактируется дерево подсистем, где:
// * Элементы - ВсеЭлементыФормы - коллекция элементов формы, где:
// ** ДеревоПодсистем - ТаблицаФормы - иерархическая коллекция подсистем, в которых отображается отчет, где:
// *** СтрокаДерева - ДанныеФормыЭлементДерева - данные текущей строки дерева подсистем, где:
// **** Важность - Строка - строковое представление степени важности, принимающее значение:
// ***** "Важный";
// ***** "См. также";
// ***** "".
// **** Приоритет - Строка - код-счетчик.
// **** Использование - Число - признак размещения отчета в данной подсистеме.
// Элемент - ПолеФормы - поле для редактирования признака важности.
//
Процедура ДеревоПодсистемВажностьПриИзменении(Форма, Элемент) Экспорт
СтрокаДерева = Форма.Элементы.ДеревоПодсистем.ТекущиеДанные;
Если СтрокаДерева = Неопределено Тогда
@@ -273,6 +293,13 @@
#Область ПараметрыПодбораПользователейВариантаОтчета
// Открывает форму выбора пользователей или групп (внешних) пользователей.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма, в которой редактируется дерево подсистем, где:
// * Элементы - ВсеЭлементыФормы - коллекция элементов формы.
// ПодборГруппВнешнихПользователей - Булево - признак подбора групп внешних пользователей.
//
Процедура ПодобратьПользователейВариантаОтчета(Форма, ПодборГруппВнешнихПользователей = Ложь) Экспорт
ПараметрыПодбора = ПараметрыПодбораПользователейВариантаОтчета(Форма, ПодборГруппВнешнихПользователей);
@@ -291,6 +318,26 @@
КонецПроцедуры
// Конструктор параметров подбора пользователей варианта отчета.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма, в которой редактируется дерево подсистем, где:
// * Элементы - ВсеЭлементыФормы - коллекция элементов формы.
// ПодборГруппВнешнихПользователей - Булево - признак подбора групп внешних пользователей.
//
// Возвращаемое значение:
// Структура - параметры открытия формы подбора, где:
// * РежимВыбора - Булево - признак режима выбора (см. Синтакс-помощник - Расширение справочника).
// * ТекущаяСтрока - СправочникСсылка.Пользователи,
// СправочникСсылка.ГруппыПользователей,
// СправочникСсылка.ГруппыВнешнихПользователей,
// Неопределено - текущий пользователь или группа (внешних) пользователей.
// * ЗакрыватьПриВыборе - Булево - признак необходимости закрытия формы выбора (см. Синтакс-помощник - Расширение справочника).
// * МножественныйВыбор - Булево - признак выбора двух строк и более.
// * РасширенныйПодбор - Булево - признак использования расширенных параметров подбора.
// * ЗаголовокФормыПодбора - Строка - заголовок формы подбора, соответствующий контексту.
// * ВыбранныеПользователи - СписокЗначений - коллекция выбранных пользователей или групп (внешних) пользователей.
//
Функция ПараметрыПодбораПользователейВариантаОтчета(Форма, ПодборГруппВнешнихПользователей = Ложь)
ТекущиеДанные = Форма.Элементы.ПользователиВарианта.ТекущиеДанные;
@@ -482,6 +529,14 @@
КонецФункции
// Процедура обслуживает событие реквизита ДеревоПодсистем в формах редактирования.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма, в которой редактируется дерево подсистем, где:
// * Элементы - ВсеЭлементыФормы - коллекция элементов формы, где:
// ** ПользователиВарианта - ТаблицаФормы - список пользователей варианта отчета.
// СбрасыватьПризнакИспользования - Булево - признак необходимости выключения использования.
//
Процедура ОформитьПользователейВариантаОтчета(Форма, СбрасыватьПризнакИспользования = Истина) Экспорт
Элементы = Форма.Элементы;
@@ -585,6 +640,17 @@
#Область ОбменПользовательскимиНастройками
// Открывает форму выбора пользователей, (групп) пользователей.
//
// Параметры:
// ОписаниеНастроек - Структура - параметры открытия формы выбора пользователей, (групп) пользователей, где:
// * Настройки - ПользовательскиеНастройкиКомпоновкиДанных - настройки, которыми обмениваются.
// * ВариантОтчета - СправочникСсылка.ВариантыОтчетов - ссылка на хранилище свойств варианта отчета.
// * КлючОбъекта - Строка - измерение хранения настроек.
// * КлючНастроек - Строка - измерение - идентификатор пользовательских настроек.
// * Представление - Строка - наименование пользовательских настроек.
// * ВариантМодифицирован - Булево - признак того, что вариант отчета изменен.
//
Процедура ПоделитьсяПользовательскимиНастройками(ОписаниеНастроек) Экспорт
Если ОписаниеНастроек.Настройки.Элементы.Количество() = 0 Тогда
@@ -1786,7 +1786,7 @@
КонецФункции
Функция НайтиКонтакты(СтрокаПоиска, Форма) Экспорт
Функция НайтиКонтакты(Знач СтрокаПоиска, Форма) Экспорт
Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Запретить
ИЛИ Не ПолучитьФункциональнуюОпцию("ИспользоватьПолнотекстовыйПоиск") Тогда
@@ -1904,7 +1904,7 @@
// Возвращаемое значение:
// Строка - сообщение пользователю по результатам поиска.
//
Функция ПолнотекстовыйПоискКонтактовПоСтроке(СтрокаПоиска, Форма, ДляАдреснойКниги = Ложь) Экспорт
Функция ПолнотекстовыйПоискКонтактовПоСтроке(Знач СтрокаПоиска, Форма, ДляАдреснойКниги = Ложь) Экспорт
Форма.НайденныеКонтакты.Очистить();
@@ -1919,6 +1919,9 @@
МассивМетаданных = МетаданныеКонтактов();
Если СтрНайти(СтрокаПоиска, "*") = 0 Тогда
СтрокаПоиска = "*" + СтрокаПоиска + "*";
КонецЕсли;
СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПоиска, 101);
СписокПоиска.ОбластьПоиска = МассивМетаданных;
@@ -2499,75 +2502,80 @@
// Получает адреса электронной почты для массива контактов.
//
// Параметры:
// МассивКонтактов - Массив - массив ссылок на контакты.
// Группа - Строка - имя группы в письме для которой ищутся адреса, например "Получатели", "Получатели копий".
// Контакты - Массив - массив ссылок на контакты.
// ГруппаПолучателей - Строка - имя группы в письме для которой ищутся адреса, например "Получатели", "Получатели копий".
//
// Возвращаемое значение:
// ТаблицаЗначений - таблица содержащая контакты и адреса их электронной почты.
//
Функция ПолучитьАдресаЭлектроннойПочтыДляМассиваКонтактов(МассивКонтактов,Группа = "") Экспорт
Функция АдресаЭлектроннойПочтыКонтактов(Контакты, ГруппаПолучателей = "") Экспорт
Если МассивКонтактов.Количество() = 0 Тогда
Если Контакты.Количество() = 0 Тогда
Возврат Неопределено;
КонецЕсли;
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ТекстЗапроса = "
|ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Адрес,
| ТаблицаКонтакт.Ссылка КАК Контакт
|ПОМЕСТИТЬ КонтактыАдреса
|ИЗ
| Справочник.Пользователи КАК ТаблицаКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| ТаблицаКонтакт.Ссылка В (&МассивКонтактов)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Адрес,
| ТаблицаКонтакт.Ссылка КАК Контакт
|ИЗ
| Справочник.Пользователи КАК ТаблицаКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| ИСТИНА В
| (ВЫБРАТЬ
| ИСТИНА
| ИЗ
| РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
| ГДЕ
| СоставыГруппПользователей.Пользователь = ТаблицаКонтакт.Ссылка
| И СоставыГруппПользователей.ГруппаПользователей В (&МассивКонтактов))";
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Адрес,
| ТаблицаКонтакт.Ссылка КАК Контакт
|ПОМЕСТИТЬ КонтактыАдреса
|ИЗ
| Справочник.Пользователи КАК ТаблицаКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| ТаблицаКонтакт.Ссылка В(&МассивКонтактов)
| И НЕ ТаблицаКонтакт.Служебный
| И НЕ ТаблицаКонтакт.Недействителен
| И НЕ ТаблицаКонтакт.ПометкаУдаления
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаКонтактнаяИнформация.АдресЭП,
| ТаблицаКонтакт.Ссылка
|ИЗ
| Справочник.Пользователи КАК ТаблицаКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| НЕ ТаблицаКонтакт.Служебный
| И НЕ ТаблицаКонтакт.Недействителен
| И НЕ ТаблицаКонтакт.ПометкаУдаления
| И ИСТИНА В
| (ВЫБРАТЬ
| ИСТИНА
| ИЗ
| РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
| ГДЕ
| СоставыГруппПользователей.Пользователь = ТаблицаКонтакт.Ссылка
| И СоставыГруппПользователей.ГруппаПользователей В (&МассивКонтактов))";
Для каждого ЭлементМассиваОписания Из МассивОписанияТиповКонтактов Цикл
Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда
Если ОписаниеКонтакта.Имя = "Пользователи" Тогда
Продолжить;
Иначе
ТекстЗапроса = ТекстЗапроса + "
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаКонтактнаяИнформация.АдресЭП,
| ТаблицаКонтакт.Ссылка
|ИЗ
| Справочник." + ЭлементМассиваОписания.Имя + " КАК ТаблицаКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ЭлементМассиваОписания.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| ТаблицаКонтакт.Ссылка В(&МассивКонтактов) " + ?(ЭлементМассиваОписания.Иерархический," И НЕ ТаблицаКонтакт.ЭтоГруппа","");
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТаблицаКонтактнаяИнформация.АдресЭП,
| ТаблицаКонтакт.Ссылка
|ИЗ
| Справочник." + ОписаниеКонтакта.Имя + " КАК ТаблицаКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ОписаниеКонтакта.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ
| НЕ ТаблицаКонтакт.ПометкаУдаления
| И ТаблицаКонтакт.Ссылка В(&МассивКонтактов) " + ?(ОписаниеКонтакта.Иерархический," И НЕ ТаблицаКонтакт.ЭтоГруппа","");
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + "
@@ -2597,8 +2605,8 @@
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("МассивКонтактов",МассивКонтактов);
Запрос.УстановитьПараметр("Группа",Группа);
Запрос.УстановитьПараметр("МассивКонтактов", Контакты);
Запрос.УстановитьПараметр("Группа", ГруппаПолучателей);
Результат = Запрос.ВыполнитьПакет();
ТаблицаРезультат = Результат[1].Выгрузить();
@@ -2607,7 +2615,7 @@
МассивТипов.Добавить(Тип("Строка"));
ТаблицаРезультат.Колонки.Добавить("Адрес", Новый ОписаниеТипов(МассивТипов, , Новый КвалификаторыСтроки(100)));
ТаблицаРезультат.Колонки.Добавить("СписокАдресов",Новый ОписаниеТипов(МассивТипов));
ТаблицаРезультат.Колонки.Добавить("СписокАдресов", Новый ОписаниеТипов(МассивТипов));
ВыборкаКонтакты = Результат[2].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Для каждого СтрокаТаблицы Из ТаблицаРезультат Цикл
@@ -338,10 +338,13 @@
Обработчик.ИзменяемыеОбъекты = ОбъектыСПредопределеннымиЭлементами;
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.БлокируемыеОбъекты = ОбъектыСПредопределеннымиЭлементами;
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "Справочники.СтраныМира.ОбновитьСтраныМираПоОКСМ";
Приоритет.Порядок = "Любой";
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "Справочники.СтраныМира.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Приоритет.Порядок = "Любой";
КонецЕсли;
Возврат Обработчик;
@@ -4577,12 +4577,6 @@
Возврат;
КонецЕсли;
Если ПКС.ИспользуетсяАлгоритмКонвертации
И Не ЗначениеЗаполнено(ПравилоКонвертацииСвойства) Тогда
// Конвертация будет выполняться по алгоритму.
Возврат;
КонецЕсли;
Если ПКС.ОбработкаКлючевогоСвойства
И Не ДанныеXDTO.Свойство("ЭтоНаборКлючевыхСвойств") Тогда
ИсточникДанных = ДанныеXDTO.КлючевыеСвойства;
@@ -4642,6 +4636,10 @@
КонецЕсли;
Если ТипЗнч(ЗначениеСвойства) = Тип("Структура") Тогда
Если Не ЗначениеЗаполнено(ПравилоКонвертацииСвойства) Тогда
Возврат;
КонецЕсли;
ПКПД = КомпонентыОбмена.ПравилаКонвертацииПредопределенныхДанных.Найти(ПравилоКонвертацииСвойства, "ИмяПКПД");
Если ПКПД <> Неопределено Тогда
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.2.157";
Описание.Версия = "3.1.2.166";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -1149,10 +1149,11 @@
////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции для вызова необязательных подсистем.
// Возвращает Истина, если "функциональная" подсистема существует в конфигурации.
// Возвращает Истина, если функциональная подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// У "функциональной" подсистемы снят флажок "Включать в командный интерфейс".
// У функциональной подсистемы снят флажок "Включать в командный интерфейс".
// См. также ОбщегоНазначенияПереопределяемый.ПриОпределенииОтключенныхПодсистем
// и ОбщегоНазначенияКлиент.ПодсистемаСуществует для вызова из клиентского кода.
//
// Параметры:
// ПолноеИмяПодсистемы - Строка - полное имя объекта метаданных подсистема
@@ -1166,7 +1167,7 @@
// КонецЕсли;
//
// Возвращаемое значение:
// Булево - Истина, если существует.
// Булево - Истина, если подсистема существует.
//
Функция ПодсистемаСуществует(ПолноеИмяПодсистемы) Экспорт
@@ -3393,7 +3394,7 @@
КонецФункции
// Возвращает ссылку, соответствующую объекту метаданных, для использования в базе данных.
// См. также ОбщегоНазначения.ИдентификаторыОбъектаМетаданных.
// См. также ОбщегоНазначения.ИдентификаторыОбъектовМетаданных.
//
// Ссылки возвращаются для следующих объектов метаданных:
// - Подсистемы (см. также ОбщегоНазначенияПереопределяемый.ПриДобавленииПереименованийОбъектовМетаданных);
@@ -142,12 +142,11 @@
////////////////////////////////////////////////////////////////////////////////
// Процедуры и функции для вызова необязательных подсистем.
// Возвращает Истина, если "функциональная" подсистема существует в конфигурации.
// Возвращает Истина, если функциональная подсистема существует в конфигурации.
// Предназначена для реализации вызова необязательной подсистемы (условного вызова).
//
// У "функциональной" подсистемы снят флажок "Включать в командный интерфейс".
//
// См. ОбщегоНазначения.ПодсистемаСуществует
// У функциональной подсистемы снят флажок "Включать в командный интерфейс".
// См. также ОбщегоНазначенияПереопределяемый.ПриОпределенииОтключенныхПодсистем,
// и ОбщегоНазначения.ПодсистемаСуществует для вызова из серверного кода.
//
// Параметры:
// ПолноеИмяПодсистемы - Строка - полное имя объекта метаданных подсистема
@@ -181,9 +181,12 @@
КонецПроцедуры
// Позволяет виртуально отключать подсистемы для целей тестирования.
// Если подсистема отключена, то функция ОбщегоНазначения.ПодсистемаСуществует вернет Ложь.
// В этой процедуре нельзя использовать функцию ОбщегоНазначения.ПодсистемСуществует, т.к. это приводит к рекурсии.
// Позволяет отключать подсистемы, например, для целей тестирования.
// Если подсистема отключена, то функции ОбщегоНазначения.ПодсистемаСуществует и
// ОбщегоНазначенияКлиент.ПодсистемаСуществует вернут Ложь.
//
// В реализации этой процедуры нельзя использовать функцию ОбщегоНазначения.ПодсистемСуществует,
// т.к. это приводит к рекурсии.
//
// Параметры:
// ОтключенныеПодсистемы - Соответствие - в ключе указывается имя отключаемой подсистемы,
@@ -257,6 +257,11 @@
КонецЦикла;
Индекс = Форма.ПутьКДаннымЭлементов.ПоИмени[Путь];
Если Индекс = Неопределено Тогда
Путь = Путь + "Период";
Индекс = Форма.ПутьКДаннымЭлементов.ПоИмени[Путь];
КонецЕсли;
ЭлементПользовательскойНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[Индекс];
ЭлементПользовательскойНастройки.Использование = Истина;
@@ -638,10 +638,11 @@
Если ЗначениеЗаполнено(ЭлементАнализируемый.ИдентификаторПользовательскойНастройки) Тогда
НайденныеЭлементы = Настройки.ПолучитьОсновныеНастройкиПоИдентификаторуПользовательскойНастройки(
ЭлементАнализируемый.ИдентификаторПользовательскойНастройки);
ЭлементАнализируемый.ИдентификаторПользовательскойНастройки); // ОтборКомпоновкиДанных, ГруппаЭлементовОтбораКомпоновкиДанных
Если НайденныеЭлементы.Количество() > 0 Тогда
ЭлементыНастроекОтобранные(Настройки, Отбор, НайденныеЭлементы[0].Элементы, Результат);
Если НайденныеЭлементы.Количество() > 0 Тогда
ТекущиеЭлементыНастроек = НайденныеЭлементы.Получить(0); // ОтборКомпоновкиДанных, ГруппаЭлементовОтбораКомпоновкиДанных
ЭлементыНастроекОтобранные(Настройки, Отбор, ТекущиеЭлементыНастроек.Элементы, Результат);
КонецЕсли;
КонецЕсли;
КонецЕсли;
@@ -971,6 +972,17 @@
Возврат Неопределено;
КонецФункции
// Возвращает значение параметра данных по полю компоновки данных.
//
// Параметры:
// Настройки - НастройкиКомпоновкиДанных - текущие настройки отчета.
// ПользовательскиеНастройки - КоллекцияЭлементовПользовательскихНастроекКомпоновкиДанных - текущие пользовательские
// настройки отчета.
// Поле - ПолеКомпоновкиДанных - поле, являющееся критерием поиска.
//
// Возвращаемое значение:
// ЗначениеПараметраКомпоновкиДанных, Неопределено - значение параметра данных по полю компоновки данных.
//
Функция ЗначениеПараметраВыбора(Настройки, ПользовательскиеНастройки, Поле, РежимИзмененияВарианта)
Значение = ЗначениеПараметраДанныхПоПолю(Настройки, ПользовательскиеНастройки, Поле, РежимИзмененияВарианта);
@@ -982,6 +994,17 @@
Возврат Значение;
КонецФункции
// Возвращает значение параметра компоновки данных, найденное по полю компоновки данных.
//
// Параметры:
// Настройки - НастройкиКомпоновкиДанных - настройки в которых осуществляется поиск.
// ПользовательскиеНастройки - КоллекцияЭлементовПользовательскихНастроекКомпоновкиДанных - коллекция текущих
// пользовательских настроек.
//
// Возвращаемое значение:
// ЗначениеПараметраКомпоновкиДанных, Неопределено - значение параметра компоновки данных,
// найденное по полю компоновки данных.
//
Функция ЗначениеПараметраДанныхПоПолю(Настройки, ПользовательскиеНастройки, Поле, РежимИзмененияВарианта)
Если ТипЗнч(Настройки) <> Тип("НастройкиКомпоновкиДанных") Тогда
Возврат Неопределено;
@@ -1035,6 +1058,15 @@
////////////////////////////////////////////////////////////////////////////////
// Унификация формы отчета и формы настроек отчета.
// Возвращает представление элемента условного оформления.
//
// Параметры:
// ЭлементКД - ЭлементУсловногоОформленияКомпоновкиДанных - элемент оформления, представление которого необходимо определить.
// НастройкаВариантаКД - НастройкиКомпоновкиДанных - текущие настройки варианта отчета.
//
// Возвращаемое значение:
// Строка - представление элемента условного оформления.
//
Функция ПредставлениеЭлементаУсловногоОформления(ЭлементКД, НастройкаВариантаКД, Состояние) Экспорт
ПредставлениеОформления = ПредставлениеОформления(ЭлементКД.Оформление);
Если ПредставлениеОформления = "" Тогда
@@ -1472,6 +1504,34 @@
КонецФункции
// Возвращает элемент настройки, который заполняется на основании однотипного элемента.
//
// Параметры:
// Узел - НастройкиКомпоновкиДанных - настройки отчета.
// ЧтоЗаполнить - НастройкиКомпоновкиДанных,
// ВыбранныеПоляКомпоновкиДанных,
// ОтборКомпоновкиДанных,
// ГруппировкаКомпоновкиДанных,
// ТаблицаКомпоновкиДанных,
// ДиаграммаКомпоновкиДанных,
// ЭлементУсловногоОформленияКомпоновкиДанных - элемент настройки, который заполняется.
// ЧемЗаполнить - НастройкиКомпоновкиДанных,
// ВыбранныеПоляКомпоновкиДанных,
// ОтборКомпоновкиДанных,
// ГруппировкаКомпоновкиДанных,
// ТаблицаКомпоновкиДанных,
// ДиаграммаКомпоновкиДанных,
// ЭлементУсловногоОформленияКомпоновкиДанных - элемент настройки-основание.
//
// Возвращаемое значение:
// НастройкиКомпоновкиДанных,
// ВыбранныеПоляКомпоновкиДанных,
// ОтборКомпоновкиДанных,
// ГруппировкаКомпоновкиДанных,
// ТаблицаКомпоновкиДанных,
// ДиаграммаКомпоновкиДанных,
// ЭлементУсловногоОформленияКомпоновкиДанных - элемент настройки, который заполняется.
//
Функция ЗаполнитьСвойстваРекурсивно(Узел, ЧтоЗаполнить, ЧемЗаполнить, Соответствие = Неопределено, ПараметрыКопирования = Неопределено) Экспорт
Если Соответствие = Неопределено Тогда
Соответствие = Новый Соответствие;
@@ -1505,14 +1565,12 @@
Если ПараметрыКопирования.ЕстьНастройки Тогда
ЧтоЗаполнить.УстановитьИдентификатор(ЧемЗаполнить.ИдентификаторОбъекта);
ЧтоЗаполнить = ЧтоЗаполнить.Настройки;
ЧемЗаполнить = ЧемЗаполнить.Настройки;
ЧтоЗаполнить = ЧтоЗаполнить.Настройки; // НастройкиКомпоновкиДанных, ВыбранныеПоляКомпоновкиДанных, ОтборКомпоновкиДанных, ГруппировкаКомпоновкиДанных, ТаблицаКомпоновкиДанных, ДиаграммаКомпоновкиДанных, ЭлементУсловногоОформленияКомпоновкиДанных
ЧемЗаполнить = ЧемЗаполнить.Настройки; // НастройкиКомпоновкиДанных, ВыбранныеПоляКомпоновкиДанных, ОтборКомпоновкиДанных, ГруппировкаКомпоновкиДанных, ТаблицаКомпоновкиДанных, ДиаграммаКомпоновкиДанных, ЭлементУсловногоОформленияКомпоновкиДанных
КонецЕсли;
Если ПараметрыКопирования.ЕстьЭлементы Тогда
// Элементы (КоллекцияВыбранныхПолейКомпоновкиДанных,
// КоллекцияЭлементовОтбораКомпоновкиДанных).
КоллекцияВложенных = ЧемЗаполнить.Элементы;
КоллекцияВложенных = ЧемЗаполнить.Элементы; // КоллекцияВыбранныхПолейКомпоновкиДанных, КоллекцияЭлементовОтбораКомпоновкиДанных
Если КоллекцияВложенных.Количество() > 0 Тогда
НоваяКоллекцияВложенных = ЧтоЗаполнить.Элементы;
Для Каждого ПодчиненнаяСтрока Из КоллекцияВложенных Цикл
@@ -1957,7 +2015,7 @@
Возврат Новый ФиксированныйМассив(ПараметрыВыбора);
КонецЕсли;
Параметры = ОписаниеЭлементаНастройки.ПолучитьПараметрыВыбора();
Параметры = ОписаниеЭлементаНастройки.ПолучитьПараметрыВыбора(); // ПараметрыВыбораКомпоновкиДанных
Для Каждого Параметр Из Параметры Цикл
Если ЗначениеЗаполнено(Параметр.Имя) Тогда
ПараметрыВыбора.Добавить(Новый ПараметрВыбора(Параметр.Имя, Параметр.Значение));
@@ -39,7 +39,8 @@
// Параметры:
// Форма - ФормаКлиентскогоПриложения - Форма, из которой выполняется команда.
// Команда - КомандаФормы - Выполняемая команда.
// Источник - ТаблицаФормы, ДанныеФормыСтруктура - Объект или список формы с полем "Ссылка".
// Источник - ТаблицаФормы, ДанныеФормыСтруктура, Ссылка, Массив - Объект или список формы с полем "Ссылка",
// Ссылка или массив ссылок.
//
Процедура ВыполнитьКоманду(Форма, Команда, Источник) Экспорт
ИмяКоманды = Команда.Имя;
@@ -363,7 +363,7 @@
ОшибочныеПолучатели = Соединение.Послать(Письмо, ОбработкаТекстаИнтернетПочтовогоСообщения.НеОбрабатывать,
ПротоколИнтернетПочты.SMTP);
ПараметрыОтправкиИдентификаторСообщения = Письмо.ИдентификаторСообщения;
ПараметрыОтправки.ИдентификаторСообщения = Письмо.ИдентификаторСообщения;
ПараметрыОтправки.ОшибочныеПолучатели = ОшибочныеПолучатели;
КонецЕсли;
@@ -3378,106 +3378,6 @@
КонецФункции
// Помещает зашифрованные данные файла в хранилище и устанавливает файлу признак Зашифрован.
//
// Параметры:
// ПрисоединенныйФайл - Ссылка на присоединенный файл.
// ЗашифрованныеДанные - Структура со свойством:
// АдресВременногоХранилища - Строка - адрес зашифрованных двоичных данных.
// МассивОтпечатков - Массив Структур отпечатков по сертификатам.
//
Процедура Зашифровать(Знач ПрисоединенныйФайл, Знач ЗашифрованныеДанные, Знач МассивОтпечатков) Экспорт
НачатьТранзакцию();
Попытка
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ПрисоединенныйФайл)) Тогда
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(ПрисоединенныйФайл)).ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ПрисоединенныйФайл);
БлокировкаДанных.Заблокировать();
ПрисоединенныйФайлОбъект = ПрисоединенныйФайл.ПолучитьОбъект();
Иначе
ПрисоединенныйФайлОбъект = ПрисоединенныйФайл;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
МодульЭлектроннаяПодписьСлужебный.ДобавитьСертификатыШифрования(ПрисоединенныйФайл, МассивОтпечатков);
КонецЕсли;
РеквизитыЗначения = Новый Структура;
РеквизитыЗначения.Вставить("Зашифрован", Истина);// Зашифрован перенести в РС
РеквизитыЗначения.Вставить("ТекстХранилище", Новый ХранилищеЗначения(""));
ОбновитьДвоичныеДанныеФайлаНаСервере(ПрисоединенныйФайлОбъект, ЗашифрованныеДанные.АдресВременногоХранилища, РеквизитыЗначения);
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ПрисоединенныйФайл)) Тогда
ПрисоединенныйФайлОбъект.Записать();
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
// Помещает расшифрованные данные файла в хранилище и снимает файлу признак Зашифрован.
//
// Параметры:
// ПрисоединенныйФайл - Ссылка на присоединенный файл.
// ЗашифрованныеДанные - Структура со свойством:
// АдресВременногоХранилища - Строка - адрес расшифрованных двоичных данных.
//
Процедура Расшифровать(Знач ПрисоединенныйФайл, Знач РасшифрованныеДанные) Экспорт
ИспользованиеПолнотекстовогоПоиска = Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать;
НачатьТранзакцию();
Попытка
МетаданныеСправочника = Метаданные.НайтиПоТипу(ТипЗнч(ПрисоединенныйФайл));
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ПрисоединенныйФайл)) Тогда
ПрисоединенныйФайлОбъект = ПрисоединенныйФайл.ПолучитьОбъект();
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(МетаданныеСправочника.ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ПрисоединенныйФайл);
БлокировкаДанных.Заблокировать();
Иначе
ПрисоединенныйФайлОбъект = ПрисоединенныйФайл;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
МодульЭлектроннаяПодписьСлужебный.ОчиститьСертификатыШифрования(ПрисоединенныйФайл);
КонецЕсли;
РеквизитыЗначения = Новый Структура;
РеквизитыЗначения.Вставить("Зашифрован", Ложь);
ДвоичныеДанные = ПолучитьИзВременногоХранилища(РасшифрованныеДанные.АдресВременногоХранилища);
Если МетаданныеСправочника.ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска Тогда
РезультатИзвлеченияТекста = ИзвлечьТекст(РасшифрованныеДанные.АдресВременногоХранилищаТекста, ДвоичныеДанные,
ПрисоединенныйФайл.Расширение);
ПрисоединенныйФайлОбъект.СтатусИзвлеченияТекста = РезультатИзвлеченияТекста.СтатусИзвлеченияТекста;
РеквизитыЗначения.Вставить("ТекстХранилище", РезультатИзвлеченияТекста.ИзвлеченныйТекст);
Иначе
ПрисоединенныйФайлОбъект.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
РеквизитыЗначения.Вставить("ТекстХранилище", Новый ХранилищеЗначения(""));
КонецЕсли;
ОбновитьДвоичныеДанныеФайлаНаСервере(ПрисоединенныйФайлОбъект, ДвоичныеДанные, РеквизитыЗначения);
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ПрисоединенныйФайл)) Тогда
ПрисоединенныйФайлОбъект.Записать();
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
// Сравнивает 2 элемента отбора компоновки данных.
// Параметры:
// Элемент1 - элемент условного оформления списка.
@@ -3874,6 +3774,8 @@
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Список.Отбор, "Служебный", ВидСравненияКомпоновкиДанных.НеРавно,
Истина, "СкрыватьСлужебные", Истина);
УстановитьОтборПоПометкеУдаления(Список.Отбор);
КонецПроцедуры
// Изменяет видимость элементов формы присоединенного файла для работы внешних пользователей.
@@ -3901,6 +3803,14 @@
КонецПроцедуры
Процедура УстановитьОтборПоПометкеУдаления(Область) Экспорт
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Область, "ПометкаУдаления",
ВидСравненияКомпоновкиДанных.Равно, Ложь, "СкрыватьПометкуУдаленияПоУмолчанию", Истина,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный);
КонецПроцедуры
#КонецОбласти
#Область ПользовательскиеНастройки
@@ -4680,12 +4590,15 @@
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ФайлСсылка);
БлокировкаДанных.Заблокировать();
ЗаблокироватьДанныеДляРедактирования(ФайлСсылка, , УникальныйИдентификатор);
ФайлОбъект = ФайлСсылка.ПолучитьОбъект();
ХранениеВерсии = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Версия, "ТипХраненияФайла, Том, ПутьКФайлу");
ЗаблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, , УникальныйИдентификатор);
ФайлОбъект.ТекущаяВерсия = Версия.Ссылка;
Если МетаданныеСправочника.ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска Тогда
ФайлОбъект.ТекущаяВерсия = Версия;
Если АдресВременногоХранилищаТекста <> Неопределено
И МетаданныеСправочника.ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска Тогда
Если ТипЗнч(АдресВременногоХранилищаТекста) = Тип("ХранилищеЗначения") Тогда
// При создании Файла из шаблона хранилище значения копируется напрямую.
ФайлОбъект.ТекстХранилище = АдресВременногоХранилищаТекста;
@@ -4694,14 +4607,18 @@
ФайлОбъект.ТекстХранилище = РезультатИзвлеченияТекста.ТекстХранилище;
ФайлОбъект.СтатусИзвлеченияТекста = РезультатИзвлеченияТекста.СтатусИзвлеченияТекста;
КонецЕсли;
Иначе
ФайлОбъект.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
ФайлОбъект.ТекстХранилище = Новый ХранилищеЗначения("");
КонецЕсли;
ЗаполнитьЗначенияСвойств(ФайлОбъект, ХранениеВерсии);
ФайлОбъект.Записать();
РазблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, УникальныйИдентификатор);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
@@ -8152,11 +8069,9 @@
Возврат;
КонецЕсли;
Если Источник.ДополнительныеСвойства.Свойство("ПереименованиеФайла") Тогда
Возврат;
КонецЕсли;
Если Источник.ДополнительныеСвойства.Свойство("КонвертацияФайлов") Тогда
Если Источник.ДополнительныеСвойства.Свойство("ПереименованиеФайла")
Или Источник.ДополнительныеСвойства.Свойство("КонвертацияФайлов") Тогда
Возврат;
КонецЕсли;
@@ -8165,49 +8080,52 @@
Если Не ТекущаяВерсия.Ссылка.Пустая() Тогда
ФайлСсылка = Источник.Владелец;
РеквизитыФайла = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ФайлСсылка,
"ИндексКартинки, Размер, ДатаСоздания, Изменил, Расширение, Том, ПутьКФайлу, ДатаМодификацииУниверсальная");
Если РеквизитыФайла.Размер <> ТекущаяВерсия.Размер
ИЛИ РеквизитыФайла.ДатаСоздания <> ТекущаяВерсия.ДатаСоздания
ИЛИ РеквизитыФайла.Расширение <> ТекущаяВерсия.Расширение
ИЛИ РеквизитыФайла.Том <> ТекущаяВерсия.Том
ИЛИ РеквизитыФайла.ПутьКФайлу <> ТекущаяВерсия.ПутьКФайлу
ИЛИ РеквизитыФайла.ИндексКартинки <> ТекущаяВерсия.ИндексКартинки
ИЛИ РеквизитыФайла.ДатаМодификацииУниверсальная <> ТекущаяВерсия.ДатаМодификацииФайла Тогда
НачатьТранзакцию();
Попытка
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(ФайлСсылка)).ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ФайлСсылка);
БлокировкаДанных.Заблокировать();
ФайлОбъект = ФайлСсылка.ПолучитьОбъект();
// Сменим индекс картинки, возможно, появилась версия или сменился индекс картинки у версии.
ФайлОбъект.ИндексКартинки = ТекущаяВерсия.ИндексКартинки;
// Копируем реквизиты для ускорения работы ограничения на уровне записей.
ФайлОбъект.Размер = ТекущаяВерсия.Размер;
ФайлОбъект.ДатаСоздания = ТекущаяВерсия.ДатаСоздания;
ФайлОбъект.Изменил = ТекущаяВерсия.Автор;
ФайлОбъект.Расширение = ТекущаяВерсия.Расширение;
ФайлОбъект.Том = ТекущаяВерсия.Том;
ФайлОбъект.ПутьКФайлу = ТекущаяВерсия.ПутьКФайлу;
ФайлОбъект.ТипХраненияФайла = ТекущаяВерсия.ТипХраненияФайла;
ФайлОбъект.ДатаМодификацииУниверсальная = ТекущаяВерсия.ДатаМодификацииУниверсальная;
Если Источник.ДополнительныеСвойства.Свойство("ЗаписьПодписанногоОбъекта") Тогда
ФайлОбъект.ДополнительныеСвойства.Вставить("ЗаписьПодписанногоОбъекта",
Источник.ДополнительныеСвойства.ЗаписьПодписанногоОбъекта);
КонецЕсли;
ФайлОбъект.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецЕсли;
"ТекущаяВерсия, ИндексКартинки, Размер, ДатаСоздания, Изменил, Расширение, Том, ПутьКФайлу, ДатаМодификацииУниверсальная");
Если РеквизитыФайла.ТекущаяВерсия <> ТекущаяВерсия Тогда
Возврат;
КонецЕсли;
Если РеквизитыФайла.Размер <> ТекущаяВерсия.Размер
ИЛИ РеквизитыФайла.ДатаСоздания <> ТекущаяВерсия.ДатаСоздания
ИЛИ РеквизитыФайла.Расширение <> ТекущаяВерсия.Расширение
ИЛИ РеквизитыФайла.Том <> ТекущаяВерсия.Том
ИЛИ РеквизитыФайла.ПутьКФайлу <> ТекущаяВерсия.ПутьКФайлу
ИЛИ РеквизитыФайла.ИндексКартинки <> ТекущаяВерсия.ИндексКартинки
ИЛИ РеквизитыФайла.ДатаМодификацииУниверсальная <> ТекущаяВерсия.ДатаМодификацииФайла Тогда
НачатьТранзакцию();
Попытка
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(ФайлСсылка)).ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ФайлСсылка);
БлокировкаДанных.Заблокировать();
ФайлОбъект = ФайлСсылка.ПолучитьОбъект();
// Сменим индекс картинки, возможно, появилась версия или сменился индекс картинки у версии.
ФайлОбъект.ИндексКартинки = ТекущаяВерсия.ИндексКартинки;
// Копируем реквизиты для ускорения работы ограничения на уровне записей.
ФайлОбъект.Размер = ТекущаяВерсия.Размер;
ФайлОбъект.ДатаСоздания = ТекущаяВерсия.ДатаСоздания;
ФайлОбъект.Изменил = ТекущаяВерсия.Автор;
ФайлОбъект.Расширение = ТекущаяВерсия.Расширение;
ФайлОбъект.Том = ТекущаяВерсия.Том;
ФайлОбъект.ПутьКФайлу = ТекущаяВерсия.ПутьКФайлу;
ФайлОбъект.ТипХраненияФайла = ТекущаяВерсия.ТипХраненияФайла;
ФайлОбъект.ДатаМодификацииУниверсальная = ТекущаяВерсия.ДатаМодификацииУниверсальная;
Если Источник.ДополнительныеСвойства.Свойство("ЗаписьПодписанногоОбъекта") Тогда
ФайлОбъект.ДополнительныеСвойства.Вставить("ЗаписьПодписанногоОбъекта",
Источник.ДополнительныеСвойства.ЗаписьПодписанногоОбъекта);
КонецЕсли;
ФайлОбъект.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецЕсли;
КонецЕсли;
@@ -1367,24 +1367,26 @@
//
Функция ДанныеФайлаИРабочийКаталог(ФайлИлиВерсияСсылка, РабочийКаталогВладельца = Неопределено) Экспорт
ДанныеФайла = ДанныеФайла(ФайлИлиВерсияСсылка);
МетаданныеФайла = Метаданные.НайтиПоТипу(ТипЗнч(ФайлИлиВерсияСсылка));
ФайлСсылка = Неопределено;
ВерсияСсылка = Неопределено;
ВозможностьХранитьВерсии = Ложь;
Если ОбщегоНазначения.ЕстьРеквизитОбъекта("ВладелецФайла", МетаданныеФайла) Тогда
ФайлСсылка = ФайлИлиВерсияСсылка;
ВерсияСсылка = Неопределено;
ВозможностьХранитьВерсии = ОбщегоНазначения.ЕстьРеквизитОбъекта("ТекущаяВерсия", МетаданныеФайла);
Иначе
ФайлСсылка = Неопределено;
Если ТипЗнч(ФайлИлиВерсияСсылка) = Тип("СправочникСсылка.ВерсииФайлов") Тогда
ВерсияСсылка = ФайлИлиВерсияСсылка;
Иначе
ФайлСсылка = ФайлИлиВерсияСсылка;
ВозможностьХранитьВерсии = ОбщегоНазначения.ЕстьРеквизитОбъекта("ТекущаяВерсия", ФайлИлиВерсияСсылка.Метаданные());
КонецЕсли;
ТекущаяВерсия = ?(Не ВозможностьХранитьВерсии, Неопределено,
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ФайлСсылка, "ТекущаяВерсия"));
ДанныеФайла = ДанныеФайла(ФайлИлиВерсияСсылка);
Если РабочийКаталогВладельца = Неопределено Тогда
РабочийКаталогВладельца = РабочийКаталогПапки(ДанныеФайла.Владелец);
КонецЕсли;
ДанныеФайла.Вставить("РабочийКаталогВладельца", РабочийКаталогВладельца);
Если ДанныеФайла.РабочийКаталогВладельца <> "" Тогда
ДанныеФайла.Вставить("РабочийКаталогВладельца", РабочийКаталогВладельца);
Если РабочийКаталогВладельца <> "" Тогда
ПолноеИмяФайлаВРабочемКаталоге = "";
ИмяКаталога = ""; // Путь к локальному кэш здесь не используется.
@@ -1393,8 +1395,8 @@
Если ВерсияСсылка <> Неопределено Тогда
ПолноеИмяФайлаВРабочемКаталоге = ПолучитьПолноеИмяФайлаИзРегистра(ВерсияСсылка, ИмяКаталога, ВРабочемКаталогеНаЧтение, ВРабочемКаталогеВладельца);
ИначеЕсли ВозможностьХранитьВерсии И ЗначениеЗаполнено(ФайлСсылка.ТекущаяВерсия) Тогда
ПолноеИмяФайлаВРабочемКаталоге = ПолучитьПолноеИмяФайлаИзРегистра(ФайлСсылка.ТекущаяВерсия, ИмяКаталога, ВРабочемКаталогеНаЧтение, ВРабочемКаталогеВладельца);
ИначеЕсли ВозможностьХранитьВерсии И ТекущаяВерсия <> Неопределено Тогда
ПолноеИмяФайлаВРабочемКаталоге = ПолучитьПолноеИмяФайлаИзРегистра(ТекущаяВерсия, ИмяКаталога, ВРабочемКаталогеНаЧтение, ВРабочемКаталогеВладельца);
Иначе
ПолноеИмяФайлаВРабочемКаталоге = ПолучитьПолноеИмяФайлаИзРегистра(ФайлСсылка, ИмяКаталога, ВРабочемКаталогеНаЧтение, ВРабочемКаталогеВладельца);
КонецЕсли;
@@ -2151,12 +2153,20 @@
Пока Выборка.Следующий() Цикл
ВерсияСсылка = Выборка.Ссылка;
ДанныеФайла = ДанныеФайла(ФайлСсылка, ВерсияСсылка);
ДанныеФайла = ДанныеФайла(ФайлСсылка, ВерсияСсылка, , Ложь);
Если ДанныеФайла.ПометкаУдаления = Ложь
И ПолучитьИзВременногоХранилища(ДанныеФайла.СсылкаНаДвоичныеДанныеФайла) = Неопределено Тогда
Продолжить;
КонецЕсли;
НавигационнаяСсылкаВерсии = РаботаСФайламиСлужебный.ПолучитьНавигационнуюСсылкуВоВременномХранилище(ВерсияСсылка, ИдентификаторФормы);
СтруктураВозврата = Новый Структура("ДанныеФайла, НавигационнаяСсылкаВерсии, ВерсияСсылка",
ДанныеФайла, НавигационнаяСсылкаВерсии, ВерсияСсылка);
МассивВозврата.Добавить(СтруктураВозврата);
КонецЦикла;
// Если не хранятся версии, то зашифровываем файл.
@@ -2208,6 +2218,188 @@
КонецПроцедуры
#Область УдалениеДанныхФайловИВерсий
Функция РезультатУдаленияДанных(ФайлИлиВерсия, УникальныйИдентификатор) Экспорт
УстановитьПривилегированныйРежим(Истина);
Результат = Новый Структура("ТекстПредупреждения, Файлы", "", Новый Массив);
ЭтоВерсияФайла = ТипЗнч(ФайлИлиВерсия) = Тип("СправочникСсылка.ВерсииФайлов");
АвторизованныйПользователь = Пользователи.АвторизованныйПользователь();
Если ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ФайлИлиВерсия, "Автор") <> АвторизованныйПользователь Тогда
Результат.ТекстПредупреждения = НСтр("ru = 'Только автор может удалить'") + " "
+ ?(ЭтоВерсияФайла, НСтр("ru = 'версию файла.'"), НСтр("ru = 'файл.'"));
Возврат Результат;
КонецЕсли;
Если ЭтоВерсияФайла Тогда
УдалитьДанныеВерсии(ФайлИлиВерсия, УникальныйИдентификатор, Результат);
Иначе
УдалитьДанныеФайла(ФайлИлиВерсия, УникальныйИдентификатор, Результат, АвторизованныйПользователь);
КонецЕсли;
Возврат Результат;
КонецФункции
Процедура УдалитьДанныеВерсии(ФайлИлиВерсия, УникальныйИдентификатор, Результат)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииФайлов.Владелец КАК Владелец,
| ВерсииФайлов.Владелец.ТекущаяВерсия КАК ТекущаяВерсия
|ИЗ
| Справочник.ВерсииФайлов КАК ВерсииФайлов
|ГДЕ
| ВерсииФайлов.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ФайлИлиВерсия);
ПараметрыТекущейВерсииВладельца = Запрос.Выполнить().Выбрать();
ПараметрыТекущейВерсииВладельца.Следующий();
Если ПараметрыТекущейВерсииВладельца.ТекущаяВерсия = ФайлИлиВерсия Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииФайлов.Ссылка КАК Ссылка
|ИЗ
| Справочник.ВерсииФайлов КАК ВерсииФайлов
|ГДЕ
| ВерсииФайлов.Владелец = &Владелец
| И ВерсииФайлов.Ссылка <> &Ссылка
| И НЕ ВерсииФайлов.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| ВерсииФайлов.НомерВерсии УБЫВ";
Запрос.УстановитьПараметр("Владелец", ПараметрыТекущейВерсииВладельца.Владелец);
Запрос.УстановитьПараметр("Ссылка", ФайлИлиВерсия);
ВерсииВладельца = Запрос.Выполнить().Выбрать();
Если ВерсииВладельца.Следующий() Тогда
РаботаСФайламиСлужебный.ОбновитьВерсиюВФайле(ПараметрыТекущейВерсииВладельца.Владелец,
ВерсииВладельца.Ссылка, Неопределено, УникальныйИдентификатор);
КонецЕсли;
КонецЕсли;
Результат.Файлы.Добавить(ФайлИлиВерсия);
УдалитьДанные(ФайлИлиВерсия, УникальныйИдентификатор);
КонецПроцедуры
Процедура УдалитьДанныеФайла(ФайлИлиВерсия, УникальныйИдентификатор, Результат, АвторизованныйПользователь)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВерсииФайлов.Ссылка КАК Ссылка,
| ВерсииФайлов.Автор КАК Автор
|ИЗ
| Справочник.ВерсииФайлов КАК ВерсииФайлов
|ГДЕ
| ВерсииФайлов.Владелец = &Владелец
|
|УПОРЯДОЧИТЬ ПО
| ВерсииФайлов.НомерВерсии УБЫВ";
Запрос.УстановитьПараметр("Владелец", ФайлИлиВерсия);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Результат.Файлы.Добавить(ФайлИлиВерсия);
УдалитьДанные(ФайлИлиВерсия, УникальныйИдентификатор);
Возврат;
КонецЕсли;
Выборка = Запрос.Выполнить().Выбрать();
ВерсияДругогоАвтора = Неопределено;
Пока Выборка.Следующий() Цикл
Если Выборка.Автор <> АвторизованныйПользователь Тогда
Если ВерсияДругогоАвтора = Неопределено Тогда
ВерсияДругогоАвтора = Выборка.Ссылка;
КонецЕсли;
Продолжить;
КонецЕсли;
Результат.Файлы.Добавить(Выборка.Ссылка);
УдалитьДанные(Выборка.Ссылка, УникальныйИдентификатор);
КонецЦикла;
Если ВерсияДругогоАвтора <> Неопределено Тогда
РаботаСФайламиСлужебный.ОбновитьВерсиюВФайле(
ФайлИлиВерсия, ВерсияДругогоАвтора, Неопределено, УникальныйИдентификатор);
ТекстПредупреждения = НСтр("ru = 'Не удалось удалить файл, т.к. в него вносили изменения другие авторы.
|Были удалены только Ваши версии файла.'");
Иначе
Результат.Файлы.Добавить(ФайлИлиВерсия);
УдалитьДанные(ФайлИлиВерсия, УникальныйИдентификатор);
КонецЕсли;
КонецПроцедуры
Процедура УдалитьДанные(ФайлИлиВерсия, УникальныйИдентификатор)
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(ФайлИлиВерсия.Метаданные().ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ФайлИлиВерсия);
НачатьТранзакцию();
Попытка
БлокировкаДанных.Заблокировать();
ЗаблокироватьДанныеДляРедактирования(ФайлИлиВерсия, , УникальныйИдентификатор);
ФайлИлиВерсияОбъект = ФайлИлиВерсия.ПолучитьОбъект();
Если ФайлИлиВерсияОбъект.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
ДанныеФайла = РаботаСФайламиВТомахСлужебный.ДанныеФайла(ФайлИлиВерсия, Ложь);
Если ДанныеФайла <> Неопределено Тогда
СвойстваФайла = РаботаСФайламиВТомахСлужебный.СвойстваФайлаВТоме();
ЗаполнитьЗначенияСвойств(СвойстваФайла, ФайлИлиВерсияОбъект);
РаботаСФайламиВТомахСлужебный.УдалитьФайл(
РаботаСФайламиВТомахСлужебный.ПолноеИмяФайлаВТоме(СвойстваФайла));
КонецЕсли;
Иначе
РаботаСФайламиСлужебный.УдалитьЗаписьИзРегистраДвоичныеДанныеФайлов(ФайлИлиВерсия);
КонецЕсли;
ФайлИлиВерсияОбъект.ПометкаУдаления = Истина;
ФайлИлиВерсияОбъект.ДополнительныеСвойства.Вставить("УдалениеДанных", Истина);
ФайлИлиВерсияОбъект.Записать();
РазблокироватьДанныеДляРедактирования(ФайлИлиВерсия, УникальныйИдентификатор);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
РазблокироватьДанныеДляРедактирования(ФайлИлиВерсия, УникальныйИдентификатор);
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
#КонецОбласти
// Информационные
// Функция возвращает количество Файлов, занятых текущим пользователем
@@ -10558,4 +10558,92 @@
КонецПроцедуры
#Область УдалениеДанныхФайловИВерсий
Процедура УдалитьДанные(ОбработчикЗавершения, ФайлИлиВерсия, УникальныйИдентификатор) Экспорт
Если Не ЗначениеЗаполнено(ФайлИлиВерсия) Тогда
Возврат;
КонецЕсли;
Контекст = Новый Структура;
Контекст.Вставить("ФайлИлиВерсия", ФайлИлиВерсия);
Контекст.Вставить("ОбработчикЗавершения", ОбработчикЗавершения);
Контекст.Вставить("УникальныйИдентификатор", УникальныйИдентификатор);
ЭтоВерсияФайла = ТипЗнч(ФайлИлиВерсия) = Тип("СправочникСсылка.ВерсииФайлов");
ТекстВопроса = НСтр("ru = 'Удалить'") + " "
+ ?(ЭтоВерсияФайла, НСтр("ru = 'версию файла'"), НСтр("ru = 'файл'"))
+ " " + НСтр("ru = 'без возможности восстановления?'");
ТекстЗаголовка = НСтр("ru = 'Удаление'") + " "
+ ?(ЭтоВерсияФайла, НСтр("ru = 'версии файла'"), НСтр("ru = 'файла'"));
ПоказатьВопрос(Новый ОписаниеОповещения("УдалитьДанныеПослеОтветаНаВопрос", ЭтотОбъект, Контекст),
ТекстВопроса, РежимДиалогаВопрос.ДаНет, 20, КодВозвратаДиалога.Нет, ТекстЗаголовка, КодВозвратаДиалога.Нет);
КонецПроцедуры
Процедура УдалитьДанныеПослеОтветаНаВопрос(Ответ, Контекст) Экспорт
Если Ответ <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
Результат = РаботаСФайламиСлужебныйВызовСервера.РезультатУдаленияДанных(
Контекст.ФайлИлиВерсия, Контекст.УникальныйИдентификатор);
Если Результат.Файлы.Количество() > 0 Тогда
Результат.Вставить("ИндексУдаляемогоФайла", 0);
Результат.Вставить("ОбработчикЗавершения", Контекст.ОбработчикЗавершения);
НачатьУдалениеФайлаИзКеша(Результат);
ИначеЕсли Не ПустаяСтрока(Результат.ТекстПредупреждения) Тогда
ПоказатьПредупреждение(Контекст.ОбработчикЗавершения, Результат.ТекстПредупреждения);
ИначеЕсли Контекст.ОбработчикЗавершения <> Неопределено Тогда
ВыполнитьОбработкуОповещения(Контекст.ОбработчикЗавершения);
Иначе
Оповестить("Запись_Файл", Новый Структура);
КонецЕсли;
КонецПроцедуры
Процедура НачатьУдалениеФайлаИзКеша(Контекст)
Оповещение = Новый ОписаниеОповещения("ПослеУдаленияФайлаИзКеша", ЭтотОбъект, Контекст);
УдалитьФайлИзРабочегоКаталога(Оповещение, Контекст.Файлы[Контекст.ИндексУдаляемогоФайла], Истина, Ложь);
КонецПроцедуры
Процедура ПослеУдаленияФайлаИзКеша(РезультатУдаления, Контекст) Экспорт
Если Контекст.ИндексУдаляемогоФайла < Контекст.Файлы.Количество() - 1 Тогда
Контекст.ИндексУдаляемогоФайла = Контекст.ИндексУдаляемогоФайла + 1;
НачатьУдалениеФайлаИзКеша(Контекст);
Возврат;
КонецЕсли;
Если Не ПустаяСтрока(Контекст.ТекстПредупреждения) Тогда
ПоказатьПредупреждение(Контекст.ОбработчикЗавершения, Контекст.ТекстПредупреждения);
ИначеЕсли Контекст.ОбработчикЗавершения <> Неопределено Тогда
ВыполнитьОбработкуОповещения(Контекст.ОбработчикЗавершения);
Иначе
Оповестить("Запись_Файл", Новый Структура);
КонецЕсли;
КонецПроцедуры
Процедура ИзменитьОтборПоПометкеУдаления(Область, КнопкаКоманды) Экспорт
КнопкаКоманды.Пометка = Не КнопкаКоманды.Пометка;
ОбщегоНазначенияКлиентСервер.ИзменитьЭлементыОтбора(Область, "ПометкаУдаления",
"СкрыватьПометкуУдаленияПоУмолчанию", Ложь, ВидСравненияКомпоновкиДанных.Равно,
Не КнопкаКоманды.Пометка, РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
@@ -1324,7 +1324,7 @@
// Подготовка соответствий персональных отборов.
// Установка статичных значений реквизитов.
Для Каждого ОписаниеНастройки Из ПараметрыОтчета.Настройки Цикл
Если Тип(ОписаниеНастройки) = Тип("СтрокаТаблицыЗначений") Тогда
Если ТипЗнч(ОписаниеНастройки) = Тип("СтрокаТаблицыЗначений") Тогда
ИмяРеквизита = ОписаниеНастройки.Реквизит;
Иначе
ИмяРеквизита = ОписаниеНастройки.Ключ;
@@ -298,7 +298,11 @@
// * Творительный - Строка.
// * Предложный - Строка.
//
Функция ДанныеСклонения(Представление, ПараметрыСклонения = Неопределено, ПоказыватьСообщения = Ложь) Экспорт
Функция ДанныеСклонения(Знач Представление, ПараметрыСклонения = Неопределено, ПоказыватьСообщения = Ложь) Экспорт
Если ПараметрыСклонения = Неопределено Тогда
ПараметрыСклонения = СклонениеПредставленийОбъектовКлиентСервер.ПараметрыСклонения();
КонецЕсли;
СтруктураСклонения = СклонениеПредставленийОбъектовКлиентСервер.СтруктураСклонения();
@@ -319,11 +323,19 @@
ИменаПадежей = ОбщегоНазначения.ВыгрузитьКолонку(СтруктураСклонения, "Ключ");
ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(ИменаПадежей, "Именительный");
СтруктураСклонения["Именительный"] = Представление;
Если ПараметрыСклонения.ЭтоФИО Тогда
ВидПредставленияФИО = ВидПредставленияФИО();
ПреобразоватьФИОДляСклонения(Представление, ВидПредставленияФИО);
КонецЕсли;
Для Каждого ИмяПадежа Из ИменаПадежей Цикл
ВариантыСклонения = ПолучитьСклоненияСтроки(Представление, ОписаниеСтроки, "ПД=" + ИмяПадежа);
СтруктураСклонения[ИмяПадежа] = ВариантыСклонения[0];
РезультатСклонения = ПолучитьСклоненияСтроки(Представление, ОписаниеСтроки, "ПД=" + ИмяПадежа)[0];
Если ПараметрыСклонения.ЭтоФИО Тогда
ВосстановитьФИОПослеСклонения(РезультатСклонения, ВидПредставленияФИО);
КонецЕсли;
СтруктураСклонения[ИмяПадежа] = РезультатСклонения;
КонецЦикла;
Возврат СтруктураСклонения;
@@ -613,10 +625,6 @@
Процедура ЗаполнитьОписаниеСтрокиПоПараметрамСклонения(ОписаниеСтроки, ПараметрыСклонения, ИмяПроцедурыИлиФункции)
Если ПараметрыСклонения = Неопределено Тогда
ПараметрыСклонения = СклонениеПредставленийОбъектовКлиентСервер.ПараметрыСклонения();
КонецЕсли;
ПроверитьПараметрыСклонения(ПараметрыСклонения, ИмяПроцедурыИлиФункции);
Если Не ПараметрыСклонения.ЭтоФИО Тогда
@@ -684,4 +692,64 @@
КонецПроцедуры
Функция ВидПредставленияФИО()
Структура = Новый Структура("ВРег, НРег");
Структура.ВРег = Ложь;
Структура.НРег = Ложь;
Возврат Структура;
КонецФункции
Процедура ПреобразоватьФИОДляСклонения(ФИО, ВидПредставления)
ДенормализоватьФИО = Ложь;
Если ФИО = ВРег(ФИО) Тогда
ДенормализоватьФИО = Истина;
ВидПредставления.ВРег = Истина;
КонецЕсли;
Если ФИО = НРег(ФИО) Тогда
ДенормализоватьФИО = Истина;
ВидПредставления.НРег = Истина;
КонецЕсли;
Если ДенормализоватьФИО Тогда
ФИО = ДенормализованноеФИО(ФИО);
КонецЕсли;
КонецПроцедуры
Процедура ВосстановитьФИОПослеСклонения(ФИО, ВидПредставления)
Если ВидПредставления.ВРег Тогда
ФИО = ВРег(ФИО);
КонецЕсли;
Если ВидПредставления.НРег Тогда
ФИО = НРег(ФИО);
КонецЕсли;
КонецПроцедуры
Функция ДенормализованноеФИО(ФИО)
НовоеФИО = "";
ВстретилсяРазделитель = Истина;
Для Позиция = 1 По СтрДлина(ФИО) Цикл
Если ВстретилсяРазделитель Тогда
НовоеФИО = НовоеФИО + ВРег(Сред(ФИО, Позиция, 1));
Иначе
НовоеФИО = НовоеФИО + НРег(Сред(ФИО, Позиция, 1));
КонецЕсли;
ВстретилсяРазделитель = СтроковыеФункцииКлиентСервер.ЭтоРазделительСлов(КодСимвола(ФИО, Позиция));
КонецЦикла;
Возврат НовоеФИО;
КонецФункции
#КонецОбласти
@@ -2005,19 +2005,19 @@
// См. ВыгрузкаЗагрузкаДанныхПереопределяемый.ПриРегистрацииОбработчиковВыгрузкиДанных.
Процедура ПриРегистрацииОбработчиковВыгрузкиДанных(ТаблицаОбработчиков) Экспорт
МодульВыгрузкаЗагрузкаДанныхСлужебныйСобытия = ОбщегоНазначения.ОбщийМодуль("ВыгрузкаЗагрузкаДанныхСлужебныйСобытия");
Обработчик = ТаблицаОбработчиков.Добавить();
Обработчик.ОбъектМетаданных = Метаданные.Справочники.ПрофилиГруппДоступа;
Обработчик.Обработчик = Справочники.ПрофилиГруппДоступа;
Обработчик.ПередВыгрузкойОбъекта = Истина;
Обработчик.Версия = МодульВыгрузкаЗагрузкаДанныхСлужебныйСобытия.ВерсияОбработчиков1_0_0_1();
Обработчик.Версия = "1.0.0.1";
Обработчик = ТаблицаОбработчиков.Добавить();
Обработчик.ОбъектМетаданных = Метаданные.Справочники.ГруппыДоступа;
Обработчик.Обработчик = Справочники.ГруппыДоступа;
Обработчик.ПередВыгрузкойОбъекта = Истина;
Обработчик.Версия = МодульВыгрузкаЗагрузкаДанныхСлужебныйСобытия.ВерсияОбработчиков1_0_0_1();
Обработчик.Версия = "1.0.0.1";
КонецПроцедуры
#КонецОбласти
@@ -156,9 +156,9 @@
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "2.4.3.4";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("dfc6a0fa-7c7b-4096-9d04-2c67d5eb17a4");
Обработчик.Процедура = "Справочники.СтраныМира.ОбновитьСтраныМираПоОКСМ";
Обработчик.Процедура = "Справочники.СтраныМира.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.РежимВыполнения = "Отложенно";
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Справочники.СтраныМира.ЗаполнитьСписокСтранКОбработке";
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Справочники.СтраныМира.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ОчередьОтложеннойОбработки = 1;
Обработчик.ЧитаемыеОбъекты = "Справочник.СтраныМира";
Обработчик.ИзменяемыеОбъекты = "Справочник.СтраныМира";
@@ -868,14 +868,14 @@
МассивИменАктивныхПапок = МассивИменАктивныхПапок(Почта);
КвалификаторСтроки150 = Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(150,ДопустимаяДлина.Переменная));
КвалификаторСтроки255 = Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(255,ДопустимаяДлина.Переменная));
ТаблицаИдентификаторов = Новый ТаблицаЗначений;
ТаблицаИдентификаторов.Колонки.Добавить("ИдентификаторНаСервере", КвалификаторСтроки150);
ТаблицаИдентификаторов.Колонки.Добавить("ИдентификаторПисьма", КвалификаторСтроки150);
ТаблицаИдентификаторов.Колонки.Добавить("ИдентификаторНаСервере", КвалификаторСтроки255);
ТаблицаИдентификаторов.Колонки.Добавить("ИдентификаторПисьма", КвалификаторСтроки255);
ТаблицаПустыхИдентификаторов = Новый ТаблицаЗначений;
ТаблицаПустыхИдентификаторов.Колонки.Добавить("ИдентификаторНаСервере", КвалификаторСтроки150);
ТаблицаПустыхИдентификаторов.Колонки.Добавить("ИдентификаторНаСервере", КвалификаторСтроки255);
ТаблицаПустыхИдентификаторов.Колонки.Добавить("ХэшСумма", ОбщегоНазначения.ОписаниеТипаСтрока(32));
ДатаЗагрузкиПисем = ТекущаяДатаСеанса();
@@ -408,7 +408,7 @@
КонецЕсли;
Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыОтправки.ДополнительныеПараметры, ДополнительныеПараметры, Истина);
ПараметрыОтправки.ДополнительныеПараметры.ПараметрыСообщения = ДополнительныеПараметры;
КонецЕсли;
Возврат ПараметрыОтправки;
@@ -84,31 +84,41 @@
//
// Параметры:
// ПолучателиSMS - ТаблицаЗначений - список получателей SMS.
// * НомерТелефона - Строка - номер телефона, куда будет отправлено сообщение SMS.
// * Представление - Строка - представление получателя сообщения SMS.
// * НомерТелефона - Строка - номер телефона, куда будет отправлено сообщение SMS;
// * Представление - Строка - представление получателя сообщения SMS;
// * Контакт - Произвольный - контакт, которому принадлежит номер телефона.
// НазначениеШаблона - Строка - идентификатор назначения шаблона
// ПредметСообщения - ЛюбаяСсылка, Структура - ссылка на объект являющийся источником данных, либо структура,
// если шаблон содержит произвольные параметры:
// ПредметСообщения - ЛюбаяСсылка - ссылка на объект, являющийся источником данных.
// - Структура - структура описывающая параметры шаблона:
// * Предмет - ЛюбаяСсылка - ссылка на объект, являющийся источником данных;
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров.
// * ВидСообщения - Строка - вид формируемого сообщения: "ЭлектроннаяПочта" или "СообщениеSMS";
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров;
// * ОтправитьСразу - Булево - признак мгновенной отправки;
// * ПараметрыСообщения - Структура - Дополнительные параметры сообщения.
//
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, НазначениеШаблона, ПредметСообщения) Экспорт
КонецПроцедуры
// Заполняет список получателей почты при отправки сообщения сформированного по шаблону.
// Заполняет список получателей почты при отправке сообщения сформированного по шаблону.
//
// Параметры:
// ПолучателиПисьма - ТаблицаЗначений - список получается письма.
// * Адрес - Строка - адрес электронной почты получателя.
// * Представление - Строка - представление получателя письма.
// * Адрес - Строка - адрес электронной почты получателя;
// * Представление - Строка - представление получателя письма;
// * Контакт - Произвольный - контакт, которому принадлежит адрес электронной почты.
// НазначениеШаблона - Строка - идентификатор назначения шаблона.
// ПредметСообщения - ЛюбаяСсылка, Структура - ссылка на объект, являющийся источником данных, либо структура,
// если шаблон содержит произвольные параметры:
// ПредметСообщения - ЛюбаяСсылка - ссылка на объект, являющийся источником данных.
// - Структура - структура описывающая параметры шаблона:
// * Предмет - ЛюбаяСсылка - ссылка на объект, являющийся источником данных;
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров.
// * ВидСообщения - Строка - вид формируемого сообщения: "ЭлектроннаяПочта" или "СообщениеSMS";
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров;
// * ОтправитьСразу - Булево - признак мгновенной отправки письма;
// * ПараметрыСообщения - Структура - Дополнительные параметры сообщения;
// * ПреобразовыватьHTMLДляФорматированногоДокумента - Булево - признак преобразование HTML текста
// сообщения содержащего картинки в тексте письма из-за особенностей вывода изображений
// в форматированном документе;
// * УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - учетная запись для отправки письма.
//
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, НазначениеШаблона, ПредметСообщения) Экспорт
@@ -38,7 +38,7 @@
СведенияОШаблоне = Неопределено;
Если ПараметрыОтправки.Предмет <> Неопределено Тогда
СведенияОШаблоне = СведенияОШаблоне(ПараметрыШаблона);
ПараметрыОтправки.ДополнительныеПараметры.Вставить("Предмет", ПараметрыОтправки.Предмет);
ПараметрыШаблона.Вставить("Предмет", ПараметрыОтправки.Предмет);
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыШаблона.ПолноеИмяТипаНазначения) Тогда
МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ПараметрыШаблона.ПолноеИмяТипаНазначения);
@@ -2274,7 +2274,8 @@
Результат = СформироватьСообщениеИОтправить(ПараметрыОтправки);
ПоместитьВоВременноеХранилище(Результат, АдресХранилища);
Иначе
Сообщение = ШаблоныСообщений.СформироватьСообщение(ПараметрыОтправки.Шаблон, ПараметрыОтправки.Предмет, ПараметрыОтправки.УникальныйИдентификатор, ПараметрыОтправки.ДополнительныеПараметры);
Сообщение = ШаблоныСообщений.СформироватьСообщение(ПараметрыОтправки.Шаблон, ПараметрыОтправки.Предмет, ПараметрыОтправки.УникальныйИдентификатор,
ПараметрыОтправки.ДополнительныеПараметры.ПараметрыСообщения);
Если ВидСообщения = "Письмо" Тогда
Сообщение = ПреобразоватьПараметрыПисьма(Сообщение);
Иначе
@@ -129,6 +129,10 @@
// Только для внутреннего использования.
Функция МенеджерКриптографииАлгоритмыУстановлены(ОписаниеПрограммы, Менеджер, Ошибки) Экспорт
Если ВыполненОбходНарушенияОбратнойСовместимостиВViPNetCSP_4_4(ОписаниеПрограммы, Менеджер) Тогда
Возврат Истина;
КонецЕсли;
АлгоритмПодписи = Строка(ОписаниеПрограммы.АлгоритмПодписи);
Попытка
Менеджер.АлгоритмПодписи = АлгоритмПодписи;
@@ -166,6 +170,63 @@
КонецФункции
// Для функции МенеджерКриптографииАлгоритмыУстановлены.
Функция ВыполненОбходНарушенияОбратнойСовместимостиВViPNetCSP_4_4(ОписаниеПрограммы, Менеджер)
Если ОписаниеПрограммы.ИмяПрограммы <> "Infotecs GOST 2012/512 Cryptographic Service Provider"
Или ОписаниеПрограммы.ТипПрограммы <> 77 Тогда
Возврат Ложь;
КонецЕсли;
АлгоритмПодписи = Строка(ОписаниеПрограммы.АлгоритмПодписи);
АлгоритмХеширования = Строка(ОписаниеПрограммы.АлгоритмХеширования);
АлгоритмШифрования = Строка(ОписаниеПрограммы.АлгоритмШифрования);
АлгоритмыУстановлены = Истина;
Попытка
Менеджер.АлгоритмПодписи = АлгоритмПодписи;
Менеджер.АлгоритмХеширования = АлгоритмХеширования;
Менеджер.АлгоритмШифрования = АлгоритмШифрования;
Исключение
АлгоритмыУстановлены = Ложь;
КонецПопытки;
Если АлгоритмыУстановлены Тогда
Возврат Истина;
КонецЕсли;
Если АлгоритмПодписи = "GOST 34.10-2012 256"
И АлгоритмХеширования = "GOST 34.11-2012 256"
И АлгоритмШифрования = "GOST 28147-89" Тогда
АлгоритмПодписи = "GR 34.10-2012 256";
АлгоритмХеширования = "GR 34.11-2012 256";
АлгоритмШифрования = "GOST 28147-89";
ИначеЕсли АлгоритмПодписи = "GR 34.10-2012 256"
И АлгоритмХеширования = "GR 34.11-2012 256"
И АлгоритмШифрования = "GOST 28147-89" Тогда
АлгоритмПодписи = "GOST 34.10-2012 256";
АлгоритмХеширования = "GOST 34.11-2012 256";
АлгоритмШифрования = "GOST 28147-89";
Иначе
Возврат Ложь;
КонецЕсли;
АлгоритмыУстановлены = Истина;
Попытка
Менеджер.АлгоритмПодписи = АлгоритмПодписи;
Менеджер.АлгоритмХеширования = АлгоритмХеширования;
Менеджер.АлгоритмШифрования = АлгоритмШифрования;
Исключение
АлгоритмыУстановлены = Ложь;
КонецПопытки;
Возврат АлгоритмыУстановлены;
КонецФункции
// Только для внутреннего использования.
Процедура МенеджерКриптографииПрограммаНеНайдена(ОписаниеПрограммы, Ошибки, ЭтоСервер) Экспорт
+9 -11
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="469eeed3-2746-4b44-bfa2-9c9dd3b484fd">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="8944604c-db35-4f12-893b-fc29d17ecca6">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="a0240c7a-544a-4d61-90fd-bef2c6fa7906"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="07e39231-0854-463b-ad4a-507cfcb3f392"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="23471ce3-7c6d-4732-ab2d-e6e7b92b111e"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f049956a-2c80-430a-b94d-fe4baf54e802"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="999c29b7-ab84-4bee-bd0d-7e049a8ec093"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="06e39078-a473-412d-8656-c4898a0a168f"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="cf7566d6-d240-4d9d-9531-dd13041e7f19"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c0941663-e58f-43f1-a09d-af47f0cae552"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="16ca4ba2-f88b-425a-85e2-b1ac0783a8e9"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="2ff66df6-e901-4ca4-822e-32ef623ef144"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="5736923d-c10a-4aff-804a-6e4038166638"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="abc3399c-358d-4a32-9f87-44b999353591"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="4d039111-e601-4663-aeea-b1f10cbd01d5"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="aba1fc76-3004-40c3-8d9f-89265833f304"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.2.157</version>
<version>3.1.2.166</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -77,7 +77,6 @@
<styleItems>StyleItem.ВладелецФайловШрифт</styleItems>
<styleItems>StyleItem.ВыполненнаяЗадача</styleItems>
<styleItems>StyleItem.ГиперссылкаЦвет</styleItems>
<styleItems>StyleItem.ГиперссылкаШрифт</styleItems>
<styleItems>StyleItem.ГруппаВариантовОтчетовВажнаяШрифт</styleItems>
<styleItems>StyleItem.ГруппаВариантовОтчетовОбычнаяШрифт</styleItems>
<styleItems>StyleItem.ГруппаВариантовОтчетовЦвет</styleItems>
@@ -87,7 +86,6 @@
<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,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
{6,1,1,7bbcfa69-70f1-4fe2-ab90-f0f4ef3356bb,1,b7cbdf06-b438-4b62-8f4c-3d47213b5f7e,"3.1.2.166","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",5901,1,0,8944604c-db35-4f12-893b-fc29d17ecca6,8944604c-db35-4f12-893b-fc29d17ecca6,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
@@ -2779,8 +2779,9 @@
Элементы.ПояснениеОНастроенныхИзменениях.Заголовок = ФорматированнаяСтрока(Пояснение);
Если ПустаяСтрока(КодАлгоритма) Тогда
КодАлгоритма = "// Доступные переменные:
|// Объект - обрабатываемый объект" + Символы.ПС;
КодАлгоритма = ПодставитьПараметрыВСтроку(НСтр("ru='// Доступные переменные:
|// %1 - обрабатываемый объект
|'"), "Объект");
КонецЕсли;
КонецПроцедуры
@@ -47,8 +47,11 @@
УпрощенныйИнтерфейс = МодульУправлениеДоступомСлужебный.УпрощенныйИнтерфейсНастройкиПравДоступа();
Элементы.ОткрытьГруппыДоступа.Видимость = НЕ УпрощенныйИнтерфейс;
Элементы.ИспользоватьГруппыПользователей.Видимость = НЕ УпрощенныйИнтерфейс;
Элементы.ОграничиватьДоступНаУровнеЗаписейУниверсально.Видимость
= Пользователи.ЭтоПолноправныйПользователь(, Истина);
Элементы.ОбновлениеДоступаНаУровнеЗаписей.Видимость =
МодульУправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально(Истина);
Элементы.ОграничиватьДоступНаУровнеЗаписейУниверсально.Видимость
И МодульУправлениеДоступомСлужебный.ОграничиватьДоступНаУровнеЗаписейУниверсально(Истина);
Если ОбщегоНазначения.ЭтоАвтономноеРабочееМесто() Тогда
Элементы.ОграничиватьДоступНаУровнеЗаписей.Доступность = Ложь;
@@ -325,7 +328,8 @@
Подключаемый_ПриИзмененииРеквизита(Элемент);
Элементы.ОбновлениеДоступаНаУровнеЗаписей.Видимость =
НаборКонстант.ОграничиватьДоступНаУровнеЗаписейУниверсально;
Элементы.ОграничиватьДоступНаУровнеЗаписейУниверсально.Видимость
И НаборКонстант.ОграничиватьДоступНаУровнеЗаписейУниверсально;
КонецПроцедуры
@@ -633,21 +633,6 @@
////////////////////////////////////////////////////////////////////////////////
// Программный интерфейс мастера
// Инициализирует структуры мастера.
// В реквизит формы НастройкиПошаговогоМастера записывается следующее значение:
// Структура - Описание настроек мастера.
// Общедоступные настройки мастера:
// * Шаги - Массив - Описание шагов мастера. Только для чтения.
// Для добавления шагов следует использовать функцию ДобавитьШагМастера.
// * ТекущийШаг - Структура - Текущий шаг мастера. Только для чтения.
// * ПоказатьДиалогПередЗакрытием - Булево - Если Истина, то перед закрытием формы будет показано предупреждение.
// Для изменения.
// Служебные настройки мастера:
// * ГруппаСтраниц - Строка - Имя элемента формы, переданного в параметре ГруппаСтраниц.
// * КнопкаДалее - Строка - Имя элемента формы, переданного в параметре КнопкаДалее.
// * КнопкаНазад - Строка - Имя элемента формы, переданного в параметре КнопкаНазад.
// * КнопкаОтмена - Строка - Имя элемента формы, переданного в параметре КнопкаОтмена.
//
&НаСервере
Процедура ИнициализироватьНастройкиПошаговогоМастера()
НастройкиМастера = Новый Структура;
@@ -669,33 +654,6 @@
Элементы.ШагМастераОтмена.Видимость = Ложь;
КонецПроцедуры
// Добавляет шаг мастера. Переходы между страницами будут происходить согласно порядку добавления.
//
// Параметры:
// Страница - ГруппаФормы - Страница, содержащая элементы шага.
//
// Возвращаемое значение:
// Структура - Описание настроек страницы.
// * ИмяСтраницы - Строка - Имя страницы.
// * КнопкаДалее - Структура - Описание кнопки "Далее".
// ** Заголовок - Строка - Заголовок кнопки. По умолчанию: "Далее >".
// ** Подсказка - Строка - Подсказка для кнопки. По умолчанию соответствует заголовку кнопки.
// ** Видимость - Булево - Когда Истина то кнопка видна. По умолчанию: Истина.
// ** Доступность - Булево - Когда Истина то кнопку можно нажимать. По умолчанию: Истина.
// ** КнопкаПоУмолчанию - Булево - Когда Истина то кнопка будет основной кнопкой формы. По умолчанию: Истина.
// * КнопкаНазад - Структура - Описание кнопки "Назад".
// ** Заголовок - Строка - Заголовок кнопки. По умолчанию: "< Назад".
// ** Подсказка - Строка - Подсказка для кнопки. По умолчанию соответствует заголовку кнопки.
// ** Видимость - Булево - Когда Истина то кнопка видна. По умолчанию: Истина.
// ** Доступность - Булево - Когда Истина то кнопку можно нажимать. По умолчанию: Истина.
// ** КнопкаПоУмолчанию - Булево - Когда Истина то кнопка будет основной кнопкой формы. По умолчанию: Ложь.
// * КнопкаОтмена - Структура - Описание кнопки "Отмена".
// ** Заголовок - Строка - Заголовок кнопки. По умолчанию: "Отмена".
// ** Подсказка - Строка - Подсказка для кнопки. По умолчанию соответствует заголовку кнопки.
// ** Видимость - Булево - Когда Истина то кнопка видна. По умолчанию: Истина.
// ** Доступность - Булево - Когда Истина то кнопку можно нажимать. По умолчанию: Истина.
// ** КнопкаПоУмолчанию - Булево - Когда Истина то кнопка будет основной кнопкой формы. По умолчанию: Ложь.
//
&НаСервере
Функция ДобавитьШагМастера(Знач Страница)
ОписаниеШага = Новый Структура("Индекс, ИмяСтраницы, КнопкаНазад, КнопкаДалее, КнопкаОтмена");
@@ -714,7 +672,6 @@
Возврат ОписаниеШага;
КонецФункции
// Обновляет видимость и доступность элементов формы в соответствии с текущим шагом мастера.
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьВидимостьДоступность(Форма)
@@ -732,11 +689,6 @@
КонецПроцедуры
// Выполняет переход мастера на указанную страницу.
//
// Параметры:
// ШагИлиИндексИлиГруппаФормы - Структура, Число, ГруппаФормы - Страницу, на которую необходимо перейти.
//
&НаКлиенте
Процедура ПерейтиНаШагМастера(Знач ШагИлиИндексИлиГруппаФормы)
@@ -1444,19 +1396,20 @@
Процедура ДобавитьПравилаРеквизитов(ТаблицаПравил, Знач ИсключаемыеРеквизиты, Знач ВсеВариантыСравнения, Знач КоллекцияРеквизитов, Знач ДоступенНечеткийПоиск)
Для Каждого МетаданныеРеквизита Из КоллекцияРеквизитов Цикл
Если ИсключаемыеРеквизиты.Свойство(МетаданныеРеквизита.Имя) Тогда
Продолжить;
КонецЕсли;
ВариантыСравнения = ВариантыСравненияДляТипа(МетаданныеРеквизита.Тип, ВсеВариантыСравнения, ДоступенНечеткийПоиск);
Если ВариантыСравнения <> Неопределено Тогда
// Можно сравнивать
СтрокаПравил = ТаблицаПравил.Добавить();
СтрокаПравил.Реквизит = МетаданныеРеквизита.Имя;
СтрокаПравил.ВариантыСравнения = ВариантыСравнения;
ПредставлениеРеквизита = МетаданныеРеквизита.Синоним;
СтрокаПравил.ПредставлениеРеквизита = ?(ПустаяСтрока(ПредставлениеРеквизита), МетаданныеРеквизита.Имя, ПредставлениеРеквизита);
Если ВариантыСравнения = Неопределено Тогда
Продолжить;
КонецЕсли;
СтрокаПравил = ТаблицаПравил.Добавить();
СтрокаПравил.Реквизит = МетаданныеРеквизита.Имя;
СтрокаПравил.ВариантыСравнения = ВариантыСравнения;
СтрокаПравил.ПредставлениеРеквизита = МетаданныеРеквизита.Представление();
КонецЦикла;
КонецПроцедуры
@@ -1085,6 +1085,33 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ФормаУдалить</name>
<id>95</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаУдалитьРасширеннаяПодсказка</name>
<id>96</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>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
@@ -1519,6 +1546,33 @@
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>6</id>
<toolTip>
<key>ru</key>
<value>Удалить данные версии файла</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.DeleteDirectly</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Удалить</name>
</handler>
</action>
<associatedTableElementId xsi:type="core:StringValue">
<value>Код</value>
</associatedTableElementId>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>Ключ</name>
<valueType>
@@ -59,6 +59,9 @@
Элементы.Кодировка.Видимость = Ложь;
КонецЕсли;
Элементы.ФормаУдалить.Видимость =
ЭтотОбъект.Объект.Автор = Пользователи.АвторизованныйПользователь();
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СтандартнаяЗаписатьИЗакрыть", "Отображение", ОтображениеКнопки.Картинка);
@@ -147,6 +150,14 @@
КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Неопределено, ЭтотОбъект.Объект.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -825,6 +825,33 @@
<items xsi:type="form:FormGroup">
<name>СписокКонтекстноеМенюГруппаКомандДополнительные</name>
<id>136</id>
<items xsi:type="form:Button">
<name>СписокКонтекстноеМенюСохранитьКак</name>
<id>81</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>СписокКонтекстноеМенюСохранитьКакРасширеннаяПодсказка</name>
<id>99</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>130</id>
@@ -852,17 +879,16 @@
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>СписокКонтекстноеМенюСохранитьКак</name>
<id>81</id>
<name>СписокКонтекстноеМенюУдалить</name>
<id>161</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>СписокКонтекстноеМенюСохранитьКакРасширеннаяПодсказка</name>
<id>99</id>
<name>СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка</name>
<id>162</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -870,7 +896,7 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СохранитьКак</commandName>
<commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -1049,6 +1075,38 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ФормаСохранитьКак</name>
<id>59</id>
<title>
<key>ru</key>
<value>Сохранить как...</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>ФормаСохранитьКакРасширеннаяПодсказка</name>
<id>94</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СохранитьКак</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -1127,21 +1185,16 @@
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ФормаСохранитьКак</name>
<id>59</id>
<title>
<key>ru</key>
<value>Сохранить как...</value>
</title>
<name>ФормаУдалить</name>
<id>157</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip>
<name>ФормаСохранитьКакРасширеннаяПодсказка</name>
<id>94</id>
<name>ФормаУдалитьРасширеннаяПодсказка</name>
<id>158</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -1149,7 +1202,7 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СохранитьКак</commandName>
<commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
@@ -1231,6 +1284,33 @@
<commandSource>Form</commandSource>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>ПоказыватьПомеченныеФайлы</name>
<id>159</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПоказыватьПомеченныеФайлыРасширеннаяПодсказка</name>
<id>160</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПоказыватьПомеченныеФайлы</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ПоказыватьСлужебныеФайлы</name>
<id>155</id>
@@ -1542,6 +1622,55 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ПоказыватьПомеченныеФайлы</name>
<title>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</title>
<id>8</id>
<toolTip>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПоказыватьПомеченныеФайлы</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>9</id>
<toolTip>
<key>ru</key>
<value>Удалить данные версии файла</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.DeleteDirectly</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Удалить</name>
</handler>
</action>
<associatedTableElementId xsi:type="core:StringValue">
<value>Список</value>
</associatedTableElementId>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -163,6 +163,26 @@
КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
РаботаСФайламиСлужебныйКлиент.ИзменитьОтборПоПометкеУдаления(Список.Отбор, Элементы.ПоказыватьПомеченныеФайлы);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -172,6 +192,13 @@
УстановитьДоступностьФайловыхКоманд();
КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
// Доступны файловые команды - есть хотя бы одна строка в списке и выделена не группировка.
&НаКлиенте
Функция ФайловыеКомандыДоступны()
@@ -191,13 +218,13 @@
&НаКлиенте
Процедура УстановитьДоступностьФайловыхКоманд()
Если Элементы.Список.ТекущиеДанные <> Неопределено Тогда
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено
И ТипЗнч(ТекущиеДанные.Ссылка) <> Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
УстановитьДоступностьКоманд(ТекущиеДанные.РедактируетТекущийПользователь,
ТекущиеДанные.Редактирует, ТекущиеДанные.Автор);
Если ТипЗнч(Элементы.Список.ТекущиеДанные.Ссылка) <> Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
УстановитьДоступностьКоманд(Элементы.Список.ТекущиеДанные.РедактируетТекущийПользователь,
Элементы.Список.ТекущиеДанные.Редактирует);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
@@ -215,11 +242,16 @@
КонецПроцедуры
&НаКлиенте
Процедура УстановитьДоступностьКоманд(РедактируетТекущийПользователь, Редактирует)
Процедура УстановитьДоступностьКоманд(РедактируетТекущийПользователь, Редактирует, Автор)
Элементы.ФормаОсвободить.Доступность = ЗначениеЗаполнено(Редактирует);
Элементы.СписокКонтекстноеМенюОсвободить.Доступность = ЗначениеЗаполнено(Редактирует);
АвторТекущийПользователь =
Элементы.Список.ТекущиеДанные.Автор = ПользователиКлиент.АвторизованныйПользователь();
Элементы.ФормаУдалить.Доступность = АвторТекущийПользователь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = АвторТекущийПользователь;
КонецПроцедуры
&НаКлиенте
@@ -1542,6 +1542,32 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>СписокКонтекстноеМенюУдалить</name>
<id>360</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка</name>
<id>361</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>65</id>
@@ -2877,33 +2903,6 @@
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>УстановитьПометкуУдаления</name>
<id>21</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>УстановитьПометкуУдаленияРасширеннаяПодсказка</name>
<id>119</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.УстановитьПометкуУдаления</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ФормаСохранитьКак</name>
<id>4</id>
@@ -3150,6 +3149,84 @@
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:FormGroup">
<name>ФормаГруппаУдаление</name>
<id>354</id>
<items xsi:type="form:Button">
<name>УстановитьПометкуУдаления</name>
<id>21</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>УстановитьПометкуУдаленияРасширеннаяПодсказка</name>
<id>119</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.УстановитьПометкуУдаления</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ФормаУдалить</name>
<id>356</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаУдалитьРасширеннаяПодсказка</name>
<id>357</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Форма группа удаление</value>
</title>
<extendedTooltip>
<name>ФормаГруппаУдалениеРасширеннаяПодсказка</name>
<id>355</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<extInfo xsi:type="form:ButtonGroupExtInfo"/>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -3465,6 +3542,33 @@
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ПоказыватьПомеченныеФайлы</name>
<id>358</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПоказыватьПомеченныеФайлыРасширеннаяПодсказка</name>
<id>359</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПоказыватьПомеченныеФайлы</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ПоказыватьСлужебныеФайлы</name>
<id>350</id>
@@ -4708,6 +4812,55 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>ПоказыватьПомеченныеФайлы</name>
<title>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</title>
<id>33</id>
<toolTip>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПоказыватьПомеченныеФайлы</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>34</id>
<toolTip>
<key>ru</key>
<value>Удалить данные версии файла</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.DeleteDirectly</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Удалить</name>
</handler>
</action>
<associatedTableElementId xsi:type="core:StringValue">
<value>Список</value>
</associatedTableElementId>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>ВладелецФайла</name>
<valueType/>
@@ -174,6 +174,8 @@
УстановитьУсловноеОформление(ЕстьРеквизитСлужебный);
Если ЕстьРеквизитСлужебный Тогда
РаботаСФайламиСлужебный.ДобавитьОтборыВСписокФайлов(Список);
Иначе
РаботаСФайламиСлужебный.УстановитьОтборПоПометкеУдаления(Список.Отбор);
КонецЕсли;
РаботаСФайламиПереопределяемый.ПриСозданииФормыСпискаФайлов(ЭтотОбъект);
@@ -1097,9 +1099,35 @@
КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
РаботаСФайламиСлужебныйКлиент.ИзменитьОтборПоПометкеУдаления(Список.Отбор, Элементы.ПоказыватьПомеченныеФайлы);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформление(Знач ЕстьРеквизитСлужебный = Ложь)
@@ -1361,12 +1389,15 @@
ИначеЕсли ТипЗнч(Элементы.Список.ТекущаяСтрока) <> ТипСправочникаСФайлами Тогда
ИменаКоманд = Новый Массив;
Иначе
ВозможностьОсвободитьФайл = РаботаСФайламиСлужебныйКлиент.ВозможностьОсвободитьФайл(
ТекущиеДанные.Ссылка,
ТекущиеДанные.ФайлРедактируетТекущийПользователь,
ТекущиеДанные.РедактируетПользователь);
ИменаКоманд = ПолучитьДоступныеКоманды(ТекущиеДанные, ФайлыРедактируютсяВОблачномСервисе, ВозможностьОсвободитьФайл);
ИменаКоманд = ПолучитьДоступныеКоманды(ТекущиеДанные, ФайлыРедактируютсяВОблачномСервисе,
ВозможностьОсвободитьФайл, ПользователиКлиент.АвторизованныйПользователь());
КонецЕсли;
Если ТекущиеДанные <> Неопределено Тогда
@@ -1524,6 +1555,7 @@
ИменаКоманд.Добавить("Освободить");
ИменаКоманд.Добавить("Редактировать");
ИменаКоманд.Добавить("УстановитьПометкуУдаления");
ИменаКоманд.Добавить("Удалить");
ИменаКоманд.Добавить("КонтекстноеМенюУстановитьПометкуУдаления");
ИменаКоманд.Добавить("Подписать");
@@ -1571,16 +1603,18 @@
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ПолучитьДоступныеКоманды(ТекущиеДанныеФайла, ФайлыРедактируютсяВОблачномСервисе, ВозможностьОсвободитьФайл)
Функция ПолучитьДоступныеКоманды(ТекущиеДанныеФайла, ФайлыРедактируютсяВОблачномСервисе, ВозможностьОсвободитьФайл, АвторизованныйПользователь)
ИменаКоманд = ПолучитьИменаКомандФормы();
ФайлРедактируетТекущийПользователь = ТекущиеДанныеФайла.ФайлРедактируетТекущийПользователь;
АвторТекущийПользователь = ТекущиеДанныеФайла.Автор = АвторизованныйПользователь;
ФайлРедактируется = ТекущиеДанныеФайла.ФайлРедактируется;
ФайлПодписан = ТекущиеДанныеФайла.ПодписанЭП;
ФайлЗашифрован = ТекущиеДанныеФайла.Зашифрован;
Если ФайлРедактируется Тогда
Если ФайлРедактируетТекущийПользователь Тогда
УдалитьКомандуИзМассива(ИменаКоманд, "ОбновитьИзФайлаНаДиске");
Иначе
@@ -1599,6 +1633,9 @@
УдалитьКомандуИзМассива(ИменаКоманд, "Зашифровать");
УдалитьКомандуИзМассива(ИменаКоманд, "Расшифровать");
УдалитьКомандуИзМассива(ИменаКоманд, "Удалить");
Иначе
УдалитьКомандуИзМассива(ИменаКоманд, "ЗакончитьРедактирование");
УдалитьКомандуИзМассива(ИменаКоманд, "Освободить");
@@ -1620,6 +1657,7 @@
УдалитьКомандуИзМассива(ИменаКоманд, "Отправить");
УдалитьКомандуИзМассива(ИменаКоманд, "ПечатьСоШтампом");
УдалитьКомандуИзМассива(ИменаКоманд, "Печать");
УдалитьКомандуИзМассива(ИменаКоманд, "Удалить");
КонецЕсли;
Если ФайлПодписан Тогда
@@ -1663,8 +1701,13 @@
УдалитьКомандуИзМассива(ИменаКоманд, "ЗагрузитьФайлы");
УдалитьКомандуИзМассива(ИменаКоманд, "ЗагрузитьПапку");
УдалитьКомандуИзМассива(ИменаКоманд, "Удалить");
КонецЕсли;
Если Не АвторТекущийПользователь Тогда
УдалитьКомандуИзМассива(ИменаКоманд, "Удалить");
КонецЕсли;
Возврат ИменаКоманд;
@@ -371,6 +371,33 @@
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<items xsi:type="form:Button">
<name>ФормаУдалить</name>
<id>275</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаУдалитьРасширеннаяПодсказка</name>
<id>276</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:FormGroup">
<name>ФормаГруппаДополнительныеКоманды</name>
<id>100</id>
@@ -5025,6 +5052,33 @@
<currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>30</id>
<toolTip>
<key>ru</key>
<value>Удалить данные версии файла</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>StdPicture.DeleteDirectly</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Удалить</name>
</handler>
</action>
<associatedTableElementId xsi:type="core:StringValue">
<value>ФормаСтандартнаяЗаписать</value>
</associatedTableElementId>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<parameters>
<name>Ключ</name>
<valueType>
@@ -37,6 +37,8 @@
РаботаСФайламиПереопределяемый.ПриСозданииФормыЭлементаФайлов(ЭтотОбъект);
Элементы.ФормаУдалить.Видимость = ЭтотОбъект.Объект.Автор = ТекущийПользователь;
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.Описание.Высота = 0;
@@ -759,6 +761,14 @@
// Конец СтандартныеПодсистемы.Свойства
&НаКлиенте
Процедура Удалить(Команда)
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Неопределено, ЭтотОбъект.Объект.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -324,7 +324,7 @@
Если СтрокаДерева = Неопределено Или СтрокаДерева.НомерКартинки < 1 Тогда
// Ничего не выбрано или выбрана группа.
НеУдаленныеПодсказка = НСтр("ru = 'Выберите объект, чтобы узнать причину,
|по которой его не удалось удалить.'");
|по которой его не удалось удалить.'");
Иначе
// Выбрана ссылка не удаленного объекта.
Скрываемые = СвязиНеУдаленных.НайтиСтроки(Новый Структура("Видимость", Истина));
@@ -649,7 +649,9 @@
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Функция НомерКартинки(СсылкаИлиДанные, СсылочногоТипа, Вид, Статус)
Функция НомерКартинки(Знач СсылкаИлиДанные, Знач СсылочногоТипа, Знач Вид, Знач Статус)
Вид = ВРег(Вид);
Если СсылочногоТипа Тогда
Если Вид = "СПРАВОЧНИК"
Или Вид = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда
@@ -747,16 +749,30 @@
Функция ИзменитьПометкуУдаленияОбъектов(МассивСсылок, ПометкаУдаления)
Количество = МассивСсылок.Количество();
Для Номер = 1 По Количество Цикл
ОбратныйИндекс = Количество - Номер;
ИзменяемыйОбъект = МассивСсылок[ОбратныйИндекс].ПолучитьОбъект();
Если ИзменяемыйОбъект = Неопределено Тогда
МассивСсылок.Удалить(ОбратныйИндекс);
Иначе
ИзменяемыйОбъект.УстановитьПометкуУдаления(ПометкаУдаления);
КонецЕсли;
КонецЦикла;
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
Для Номер = 1 По Количество Цикл
Ссылка = МассивСсылок[Количество - Номер];
ЭлементБлокировки = Блокировка.Добавить(Ссылка.Метаданные().ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", Ссылка);
КонецЦикла;
Блокировка.Заблокировать();
Для Номер = 1 По Количество Цикл
ОбратныйИндекс = Количество - Номер;
ИзменяемыйОбъект = МассивСсылок[ОбратныйИндекс].ПолучитьОбъект();
Если ИзменяемыйОбъект = Неопределено Тогда
МассивСсылок.Удалить(ОбратныйИндекс);
Иначе
ИзменяемыйОбъект.УстановитьПометкуУдаления(ПометкаУдаления);
КонецЕсли;
КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КоличествоОбъектов = МассивСсылок.Количество();
Если КоличествоОбъектов > 0 Тогда
@@ -770,7 +786,8 @@
Продолжить;
КонецЕсли;
СтрокаДерева.ПометкаУдаления = ПометкаУдаления;
СтрокаДерева.НомерКартинки = СтрокаДерева.НомерКартинки + ?(ПометкаУдаления, 1, -1);
СтрокаДерева.НомерКартинки = НомерКартинки(Ссылка, Истина, ОбщегоНазначения.ВидОбъектаПоСсылке(Ссылка),
?(ПометкаУдаления, "Удален", ""));
КонецЦикла;
Найденные = ТаблицаЗначений.НайтиСтроки(Новый Структура("ОбнаруженныйСсылка", Ссылка));
@@ -779,13 +796,15 @@
Продолжить;
КонецЕсли;
СтрокаТаблицы.ПометкаУдаления = ПометкаУдаления;
СтрокаТаблицы.НомерКартинки = СтрокаТаблицы.НомерКартинки + ?(ПометкаУдаления, 1, -1);
СтрокаТаблицы.НомерКартинки = НомерКартинки(Ссылка, Истина, ОбщегоНазначения.ВидОбъектаПоСсылке(Ссылка),
?(ПометкаУдаления, "Удален", ""));
СтрокаТаблицы.ПометкаУдаленияМодифицирована = Истина;
КонецЦикла;
КонецЦикла;
ЗагрузитьКоллекцию("НеУдаленные", ДеревоЗначений, "УдаляемыйСсылка");
ЗагрузитьКоллекцию("СвязиНеУдаленных", ТаблицаЗначений, "УдаляемыйСсылка, ОбнаруженныйСсылка");
ТаблицаВРеквизитФормы("НеУдаленные", ДеревоЗначений, "УдаляемыйСсылка");
ТаблицаВРеквизитФормы("СвязиНеУдаленных", ТаблицаЗначений, "УдаляемыйСсылка, ОбнаруженныйСсылка");
НеУдаленныеИдентификаторТекущейСтроки = Элементы.НеУдаленные.ТекущаяСтрока;
КонецЕсли;
Возврат СтандартныеПодсистемыСервер.ПодготовитьОповещениеФормОбИзменении(МассивСсылок);
@@ -793,7 +812,7 @@
КонецФункции
&НаСервере
Процедура ЗагрузитьКоллекцию(ИмяТаблицы, ДанныеТаблицы, КлючевыеКолонки)
Процедура ТаблицаВРеквизитФормы(ИмяТаблицы, ДанныеТаблицы, КлючевыеКолонки)
ВыделенныеСтроки = ЗапомнитьВыделенныеСтроки(ИмяТаблицы, КлючевыеКолонки);
ЗначениеВРеквизитФормы(ДанныеТаблицы, ИмяТаблицы);
ВосстановитьВыделенныеСтроки(ИмяТаблицы, ВыделенныеСтроки);
@@ -1269,17 +1269,16 @@
Для Каждого Агрегат Из Агрегаты.Агрегаты Цикл
СтрокаАгрегатовРегистра = СписокАгрегатовРегистра.Добавить();
СтрокаИзмерений = "";
Для Каждого Измерения Из Агрегат.Измерения Цикл
СтрокаИзмерений = СтрокаИзмерений + Измерения + ", ";
СинонимыИзмерений = Новый Массив;
Для Каждого ИмяИзмерения Из Агрегат.Измерения Цикл
СинонимИзмерения = Метаданные.РегистрыНакопления[СтрокаТаблицы.ИмяМетаданного].Измерения[ИмяИзмерения].Синоним;
СинонимыИзмерений.Добавить(СинонимИзмерения);
КонецЦикла;
СтрокаИзмерений = Сред(СтрокаИзмерений, 1, СтрДлина(СтрокаИзмерений)-2);
СтрокаАгрегатовРегистра = СписокАгрегатовРегистра.Добавить();
СтрокаАгрегатовРегистра.ИмяМетаданного = СтрокаТаблицы.ИмяМетаданного;
СтрокаАгрегатовРегистра.Периодичность = Строка(Агрегат.Периодичность);
СтрокаАгрегатовРегистра.Измерения = СтрокаИзмерений;
СтрокаАгрегатовРегистра.Измерения = СтрСоединить(СинонимыИзмерений, ", ");
СтрокаАгрегатовРегистра.Использование = Агрегат.Использование;
СтрокаАгрегатовРегистра.НачалоПериода = Агрегат.НачалоПериода;
СтрокаАгрегатовРегистра.КонецПериода = Агрегат.КонецПериода;
@@ -3700,7 +3700,13 @@
// настроить параметры поиска
ОбластьПоиска = Новый Массив;
РазмерПорции = 200;
СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПоиска, РазмерПорции);
СтрокаПолнотекстовогоПоиска = СтрокаПоиска;
Если СтрНайти(СтрокаПолнотекстовогоПоиска, "*") = 0 Тогда
СтрокаПолнотекстовогоПоиска = "*" + СтрокаПолнотекстовогоПоиска + "*";
КонецЕсли;
СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПолнотекстовогоПоиска, РазмерПорции);
ОбластьПоиска.Добавить(Метаданные.Документы.ЭлектронноеПисьмоВходящее);
ОбластьПоиска.Добавить(Метаданные.Документы.ЭлектронноеПисьмоИсходящее);
ОбластьПоиска.Добавить(Метаданные.Справочники.ЭлектронноеПисьмоВходящееПрисоединенныеФайлы);
@@ -102,30 +102,40 @@
// Заполняет список получателей SMS при отправке сообщения сформированного по шаблону.
//
// Параметры:
// ПолучателиSMS - ТаблицаЗначений - список получается SMS.
// * НомерТелефона - Строка - номер телефона, куда будет отправлено сообщение SMS.
// * Представление - Строка - представление получателя сообщения SMS.
// ПолучателиSMS - ТаблицаЗначений - список получателей SMS.
// * НомерТелефона - Строка - номер телефона, куда будет отправлено сообщение SMS;
// * Представление - Строка - представление получателя сообщения SMS;
// * Контакт - Произвольный - контакт, которому принадлежит номер телефона.
// ПредметСообщения - ЛюбаяСсылка, Структура - ссылка на объект являющийся источником данных, либо структура,
// если шаблон содержит произвольные параметры:
// * Предмет - ЛюбаяСсылка - ссылка на объект являющийся источником данных
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров.
// ПредметСообщения - ЛюбаяСсылка - ссылка на объект, являющийся источником данных.
// - Структура - структура описывающая параметры шаблона:
// * Предмет - ЛюбаяСсылка - ссылка на объект, являющийся источником данных;
// * ВидСообщения - Строка - вид формируемого сообщения: "ЭлектроннаяПочта" или "СообщениеSMS";
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров;
// * ОтправитьСразу - Булево - признак мгновенной отправки;
// * ПараметрыСообщения - Структура - Дополнительные параметры сообщения.
//
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры
// Заполняет список получателей письма при отправки сообщения сформированного по шаблону.
// Заполняет список получателей почты при отправке сообщения сформированного по шаблону.
//
// Параметры:
// ПолучателиПисьма - ТаблицаЗначений - список получается письма.
// * Адрес - Строка - адрес электронной почты получателя.
// * Представление - Строка - представление получается письма.
// * Адрес - Строка - адрес электронной почты получателя;
// * Представление - Строка - представление получателя письма;
// * Контакт - Произвольный - контакт, которому принадлежит адрес электронной почты.
// ПредметСообщения - ЛюбаяСсылка, Структура - ссылка на объект являющийся источником данных, либо структура,
// если шаблон содержит произвольные параметры:
// * Предмет - ЛюбаяСсылка - ссылка на объект являющийся источником данных
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров.
// ПредметСообщения - ЛюбаяСсылка - ссылка на объект, являющийся источником данных.
// - Структура - структура описывающая параметры шаблона:
// * Предмет - ЛюбаяСсылка - ссылка на объект, являющийся источником данных;
// * ВидСообщения - Строка - вид формируемого сообщения: "ЭлектроннаяПочта" или "СообщениеSMS";
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров;
// * ОтправитьСразу - Булево - признак мгновенной отправки письма;
// * ПараметрыСообщения - Структура - Дополнительные параметры сообщения;
// * ПреобразовыватьHTMLДляФорматированногоДокумента - Булево - признак преобразование HTML текста
// сообщения содержащего картинки в тексте письма из-за особенностей вывода изображений
// в форматированном документе;
// * УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - учетная запись для отправки письма.
//
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
@@ -210,7 +210,7 @@
<type>
<types>String</types>
<stringQualifiers>
<length>200</length>
<length>255</length>
</stringQualifiers>
</type>
<toolTip>
@@ -231,7 +231,7 @@
<type>
<types>String</types>
<stringQualifiers>
<length>200</length>
<length>255</length>
</stringQualifiers>
</type>
<toolTip>
@@ -253,7 +253,7 @@
<type>
<types>String</types>
<stringQualifiers>
<length>200</length>
<length>255</length>
</stringQualifiers>
</type>
<toolTip>
@@ -2755,6 +2755,10 @@
<items xsi:type="form:Button">
<name>ФормаУточнитьКонтакты</name>
<id>267</id>
<title>
<key>ru</key>
<value>Адресная книга</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -232,7 +232,7 @@
<type>
<types>String</types>
<stringQualifiers>
<length>200</length>
<length>255</length>
</stringQualifiers>
</type>
<toolTip>
@@ -253,7 +253,7 @@
<type>
<types>String</types>
<stringQualifiers>
<length>200</length>
<length>255</length>
</stringQualifiers>
</type>
<toolTip>
@@ -276,7 +276,7 @@
<type>
<types>String</types>
<stringQualifiers>
<length>200</length>
<length>255</length>
</stringQualifiers>
</type>
<toolTip>
@@ -299,7 +299,7 @@
<type>
<types>String</types>
<stringQualifiers>
<length>200</length>
<length>255</length>
</stringQualifiers>
</type>
<toolTip>
@@ -56,7 +56,7 @@
<choiceList>
<presentation>
<key>ru</key>
<value>Получать, сохранять и отправлять письма с этой учетной записи во встроенном почтовом клиенте</value>
<value>Получать, сохранять и отправлять письма с этой учетной записи</value>
</presentation>
<value xsi:type="core:NumberValue">
<value>1</value>
@@ -81,11 +81,8 @@
</userVisible>
<title>
<key>ru</key>
<value>Использование для встроенного почтового клиента:</value>
<value>Во встроенном почтовом клиенте:</value>
</title>
<titleFont xsi:type="core:FontRef">
<font>0</font>
</titleFont>
<height>5</height>
<extendedTooltip>
<name>ВидУчетнойЗаписиExtendedTooltip</name>
@@ -372,7 +369,7 @@
<id>62</id>
<title>
<key>ru</key>
<value>Помещать письма в папку письма основания</value>
<value>Помещать письма в папку письма-основания</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -383,11 +380,15 @@
<segments>Запись.ПомещатьПисьмоВПапкуПисьмаОснования</segments>
</dataPath>
<titleLocation>Right</titleLocation>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<extendedTooltip>
<name>ПомещатьПисьмоВПапкуПисьмаОснованияExtendedTooltip</name>
<id>96</id>
<title>
<key>ru</key>
<value>Для таких писем правила обработки электронной почты не применяются.</value>
</title>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
@@ -405,42 +406,6 @@
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<items xsi:type="form:Decoration">
<name>ПодписьПомещатьПисьмоВПапкуПисьмаОснования</name>
<id>64</id>
<title>
<key>ru</key>
<value>Для таких писем правила обработки электронной почты не применяются.</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ПодписьПомещатьПисьмоВПапкуПисьмаОснованияExtendedTooltip</name>
<id>97</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПодписьПомещатьПисьмоВПапкуПисьмаОснованияКонтекстноеМеню</name>
<id>65</id>
<autoFill>true</autoFill>
</contextMenu>
<type>Label</type>
<autoMaxHeight>true</autoMaxHeight>
<textColor xsi:type="core:ColorRef">
<color>Style.ПоясняющийТекст</color>
</textColor>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -497,7 +462,7 @@
<id>126</id>
<title>
<key>ru</key>
<value>Признак &quot;рассмотрено&quot; всегда соответствует состоянию прочтения письма на почтовом сервере. Изменение признака &quot;рассмотрено&quot; в данном почтовом клиенте не приводит к изменению признака прочтения на сервере.</value>
<value>Признак &quot;Рассмотрено&quot; всегда соответствует состоянию прочтения письма на почтовом сервере. Изменение признака &quot;рассмотрено&quot; в данном почтовом клиенте не приводит к изменению признака прочтения на сервере.</value>
</title>
<formatted>true</formatted>
<type>Label</type>
@@ -549,8 +514,7 @@
<id>131</id>
<title>
<key>ru</key>
<value>Все письма загружаются не рассмотренными. Признак &quot;рассмотрено&quot; не синхронизируется с признаком прочтения письма на почтовом сервере.
<value>Все письма загружаются не рассмотренными. Признак &quot;Рассмотрено&quot; не синхронизируется с признаком прочтения письма на почтовом сервере.
</value>
</title>
<formatted>true</formatted>
@@ -594,9 +558,6 @@
<key>ru</key>
<value>Где идет обработка писем?</value>
</title>
<titleFont xsi:type="core:FontRef">
<font>0</font>
</titleFont>
<height>6</height>
<extendedTooltip>
<name>ГруппаГдеИдетОбработкаПисемРасширеннаяПодсказка</name>
@@ -660,7 +621,7 @@
<id>1</id>
<title>
<key>ru</key>
<value>Включать подпись для новых писем</value>
<value>Включать подпись для новых писем:</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -712,6 +673,7 @@
<dataPath xsi:type="form:DataPath">
<segments>Запись.ФорматПодписиДляНовыхСообщений</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>ФорматПодписиДляНовыхСообщенийПриИзменении</name>
@@ -769,7 +731,7 @@
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
@@ -1041,7 +1003,7 @@
<id>20</id>
<title>
<key>ru</key>
<value>Включать подпись при ответе или пересылке</value>
<value>Включать подпись при ответе или пересылке:</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
@@ -1093,6 +1055,7 @@
<dataPath xsi:type="form:DataPath">
<segments>Запись.ФорматПодписиПриОтветеПересылке</segments>
</dataPath>
<titleLocation>None</titleLocation>
<handlers>
<event>OnChange</event>
<name>ФорматПодписиПриОтветеПересылкеПриИзменении</name>
@@ -1150,7 +1113,7 @@
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
@@ -10,72 +10,93 @@
<p style="MARGIN-BOTTOM: 5px; MARGIN-TOP: 0px; MARGIN-LEFT: 20px"><a href="#3">Использование другого почтового клиента для обработки писем</a>.</p>
<p style="MARGIN-BOTTOM: 5px; MARGIN-TOP: 0px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300e7facbd651">Настройка подписей к письму</a>.</p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300dacdd2ff5f">
<h3 style="MARGIN-LEFT: 0px">Настройка использования учетной записи во встроенном почтовом клиенте</h3></a>
<ul style="MARGIN-LEFT: 40px"><li>Настройки производятся на вкладке <strong>Основное</strong> с помощью переключателя <strong>Использование для встроенного почтового клиента</strong>:
<ul><li>Выберите значение <strong>Получать, сохранять и отправлять письма с этой учетной записи во встроенном почтовом клиенте</strong>, если с данной учетной записи электронной почты планируется переписка.
</li><li>Если использование во внутреннем почтовом клиенте не предполагается (например, эта учетная запись используется для обменов с другими программами), то выберите значение <b>Не использовать</b>.<a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300df5bbfa46d"> </a></li></ul></li></ul><h3 style="MARGIN-LEFT: 0px">Включение имени пользователя, указанного в учетной записи, в представление отправителя письма</h3>
<ul style="MARGIN-LEFT: 40px"><li>Настройки производятся на вкладке <strong>Основное</strong> с помощью переключателя <strong>Во встроенном почтовом клиенте</strong>:
<ul><li>Выберите значение <strong>Получать, сохранять и отправлять письма с этой учетной записи</strong>, если с данной учетной записи электронной почты планируется переписка.
</li>
<li>Если использование во внутреннем почтовом клиенте не предполагается (например, эта учетная запись используется для обменов с другими программами), то выберите значение <b>Не использовать</b>.<a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300df5bbfa46d"> </a></li></ul></li></ul><h3 style="MARGIN-LEFT: 0px">Включение имени пользователя, указанного в учетной записи, в представление отправителя письма</h3>
<ul><li>
<div style="MARGIN-LEFT: 0px">Установите флажок <b>В представление включать имя пользователя</b> на вкладке <strong>Основное</strong>.</div></li></ul><h3><a name="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300dda48a17ca">Назначение флажка Удалять письма после отправки</a></h3>
<ul><li>
<div>Настройка производится на вкладке <strong>Основное</strong>.</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">Если нет необходимости хранить <a href="Document.ЭлектронноеПисьмоИсходящее.Form.ФормаДокумента/Help">исходящие письма</a>, успешно отправленные с данной учетной записи, то этот флажок должен быть включен.</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">В этом случае после отправки письма будут удалены.</div></li></ul><h3><a name="#2">Коллективная учетная запись</a></h3>
<ul><li>
<div style="MARGIN-LEFT: 0px">Для коллективной учетной записи ответственным за папки может быть один <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователь</a>, а ответственным за обработку писем по умолчанию другой (например, администратор программы).</div>
<ul><li>
<div style="MARGIN-LEFT: 0px">Выберите <strong>Ответственного за обработку писем</strong> из списка пользователей. Поле является обязательным для заполнения.</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">Выберите <strong>Ответственного за ведение папок </strong>из списка пользователей. Поле является обязательным для заполнения.</div></li></ul></li></ul><h3><a name="#1">Пример использования коллективной учетной записи</a></h3>
<ul><li>
<div>Крупная компания имеет большое количество клиентов по всей стране.</div>
</li><li>
</li>
<li>
<div>У компании есть единый почтовый адрес, на который клиенты шлют претензии.</div>
</li><li>
</li>
<li>
<div>Состав и порядок папок для данной учетной записи определяет руководитель службы, которая отвечает за обработку претензий.</div>
</li><li>
</li>
<li>
<div>Ответственный за первичный разбор писем - это другой сотрудник. Он обрабатывает входящую корреспонденцию и назначает письмам ответственных, которые в дальнейшем будут отвечать за обработку претензии, изложенной в письме.</div></li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300de86849f59">Назначение флажка Помещать письма в папку письма-основания</a></h3>
<ul><li>
<div style="MARGIN-LEFT: 0px">Настройка производится на вкладке <strong>Обработка писем</strong>.</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">Если данный флажок включен, то для писем, которые являются ответом или пересылаемым письмом, не будут применяться <a href="Catalog.ПравилаОбработкиЭлектроннойПочты/Help">правила обработки</a>.</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">Такие письма всегда будут помещаться в ту же папку, что и письмо-основание.</div></li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#3">Использование другого почтового клиента для обработки писем</a> (при получении писем по протоколу IMAP)</h3>
<ul><li>
<div style="MARGIN-LEFT: 0px">Если получение почты проходит по протоколу IMAP, то обработка входящих писем может проводиться и в другом почтовом клиенте.</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">С помощью переключателя на вкладке <strong>Обработка писем</strong> можно указать,<strong>Где идет обработка писем</strong>:</div>
<ul><li>
<div style="MARGIN-LEFT: 0px"><strong>В другом почтовом клиенте</strong> - в этом случае редко используется почтовый клиент программы, например, только для отправки печатных форм, или используются другие возможности отправки писем с использованием данных ИБ. </div>
<ul><li>
<div style="MARGIN-LEFT: 0px">Основная работа с почтой, в том числе разборка писем выполняется в другом почтовом клиенте. </div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">В этом случае выполняется синхронизация признака <strong>Рассмотрено</strong> в программе с признаком прочтения на почтовом сервере. </div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">Синхронизация выполняется в одностороннем порядке. На почтовый клиент программы получаются и устанавливаются признаки прочтения с сервера. С клиента на сервер изменения признака прочтения не передается. </div>
</li><li>
<div style="MARGIN-LEFT: 0px">При получении писем признак <strong>Рассмотрено</strong> всегда соответствует состоянию письма на почтовом сервере.</div></li></ul></li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">При получении писем признак <strong>Рассмотрено</strong> всегда соответствует состоянию письма на почтовом сервере.</div></li></ul></li>
<li>
<div style="MARGIN-LEFT: 0px"><strong>В этом почтовом клиенте</strong> - разбор корреспонденции происходит в программе. В этом случае все входящие письма загружаются в программу не рассмотренными.</div></li></ul></li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300e7facbd651">
<h3 style="MARGIN-LEFT: 0px">Настройка подписи к письму</h3></a>
<ul><li>
<div style="MARGIN-LEFT: 0px">Можно создать подпись двух видов: </div>
<ul><li>
<div style="MARGIN-LEFT: 0px">для новых сообщений - на вкладке <strong>Подпись для нового</strong>.</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">для сообщений при ответе или пересылке - на вкладке <strong>Подпись при ответе</strong>.</div></li></ul></li></ul><ul><li>
<div style="MARGIN-LEFT: 0px">Установите флажок <b>Включить</b> для нужного вида подписи.</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">Выберите из списка формат подписи: </div>
<ul><li>
<div style="MARGIN-LEFT: 0px"><strong>Обычный текст</strong>;</div>
</li><li>
<div style="MARGIN-LEFT: 0px"><strong>HTML</strong> - создание подписи в формате HTML позволит форматировать текст и вставлять в него картинки.</div></li></ul></li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px"><strong>HTML</strong> - создание подписи в формате HTML позволит форматировать текст и вставлять в него картинки.</div></li></ul></li>
<li>
<div style="MARGIN-LEFT: 0px">Для того чтобы размещать подписи, включите флажки <strong>Включать подпись для новых писем</strong> (<strong>Включать подпись при ответе или пересылке</strong>).</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">Напишите подпись в соответствующем поле. При выборе формата HTML можно форматировать текст различными способами, вставлять картинки и гиперссылки. Текст можно форматировать с помощью кнопок панели навигации, а также команд меню <strong>Еще</strong>.</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">Необходимо учитывать, что при переключении ранее введенной подписи из формата <strong>HTML</strong> в <strong>Обычный текст</strong> часть информации (например, картинки, гиперссылки и другие элементы, которые существуют только в формате HTML), удаляется безвозвратно. Программа выводит об этом предупреждение. Для подтверждения нажмите <strong>Да</strong>.</div>
</li><li>
</li>
<li>
<div style="MARGIN-LEFT: 0px">Также подписи можно <a href="DocumentJournal.Взаимодействия.Form.НастройкиРаботыСПочтой/Help">настроить</a> по команде <strong>Еще -</strong> <strong>Персональные настройки</strong> из <a href="DocumentJournal.Взаимодействия.Form.ФормаСписка/Help">списка взаимодействий</a>.</div></li></ul><h3></h3>
<table border="4"><tbody><tr><td>
<p>Важно. Создание подписей в формате HTML доступно, если это предусмотрено настройками программы. Данную настройку можно изменить в разделе <b>Администрирование - Органайзер,</b> включив флажок <b>Исходящие письма в формате HTML</b>.</p></td></tr></tbody></table><h3>См. также:</h3>
@@ -1398,93 +1398,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name>
<right>
@@ -2713,6 +2626,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.НеразделенныеПользователи</name>
<right>
@@ -21,6 +21,13 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -52,13 +59,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов</name>
<right>
@@ -2019,45 +2019,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name>
<right>
@@ -3730,6 +3691,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Catalog.ЗакладкиВзаимодействий</name>
<right>
@@ -1,18 +0,0 @@
<?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="aad576f0-8481-485c-8c77-a001f51056b2">
<name>ГиперссылкаШрифт</name>
<synonym>
<key>ru</key>
<value>Гиперссылка шрифт</value>
</synonym>
<type>Font</type>
<value xsi:type="core:FontValue">
<value xsi:type="core:FontRef">
<font>System.DefaultGUIFont</font>
<bold>false</bold>
<italic>false</italic>
<underline>true</underline>
<strikeout>false</strikeout>
</value>
</value>
</mdclass:StyleItem>
@@ -1,19 +0,0 @@
<?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="094b98ac-64b4-4c5b-a8f8-5d4b3c858513">
<name>ЗаголовокГруппыШрифт</name>
<synonym>
<key>ru</key>
<value>Заголовок группы шрифт</value>
</synonym>
<type>Font</type>
<value xsi:type="core:FontValue">
<value xsi:type="core:FontRef">
<font>Style.NormalTextFont</font>
<height>9.0</height>
<bold>true</bold>
<italic>false</italic>
<underline>false</underline>
<strikeout>false</strikeout>
</value>
</value>
</mdclass:StyleItem>
@@ -102,8 +102,6 @@
<content>CommonPicture.ПереслатьПисьмоКакВложение</content>
<content>CommonModule.ВзаимодействияКлиентСерверСлужебныйПовтИсп</content>
<content>Constant.ЗапретитьОтображениеНебезопасногоСодержимогоВПисьмах</content>
<content>StyleItem.ГиперссылкаШрифт</content>
<content>StyleItem.ЗаголовокГруппыШрифт</content>
<content>CommonModule.ВзаимодействияЛокализация</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem>