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
+3680 -1116

No files matched your search

@@ -414,6 +414,10 @@
<event>BeforeDeleteRow</event> <event>BeforeDeleteRow</event>
<name>СписокПередУдалением</name> <name>СписокПередУдалением</name>
</handlers> </handlers>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<handlers> <handlers>
<event>BeforeRowChange</event> <event>BeforeRowChange</event>
<name>СписокПередНачаломИзменения</name> <name>СписокПередНачаломИзменения</name>
@@ -636,6 +640,33 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </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"> <items xsi:type="form:Button">
<name>СписокКонтекстноеМенюУстановитьПометкуУдаления</name> <name>СписокКонтекстноеМенюУстановитьПометкуУдаления</name>
<id>112</id> <id>112</id>
@@ -663,17 +694,16 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>КонтекстноеМенюСписокКопировать</name> <name>СписокКонтекстноеМенюУдалить</name>
<id>46</id> <id>122</id>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip> <extendedTooltip>
<name>КонтекстноеМенюСписокКопироватьExtendedTooltip</name> <name>СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка</name>
<id>88</id> <id>123</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -681,7 +711,7 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<commandName>Form.Item.Список.StandardCommand.CopyToClipboard</commandName> <commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -903,6 +933,81 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </items>
<items xsi:type="form:Button">
<name>ФормаУдалить</name>
<id>118</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>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Форма стандартные команды</value>
</title>
<extendedTooltip>
<name>ФормаСтандартныеКомандыExtendedTooltip</name>
<id>80</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>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"> <items xsi:type="form:Button">
<name>ФормаИзменитьФорму</name> <name>ФормаИзменитьФорму</name>
<id>110</id> <id>110</id>
@@ -929,27 +1034,6 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Форма стандартные команды</value>
</title>
<extendedTooltip>
<name>ФормаСтандартныеКомандыExtendedTooltip</name>
<id>80</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"> <items xsi:type="form:Button">
<name>ФормаСправка</name> <name>ФормаСправка</name>
<id>73</id> <id>73</id>
@@ -1258,6 +1342,55 @@
<currentRowUse>DontUse</currentRowUse> <currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands>
<name>ПоказыватьПомеченныеФайлы</name>
<title>
<key>ru</key>
<value>Показывать помеченные файлы</value>
</title>
<id>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> <parameters>
<name>Файл</name> <name>Файл</name>
<valueType> <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"> <items xsi:type="form:FormGroup">
<name>КоманднаяПанель</name> <name>КоманднаяПанель</name>
<id>37</id> <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> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -83,6 +551,7 @@
<defaultItem>true</defaultItem> <defaultItem>true</defaultItem>
<skipOnInput>false</skipOnInput> <skipOnInput>false</skipOnInput>
<titleLocation>None</titleLocation> <titleLocation>None</titleLocation>
<excludedCommands>Delete</excludedCommands>
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>ГруппаВертикально</name> <name>ГруппаВертикально</name>
<id>51</id> <id>51</id>
@@ -427,6 +896,10 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<searchStringAddition> <searchStringAddition>
<name>СписокСтрокаПоиска</name> <name>СписокСтрокаПоиска</name>
<id>42</id> <id>42</id>
@@ -561,6 +1034,7 @@
<event>OnCreateAtServer</event> <event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name> <name>ПриСозданииНаСервере</name>
</handlers> </handlers>
<excludedCommands>Delete</excludedCommands>
<windowOpeningMode>LockOwner</windowOpeningMode> <windowOpeningMode>LockOwner</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
<autoUrl>true</autoUrl> <autoUrl>true</autoUrl>
@@ -611,6 +1085,55 @@
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations> <getInvisibleFieldPresentations>true</getInvisibleFieldPresentations>
</extInfo> </extInfo>
</attributes> </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> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -28,6 +28,8 @@
ЭлементОтбораДанных.ПравоеЗначение = Истина; ЭлементОтбораДанных.ПравоеЗначение = Истина;
ЭлементОтбораДанных.Использование = Истина; ЭлементОтбораДанных.Использование = Истина;
РаботаСФайламиСлужебный.УстановитьОтборПоПометкеУдаления(Список.Отбор);
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.Комментарий.Видимость = Ложь; Элементы.Комментарий.Видимость = Ложь;
КонецЕсли; КонецЕсли;
@@ -35,3 +37,52 @@
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
Если Элементы.Список.ТекущаяСтрока <> Неопределено Тогда
Элементы.ФормаУдалить.Доступность =
Элементы.Список.ТекущиеДанные.Автор = ПользователиКлиент.АвторизованныйПользователь();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
РаботаСФайламиСлужебныйКлиент.ИзменитьОтборПоПометкеУдаления(Список.Отбор, Элементы.ПоказыватьПомеченныеФайлы);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
#КонецОбласти
@@ -66,6 +66,83 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </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"> <items xsi:type="form:FormGroup">
<name>ФормаСтандартныеКоманды</name> <name>ФормаСтандартныеКоманды</name>
<id>15</id> <id>15</id>
@@ -92,6 +169,33 @@
<commandSource>Form</commandSource> <commandSource>Form</commandSource>
</extInfo> </extInfo>
</items> </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"> <items xsi:type="form:Button">
<name>ФормаСправка</name> <name>ФормаСправка</name>
<id>14</id> <id>14</id>
@@ -565,6 +669,10 @@
<event>BeforeDeleteRow</event> <event>BeforeDeleteRow</event>
<name>СписокПередУдалением</name> <name>СписокПередУдалением</name>
</handlers> </handlers>
<handlers>
<event>OnActivateRow</event>
<name>СписокПриАктивизацииСтроки</name>
</handlers>
<handlers> <handlers>
<event>BeforeRowChange</event> <event>BeforeRowChange</event>
<name>СписокПередНачаломИзменения</name> <name>СписокПередНачаломИзменения</name>
@@ -683,6 +791,32 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </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"> <items xsi:type="form:Button">
<name>СписокКонтекстноеМенюУстановитьПометкуУдаления</name> <name>СписокКонтекстноеМенюУстановитьПометкуУдаления</name>
<id>11</id> <id>11</id>
@@ -710,16 +844,16 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>СписокКонтекстноеМенюКопироватьВБуферОбмена</name> <name>СписокКонтекстноеМенюУдалить</name>
<id>12</id> <id>76</id>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<extendedTooltip> <extendedTooltip>
<name>СписокКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip</name> <name>СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка</name>
<id>37</id> <id>77</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -727,7 +861,7 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<commandName>Form.Item.Список.StandardCommand.CopyToClipboard</commandName> <commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -850,6 +984,55 @@
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations> <getInvisibleFieldPresentations>true</getInvisibleFieldPresentations>
</extInfo> </extInfo>
</attributes> </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> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -24,6 +24,8 @@
ЭлементОтбораДанных.ПравоеЗначение = Истина; ЭлементОтбораДанных.ПравоеЗначение = Истина;
ЭлементОтбораДанных.Использование = Истина; ЭлементОтбораДанных.Использование = Истина;
РаботаСФайламиСлужебный.УстановитьОтборПоПометкеУдаления(Список.Отбор);
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.СписокКомментарий.Видимость = Ложь; Элементы.СписокКомментарий.Видимость = Ложь;
КонецЕсли; КонецЕсли;
@@ -80,10 +82,61 @@
ОткрытьКарточкуФайла(); ОткрытьКарточкуФайла();
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
Если Элементы.Список.ТекущаяСтрока <> Неопределено Тогда
ИзменитьДоступностьКоманд();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
РаботаСФайламиСлужебныйКлиент.ИзменитьОтборПоПометкеУдаления(Список.Отбор, Элементы.ПоказыватьПомеченныеФайлы);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ИзменитьДоступностьКоманд()
АвторТекущийПользователь =
Элементы.Список.ТекущиеДанные.Автор = ПользователиКлиент.АвторизованныйПользователь();
Элементы.ФормаУдалить.Доступность = АвторТекущийПользователь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = АвторТекущийПользователь;
КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ОткрытьКарточкуФайла() Процедура ОткрытьКарточкуФайла()
@@ -104,5 +157,4 @@
Возврат ВыбраннаяСтрока.Владелец; Возврат ВыбраннаяСтрока.Владелец;
КонецФункции КонецФункции
#КонецОбласти #КонецОбласти
@@ -12,15 +12,11 @@
Процедура ПередЗаписью(Отказ) Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда Если ОбменДанными.Загрузка
Возврат; Или ДополнительныеСвойства.Свойство("УдалениеДанных")
КонецЕсли; Или ДополнительныеСвойства.Свойство("КонвертацияФайлов")
Или ДополнительныеСвойства.Свойство("РазмещениеФайловВТомах") Тогда
Если ДополнительныеСвойства.Свойство("КонвертацияФайлов") Тогда
Возврат;
КонецЕсли;
Если ДополнительныеСвойства.Свойство("РазмещениеФайловВТомах") Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -2815,9 +2815,9 @@
ЗаголовокОшибки = НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных().'"); ЗаголовокОшибки = НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных().'");
ИначеЕсли КоличествоОшибок = 1 Тогда ИначеЕсли КоличествоОшибок = 1 Тогда
ЗаголовокОшибки = НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторыОбъектаМетаданных().'"); ЗаголовокОшибки = НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторыОбъектовМетаданных().'");
Иначе Иначе
ЗаголовокОшибки = НСтр("ru = 'Ошибки при выполнении функции ОбщегоНазначения.ИдентификаторыОбъектаМетаданных().'"); ЗаголовокОшибки = НСтр("ru = 'Ошибки при выполнении функции ОбщегоНазначения.ИдентификаторыОбъектовМетаданных().'");
КонецЕсли; КонецЕсли;
Разделитель = Символы.ПС + Символы.ПС; Разделитель = Символы.ПС + Символы.ПС;
@@ -497,7 +497,6 @@
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<indexing>Index</indexing> <indexing>Index</indexing>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="aa7d5ca4-3c02-4ca1-a790-2435ee9f9f02"> <attributes uuid="aa7d5ca4-3c02-4ca1-a790-2435ee9f9f02">
<name>Вид</name> <name>Вид</name>
@@ -516,7 +515,6 @@
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<indexing>Index</indexing> <indexing>Index</indexing>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="b7e85f5c-4312-44c6-895a-3f636a8c78d8"> <attributes uuid="b7e85f5c-4312-44c6-895a-3f636a8c78d8">
<name>Представление</name> <name>Представление</name>
@@ -556,7 +554,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="1969e8d1-0a82-44cb-a0d4-e5badb1d28d4"> <attributes uuid="1969e8d1-0a82-44cb-a0d4-e5badb1d28d4">
<name>Страна</name> <name>Страна</name>
@@ -577,7 +574,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="a1afacc5-f49a-4df2-a44d-479594d50179"> <attributes uuid="a1afacc5-f49a-4df2-a44d-479594d50179">
<name>Регион</name> <name>Регион</name>
@@ -598,7 +594,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="fe70eba3-7477-4a38-a511-d69960abb928"> <attributes uuid="fe70eba3-7477-4a38-a511-d69960abb928">
<name>Город</name> <name>Город</name>
@@ -619,7 +614,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="6534ea96-2145-49e6-9739-f59459dc7f6b"> <attributes uuid="6534ea96-2145-49e6-9739-f59459dc7f6b">
<name>АдресЭП</name> <name>АдресЭП</name>
@@ -640,7 +634,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="f49bffa0-cad6-4801-b82e-21aa580e72e6"> <attributes uuid="f49bffa0-cad6-4801-b82e-21aa580e72e6">
<name>ДоменноеИмяСервера</name> <name>ДоменноеИмяСервера</name>
@@ -661,7 +654,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="bbbfb817-8db3-4415-86c3-af028276d6e9"> <attributes uuid="bbbfb817-8db3-4415-86c3-af028276d6e9">
<name>НомерТелефона</name> <name>НомерТелефона</name>
@@ -682,7 +674,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="6a91112c-f6cc-47a0-9d26-a36c7702af7d"> <attributes uuid="6a91112c-f6cc-47a0-9d26-a36c7702af7d">
<name>НомерТелефонаБезКодов</name> <name>НомерТелефонаБезКодов</name>
@@ -703,7 +694,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="40a59681-f31d-4fb9-9301-67c1430590e0"> <attributes uuid="40a59681-f31d-4fb9-9301-67c1430590e0">
<name>ВидДляСписка</name> <name>ВидДляСписка</name>
@@ -721,7 +711,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
<attributes uuid="ae3358ad-ea3a-4b73-a305-02a152863978"> <attributes uuid="ae3358ad-ea3a-4b73-a305-02a152863978">
<name>Значение</name> <name>Значение</name>
@@ -740,7 +729,6 @@
<minValue xsi:type="core:UndefinedValue"/> <minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory> <dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes> </attributes>
</tabularSections> </tabularSections>
<forms uuid="cb92dc2e-6053-4233-a408-4464514b1257"> <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> <common>true</common>
</edit> </edit>
</columns> </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>
<attributes> <attributes>
<name>ПоляКлассификатора</name> <name>ПоляКлассификатора</name>
@@ -1095,12 +1109,31 @@
<common>true</common> <common>true</common>
</edit> </edit>
</attributes> </attributes>
<attributes>
<name>РежимДобавления</name>
<id>6</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<parameters> <parameters>
<name>ТекущаяСтрока</name> <name>ТекущаяСтрока</name>
<valueType> <valueType>
<types>CatalogRef.СтраныМира</types> <types>CatalogRef.СтраныМира</types>
</valueType> </valueType>
</parameters> </parameters>
<parameters>
<name>РежимДобавления</name>
<valueType>
<types>Boolean</types>
</valueType>
</parameters>
<commandInterface> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -15,9 +15,10 @@
РежимОткрытияОкна = Параметры.РежимОткрытияОкна РежимОткрытияОкна = Параметры.РежимОткрытияОкна
КонецЕсли; КонецЕсли;
Параметры.Свойство("РежимДобавления", РежимДобавления);
Параметры.Свойство("РежимВыбора", РежимВыбора); Параметры.Свойство("РежимВыбора", РежимВыбора);
Элементы.Классификатор.РежимВыбора = РежимВыбора; Элементы.Классификатор.РежимВыбора = РежимВыбора;
ЗакрыватьПриВыборе = РежимВыбора; ЗакрыватьПриВыборе = РежимВыбора;
// Служебные реквизиты // Служебные реквизиты
@@ -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> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </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"> <items xsi:type="form:Button">
<name>СписокКонтекстноеМенюСохранитьКак</name> <name>СписокКонтекстноеМенюСохранитьКак</name>
<id>72</id> <id>72</id>
@@ -3459,32 +3485,6 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </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"> <items xsi:type="form:Button">
<name>ФормаСохранитьКак</name> <name>ФормаСохранитьКак</name>
<id>81</id> <id>81</id>
@@ -3628,6 +3628,83 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </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> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -3981,6 +4058,33 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </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"> <items xsi:type="form:Button">
<name>ПоказыватьСлужебныеФайлы</name> <name>ПоказыватьСлужебныеФайлы</name>
<id>432</id> <id>432</id>
@@ -5261,6 +5365,55 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </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> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar> <commandBar>
@@ -786,6 +786,26 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
РаботаСФайламиСлужебныйКлиент.ИзменитьОтборПоПометкеУдаления(Список.Отбор, Элементы.ПоказыватьПомеченныеФайлы);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -1027,6 +1047,13 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
&НаСервере &НаСервере
Процедура ЗашифроватьСервер(МассивДанныхДляЗанесенияВБазу, МассивОтпечатков, Процедура ЗашифроватьСервер(МассивДанныхДляЗанесенияВБазу, МассивОтпечатков,
МассивФайловВРабочемКаталогеДляУдаления, МассивФайловВРабочемКаталогеДляУдаления,
@@ -1350,6 +1377,12 @@
Элементы.Отправить.Доступность = Ложь; Элементы.Отправить.Доступность = Ложь;
Элементы.ФормаУстановитьПометкуУдаления.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = Ложь;
Элементы.ФормаУдалить.Доступность = Ложь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = Ложь;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -1359,6 +1392,7 @@
Зашифрован = ДанныеКоманд.Зашифрован; Зашифрован = ДанныеКоманд.Зашифрован;
ПодписанЭП = ДанныеКоманд.ПодписанЭП; ПодписанЭП = ДанныеКоманд.ПодписанЭП;
Редактирует = ДанныеКоманд.Редактирует; Редактирует = ДанныеКоманд.Редактирует;
АвторТекущийПользователь = ДанныеКоманд.Автор = ПользователиКлиент.АвторизованныйПользователь();
РедактируетТекущийПользователь = ДанныеКоманд.ФайлРедактируетТекущийПользователь; РедактируетТекущийПользователь = ДанныеКоманд.ФайлРедактируетТекущийПользователь;
РедактируетДругой = ЗначениеЗаполнено(Редактирует) И НЕ РедактируетТекущийПользователь; РедактируетДругой = ЗначениеЗаполнено(Редактирует) И НЕ РедактируетТекущийПользователь;
@@ -1414,6 +1448,19 @@
Элементы.Отправить.Доступность = Истина; Элементы.Отправить.Доступность = Истина;
Элементы.СписокКонтекстноеМенюОтправить.Доступность = Истина; Элементы.СписокКонтекстноеМенюОтправить.Доступность = Истина;
Элементы.ФормаУстановитьПометкуУдаления.Доступность = ИзменениеФайлов;
Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = ИзменениеФайлов;
Элементы.ФормаУдалить.Доступность = ИзменениеФайлов
И АвторТекущийПользователь
И Не ЗначениеЗаполнено(Редактирует)
И Не ФайлыРедактируютсяВОблачномСервисе;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = ИзменениеФайлов
И АвторТекущийПользователь
И Не ЗначениеЗаполнено(Редактирует)
И Не ФайлыРедактируютсяВОблачномСервисе;
КонецПроцедуры КонецПроцедуры
&НаСервере &НаСервере
@@ -519,6 +519,9 @@
<importance>Normal</importance> <importance>Normal</importance>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormGroup">
<name>ФормаГруппаУдаление</name>
<id>283</id>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>ФормаСтандартныеУстановитьПометкуУдаления</name> <name>ФормаСтандартныеУстановитьПометкуУдаления</name>
<id>5</id> <id>5</id>
@@ -547,6 +550,54 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </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>ФормаГруппаУдалениеРасширеннаяПодсказка</name>
<id>284</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"> <items xsi:type="form:FormGroup">
<name>ФормаГруппаДополнительныеКоманды</name> <name>ФормаГруппаДополнительныеКоманды</name>
<id>100</id> <id>100</id>
@@ -4657,6 +4708,30 @@
<currentRowUse>DontUse</currentRowUse> <currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>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> <parameters>
<name>Ключ</name> <name>Ключ</name>
<valueType> <valueType>
@@ -41,6 +41,9 @@
Элементы.Печать.Заголовок = НСтр("ru = 'Печать'"); Элементы.Печать.Заголовок = НСтр("ru = 'Печать'");
КонецЕсли; КонецЕсли;
Элементы.ФормаУдалить.Видимость =
Объект.Автор = Пользователи.АвторизованныйПользователь();
ОбновитьЗаголовок(); ОбновитьЗаголовок();
ОбновитьПолныйПуть(); ОбновитьПолныйПуть();
ОбновитьПояснениеОблачногоСервиса(Объект.Ссылка); ОбновитьПояснениеОблачногоСервиса(Объект.Ссылка);
@@ -869,6 +872,14 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Неопределено, Объект.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -522,6 +522,32 @@
<contextMenu> <contextMenu>
<name>НайденныеКонтактыКонтекстноеМеню</name> <name>НайденныеКонтактыКонтекстноеМеню</name>
<id>26</id> <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"> <items xsi:type="form:Button">
<name>НайтиВСпискеИзСпискаНайденных</name> <name>НайтиВСпискеИзСпискаНайденных</name>
<id>143</id> <id>143</id>
@@ -1598,7 +1624,7 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>UsualButton</type> <type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзСпискаВВыбранное</commandName> <commandName>Form.Command.ВключитьВСписокПолучателей</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
@@ -1653,7 +1679,7 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>UsualButton</type> <type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзВыбранногоВСписокВсе</commandName> <commandName>Form.Command.УдалитьВсехПолучателей</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -1680,7 +1706,7 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>UsualButton</type> <type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзВыбранногоВСписок</commandName> <commandName>Form.Command.УдалитьПолучателя</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -1798,7 +1824,7 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>UsualButton</type> <type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзСпискаВВыбранное</commandName> <commandName>Form.Command.ВключитьВСписокПолучателей</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -1855,7 +1881,7 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>UsualButton</type> <type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзВыбранногоВСписок</commandName> <commandName>Form.Command.УдалитьПолучателя</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -1885,7 +1911,7 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>UsualButton</type> <type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзВыбранногоВСписокВсе</commandName> <commandName>Form.Command.УдалитьВсехПолучателей</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -1942,7 +1968,7 @@
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>UsualButton</type> <type>UsualButton</type>
<commandName>Form.Command.ПереместитьИзСпискаВВыбранное</commandName> <commandName>Form.Command.ВключитьВСписокПолучателей</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -2763,7 +2789,7 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<commandName>Form.Command.УстановитьАдресКонтакта</commandName> <commandName>Form.Command.ВыбратьАдресИзКонтакта</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -3052,33 +3078,6 @@
<representation>Compact</representation> <representation>Compact</representation>
</extInfo> </extInfo>
</items> </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> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
@@ -3722,12 +3721,12 @@
<name>УстановитьКонтактИзСпискаПредметов</name> <name>УстановитьКонтактИзСпискаПредметов</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Установить контакт в получателях</value> <value>Выбрать адрес, указанный в контакте</value>
</title> </title>
<id>6</id> <id>6</id>
<toolTip> <toolTip>
<key>ru</key> <key>ru</key>
<value>Установить контакт в списке получателей</value> <value>Выбрать адрес из контакта</value>
</toolTip> </toolTip>
<use> <use>
<common>true</common> <common>true</common>
@@ -3880,15 +3879,15 @@
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands> <formCommands>
<name>УстановитьАдресКонтакта</name> <name>ВыбратьАдресИзКонтакта</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Установить адрес контакта</value> <value>Выбрать адрес, указанный в контакте</value>
</title> </title>
<id>13</id> <id>13</id>
<toolTip> <toolTip>
<key>ru</key> <key>ru</key>
<value>Установить адрес контакта</value> <value>Выбрать адрес из контакта</value>
</toolTip> </toolTip>
<use> <use>
<common>true</common> <common>true</common>
@@ -3930,7 +3929,7 @@
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands> <formCommands>
<name>ПереместитьИзВыбранногоВСписок</name> <name>УдалитьПолучателя</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>&lt;</value> <value>&lt;</value>
@@ -3945,7 +3944,7 @@
</use> </use>
<action xsi:type="form:FormCommandHandlerContainer"> <action xsi:type="form:FormCommandHandlerContainer">
<handler> <handler>
<name>ПереместитьИзВыбранногоВСписок</name> <name>УдалитьПолучателя</name>
</handler> </handler>
</action> </action>
<representation>Text</representation> <representation>Text</representation>
@@ -3953,7 +3952,7 @@
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands> <formCommands>
<name>ПереместитьИзВыбранногоВСписокВсе</name> <name>УдалитьВсехПолучателей</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>&lt;&lt;</value> <value>&lt;&lt;</value>
@@ -3968,7 +3967,7 @@
</use> </use>
<action xsi:type="form:FormCommandHandlerContainer"> <action xsi:type="form:FormCommandHandlerContainer">
<handler> <handler>
<name>ПереместитьИзВыбранногоВСписокВсе</name> <name>УдалитьВсехПолучателей</name>
</handler> </handler>
</action> </action>
<representation>Text</representation> <representation>Text</representation>
@@ -3976,7 +3975,7 @@
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands> <formCommands>
<name>ПереместитьИзСпискаВВыбранное</name> <name>ВключитьВСписокПолучателей</name>
<title> <title>
<key>ru</key> <key>ru</key>
<value>></value> <value>></value>
@@ -3991,7 +3990,7 @@
</use> </use>
<action xsi:type="form:FormCommandHandlerContainer"> <action xsi:type="form:FormCommandHandlerContainer">
<handler> <handler>
<name>ПереместитьИзСпискаВВыбранное</name> <name>ВключитьВСписокПолучателей</name>
</handler> </handler>
</action> </action>
<currentRowUse>DontUse</currentRowUse> <currentRowUse>DontUse</currentRowUse>
@@ -357,12 +357,22 @@
Процедура УстановитьАдресКонтактаВыполнить() Процедура УстановитьАдресКонтактаВыполнить()
ТекущиеДанные = Элементы.ПолучателиПисьма.ТекущиеДанные; ТекущиеДанные = Элементы.ПолучателиПисьма.ТекущиеДанные;
Если ТекущиеДанные = Неопределено ИЛИ Не ЗначениеЗаполнено(ТекущиеДанные.Контакт) Тогда Если ТекущиеДанные = Неопределено Тогда
ПоказатьПредупреждение(, НСтр("ru = 'Необходимо выбрать адрес получателя в списке справа.'"));
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(ТекущиеДанные.Контакт) Тогда
КонтактНачалоВыбора(Элементы.ПолучателиПисьма, Неопределено, Истина);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Результат = ВзаимодействияВызовСервера.ПолучитьАдресаЭлектроннойПочтыКонтакта(ТекущиеДанные.Контакт); Результат = ВзаимодействияВызовСервера.ПолучитьАдресаЭлектроннойПочтыКонтакта(ТекущиеДанные.Контакт);
Если Результат.Количество() = 0 Тогда Если Результат.Количество() = 0 Тогда
ПоказатьПредупреждение(,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'У контакта ""%1"" нет адресов электронной почты.'"),
ТекущиеДанные.Контакт));
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -403,38 +413,31 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПереместитьИзВыбранногоВСписокВсе(Команда) Процедура УдалитьВсехПолучателей(Команда)
ПолучателиПисьма.Очистить(); ПолучателиПисьма.Очистить();
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПереместитьИзВыбранногоВСписок(Команда) Процедура УдалитьПолучателя(Команда)
ВыделенныеСтроки = Элементы.ПолучателиПисьма.ВыделенныеСтроки; ВыделенныеСтроки = Элементы.ПолучателиПисьма.ВыделенныеСтроки;
Для каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл Для каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
ПолучателиПисьма.Удалить(ПолучателиПисьма.НайтиПоИдентификатору(ВыделеннаяСтрока)); ПолучателиПисьма.Удалить(ПолучателиПисьма.НайтиПоИдентификатору(ВыделеннаяСтрока));
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура ПереместитьИзСпискаВВыбранное(Команда) Процедура ВключитьВСписокПолучателей(Команда)
Если Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов Тогда Если Элементы.СтраницыСписки.ТекущаяСтраница = Элементы.СтраницаПоискКонтактов Тогда
Для каждого ВыделеннаяСтрока Из Элементы.НайденныеКонтакты.ВыделенныеСтроки Цикл Для каждого ВыделеннаяСтрока Из Элементы.НайденныеКонтакты.ВыделенныеСтроки Цикл
ДанныеСтроки = Элементы.НайденныеКонтакты.ДанныеСтроки(ВыделеннаяСтрока); ДанныеСтроки = Элементы.НайденныеКонтакты.ДанныеСтроки(ВыделеннаяСтрока);
ДобавитьПолучателя(ДанныеСтроки.Представление, ДанныеСтроки.НаименованиеКонтакта, ДанныеСтроки.Ссылка); ДобавитьПолучателя(ДанныеСтроки.Представление, ДанныеСтроки.НаименованиеКонтакта, ДанныеСтроки.Ссылка);
КонецЦикла; КонецЦикла;
Возврат; Возврат;
КонецЕсли; КонецЕсли;
НомерЭлементаФормы = Неопределено; НомерЭлементаФормы = Неопределено;
@@ -446,21 +449,15 @@
ИначеЕсли Элементы.СтраницыСписки.ТекущаяСтраница.ПодчиненныеЭлементы.Количество() = 2 Тогда ИначеЕсли Элементы.СтраницыСписки.ТекущаяСтраница.ПодчиненныеЭлементы.Количество() = 2 Тогда
Если ТекущийЭлемент.Имя = "ПереместитьИзВерхнегоСпискаВВыбранное" Тогда Если ТекущийЭлемент.Имя = "ПереместитьИзВерхнегоСпискаВВыбранное" Тогда
НомерЭлементаФормы = 0; НомерЭлементаФормы = 0;
Иначе Иначе
НомерЭлементаФормы = 1; НомерЭлементаФормы = 1;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Если НомерЭлементаФормы = Неопределено Тогда Если НомерЭлементаФормы = Неопределено Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
ПеренестиВыделенныеСтроки( ПеренестиВыделенныеСтроки(
@@ -567,7 +564,7 @@
Если табПолучатели.Количество() > 0 Тогда Если табПолучатели.Количество() > 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> <showInFooter>true</showInFooter>
<extInfo xsi:type="form:LabelFieldExtInfo"> <extInfo xsi:type="form:LabelFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<height>4</height>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormField"> <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Соединитель, СоединениеСАгентомСервера, Кластер); СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ( ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
СоединениеСРабочимПроцессом,
Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере, ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы, ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы); ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
Результат = ОписаниеОбъектаОбъектнойМоделиCOMАдминистратора( Результат = ОписаниеОбъектаОбъектнойМоделиCOMАдминистратора(
ИнформационнаяБаза, ИБ.ИнформационнаяБаза,
СловарьСвойствБлокировкиСеансовИРегламентныхЗаданий()); СловарьСвойствБлокировкиСеансовИРегламентныхЗаданий());
Если Результат.ДатаС = АдминистрированиеКластера.ПустаяДата() Тогда Если Результат.ДатаС = АдминистрированиеКластера.ПустаяДата() Тогда
@@ -101,32 +97,27 @@
COMСоединитель = COMСоединитель(); COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера( СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера, ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера); ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер( Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера, ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера, ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера); ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер); СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ( ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
СоединениеСРабочимПроцессом,
Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере, ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы, ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы); ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
ЗаполнитьСвойстваОбъектаОбъектнойМоделиCOMАдминистратораПоОписанию( ЗаполнитьСвойстваОбъектаОбъектнойМоделиCOMАдминистратораПоОписанию(ИБ.ИнформационнаяБаза,
ИнформационнаяБаза,
УстанавливаемаяБлокировка, УстанавливаемаяБлокировка,
СловарьСвойствБлокировкиСеансовИРегламентныхЗаданий()); СловарьСвойствБлокировкиСеансовИРегламентныхЗаданий());
СоединениеСРабочимПроцессом.UpdateInfoBase(ИнформационнаяБаза); ИБ.СоединениеСРабочимПроцессом.UpdateInfoBase(ИБ.ИнформационнаяБаза);
КонецПроцедуры КонецПроцедуры
@@ -151,28 +142,28 @@
Попытка Попытка
COMСоединитель = COMСоединитель(); COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера( СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера, ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера); ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер( Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера, ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера, ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера); ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
Исключение Исключение
Если ОбщегоНазначения.ЭтоWindowsСервер() Тогда Если ОбщегоНазначения.ЭтоWindowsСервер() Тогда
ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось подключиться к кластеру серверов по причине: НСтр("ru = 'Не удалось подключиться с компьютера %1 к кластеру серверов по причине:
|%1 |%2
| |
|Если в тексте ошибки указано, что ""класс не зарегистрирован"" или не совпадает версия компоненты ""comcntr"" с требуемой, |Если в тексте ошибки указано, что ""класс не зарегистрирован"" или не совпадает версия компоненты ""comcntr"" с требуемой,
|то следует зарегистрировать ее на компьютере %2, для этого обратитесь к администратору.'"), |то следует зарегистрировать ее на компьютере %1, для этого обратитесь к администратору.'"),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()), ИмяКомпьютера(), КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
ИмяКомпьютера());
Иначе Иначе
ТекстИсключения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось подключиться с компьютера %1 к кластеру серверов по причине:
|%2.'"),
ИмяКомпьютера(), КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецЕсли; КонецЕсли;
ВызватьИсключение ТекстИсключения ВызватьИсключение ТекстИсключения
@@ -183,10 +174,9 @@
Если ПроверятьПараметрыАдминистрированияИнформационнойБазы Тогда Если ПроверятьПараметрыАдминистрированияИнформационнойБазы Тогда
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер); СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ПолучитьИБ(СоединениеСРабочимПроцессом, ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере, ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы, ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы); ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
@@ -214,27 +204,23 @@
COMСоединитель = COMСоединитель(); COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера( СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера, ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера); ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер( Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера, ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера, ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера); ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер); СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ( ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
СоединениеСРабочимПроцессом,
Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере, ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы, ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы); ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
Возврат ИнформационнаяБаза.ScheduledJobsDenied; Возврат ИБ.ИнформационнаяБаза.ScheduledJobsDenied;
КонецФункции КонецФункции
@@ -256,23 +242,20 @@
ПараметрыАдминистрированияКластера.АдресАгентаСервера, ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера); ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер( Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера, ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера, ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера); ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер); СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ( ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
СоединениеСРабочимПроцессом,
Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере, ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы, ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы); ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
ИнформационнаяБаза.ScheduledJobsDenied = БлокировкаРегламентныхЗаданий; ИБ.ИнформационнаяБаза.ScheduledJobsDenied = БлокировкаРегламентныхЗаданий;
СоединениеСРабочимПроцессом.UpdateInfoBase(ИнформационнаяБаза); ИБ.СоединениеСРабочимПроцессом.UpdateInfoBase(ИБ.ИнформационнаяБаза);
КонецПроцедуры КонецПроцедуры
@@ -648,38 +631,28 @@
COMСоединитель = COMСоединитель(); COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера( СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера, ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера); ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер( Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера, ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера, ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера); ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер); СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ( ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
СоединениеСРабочимПроцессом,
Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере, ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы, ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы); ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
Если ЗначениеЗаполнено(ИнформационнаяБаза.SecurityProfileName) Тогда Если ЗначениеЗаполнено(ИБ.ИнформационнаяБаза.SecurityProfileName) Тогда
Результат = ИнформационнаяБаза.SecurityProfileName; Результат = ИБ.ИнформационнаяБаза.SecurityProfileName;
Иначе Иначе
Результат = ""; Результат = "";
КонецЕсли; КонецЕсли;
ИнформационнаяБаза = Неопределено;
СоединениеСРабочимПроцессом = Неопределено;
Кластер = Неопределено;
СоединениеСАгентомСервера = Неопределено;
COMСоединитель = Неопределено;
Возврат Результат; Возврат Результат;
КонецФункции КонецФункции
@@ -701,38 +674,28 @@
COMСоединитель = COMСоединитель(); COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера( СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера, ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера); ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер( Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера, ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера, ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера); ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер); СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ( ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
СоединениеСРабочимПроцессом,
Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере, ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы, ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы); ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
Если ЗначениеЗаполнено(ИнформационнаяБаза.SafeModeSecurityProfileName) Тогда Если ЗначениеЗаполнено(ИБ.ИнформационнаяБаза.SafeModeSecurityProfileName) Тогда
Результат = ИнформационнаяБаза.SafeModeSecurityProfileName; Результат = ИБ.ИнформационнаяБаза.SafeModeSecurityProfileName;
Иначе Иначе
Результат = ""; Результат = "";
КонецЕсли; КонецЕсли;
ИнформационнаяБаза = Неопределено;
СоединениеСРабочимПроцессом = Неопределено;
Кластер = Неопределено;
СоединениеСАгентомСервера = Неопределено;
COMСоединитель = Неопределено;
Возврат Результат; Возврат Результат;
КонецФункции КонецФункции
@@ -751,35 +714,24 @@
COMСоединитель = COMСоединитель(); COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера( СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера, ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера); ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер( Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера, ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера, ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера); ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер); СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ( ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
СоединениеСРабочимПроцессом,
Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере, ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы, ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы); ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
ИнформационнаяБаза.SecurityProfileName = ИмяПрофиля; ИБ.ИнформационнаяБаза.SecurityProfileName = ИмяПрофиля;
ИБ.СоединениеСРабочимПроцессом.UpdateInfoBase(ИБ.ИнформационнаяБаза);
СоединениеСРабочимПроцессом.UpdateInfoBase(ИнформационнаяБаза);
ИнформационнаяБаза = Неопределено;
СоединениеСРабочимПроцессом = Неопределено;
Кластер = Неопределено;
СоединениеСАгентомСервера = Неопределено;
COMСоединитель = Неопределено
КонецПроцедуры КонецПроцедуры
@@ -797,35 +749,24 @@
COMСоединитель = COMСоединитель(); COMСоединитель = COMСоединитель();
СоединениеСАгентомСервера = СоединениеСАгентомСервера( СоединениеСАгентомСервера = СоединениеСАгентомСервера(COMСоединитель,
COMСоединитель,
ПараметрыАдминистрированияКластера.АдресАгентаСервера, ПараметрыАдминистрированияКластера.АдресАгентаСервера,
ПараметрыАдминистрированияКластера.ПортАгентаСервера); ПараметрыАдминистрированияКластера.ПортАгентаСервера);
Кластер = ПолучитьКластер( Кластер = ПолучитьКластер(СоединениеСАгентомСервера,
СоединениеСАгентомСервера,
ПараметрыАдминистрированияКластера.ПортКластера, ПараметрыАдминистрированияКластера.ПортКластера,
ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера, ПараметрыАдминистрированияКластера.ИмяАдминистратораКластера,
ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера); ПараметрыАдминистрированияКластера.ПарольАдминистратораКластера);
СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер); СоединенияСРабочимиПроцессами = СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер);
ИнформационнаяБаза = ПолучитьИБ( ИБ = ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер,
СоединениеСРабочимПроцессом,
Кластер,
ПараметрыАдминистрированияИБ.ИмяВКластере, ПараметрыАдминистрированияИБ.ИмяВКластере,
ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы, ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы,
ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы); ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы);
ИнформационнаяБаза.SafeModeSecurityProfileName = ИмяПрофиля; ИБ.ИнформационнаяБаза.SafeModeSecurityProfileName = ИмяПрофиля;
ИБ.СоединениеСРабочимПроцессом.UpdateInfoBase(ИБ.ИнформационнаяБаза);
СоединениеСРабочимПроцессом.UpdateInfoBase(ИнформационнаяБаза);
ИнформационнаяБаза = Неопределено;
СоединениеСРабочимПроцессом = Неопределено;
Кластер = Неопределено;
СоединениеСАгентомСервера = Неопределено;
COMСоединитель = Неопределено
КонецПроцедуры КонецПроцедуры
@@ -1098,7 +1039,7 @@
КонецФункции КонецФункции
// Устанавливает соединение с рабочим процессом. // Устанавливает соединения с рабочими процессами.
// //
// Параметры: // Параметры:
// COMСоединитель - COMОбъект, com-объект V8*.ComConnector. // COMСоединитель - COMОбъект, com-объект V8*.ComConnector.
@@ -1106,20 +1047,25 @@
// Кластер - COMОбъект - com-объект, реализующий интерфейс IClusterInfo. // Кластер - COMОбъект - com-объект, реализующий интерфейс IClusterInfo.
// //
// Возвращаемое значение: // Возвращаемое значение:
// COMОбъект - com-объект, реализующий интерфейс IV8ServerConnection. // Массив Из COMОбъект - com-объекты, реализующие интерфейс IV8ServerConnection.
// //
Функция СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер) Функция СоединенияСРабочимиПроцессами(COMСоединитель, СоединениеСАгентомСервера, Кластер)
Результат = Новый Массив;
Для Каждого РабочийПроцесс Из СоединениеСАгентомСервера.GetWorkingProcesses(Кластер) Цикл Для Каждого РабочийПроцесс Из СоединениеСАгентомСервера.GetWorkingProcesses(Кластер) Цикл
Если РабочийПроцесс.Running И РабочийПроцесс.IsEnable Тогда Если РабочийПроцесс.Running И РабочийПроцесс.IsEnable Тогда
СтрокаСоединенияСРабочимПроцессом = РабочийПроцесс.HostName + ":" + Формат(РабочийПроцесс.MainPort, "ЧГ="); СтрокаСоединенияСРабочимПроцессом = РабочийПроцесс.HostName + ":" + Формат(РабочийПроцесс.MainPort, "ЧГ=");
Возврат COMСоединитель.ConnectWorkingProcess(СтрокаСоединенияСРабочимПроцессом); Результат.Добавить(COMСоединитель.ConnectWorkingProcess(СтрокаСоединенияСРабочимПроцессом));
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
Если Результат.Количество() = 0 Тогда
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В кластере серверов %1:%2 не найдено активных рабочих процессов.'"), ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'В кластере серверов %1:%2 не найдено активных рабочих процессов.'"),
Кластер.HostName, Кластер.HostName,
Формат(Кластер.MainPort, "ЧГ=0")); Формат(Кластер.MainPort, "ЧГ=0"));
КонецЕсли;
Возврат Результат;
КонецФункции КонецФункции
@@ -1151,39 +1097,52 @@
// Возвращает информационную базу. // Возвращает информационную базу.
// //
// Параметры: // Параметры:
// СоединениеСРабочимПроцессом - COMОбъект - com-объект, реализующий интерфейс IV8ServerConnection. // СоединенияСРабочимиПроцессами - Массив Из COMОбъект - com-объекты, реализующие интерфейс IV8ServerConnection.
// Кластер - COMОбъект - com-объект, реализующий интерфейс IClusterInfo. // Кластер - COMОбъект - com-объект, реализующий интерфейс IClusterInfo.
// ИмяВКластере - Строка - имя информационной базы в кластере серверов. // ИмяВКластере - Строка - имя информационной базы в кластере серверов.
// ИмяАдминистратораИБ - Строка - имя администратора информационной базы. // ИмяАдминистратораИБ - Строка - имя администратора информационной базы.
// ПарольАдминистратораИБ - Строка - пароль администратора информационной базы. // ПарольАдминистратораИБ - Строка - пароль администратора информационной базы.
// //
// Возвращаемое значение: // Возвращаемое значение:
// COMОбъект - com-объект, реализующий интерфейс IInfoBaseInfo. // Структура - со свойствами:
// * ИнформационнаяБаза - COMОбъект - com-объект, реализующий интерфейс IInfoBaseInfo.
// * СоединениеСРабочимПроцессом - COMОбъект - com-объект, реализующий интерфейс IV8ServerConnection.
// //
Функция ПолучитьИБ(СоединениеСРабочимПроцессом, Кластер, Знач ИмяВКластере, Знач ИмяАдминистратораИБ, Знач ПарольАдминистратораИБ) Функция ПолучитьИБ(СоединенияСРабочимиПроцессами, Кластер, Знач ИмяВКластере, Знач ИмяАдминистратораИБ, Знач ПарольАдминистратораИБ)
ИнформационнаяБазаНайдена = Ложь;
Для Каждого СоединениеСРабочимПроцессом Из СоединенияСРабочимиПроцессами Цикл
СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминистратораИБ, ПарольАдминистратораИБ); СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминистратораИБ, ПарольАдминистратораИБ);
Для Каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл Для Каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл
Если НРег(ИнформационнаяБаза.Name) = НРег(ИмяВКластере) Тогда Если НРег(ИнформационнаяБаза.Name) <> НРег(ИмяВКластере) Тогда
Если Не ЗначениеЗаполнено(ИнформационнаяБаза.DBMS) Тогда Продолжить;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Неправильные имя и пароль администратора информационной базы %1 в кластере серверов %2:%3 (имя: ""%4"").'"),
ИмяВКластере,
Кластер.HostName,
Кластер.MainPort,
ИмяАдминистратораИБ);
КонецЕсли; КонецЕсли;
Возврат ИнформационнаяБаза;
ИнформационнаяБазаНайдена = Истина;
Если Не ЗначениеЗаполнено(ИнформационнаяБаза.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 НСтр("ru = 'Не удалось подключиться с компьютера %1 к кластеру серверов по причине:
| |%2
|Если на компьютере %2 не запущен сервер администрирования (ras),
|следует его запустить.
| |
|Если на компьютере %1 не запущен сервер администрирования (ras), следует его запустить.
|Например: |Например:
|""%3"" cluster --port=%4 %5:%6 |""%3"" cluster --port=%4 %5:%6
| |
|В противном случае следует проверить параметры подключения и сетевого экрана.'"), |Также рекомендуется проверить параметры подключения и сетевого экрана.'"),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке()), ИмяКомпьютера(), КраткоеПредставлениеОшибки(ИнформацияОбОшибке()),
ИмяКомпьютера(),
КаталогПрограммы() + ?(ОбщегоНазначения.ЭтоWindowsСервер(), "ras.exe", "ras"), КаталогПрограммы() + ?(ОбщегоНазначения.ЭтоWindowsСервер(), "ras.exe", "ras"),
XMLСтрока(ПараметрыАдминистрированияКластера.ПортСервераАдминистрирования), XMLСтрока(ПараметрыАдминистрированияКластера.ПортСервераАдминистрирования),
ПараметрыАдминистрированияКластера.АдресАгентаСервера, ПараметрыАдминистрированияКластера.АдресАгентаСервера,
@@ -31,7 +31,7 @@
Возврат Новый Структура(); Возврат Новый Структура();
КонецЕсли; КонецЕсли;
ТипБизнесПроцесса = Реквизиты.БизнесПроцесс.Метаданные(); ТипБизнесПроцесса = Реквизиты.БизнесПроцесс.Метаданные(); // ОбъектМетаданныхБизнесПроцесс
ПараметрыФормы = БизнесПроцессы[ТипБизнесПроцесса.Имя].ФормаВыполненияЗадачи(ЗадачаСсылка, ПараметрыФормы = БизнесПроцессы[ТипБизнесПроцесса.Имя].ФормаВыполненияЗадачи(ЗадачаСсылка,
Реквизиты.ТочкаМаршрута); Реквизиты.ТочкаМаршрута);
БизнесПроцессыИЗадачиПереопределяемый.ПриПолученииФормыВыполненияЗадачи( БизнесПроцессыИЗадачиПереопределяемый.ПриПолученииФормыВыполненияЗадачи(
@@ -54,7 +54,7 @@
// //
Функция ЭтоЗадачаИсполнителю(Знач Расшифровка, Знач ДанныеРасшифровкиОтчета, ЗначениеРасшифровки) Экспорт Функция ЭтоЗадачаИсполнителю(Знач Расшифровка, Знач ДанныеРасшифровкиОтчета, ЗначениеРасшифровки) Экспорт
ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровкиОтчета); ДанныеРасшифровкиОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровкиОтчета); // ДанныеРасшифровкиКомпоновкиДанных
ЗначениеРасшифровки = ДанныеРасшифровкиОбъект.Элементы[Расшифровка].ПолучитьПоля()[0].Значение; ЗначениеРасшифровки = ДанныеРасшифровкиОбъект.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;
Возврат ТипЗнч(ЗначениеРасшифровки) = Тип("ЗадачаСсылка.ЗадачаИсполнителя"); Возврат ТипЗнч(ЗначениеРасшифровки) = Тип("ЗадачаСсылка.ЗадачаИсполнителя");
@@ -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 @@
// Записать и закрыть форму выполнения задачи. // Записать и закрыть форму выполнения задачи.
// //
// Параметры: // Параметры:
// Форма - ФормаКлиентскогоПриложения - форма выполнения задачи. // Форма - ФормаКлиентскогоПриложения - форма выполнения задачи, где:
// * Объект - ЗадачаОбъект - задача бизнес-процесса.
// ВыполнитьЗадачу - Булево - задача записывается в режиме выполнения. // ВыполнитьЗадачу - Булево - задача записывается в режиме выполнения.
// ПараметрыОповещения - Структура - дополнительные параметры оповещения. // ПараметрыОповещения - Структура - дополнительные параметры оповещения.
// //
@@ -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 Тогда Если ОписаниеНастроек.Настройки.Элементы.Количество() = 0 Тогда
@@ -1786,7 +1786,7 @@
КонецФункции КонецФункции
Функция НайтиКонтакты(СтрокаПоиска, Форма) Экспорт Функция НайтиКонтакты(Знач СтрокаПоиска, Форма) Экспорт
Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Запретить Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Запретить
ИЛИ Не ПолучитьФункциональнуюОпцию("ИспользоватьПолнотекстовыйПоиск") Тогда ИЛИ Не ПолучитьФункциональнуюОпцию("ИспользоватьПолнотекстовыйПоиск") Тогда
@@ -1904,7 +1904,7 @@
// Возвращаемое значение: // Возвращаемое значение:
// Строка - сообщение пользователю по результатам поиска. // Строка - сообщение пользователю по результатам поиска.
// //
Функция ПолнотекстовыйПоискКонтактовПоСтроке(СтрокаПоиска, Форма, ДляАдреснойКниги = Ложь) Экспорт Функция ПолнотекстовыйПоискКонтактовПоСтроке(Знач СтрокаПоиска, Форма, ДляАдреснойКниги = Ложь) Экспорт
Форма.НайденныеКонтакты.Очистить(); Форма.НайденныеКонтакты.Очистить();
@@ -1919,6 +1919,9 @@
МассивМетаданных = МетаданныеКонтактов(); МассивМетаданных = МетаданныеКонтактов();
Если СтрНайти(СтрокаПоиска, "*") = 0 Тогда
СтрокаПоиска = "*" + СтрокаПоиска + "*";
КонецЕсли;
СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПоиска, 101); СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПоиска, 101);
СписокПоиска.ОбластьПоиска = МассивМетаданных; СписокПоиска.ОбластьПоиска = МассивМетаданных;
@@ -2499,22 +2502,22 @@
// Получает адреса электронной почты для массива контактов. // Получает адреса электронной почты для массива контактов.
// //
// Параметры: // Параметры:
// МассивКонтактов - Массив - массив ссылок на контакты. // Контакты - Массив - массив ссылок на контакты.
// Группа - Строка - имя группы в письме для которой ищутся адреса, например "Получатели", "Получатели копий". // ГруппаПолучателей - Строка - имя группы в письме для которой ищутся адреса, например "Получатели", "Получатели копий".
// //
// Возвращаемое значение: // Возвращаемое значение:
// ТаблицаЗначений - таблица содержащая контакты и адреса их электронной почты. // ТаблицаЗначений - таблица содержащая контакты и адреса их электронной почты.
// //
Функция ПолучитьАдресаЭлектроннойПочтыДляМассиваКонтактов(МассивКонтактов,Группа = "") Экспорт Функция АдресаЭлектроннойПочтыКонтактов(Контакты, ГруппаПолучателей = "") Экспорт
Если МассивКонтактов.Количество() = 0 Тогда Если Контакты.Количество() = 0 Тогда
Возврат Неопределено; Возврат Неопределено;
КонецЕсли; КонецЕсли;
МассивОписанияТиповКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов(); ОписанияКонтактов = ВзаимодействияКлиентСервер.ОписанияКонтактов();
ТекстЗапроса = " ТекстЗапроса =
|ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Адрес, | ТаблицаКонтактнаяИнформация.АдресЭП КАК Адрес,
| ТаблицаКонтакт.Ссылка КАК Контакт | ТаблицаКонтакт.Ссылка КАК Контакт
|ПОМЕСТИТЬ КонтактыАдреса |ПОМЕСТИТЬ КонтактыАдреса
@@ -2525,19 +2528,25 @@
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)) | И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ |ГДЕ
| ТаблицаКонтакт.Ссылка В(&МассивКонтактов) | ТаблицаКонтакт.Ссылка В(&МассивКонтактов)
| И НЕ ТаблицаКонтакт.Служебный
| И НЕ ТаблицаКонтакт.Недействителен
| И НЕ ТаблицаКонтакт.ПометкаУдаления
| |
|ОБЪЕДИНИТЬ ВСЕ |ОБЪЕДИНИТЬ ВСЕ
| |
|ВЫБРАТЬ |ВЫБРАТЬ
| ТаблицаКонтактнаяИнформация.АдресЭП КАК Адрес, | ТаблицаКонтактнаяИнформация.АдресЭП,
| ТаблицаКонтакт.Ссылка КАК Контакт | ТаблицаКонтакт.Ссылка
|ИЗ |ИЗ
| Справочник.Пользователи КАК ТаблицаКонтакт | Справочник.Пользователи КАК ТаблицаКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаКонтакт.Ссылка) | ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)) | И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ |ГДЕ
| ИСТИНА В | НЕ ТаблицаКонтакт.Служебный
| И НЕ ТаблицаКонтакт.Недействителен
| И НЕ ТаблицаКонтакт.ПометкаУдаления
| И ИСТИНА В
| (ВЫБРАТЬ | (ВЫБРАТЬ
| ИСТИНА | ИСТИНА
| ИЗ | ИЗ
@@ -2546,11 +2555,11 @@
| СоставыГруппПользователей.Пользователь = ТаблицаКонтакт.Ссылка | СоставыГруппПользователей.Пользователь = ТаблицаКонтакт.Ссылка
| И СоставыГруппПользователей.ГруппаПользователей В (&МассивКонтактов))"; | И СоставыГруппПользователей.ГруппаПользователей В (&МассивКонтактов))";
Для каждого ЭлементМассиваОписания Из МассивОписанияТиповКонтактов Цикл Для каждого ОписаниеКонтакта Из ОписанияКонтактов Цикл
Если ЭлементМассиваОписания.Имя = "Пользователи" Тогда Если ОписаниеКонтакта.Имя = "Пользователи" Тогда
Продолжить; Продолжить;
Иначе КонецЕсли;
ТекстЗапроса = ТекстЗапроса + " ТекстЗапроса = ТекстЗапроса + "
|ОБЪЕДИНИТЬ ВСЕ |ОБЪЕДИНИТЬ ВСЕ
@@ -2559,14 +2568,13 @@
| ТаблицаКонтактнаяИнформация.АдресЭП, | ТаблицаКонтактнаяИнформация.АдресЭП,
| ТаблицаКонтакт.Ссылка | ТаблицаКонтакт.Ссылка
|ИЗ |ИЗ
| Справочник." + ЭлементМассиваОписания.Имя + " КАК ТаблицаКонтакт | Справочник." + ОписаниеКонтакта.Имя + " КАК ТаблицаКонтакт
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ЭлементМассиваОписания.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация | ЛЕВОЕ СОЕДИНЕНИЕ Справочник." + ОписаниеКонтакта.Имя + ".КонтактнаяИнформация КАК ТаблицаКонтактнаяИнформация
| ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаКонтакт.Ссылка) | ПО (ТаблицаКонтактнаяИнформация.Ссылка = ТаблицаКонтакт.Ссылка)
| И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)) | И (ТаблицаКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты))
|ГДЕ |ГДЕ
| ТаблицаКонтакт.Ссылка В(&МассивКонтактов) " + ?(ЭлементМассиваОписания.Иерархический," И НЕ ТаблицаКонтакт.ЭтоГруппа",""); | НЕ ТаблицаКонтакт.ПометкаУдаления
| И ТаблицаКонтакт.Ссылка В(&МассивКонтактов) " + ?(ОписаниеКонтакта.Иерархический," И НЕ ТаблицаКонтакт.ЭтоГруппа","");
КонецЕсли;
КонецЦикла; КонецЦикла;
@@ -2597,8 +2605,8 @@
|"; |";
Запрос = Новый Запрос(ТекстЗапроса); Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("МассивКонтактов",МассивКонтактов); Запрос.УстановитьПараметр("МассивКонтактов", Контакты);
Запрос.УстановитьПараметр("Группа",Группа); Запрос.УстановитьПараметр("Группа", ГруппаПолучателей);
Результат = Запрос.ВыполнитьПакет(); Результат = Запрос.ВыполнитьПакет();
ТаблицаРезультат = Результат[1].Выгрузить(); ТаблицаРезультат = Результат[1].Выгрузить();
@@ -338,10 +338,13 @@
Обработчик.ИзменяемыеОбъекты = ОбъектыСПредопределеннымиЭлементами; Обработчик.ИзменяемыеОбъекты = ОбъектыСПредопределеннымиЭлементами;
Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы"; Обработчик.ПроцедураПроверки = "ОбновлениеИнформационнойБазы.ДанныеОбновленыНаНовуюВерсиюПрограммы";
Обработчик.БлокируемыеОбъекты = ОбъектыСПредопределеннымиЭлементами; Обработчик.БлокируемыеОбъекты = ОбъектыСПредопределеннымиЭлементами;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда
Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика(); Обработчик.ПриоритетыВыполнения = ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика();
Приоритет = Обработчик.ПриоритетыВыполнения.Добавить(); Приоритет = Обработчик.ПриоритетыВыполнения.Добавить();
Приоритет.Процедура = "Справочники.СтраныМира.ОбновитьСтраныМираПоОКСМ"; Приоритет.Процедура = "Справочники.СтраныМира.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Приоритет.Порядок = "Любой"; Приоритет.Порядок = "Любой";
КонецЕсли;
Возврат Обработчик; Возврат Обработчик;
@@ -4577,12 +4577,6 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если ПКС.ИспользуетсяАлгоритмКонвертации
И Не ЗначениеЗаполнено(ПравилоКонвертацииСвойства) Тогда
// Конвертация будет выполняться по алгоритму.
Возврат;
КонецЕсли;
Если ПКС.ОбработкаКлючевогоСвойства Если ПКС.ОбработкаКлючевогоСвойства
И Не ДанныеXDTO.Свойство("ЭтоНаборКлючевыхСвойств") Тогда И Не ДанныеXDTO.Свойство("ЭтоНаборКлючевыхСвойств") Тогда
ИсточникДанных = ДанныеXDTO.КлючевыеСвойства; ИсточникДанных = ДанныеXDTO.КлючевыеСвойства;
@@ -4642,6 +4636,10 @@
КонецЕсли; КонецЕсли;
Если ТипЗнч(ЗначениеСвойства) = Тип("Структура") Тогда Если ТипЗнч(ЗначениеСвойства) = Тип("Структура") Тогда
Если Не ЗначениеЗаполнено(ПравилоКонвертацииСвойства) Тогда
Возврат;
КонецЕсли;
ПКПД = КомпонентыОбмена.ПравилаКонвертацииПредопределенныхДанных.Найти(ПравилоКонвертацииСвойства, "ИмяПКПД"); ПКПД = КомпонентыОбмена.ПравилаКонвертацииПредопределенныхДанных.Найти(ПравилоКонвертацииСвойства, "ИмяПКПД");
Если ПКПД <> Неопределено Тогда Если ПКПД <> Неопределено Тогда
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы"; Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.2.157"; Описание.Версия = "3.1.2.166";
Описание.ИдентификаторИнтернетПоддержки = "SSL"; Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно"; Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0"; Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "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 Тогда Если КоллекцияВложенных.Количество() > 0 Тогда
НоваяКоллекцияВложенных = ЧтоЗаполнить.Элементы; НоваяКоллекцияВложенных = ЧтоЗаполнить.Элементы;
Для Каждого ПодчиненнаяСтрока Из КоллекцияВложенных Цикл Для Каждого ПодчиненнаяСтрока Из КоллекцияВложенных Цикл
@@ -1957,7 +2015,7 @@
Возврат Новый ФиксированныйМассив(ПараметрыВыбора); Возврат Новый ФиксированныйМассив(ПараметрыВыбора);
КонецЕсли; КонецЕсли;
Параметры = ОписаниеЭлементаНастройки.ПолучитьПараметрыВыбора(); Параметры = ОписаниеЭлементаНастройки.ПолучитьПараметрыВыбора(); // ПараметрыВыбораКомпоновкиДанных
Для Каждого Параметр Из Параметры Цикл Для Каждого Параметр Из Параметры Цикл
Если ЗначениеЗаполнено(Параметр.Имя) Тогда Если ЗначениеЗаполнено(Параметр.Имя) Тогда
ПараметрыВыбора.Добавить(Новый ПараметрВыбора(Параметр.Имя, Параметр.Значение)); ПараметрыВыбора.Добавить(Новый ПараметрВыбора(Параметр.Имя, Параметр.Значение));
@@ -39,7 +39,8 @@
// Параметры: // Параметры:
// Форма - ФормаКлиентскогоПриложения - Форма, из которой выполняется команда. // Форма - ФормаКлиентскогоПриложения - Форма, из которой выполняется команда.
// Команда - КомандаФормы - Выполняемая команда. // Команда - КомандаФормы - Выполняемая команда.
// Источник - ТаблицаФормы, ДанныеФормыСтруктура - Объект или список формы с полем "Ссылка". // Источник - ТаблицаФормы, ДанныеФормыСтруктура, Ссылка, Массив - Объект или список формы с полем "Ссылка",
// Ссылка или массив ссылок.
// //
Процедура ВыполнитьКоманду(Форма, Команда, Источник) Экспорт Процедура ВыполнитьКоманду(Форма, Команда, Источник) Экспорт
ИмяКоманды = Команда.Имя; ИмяКоманды = Команда.Имя;
@@ -363,7 +363,7 @@
ОшибочныеПолучатели = Соединение.Послать(Письмо, ОбработкаТекстаИнтернетПочтовогоСообщения.НеОбрабатывать, ОшибочныеПолучатели = Соединение.Послать(Письмо, ОбработкаТекстаИнтернетПочтовогоСообщения.НеОбрабатывать,
ПротоколИнтернетПочты.SMTP); ПротоколИнтернетПочты.SMTP);
ПараметрыОтправкиИдентификаторСообщения = Письмо.ИдентификаторСообщения; ПараметрыОтправки.ИдентификаторСообщения = Письмо.ИдентификаторСообщения;
ПараметрыОтправки.ОшибочныеПолучатели = ОшибочныеПолучатели; ПараметрыОтправки.ОшибочныеПолучатели = ОшибочныеПолучатели;
КонецЕсли; КонецЕсли;
@@ -3378,106 +3378,6 @@
КонецФункции КонецФункции
// Помещает зашифрованные данные файла в хранилище и устанавливает файлу признак Зашифрован.
//
// Параметры:
// ПрисоединенныйФайл - Ссылка на присоединенный файл.
// ЗашифрованныеДанные - Структура со свойством:
// АдресВременногоХранилища - Строка - адрес зашифрованных двоичных данных.
// МассивОтпечатков - Массив Структур отпечатков по сертификатам.
//
Процедура Зашифровать(Знач ПрисоединенныйФайл, Знач ЗашифрованныеДанные, Знач МассивОтпечатков) Экспорт
НачатьТранзакцию();
Попытка
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ПрисоединенныйФайл)) Тогда
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(Метаданные.НайтиПоТипу(ТипЗнч(ПрисоединенныйФайл)).ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ПрисоединенныйФайл);
БлокировкаДанных.Заблокировать();
ПрисоединенныйФайлОбъект = ПрисоединенныйФайл.ПолучитьОбъект();
Иначе
ПрисоединенныйФайлОбъект = ПрисоединенныйФайл;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
МодульЭлектроннаяПодписьСлужебный.ДобавитьСертификатыШифрования(ПрисоединенныйФайл, МассивОтпечатков);
КонецЕсли;
РеквизитыЗначения = Новый Структура;
РеквизитыЗначения.Вставить("Зашифрован", Истина);// Зашифрован перенести в РС
РеквизитыЗначения.Вставить("ТекстХранилище", Новый ХранилищеЗначения(""));
ОбновитьДвоичныеДанныеФайлаНаСервере(ПрисоединенныйФайлОбъект, ЗашифрованныеДанные.АдресВременногоХранилища, РеквизитыЗначения);
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ПрисоединенныйФайл)) Тогда
ПрисоединенныйФайлОбъект.Записать();
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
// Помещает расшифрованные данные файла в хранилище и снимает файлу признак Зашифрован.
//
// Параметры:
// ПрисоединенныйФайл - Ссылка на присоединенный файл.
// ЗашифрованныеДанные - Структура со свойством:
// АдресВременногоХранилища - Строка - адрес расшифрованных двоичных данных.
//
Процедура Расшифровать(Знач ПрисоединенныйФайл, Знач РасшифрованныеДанные) Экспорт
ИспользованиеПолнотекстовогоПоиска = Метаданные.СвойстваОбъектов.ИспользованиеПолнотекстовогоПоиска.Использовать;
НачатьТранзакцию();
Попытка
МетаданныеСправочника = Метаданные.НайтиПоТипу(ТипЗнч(ПрисоединенныйФайл));
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ПрисоединенныйФайл)) Тогда
ПрисоединенныйФайлОбъект = ПрисоединенныйФайл.ПолучитьОбъект();
БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить(МетаданныеСправочника.ПолноеИмя());
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ПрисоединенныйФайл);
БлокировкаДанных.Заблокировать();
Иначе
ПрисоединенныйФайлОбъект = ПрисоединенныйФайл;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") Тогда
МодульЭлектроннаяПодписьСлужебный = ОбщегоНазначения.ОбщийМодуль("ЭлектроннаяПодписьСлужебный");
МодульЭлектроннаяПодписьСлужебный.ОчиститьСертификатыШифрования(ПрисоединенныйФайл);
КонецЕсли;
РеквизитыЗначения = Новый Структура;
РеквизитыЗначения.Вставить("Зашифрован", Ложь);
ДвоичныеДанные = ПолучитьИзВременногоХранилища(РасшифрованныеДанные.АдресВременногоХранилища);
Если МетаданныеСправочника.ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска Тогда
РезультатИзвлеченияТекста = ИзвлечьТекст(РасшифрованныеДанные.АдресВременногоХранилищаТекста, ДвоичныеДанные,
ПрисоединенныйФайл.Расширение);
ПрисоединенныйФайлОбъект.СтатусИзвлеченияТекста = РезультатИзвлеченияТекста.СтатусИзвлеченияТекста;
РеквизитыЗначения.Вставить("ТекстХранилище", РезультатИзвлеченияТекста.ИзвлеченныйТекст);
Иначе
ПрисоединенныйФайлОбъект.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
РеквизитыЗначения.Вставить("ТекстХранилище", Новый ХранилищеЗначения(""));
КонецЕсли;
ОбновитьДвоичныеДанныеФайлаНаСервере(ПрисоединенныйФайлОбъект, ДвоичныеДанные, РеквизитыЗначения);
Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ПрисоединенныйФайл)) Тогда
ПрисоединенныйФайлОбъект.Записать();
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
// Сравнивает 2 элемента отбора компоновки данных. // Сравнивает 2 элемента отбора компоновки данных.
// Параметры: // Параметры:
// Элемент1 - элемент условного оформления списка. // Элемент1 - элемент условного оформления списка.
@@ -3874,6 +3774,8 @@
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Список.Отбор, "Служебный", ВидСравненияКомпоновкиДанных.НеРавно, ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Список.Отбор, "Служебный", ВидСравненияКомпоновкиДанных.НеРавно,
Истина, "СкрыватьСлужебные", Истина); Истина, "СкрыватьСлужебные", Истина);
УстановитьОтборПоПометкеУдаления(Список.Отбор);
КонецПроцедуры КонецПроцедуры
// Изменяет видимость элементов формы присоединенного файла для работы внешних пользователей. // Изменяет видимость элементов формы присоединенного файла для работы внешних пользователей.
@@ -3901,6 +3803,14 @@
КонецПроцедуры КонецПроцедуры
Процедура УстановитьОтборПоПометкеУдаления(Область) Экспорт
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Область, "ПометкаУдаления",
ВидСравненияКомпоновкиДанных.Равно, Ложь, "СкрыватьПометкуУдаленияПоУмолчанию", Истина,
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область ПользовательскиеНастройки #Область ПользовательскиеНастройки
@@ -4680,12 +4590,15 @@
ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ФайлСсылка); ЭлементБлокировкиДанных.УстановитьЗначение("Ссылка", ФайлСсылка);
БлокировкаДанных.Заблокировать(); БлокировкаДанных.Заблокировать();
ЗаблокироватьДанныеДляРедактирования(ФайлСсылка, , УникальныйИдентификатор);
ФайлОбъект = ФайлСсылка.ПолучитьОбъект(); ФайлОбъект = ФайлСсылка.ПолучитьОбъект();
ХранениеВерсии = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Версия, "ТипХраненияФайла, Том, ПутьКФайлу");
ЗаблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, , УникальныйИдентификатор); ФайлОбъект.ТекущаяВерсия = Версия;
Если АдресВременногоХранилищаТекста <> Неопределено
И МетаданныеСправочника.ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска Тогда
ФайлОбъект.ТекущаяВерсия = Версия.Ссылка;
Если МетаданныеСправочника.ПолнотекстовыйПоиск = ИспользованиеПолнотекстовогоПоиска Тогда
Если ТипЗнч(АдресВременногоХранилищаТекста) = Тип("ХранилищеЗначения") Тогда Если ТипЗнч(АдресВременногоХранилищаТекста) = Тип("ХранилищеЗначения") Тогда
// При создании Файла из шаблона хранилище значения копируется напрямую. // При создании Файла из шаблона хранилище значения копируется напрямую.
ФайлОбъект.ТекстХранилище = АдресВременногоХранилищаТекста; ФайлОбъект.ТекстХранилище = АдресВременногоХранилищаТекста;
@@ -4694,14 +4607,18 @@
ФайлОбъект.ТекстХранилище = РезультатИзвлеченияТекста.ТекстХранилище; ФайлОбъект.ТекстХранилище = РезультатИзвлеченияТекста.ТекстХранилище;
ФайлОбъект.СтатусИзвлеченияТекста = РезультатИзвлеченияТекста.СтатусИзвлеченияТекста; ФайлОбъект.СтатусИзвлеченияТекста = РезультатИзвлеченияТекста.СтатусИзвлеченияТекста;
КонецЕсли; КонецЕсли;
Иначе Иначе
ФайлОбъект.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен; ФайлОбъект.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
ФайлОбъект.ТекстХранилище = Новый ХранилищеЗначения(""); ФайлОбъект.ТекстХранилище = Новый ХранилищеЗначения("");
КонецЕсли; КонецЕсли;
ЗаполнитьЗначенияСвойств(ФайлОбъект, ХранениеВерсии);
ФайлОбъект.Записать(); ФайлОбъект.Записать();
РазблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, УникальныйИдентификатор); РазблокироватьДанныеДляРедактирования(ФайлОбъект.Ссылка, УникальныйИдентификатор);
ЗафиксироватьТранзакцию(); ЗафиксироватьТранзакцию();
Исключение Исключение
ОтменитьТранзакцию(); ОтменитьТранзакцию();
ВызватьИсключение; ВызватьИсключение;
@@ -8152,11 +8069,9 @@
Возврат; Возврат;
КонецЕсли; КонецЕсли;
Если Источник.ДополнительныеСвойства.Свойство("ПереименованиеФайла") Тогда Если Источник.ДополнительныеСвойства.Свойство("ПереименованиеФайла")
Возврат; Или Источник.ДополнительныеСвойства.Свойство("КонвертацияФайлов") Тогда
КонецЕсли;
Если Источник.ДополнительныеСвойства.Свойство("КонвертацияФайлов") Тогда
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@@ -8165,9 +8080,12 @@
Если Не ТекущаяВерсия.Ссылка.Пустая() Тогда Если Не ТекущаяВерсия.Ссылка.Пустая() Тогда
ФайлСсылка = Источник.Владелец; ФайлСсылка = Источник.Владелец;
РеквизитыФайла = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ФайлСсылка, РеквизитыФайла = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ФайлСсылка,
"ИндексКартинки, Размер, ДатаСоздания, Изменил, Расширение, Том, ПутьКФайлу, ДатаМодификацииУниверсальная"); "ТекущаяВерсия, ИндексКартинки, Размер, ДатаСоздания, Изменил, Расширение, Том, ПутьКФайлу, ДатаМодификацииУниверсальная");
Если РеквизитыФайла.ТекущаяВерсия <> ТекущаяВерсия Тогда
Возврат;
КонецЕсли;
Если РеквизитыФайла.Размер <> ТекущаяВерсия.Размер Если РеквизитыФайла.Размер <> ТекущаяВерсия.Размер
ИЛИ РеквизитыФайла.ДатаСоздания <> ТекущаяВерсия.ДатаСоздания ИЛИ РеквизитыФайла.ДатаСоздания <> ТекущаяВерсия.ДатаСоздания
@@ -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"; Обработчик.Версия = "2.4.3.4";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("dfc6a0fa-7c7b-4096-9d04-2c67d5eb17a4"); Обработчик.Идентификатор = Новый УникальныйИдентификатор("dfc6a0fa-7c7b-4096-9d04-2c67d5eb17a4");
Обработчик.Процедура = "Справочники.СтраныМира.ОбновитьСтраныМираПоОКСМ"; Обработчик.Процедура = "Справочники.СтраныМира.ОбработатьДанныеДляПереходаНаНовуюВерсию";
Обработчик.РежимВыполнения = "Отложенно"; Обработчик.РежимВыполнения = "Отложенно";
Обработчик.ПроцедураЗаполненияДанныхОбновления = "Справочники.СтраныМира.ЗаполнитьСписокСтранКОбработке"; Обработчик.ПроцедураЗаполненияДанныхОбновления = "Справочники.СтраныМира.ЗарегистрироватьДанныеКОбработкеДляПереходаНаНовуюВерсию";
Обработчик.ОчередьОтложеннойОбработки = 1; Обработчик.ОчередьОтложеннойОбработки = 1;
Обработчик.ЧитаемыеОбъекты = "Справочник.СтраныМира"; Обработчик.ЧитаемыеОбъекты = "Справочник.СтраныМира";
Обработчик.ИзменяемыеОбъекты = "Справочник.СтраныМира"; Обработчик.ИзменяемыеОбъекты = "Справочник.СтраныМира";
@@ -868,14 +868,14 @@
МассивИменАктивныхПапок = МассивИменАктивныхПапок(Почта); МассивИменАктивныхПапок = МассивИменАктивныхПапок(Почта);
КвалификаторСтроки150 = Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(150,ДопустимаяДлина.Переменная)); КвалификаторСтроки255 = Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки(255,ДопустимаяДлина.Переменная));
ТаблицаИдентификаторов = Новый ТаблицаЗначений; ТаблицаИдентификаторов = Новый ТаблицаЗначений;
ТаблицаИдентификаторов.Колонки.Добавить("ИдентификаторНаСервере", КвалификаторСтроки150); ТаблицаИдентификаторов.Колонки.Добавить("ИдентификаторНаСервере", КвалификаторСтроки255);
ТаблицаИдентификаторов.Колонки.Добавить("ИдентификаторПисьма", КвалификаторСтроки150); ТаблицаИдентификаторов.Колонки.Добавить("ИдентификаторПисьма", КвалификаторСтроки255);
ТаблицаПустыхИдентификаторов = Новый ТаблицаЗначений; ТаблицаПустыхИдентификаторов = Новый ТаблицаЗначений;
ТаблицаПустыхИдентификаторов.Колонки.Добавить("ИдентификаторНаСервере", КвалификаторСтроки150); ТаблицаПустыхИдентификаторов.Колонки.Добавить("ИдентификаторНаСервере", КвалификаторСтроки255);
ТаблицаПустыхИдентификаторов.Колонки.Добавить("ХэшСумма", ОбщегоНазначения.ОписаниеТипаСтрока(32)); ТаблицаПустыхИдентификаторов.Колонки.Добавить("ХэшСумма", ОбщегоНазначения.ОписаниеТипаСтрока(32));
ДатаЗагрузкиПисем = ТекущаяДатаСеанса(); ДатаЗагрузкиПисем = ТекущаяДатаСеанса();
@@ -408,7 +408,7 @@
КонецЕсли; КонецЕсли;
Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда Если ТипЗнч(ДополнительныеПараметры) = Тип("Структура") Тогда
ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыОтправки.ДополнительныеПараметры, ДополнительныеПараметры, Истина); ПараметрыОтправки.ДополнительныеПараметры.ПараметрыСообщения = ДополнительныеПараметры;
КонецЕсли; КонецЕсли;
Возврат ПараметрыОтправки; Возврат ПараметрыОтправки;
@@ -84,31 +84,41 @@
// //
// Параметры: // Параметры:
// ПолучателиSMS - ТаблицаЗначений - список получателей SMS. // ПолучателиSMS - ТаблицаЗначений - список получателей 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"?> <?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> <name>БиблиотекаСтандартныхПодсистем</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.1</value> <value>Библиотека стандартных подсистем, редакция 3.1</value>
</synonym> </synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="a0240c7a-544a-4d61-90fd-bef2c6fa7906"/> <containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="c0941663-e58f-43f1-a09d-af47f0cae552"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="07e39231-0854-463b-ad4a-507cfcb3f392"/> <containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="16ca4ba2-f88b-425a-85e2-b1ac0783a8e9"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="23471ce3-7c6d-4732-ab2d-e6e7b92b111e"/> <containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="2ff66df6-e901-4ca4-822e-32ef623ef144"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f049956a-2c80-430a-b94d-fe4baf54e802"/> <containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="5736923d-c10a-4aff-804a-6e4038166638"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="999c29b7-ab84-4bee-bd0d-7e049a8ec093"/> <containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="abc3399c-358d-4a32-9f87-44b999353591"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="06e39078-a473-412d-8656-c4898a0a168f"/> <containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="4d039111-e601-4663-aeea-b1f10cbd01d5"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="cf7566d6-d240-4d9d-9531-dd13041e7f19"/> <containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="aba1fc76-3004-40c3-8d9f-89265833f304"/>
<defaultRunMode>ManagedApplication</defaultRunMode> <defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes> <usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant> <scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>3.1.2.157</version> <version>3.1.2.166</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities> <usedMobileApplicationFunctionalities>
@@ -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>
<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>
<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> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </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> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
@@ -1519,6 +1546,33 @@
<currentRowUse>DontUse</currentRowUse> <currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>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> <parameters>
<name>Ключ</name> <name>Ключ</name>
<valueType> <valueType>
@@ -59,6 +59,9 @@
Элементы.Кодировка.Видимость = Ложь; Элементы.Кодировка.Видимость = Ложь;
КонецЕсли; КонецЕсли;
Элементы.ФормаУдалить.Видимость =
ЭтотОбъект.Объект.Автор = Пользователи.АвторизованныйПользователь();
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СтандартнаяЗаписатьИЗакрыть", "Отображение", ОтображениеКнопки.Картинка); ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы, "СтандартнаяЗаписатьИЗакрыть", "Отображение", ОтображениеКнопки.Картинка);
@@ -147,6 +150,14 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Неопределено, ЭтотОбъект.Объект.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -825,6 +825,33 @@
<items xsi:type="form:FormGroup"> <items xsi:type="form:FormGroup">
<name>СписокКонтекстноеМенюГруппаКомандДополнительные</name> <name>СписокКонтекстноеМенюГруппаКомандДополнительные</name>
<id>136</id> <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"> <items xsi:type="form:Button">
<name>СписокКонтекстноеМенюУстановитьПометкуУдаления</name> <name>СписокКонтекстноеМенюУстановитьПометкуУдаления</name>
<id>130</id> <id>130</id>
@@ -852,17 +879,16 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>СписокКонтекстноеМенюСохранитьКак</name> <name>СписокКонтекстноеМенюУдалить</name>
<id>81</id> <id>161</id>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip> <extendedTooltip>
<name>СписокКонтекстноеМенюСохранитьКакРасширеннаяПодсказка</name> <name>СписокКонтекстноеМенюУдалитьРасширеннаяПодсказка</name>
<id>99</id> <id>162</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -870,7 +896,7 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<commandName>Form.Command.СохранитьКак</commandName> <commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -1049,6 +1075,38 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </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> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -1127,21 +1185,16 @@
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </items>
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>ФормаСохранитьКак</name> <name>ФормаУдалить</name>
<id>59</id> <id>157</id>
<title>
<key>ru</key>
<value>Сохранить как...</value>
</title>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<skipOnInput>false</skipOnInput>
<extendedTooltip> <extendedTooltip>
<name>ФормаСохранитьКакРасширеннаяПодсказка</name> <name>ФормаУдалитьРасширеннаяПодсказка</name>
<id>94</id> <id>158</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -1149,7 +1202,7 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<commandName>Form.Command.СохранитьКак</commandName> <commandName>Form.Command.Удалить</commandName>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -1231,6 +1284,33 @@
<commandSource>Form</commandSource> <commandSource>Form</commandSource>
</extInfo> </extInfo>
</items> </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"> <items xsi:type="form:Button">
<name>ПоказыватьСлужебныеФайлы</name> <name>ПоказыватьСлужебныеФайлы</name>
<id>155</id> <id>155</id>
@@ -1542,6 +1622,55 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </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> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -163,6 +163,26 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура Удалить(Команда)
Если Элементы.Список.ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Новый ОписаниеОповещения("ПослеУдаленияДанных", ЭтотОбъект),
Элементы.Список.ТекущиеДанные.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ПоказыватьПомеченныеФайлы(Команда)
РаботаСФайламиСлужебныйКлиент.ИзменитьОтборПоПометкеУдаления(Список.Отбор, Элементы.ПоказыватьПомеченныеФайлы);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -172,6 +192,13 @@
УстановитьДоступностьФайловыхКоманд(); УстановитьДоступностьФайловыхКоманд();
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ПослеУдаленияДанных(Результат, ДополнительныеПараметры) Экспорт
Элементы.Список.Обновить();
КонецПроцедуры
// Доступны файловые команды - есть хотя бы одна строка в списке и выделена не группировка. // Доступны файловые команды - есть хотя бы одна строка в списке и выделена не группировка.
&НаКлиенте &НаКлиенте
Функция ФайловыеКомандыДоступны() Функция ФайловыеКомандыДоступны()
@@ -191,13 +218,13 @@
&НаКлиенте &НаКлиенте
Процедура УстановитьДоступностьФайловыхКоманд() Процедура УстановитьДоступностьФайловыхКоманд()
Если Элементы.Список.ТекущиеДанные <> Неопределено Тогда ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено
И ТипЗнч(ТекущиеДанные.Ссылка) <> Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
Если ТипЗнч(Элементы.Список.ТекущиеДанные.Ссылка) <> Тип("СтрокаГруппировкиДинамическогоСписка") Тогда УстановитьДоступностьКоманд(ТекущиеДанные.РедактируетТекущийПользователь,
ТекущиеДанные.Редактирует, ТекущиеДанные.Автор);
УстановитьДоступностьКоманд(Элементы.Список.ТекущиеДанные.РедактируетТекущийПользователь,
Элементы.Список.ТекущиеДанные.Редактирует);
КонецЕсли;
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@@ -215,11 +242,16 @@
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
Процедура УстановитьДоступностьКоманд(РедактируетТекущийПользователь, Редактирует) Процедура УстановитьДоступностьКоманд(РедактируетТекущийПользователь, Редактирует, Автор)
Элементы.ФормаОсвободить.Доступность = ЗначениеЗаполнено(Редактирует); Элементы.ФормаОсвободить.Доступность = ЗначениеЗаполнено(Редактирует);
Элементы.СписокКонтекстноеМенюОсвободить.Доступность = ЗначениеЗаполнено(Редактирует); Элементы.СписокКонтекстноеМенюОсвободить.Доступность = ЗначениеЗаполнено(Редактирует);
АвторТекущийПользователь =
Элементы.Список.ТекущиеДанные.Автор = ПользователиКлиент.АвторизованныйПользователь();
Элементы.ФормаУдалить.Доступность = АвторТекущийПользователь;
Элементы.СписокКонтекстноеМенюУдалить.Доступность = АвторТекущийПользователь;
КонецПроцедуры КонецПроцедуры
&НаКлиенте &НаКлиенте
@@ -1542,6 +1542,32 @@
<placementArea>UserCmds</placementArea> <placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
</items> </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"> <items xsi:type="form:Button">
<name>СписокКонтекстноеМенюСохранитьКак</name> <name>СписокКонтекстноеМенюСохранитьКак</name>
<id>65</id> <id>65</id>
@@ -2877,33 +2903,6 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </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"> <items xsi:type="form:Button">
<name>ФормаСохранитьКак</name> <name>ФормаСохранитьКак</name>
<id>4</id> <id>4</id>
@@ -3150,6 +3149,84 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </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> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -3465,6 +3542,33 @@
<representationInContextMenu>Auto</representationInContextMenu> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </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"> <items xsi:type="form:Button">
<name>ПоказыватьСлужебныеФайлы</name> <name>ПоказыватьСлужебныеФайлы</name>
<id>350</id> <id>350</id>
@@ -4708,6 +4812,55 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </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> <parameters>
<name>ВладелецФайла</name> <name>ВладелецФайла</name>
<valueType/> <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> <representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items> </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"> <items xsi:type="form:FormGroup">
<name>ФормаГруппаДополнительныеКоманды</name> <name>ФормаГруппаДополнительныеКоманды</name>
<id>100</id> <id>100</id>
@@ -5025,6 +5052,33 @@
<currentRowUse>DontUse</currentRowUse> <currentRowUse>DontUse</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands>
<name>Удалить</name>
<title>
<key>ru</key>
<value>Удалить</value>
</title>
<id>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> <parameters>
<name>Ключ</name> <name>Ключ</name>
<valueType> <valueType>
@@ -37,6 +37,8 @@
РаботаСФайламиПереопределяемый.ПриСозданииФормыЭлементаФайлов(ЭтотОбъект); РаботаСФайламиПереопределяемый.ПриСозданииФормыЭлементаФайлов(ЭтотОбъект);
Элементы.ФормаУдалить.Видимость = ЭтотОбъект.Объект.Автор = ТекущийПользователь;
Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда Если ОбщегоНазначения.ЭтоМобильныйКлиент() Тогда
Элементы.Описание.Высота = 0; Элементы.Описание.Высота = 0;
@@ -759,6 +761,14 @@
// Конец СтандартныеПодсистемы.Свойства // Конец СтандартныеПодсистемы.Свойства
&НаКлиенте
Процедура Удалить(Команда)
РаботаСФайламиСлужебныйКлиент.УдалитьДанные(
Неопределено, ЭтотОбъект.Объект.Ссылка, УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
@@ -649,7 +649,9 @@
КонецПроцедуры КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста &НаКлиентеНаСервереБезКонтекста
Функция НомерКартинки(СсылкаИлиДанные, СсылочногоТипа, Вид, Статус) Функция НомерКартинки(Знач СсылкаИлиДанные, Знач СсылочногоТипа, Знач Вид, Знач Статус)
Вид = ВРег(Вид);
Если СсылочногоТипа Тогда Если СсылочногоТипа Тогда
Если Вид = "СПРАВОЧНИК" Если Вид = "СПРАВОЧНИК"
Или Вид = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда Или Вид = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда
@@ -747,6 +749,16 @@
Функция ИзменитьПометкуУдаленияОбъектов(МассивСсылок, ПометкаУдаления) Функция ИзменитьПометкуУдаленияОбъектов(МассивСсылок, ПометкаУдаления)
Количество = МассивСсылок.Количество(); Количество = МассивСсылок.Количество();
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
Для Номер = 1 По Количество Цикл
Ссылка = МассивСсылок[Количество - Номер];
ЭлементБлокировки = Блокировка.Добавить(Ссылка.Метаданные().ПолноеИмя());
ЭлементБлокировки.УстановитьЗначение("Ссылка", Ссылка);
КонецЦикла;
Блокировка.Заблокировать();
Для Номер = 1 По Количество Цикл Для Номер = 1 По Количество Цикл
ОбратныйИндекс = Количество - Номер; ОбратныйИндекс = Количество - Номер;
ИзменяемыйОбъект = МассивСсылок[ОбратныйИндекс].ПолучитьОбъект(); ИзменяемыйОбъект = МассивСсылок[ОбратныйИндекс].ПолучитьОбъект();
@@ -756,7 +768,11 @@
ИзменяемыйОбъект.УстановитьПометкуУдаления(ПометкаУдаления); ИзменяемыйОбъект.УстановитьПометкуУдаления(ПометкаУдаления);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КоличествоОбъектов = МассивСсылок.Количество(); КоличествоОбъектов = МассивСсылок.Количество();
Если КоличествоОбъектов > 0 Тогда Если КоличествоОбъектов > 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; РазмерПорции = 200;
СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПоиска, РазмерПорции);
СтрокаПолнотекстовогоПоиска = СтрокаПоиска;
Если СтрНайти(СтрокаПолнотекстовогоПоиска, "*") = 0 Тогда
СтрокаПолнотекстовогоПоиска = "*" + СтрокаПолнотекстовогоПоиска + "*";
КонецЕсли;
СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок(СтрокаПолнотекстовогоПоиска, РазмерПорции);
ОбластьПоиска.Добавить(Метаданные.Документы.ЭлектронноеПисьмоВходящее); ОбластьПоиска.Добавить(Метаданные.Документы.ЭлектронноеПисьмоВходящее);
ОбластьПоиска.Добавить(Метаданные.Документы.ЭлектронноеПисьмоИсходящее); ОбластьПоиска.Добавить(Метаданные.Документы.ЭлектронноеПисьмоИсходящее);
ОбластьПоиска.Добавить(Метаданные.Справочники.ЭлектронноеПисьмоВходящееПрисоединенныеФайлы); ОбластьПоиска.Добавить(Метаданные.Справочники.ЭлектронноеПисьмоВходящееПрисоединенныеФайлы);
@@ -102,30 +102,40 @@
// Заполняет список получателей SMS при отправке сообщения сформированного по шаблону. // Заполняет список получателей SMS при отправке сообщения сформированного по шаблону.
// //
// Параметры: // Параметры:
// ПолучателиSMS - ТаблицаЗначений - список получается SMS. // ПолучателиSMS - ТаблицаЗначений - список получателей SMS.
// * НомерТелефона - Строка - номер телефона, куда будет отправлено сообщение SMS. // * НомерТелефона - Строка - номер телефона, куда будет отправлено сообщение SMS;
// * Представление - Строка - представление получателя сообщения SMS. // * Представление - Строка - представление получателя сообщения SMS;
// * Контакт - Произвольный - контакт, которому принадлежит номер телефона. // * Контакт - Произвольный - контакт, которому принадлежит номер телефона.
// ПредметСообщения - ЛюбаяСсылка, Структура - ссылка на объект являющийся источником данных, либо структура, // ПредметСообщения - ЛюбаяСсылка - ссылка на объект, являющийся источником данных.
// если шаблон содержит произвольные параметры: // - Структура - структура описывающая параметры шаблона:
// * Предмет - ЛюбаяСсылка - ссылка на объект являющийся источником данных // * Предмет - ЛюбаяСсылка - ссылка на объект, являющийся источником данных;
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров. // * ВидСообщения - Строка - вид формируемого сообщения: "ЭлектроннаяПочта" или "СообщениеSMS";
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров;
// * ОтправитьСразу - Булево - признак мгновенной отправки;
// * ПараметрыСообщения - Структура - Дополнительные параметры сообщения.
// //
Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт Процедура ПриЗаполненииТелефоновПолучателейВСообщении(ПолучателиSMS, ПредметСообщения) Экспорт
КонецПроцедуры КонецПроцедуры
// Заполняет список получателей письма при отправки сообщения сформированного по шаблону. // Заполняет список получателей почты при отправке сообщения сформированного по шаблону.
// //
// Параметры: // Параметры:
// ПолучателиПисьма - ТаблицаЗначений - список получается письма. // ПолучателиПисьма - ТаблицаЗначений - список получается письма.
// * Адрес - Строка - адрес электронной почты получателя. // * Адрес - Строка - адрес электронной почты получателя;
// * Представление - Строка - представление получается письма. // * Представление - Строка - представление получателя письма;
// * Контакт - Произвольный - контакт, которому принадлежит адрес электронной почты. // * Контакт - Произвольный - контакт, которому принадлежит адрес электронной почты.
// ПредметСообщения - ЛюбаяСсылка, Структура - ссылка на объект являющийся источником данных, либо структура, // ПредметСообщения - ЛюбаяСсылка - ссылка на объект, являющийся источником данных.
// если шаблон содержит произвольные параметры: // - Структура - структура описывающая параметры шаблона:
// * Предмет - ЛюбаяСсылка - ссылка на объект являющийся источником данных // * Предмет - ЛюбаяСсылка - ссылка на объект, являющийся источником данных;
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров. // * ВидСообщения - Строка - вид формируемого сообщения: "ЭлектроннаяПочта" или "СообщениеSMS";
// * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров;
// * ОтправитьСразу - Булево - признак мгновенной отправки письма;
// * ПараметрыСообщения - Структура - Дополнительные параметры сообщения;
// * ПреобразовыватьHTMLДляФорматированногоДокумента - Булево - признак преобразование HTML текста
// сообщения содержащего картинки в тексте письма из-за особенностей вывода изображений
// в форматированном документе;
// * УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - учетная запись для отправки письма.
// //
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, ПредметСообщения) Экспорт
@@ -210,7 +210,7 @@
<type> <type>
<types>String</types> <types>String</types>
<stringQualifiers> <stringQualifiers>
<length>200</length> <length>255</length>
</stringQualifiers> </stringQualifiers>
</type> </type>
<toolTip> <toolTip>
@@ -231,7 +231,7 @@
<type> <type>
<types>String</types> <types>String</types>
<stringQualifiers> <stringQualifiers>
<length>200</length> <length>255</length>
</stringQualifiers> </stringQualifiers>
</type> </type>
<toolTip> <toolTip>
@@ -253,7 +253,7 @@
<type> <type>
<types>String</types> <types>String</types>
<stringQualifiers> <stringQualifiers>
<length>200</length> <length>255</length>
</stringQualifiers> </stringQualifiers>
</type> </type>
<toolTip> <toolTip>
@@ -2755,6 +2755,10 @@
<items xsi:type="form:Button"> <items xsi:type="form:Button">
<name>ФормаУточнитьКонтакты</name> <name>ФормаУточнитьКонтакты</name>
<id>267</id> <id>267</id>
<title>
<key>ru</key>
<value>Адресная книга</value>
</title>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -232,7 +232,7 @@
<type> <type>
<types>String</types> <types>String</types>
<stringQualifiers> <stringQualifiers>
<length>200</length> <length>255</length>
</stringQualifiers> </stringQualifiers>
</type> </type>
<toolTip> <toolTip>
@@ -253,7 +253,7 @@
<type> <type>
<types>String</types> <types>String</types>
<stringQualifiers> <stringQualifiers>
<length>200</length> <length>255</length>
</stringQualifiers> </stringQualifiers>
</type> </type>
<toolTip> <toolTip>
@@ -276,7 +276,7 @@
<type> <type>
<types>String</types> <types>String</types>
<stringQualifiers> <stringQualifiers>
<length>200</length> <length>255</length>
</stringQualifiers> </stringQualifiers>
</type> </type>
<toolTip> <toolTip>
@@ -299,7 +299,7 @@
<type> <type>
<types>String</types> <types>String</types>
<stringQualifiers> <stringQualifiers>
<length>200</length> <length>255</length>
</stringQualifiers> </stringQualifiers>
</type> </type>
<toolTip> <toolTip>
@@ -56,7 +56,7 @@
<choiceList> <choiceList>
<presentation> <presentation>
<key>ru</key> <key>ru</key>
<value>Получать, сохранять и отправлять письма с этой учетной записи во встроенном почтовом клиенте</value> <value>Получать, сохранять и отправлять письма с этой учетной записи</value>
</presentation> </presentation>
<value xsi:type="core:NumberValue"> <value xsi:type="core:NumberValue">
<value>1</value> <value>1</value>
@@ -81,11 +81,8 @@
</userVisible> </userVisible>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Использование для встроенного почтового клиента:</value> <value>Во встроенном почтовом клиенте:</value>
</title> </title>
<titleFont xsi:type="core:FontRef">
<font>0</font>
</titleFont>
<height>5</height> <height>5</height>
<extendedTooltip> <extendedTooltip>
<name>ВидУчетнойЗаписиExtendedTooltip</name> <name>ВидУчетнойЗаписиExtendedTooltip</name>
@@ -372,7 +369,7 @@
<id>62</id> <id>62</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Помещать письма в папку письма основания</value> <value>Помещать письма в папку письма-основания</value>
</title> </title>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
@@ -383,11 +380,15 @@
<segments>Запись.ПомещатьПисьмоВПапкуПисьмаОснования</segments> <segments>Запись.ПомещатьПисьмоВПапкуПисьмаОснования</segments>
</dataPath> </dataPath>
<titleLocation>Right</titleLocation> <titleLocation>Right</titleLocation>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<extendedTooltip> <extendedTooltip>
<name>ПомещатьПисьмоВПапкуПисьмаОснованияExtendedTooltip</name> <name>ПомещатьПисьмоВПапкуПисьмаОснованияExtendedTooltip</name>
<id>96</id> <id>96</id>
<title>
<key>ru</key>
<value>Для таких писем правила обработки электронной почты не применяются.</value>
</title>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo"> <extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
@@ -405,42 +406,6 @@
<showInFooter>true</showInFooter> <showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/> <extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items> </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> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
@@ -497,7 +462,7 @@
<id>126</id> <id>126</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Признак &quot;рассмотрено&quot; всегда соответствует состоянию прочтения письма на почтовом сервере. Изменение признака &quot;рассмотрено&quot; в данном почтовом клиенте не приводит к изменению признака прочтения на сервере.</value> <value>Признак &quot;Рассмотрено&quot; всегда соответствует состоянию прочтения письма на почтовом сервере. Изменение признака &quot;рассмотрено&quot; в данном почтовом клиенте не приводит к изменению признака прочтения на сервере.</value>
</title> </title>
<formatted>true</formatted> <formatted>true</formatted>
<type>Label</type> <type>Label</type>
@@ -549,8 +514,7 @@
<id>131</id> <id>131</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Все письма загружаются не рассмотренными. Признак &quot;рассмотрено&quot; не синхронизируется с признаком прочтения письма на почтовом сервере. <value>Все письма загружаются не рассмотренными. Признак &quot;Рассмотрено&quot; не синхронизируется с признаком прочтения письма на почтовом сервере.
</value> </value>
</title> </title>
<formatted>true</formatted> <formatted>true</formatted>
@@ -594,9 +558,6 @@
<key>ru</key> <key>ru</key>
<value>Где идет обработка писем?</value> <value>Где идет обработка писем?</value>
</title> </title>
<titleFont xsi:type="core:FontRef">
<font>0</font>
</titleFont>
<height>6</height> <height>6</height>
<extendedTooltip> <extendedTooltip>
<name>ГруппаГдеИдетОбработкаПисемРасширеннаяПодсказка</name> <name>ГруппаГдеИдетОбработкаПисемРасширеннаяПодсказка</name>
@@ -660,7 +621,7 @@
<id>1</id> <id>1</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Включать подпись для новых писем</value> <value>Включать подпись для новых писем:</value>
</title> </title>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
@@ -712,6 +673,7 @@
<dataPath xsi:type="form:DataPath"> <dataPath xsi:type="form:DataPath">
<segments>Запись.ФорматПодписиДляНовыхСообщений</segments> <segments>Запись.ФорматПодписиДляНовыхСообщений</segments>
</dataPath> </dataPath>
<titleLocation>None</titleLocation>
<handlers> <handlers>
<event>OnChange</event> <event>OnChange</event>
<name>ФорматПодписиДляНовыхСообщенийПриИзменении</name> <name>ФорматПодписиДляНовыхСообщенийПриИзменении</name>
@@ -769,7 +731,7 @@
</extendedTooltip> </extendedTooltip>
<type>UsualGroup</type> <type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo"> <extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group> <group>HorizontalIfPossible</group>
<behavior>Auto</behavior> <behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin> <showLeftMargin>true</showLeftMargin>
<united>true</united> <united>true</united>
@@ -1041,7 +1003,7 @@
<id>20</id> <id>20</id>
<title> <title>
<key>ru</key> <key>ru</key>
<value>Включать подпись при ответе или пересылке</value> <value>Включать подпись при ответе или пересылке:</value>
</title> </title>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
@@ -1093,6 +1055,7 @@
<dataPath xsi:type="form:DataPath"> <dataPath xsi:type="form:DataPath">
<segments>Запись.ФорматПодписиПриОтветеПересылке</segments> <segments>Запись.ФорматПодписиПриОтветеПересылке</segments>
</dataPath> </dataPath>
<titleLocation>None</titleLocation>
<handlers> <handlers>
<event>OnChange</event> <event>OnChange</event>
<name>ФорматПодписиПриОтветеПересылкеПриИзменении</name> <name>ФорматПодписиПриОтветеПересылкеПриИзменении</name>
@@ -1150,7 +1113,7 @@
</extendedTooltip> </extendedTooltip>
<type>UsualGroup</type> <type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo"> <extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group> <group>HorizontalIfPossible</group>
<behavior>Auto</behavior> <behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin> <showLeftMargin>true</showLeftMargin>
<united>true</united> <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="#3">Использование другого почтового клиента для обработки писем</a>.</p>
<p style="MARGIN-BOTTOM: 5px; MARGIN-TOP: 0px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300e7facbd651">Настройка подписей к письму</a>.</p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300dacdd2ff5f"> <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> <h3 style="MARGIN-LEFT: 0px">Настройка использования учетной записи во встроенном почтовом клиенте</h3></a>
<ul style="MARGIN-LEFT: 40px"><li>Настройки производятся на вкладке <strong>Основное</strong> с помощью переключателя <strong>Использование для встроенного почтового клиента</strong>: <ul style="MARGIN-LEFT: 40px"><li>Настройки производятся на вкладке <strong>Основное</strong> с помощью переключателя <strong>Во встроенном почтовом клиенте</strong>:
<ul><li>Выберите значение <strong>Получать, сохранять и отправлять письма с этой учетной записи во встроенном почтовом клиенте</strong>, если с данной учетной записи электронной почты планируется переписка. <ul><li>Выберите значение <strong>Получать, сохранять и отправлять письма с этой учетной записи</strong>, если с данной учетной записи электронной почты планируется переписка.
</li><li>Если использование во внутреннем почтовом клиенте не предполагается (например, эта учетная запись используется для обменов с другими программами), то выберите значение <b>Не использовать</b>.<a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300df5bbfa46d"> </a></li></ul></li></ul><h3 style="MARGIN-LEFT: 0px">Включение имени пользователя, указанного в учетной записи, в представление отправителя письма</h3> </li>
<li>Если использование во внутреннем почтовом клиенте не предполагается (например, эта учетная запись используется для обменов с другими программами), то выберите значение <b>Не использовать</b>.<a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300df5bbfa46d"> </a></li></ul></li></ul><h3 style="MARGIN-LEFT: 0px">Включение имени пользователя, указанного в учетной записи, в представление отправителя письма</h3>
<ul><li> <ul><li>
<div style="MARGIN-LEFT: 0px">Установите флажок <b>В представление включать имя пользователя</b> на вкладке <strong>Основное</strong>.</div></li></ul><h3><a name="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300dda48a17ca">Назначение флажка Удалять письма после отправки</a></h3> <div style="MARGIN-LEFT: 0px">Установите флажок <b>В представление включать имя пользователя</b> на вкладке <strong>Основное</strong>.</div></li></ul><h3><a name="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300dda48a17ca">Назначение флажка Удалять письма после отправки</a></h3>
<ul><li> <ul><li>
<div>Настройка производится на вкладке <strong>Основное</strong>.</div> <div>Настройка производится на вкладке <strong>Основное</strong>.</div>
</li><li> </li>
<li>
<div style="MARGIN-LEFT: 0px">Если нет необходимости хранить <a href="Document.ЭлектронноеПисьмоИсходящее.Form.ФормаДокумента/Help">исходящие письма</a>, успешно отправленные с данной учетной записи, то этот флажок должен быть включен.</div> <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> <div style="MARGIN-LEFT: 0px">В этом случае после отправки письма будут удалены.</div></li></ul><h3><a name="#2">Коллективная учетная запись</a></h3>
<ul><li> <ul><li>
<div style="MARGIN-LEFT: 0px">Для коллективной учетной записи ответственным за папки может быть один <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователь</a>, а ответственным за обработку писем по умолчанию другой (например, администратор программы).</div> <div style="MARGIN-LEFT: 0px">Для коллективной учетной записи ответственным за папки может быть один <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователь</a>, а ответственным за обработку писем по умолчанию другой (например, администратор программы).</div>
<ul><li> <ul><li>
<div style="MARGIN-LEFT: 0px">Выберите <strong>Ответственного за обработку писем</strong> из списка пользователей. Поле является обязательным для заполнения.</div> <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> <div style="MARGIN-LEFT: 0px">Выберите <strong>Ответственного за ведение папок </strong>из списка пользователей. Поле является обязательным для заполнения.</div></li></ul></li></ul><h3><a name="#1">Пример использования коллективной учетной записи</a></h3>
<ul><li> <ul><li>
<div>Крупная компания имеет большое количество клиентов по всей стране.</div> <div>Крупная компания имеет большое количество клиентов по всей стране.</div>
</li><li> </li>
<li>
<div>У компании есть единый почтовый адрес, на который клиенты шлют претензии.</div> <div>У компании есть единый почтовый адрес, на который клиенты шлют претензии.</div>
</li><li> </li>
<li>
<div>Состав и порядок папок для данной учетной записи определяет руководитель службы, которая отвечает за обработку претензий.</div> <div>Состав и порядок папок для данной учетной записи определяет руководитель службы, которая отвечает за обработку претензий.</div>
</li><li> </li>
<li>
<div>Ответственный за первичный разбор писем - это другой сотрудник. Он обрабатывает входящую корреспонденцию и назначает письмам ответственных, которые в дальнейшем будут отвечать за обработку претензии, изложенной в письме.</div></li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300de86849f59">Назначение флажка Помещать письма в папку письма-основания</a></h3> <div>Ответственный за первичный разбор писем - это другой сотрудник. Он обрабатывает входящую корреспонденцию и назначает письмам ответственных, которые в дальнейшем будут отвечать за обработку претензии, изложенной в письме.</div></li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300de86849f59">Назначение флажка Помещать письма в папку письма-основания</a></h3>
<ul><li> <ul><li>
<div style="MARGIN-LEFT: 0px">Настройка производится на вкладке <strong>Обработка писем</strong>.</div> <div style="MARGIN-LEFT: 0px">Настройка производится на вкладке <strong>Обработка писем</strong>.</div>
</li><li> </li>
<li>
<div style="MARGIN-LEFT: 0px">Если данный флажок включен, то для писем, которые являются ответом или пересылаемым письмом, не будут применяться <a href="Catalog.ПравилаОбработкиЭлектроннойПочты/Help">правила обработки</a>.</div> <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> <div style="MARGIN-LEFT: 0px">Такие письма всегда будут помещаться в ту же папку, что и письмо-основание.</div></li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#3">Использование другого почтового клиента для обработки писем</a> (при получении писем по протоколу IMAP)</h3>
<ul><li> <ul><li>
<div style="MARGIN-LEFT: 0px">Если получение почты проходит по протоколу IMAP, то обработка входящих писем может проводиться и в другом почтовом клиенте.</div> <div style="MARGIN-LEFT: 0px">Если получение почты проходит по протоколу IMAP, то обработка входящих писем может проводиться и в другом почтовом клиенте.</div>
</li><li> </li>
<li>
<div style="MARGIN-LEFT: 0px">С помощью переключателя на вкладке <strong>Обработка писем</strong> можно указать,<strong>Где идет обработка писем</strong>:</div> <div style="MARGIN-LEFT: 0px">С помощью переключателя на вкладке <strong>Обработка писем</strong> можно указать,<strong>Где идет обработка писем</strong>:</div>
<ul><li> <ul><li>
<div style="MARGIN-LEFT: 0px"><strong>В другом почтовом клиенте</strong> - в этом случае редко используется почтовый клиент программы, например, только для отправки печатных форм, или используются другие возможности отправки писем с использованием данных ИБ. </div> <div style="MARGIN-LEFT: 0px"><strong>В другом почтовом клиенте</strong> - в этом случае редко используется почтовый клиент программы, например, только для отправки печатных форм, или используются другие возможности отправки писем с использованием данных ИБ. </div>
<ul><li> <ul><li>
<div style="MARGIN-LEFT: 0px">Основная работа с почтой, в том числе разборка писем выполняется в другом почтовом клиенте. </div> <div style="MARGIN-LEFT: 0px">Основная работа с почтой, в том числе разборка писем выполняется в другом почтовом клиенте. </div>
</li><li> </li>
<li>
<div style="MARGIN-LEFT: 0px">В этом случае выполняется синхронизация признака <strong>Рассмотрено</strong> в программе с признаком прочтения на почтовом сервере. </div> <div style="MARGIN-LEFT: 0px">В этом случае выполняется синхронизация признака <strong>Рассмотрено</strong> в программе с признаком прочтения на почтовом сервере. </div>
</li><li> </li>
<li>
<div style="MARGIN-LEFT: 0px">Синхронизация выполняется в одностороннем порядке. На почтовый клиент программы получаются и устанавливаются признаки прочтения с сервера. С клиента на сервер изменения признака прочтения не передается. </div> <div style="MARGIN-LEFT: 0px">Синхронизация выполняется в одностороннем порядке. На почтовый клиент программы получаются и устанавливаются признаки прочтения с сервера. С клиента на сервер изменения признака прочтения не передается. </div>
</li><li> </li>
<div style="MARGIN-LEFT: 0px">При получении писем признак <strong>Рассмотрено</strong> всегда соответствует состоянию письма на почтовом сервере.</div></li></ul></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"> <div style="MARGIN-LEFT: 0px"><strong>В этом почтовом клиенте</strong> - разбор корреспонденции происходит в программе. В этом случае все входящие письма загружаются в программу не рассмотренными.</div></li></ul></li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300e7facbd651">
<h3 style="MARGIN-LEFT: 0px">Настройка подписи к письму</h3></a> <h3 style="MARGIN-LEFT: 0px">Настройка подписи к письму</h3></a>
<ul><li> <ul><li>
<div style="MARGIN-LEFT: 0px">Можно создать подпись двух видов: </div> <div style="MARGIN-LEFT: 0px">Можно создать подпись двух видов: </div>
<ul><li> <ul><li>
<div style="MARGIN-LEFT: 0px">для новых сообщений - на вкладке <strong>Подпись для нового</strong>.</div> <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">для сообщений при ответе или пересылке - на вкладке <strong>Подпись при ответе</strong>.</div></li></ul></li></ul><ul><li>
<div style="MARGIN-LEFT: 0px">Установите флажок <b>Включить</b> для нужного вида подписи.</div> <div style="MARGIN-LEFT: 0px">Установите флажок <b>Включить</b> для нужного вида подписи.</div>
</li><li> </li>
<li>
<div style="MARGIN-LEFT: 0px">Выберите из списка формат подписи: </div> <div style="MARGIN-LEFT: 0px">Выберите из списка формат подписи: </div>
<ul><li> <ul><li>
<div style="MARGIN-LEFT: 0px"><strong>Обычный текст</strong>;</div> <div style="MARGIN-LEFT: 0px"><strong>Обычный текст</strong>;</div>
</li><li> </li>
<div style="MARGIN-LEFT: 0px"><strong>HTML</strong> - создание подписи в формате HTML позволит форматировать текст и вставлять в него картинки.</div></li></ul></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> <div style="MARGIN-LEFT: 0px">Для того чтобы размещать подписи, включите флажки <strong>Включать подпись для новых писем</strong> (<strong>Включать подпись при ответе или пересылке</strong>).</div>
</li><li> </li>
<li>
<div style="MARGIN-LEFT: 0px">Напишите подпись в соответствующем поле. При выборе формата HTML можно форматировать текст различными способами, вставлять картинки и гиперссылки. Текст можно форматировать с помощью кнопок панели навигации, а также команд меню <strong>Еще</strong>.</div> <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> <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> <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> <table border="4"><tbody><tr><td>
<p>Важно. Создание подписей в формате HTML доступно, если это предусмотрено настройками программы. Данную настройку можно изменить в разделе <b>Администрирование - Органайзер,</b> включив флажок <b>Исходящие письма в формате HTML</b>.</p></td></tr></tbody></table><h3>См. также:</h3> <p>Важно. Создание подписей в формате HTML доступно, если это предусмотрено настройками программы. Данную настройку можно изменить в разделе <b>Администрирование - Органайзер,</b> включив флажок <b>Исходящие письма в формате HTML</b>.</p></td></tr></tbody></table><h3>См. также:</h3>
@@ -1398,93 +1398,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name> <name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name>
<right> <right>
@@ -2713,6 +2626,93 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>InformationRegister.НеразделенныеПользователи</name> <name>InformationRegister.НеразделенныеПользователи</name>
<right> <right>
@@ -21,6 +21,13 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name> <name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right> <right>
@@ -52,13 +59,6 @@
<value>true</value> <value>true</value>
</right> </right>
</object> </object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object> <object>
<name>Catalog.РассылкиОтчетов</name> <name>Catalog.РассылкиОтчетов</name>
<right> <right>
@@ -2019,45 +2019,6 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name> <name>InformationRegister.НастройкиТранспортаОбменаОбластейДанных</name>
<right> <right>
@@ -3730,6 +3691,45 @@
<value>false</value> <value>false</value>
</right> </right>
</object> </object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object> <object>
<name>Catalog.ЗакладкиВзаимодействий</name> <name>Catalog.ЗакладкиВзаимодействий</name>
<right> <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>CommonPicture.ПереслатьПисьмоКакВложение</content>
<content>CommonModule.ВзаимодействияКлиентСерверСлужебныйПовтИсп</content> <content>CommonModule.ВзаимодействияКлиентСерверСлужебныйПовтИсп</content>
<content>Constant.ЗапретитьОтображениеНебезопасногоСодержимогоВПисьмах</content> <content>Constant.ЗапретитьОтображениеНебезопасногоСодержимогоВПисьмах</content>
<content>StyleItem.ГиперссылкаШрифт</content>
<content>StyleItem.ЗаголовокГруппыШрифт</content>
<content>CommonModule.ВзаимодействияЛокализация</content> <content>CommonModule.ВзаимодействияЛокализация</content>
<parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem> <parentSubsystem>Subsystem.СтандартныеПодсистемы</parentSubsystem>
</mdclass:Subsystem> </mdclass:Subsystem>