3_0_3_109

This commit is contained in:
Компания 1С committed 2019-10-10 00:05:00 +03:00
1 parent b49d73a33e
commit dc6996b903
29 files changed
+903 -424

No files matched your search

@@ -16,7 +16,7 @@
Если ИменаПараметровСеанса = Неопределено
Или ИменаПараметровСеанса.Найти("УстановленныеРасширения") <> Неопределено Тогда
ПараметрыСеанса.УстановленныеРасширения = УстановленныеРасширения();
ПараметрыСеанса.УстановленныеРасширения = УстановленныеРасширения(Истина);
УстановленныеПараметры.Добавить("УстановленныеРасширения");
КонецЕсли;
@@ -24,7 +24,7 @@
Или ИменаПараметровСеанса.Найти("ПодключенныеРасширения") <> Неопределено Тогда
Расширения = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансАктивные);
ПараметрыСеанса.ПодключенныеРасширения = КонтрольныеСуммыРасширений(Расширения);
ПараметрыСеанса.ПодключенныеРасширения = КонтрольныеСуммыРасширений(Расширения, "БезопасныйРежим");
УстановленныеПараметры.Добавить("ПодключенныеРасширения");
КонецЕсли;
@@ -59,7 +59,7 @@
// * Основные - Строка - контрольная сумма всех расширений, кроме исправительных расширений.
// * Исправления - Строка - контрольная сумма всех исправительных расширений.
//
Функция УстановленныеРасширения() Экспорт
Функция УстановленныеРасширения(ПриЗапуске = Ложь) Экспорт
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда
@@ -70,7 +70,35 @@
Неразделенные = Ложь;
КонецЕсли;
Расширения = РасширенияКонфигурации.Получить();
РасширенияБазыДанных = РасширенияКонфигурации.Получить();
Если ПриЗапуске Тогда
РасширенияПриЗапуске = Новый Соответствие;
АктивныеРасширения = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансАктивные);
Для Каждого Расширение Из АктивныеРасширения Цикл
РасширенияПриЗапуске.Вставить(КонтрольнаяСуммаРасширения(Расширение), Расширение);
КонецЦикла;
НеподключенныеРасширения = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансОтключенные);
Для Каждого Расширение Из НеподключенныеРасширения Цикл
РасширенияПриЗапуске.Вставить(КонтрольнаяСуммаРасширения(Расширение), Расширение);
КонецЦикла;
ДобавленныеРасширения = Новый Соответствие;
Расширения = Новый Массив;
Для Каждого Расширение Из РасширенияБазыДанных Цикл
КонтрольнаяСумма = КонтрольнаяСуммаРасширения(Расширение);
РасширениеПриЗапуске = РасширенияПриЗапуске.Получить(КонтрольнаяСумма);
Если РасширениеПриЗапуске <> Неопределено Тогда
ДобавленныеРасширения.Вставить(КонтрольнаяСумма, Истина);
Расширения.Добавить(РасширениеПриЗапуске);
КонецЕсли;
КонецЦикла;
Для Каждого ОписаниеРасширения Из РасширенияПриЗапуске Цикл
Если ДобавленныеРасширения.Получить(ОписаниеРасширения.Ключ) = Неопределено Тогда
Расширения.Добавить(ОписаниеРасширения.Значение);
КонецЕсли;
КонецЦикла;
Иначе
Расширения = РасширенияБазыДанных;
КонецЕсли;
Основные = Новый Массив;
Исправления = Новый Массив;
@@ -94,8 +122,8 @@
УстановленныеРасширения = Новый Структура;
УстановленныеРасширения.Вставить("Основные", КонтрольныеСуммыРасширений(Основные));
УстановленныеРасширения.Вставить("Исправления", КонтрольныеСуммыРасширений(Исправления));
УстановленныеРасширения.Вставить("ОсновныеСостояние", КонтрольныеСуммыРасширений(Основные, Истина));
УстановленныеРасширения.Вставить("ИсправленияСостояние", КонтрольныеСуммыРасширений(Исправления, Истина));
УстановленныеРасширения.Вставить("ОсновныеСостояние", КонтрольныеСуммыРасширений(Основные, "Все"));
УстановленныеРасширения.Вставить("ИсправленияСостояние", КонтрольныеСуммыРасширений(Исправления, "Все"));
Возврат Новый ФиксированнаяСтруктура(УстановленныеРасширения);
@@ -435,19 +463,12 @@
// Возвращаемое значение:
// Строка - строки вида "<Имя расширения> (<Версия расширения>) <Контрольная сумма>".
//
Функция КонтрольныеСуммыРасширений(Расширения, УчитыватьСостояниеРасширений = Ложь)
Функция КонтрольныеСуммыРасширений(Расширения, СвойстваПодключения = "")
Список = Новый СписокЗначений;
Для Каждого Расширение Из Расширения Цикл
КонтрольнаяСумма = Расширение.Имя + " (" + Расширение.Версия + ") " + Base64Строка(Расширение.ХешСумма);
Если УчитыватьСостояниеРасширений Тогда
КонтрольнаяСумма = КонтрольнаяСумма
+ " Активно:" + Расширение.Активно
+ " БезопасныйРежим:" + Расширение.БезопасныйРежим
+ " ПередаватьВПодчиненныеУзлыРИБ:" + Расширение.ИспользуетсяВРаспределеннойИнформационнойБазе;
КонецЕсли;
Список.Добавить(КонтрольнаяСумма);
Список.Добавить(КонтрольнаяСуммаРасширения(Расширение, СвойстваПодключения));
КонецЦикла;
Если Список.Количество() <> 0 Тогда
@@ -464,6 +485,25 @@
КонецФункции
// Для функций КонтрольныеСуммыРасширений и УстановленныеРасширения.
Функция КонтрольнаяСуммаРасширения(Расширение, СвойстваПодключения = "")
КонтрольнаяСумма = Расширение.Имя + " (" + Расширение.Версия + ") " + Base64Строка(Расширение.ХешСумма);
Если ЗначениеЗаполнено(СвойстваПодключения) Тогда
КонтрольнаяСумма = КонтрольнаяСумма + " БезопасныйРежим:" + Расширение.БезопасныйРежим;
КонецЕсли;
Если СвойстваПодключения = "Все" Тогда
КонтрольнаяСумма = КонтрольнаяСумма
+ " ПередаватьВПодчиненныеУзлыРИБ:" + Расширение.ИспользуетсяВРаспределеннойИнформационнойБазе
+ " Активно:" + Расширение.Активно;
КонецЕсли;
Возврат КонтрольнаяСумма;
КонецФункции
// Возвращает текущую версию расширений.
// Для поиска версии используется описание подключенных расширений.
//
@@ -630,7 +670,8 @@
// Для процедуры ЗарегистрироватьИспользованиеВерсииРасширений.
Процедура ОбновитьПоследнююВерсиюРасширений(ВерсияРасширений)
Если КонфигурацияБазыДанныхИзмененаДинамически() Тогда
Если КонфигурацияБазыДанныхИзмененаДинамически()
Или РасширенияИзмененыДинамически() Тогда
Возврат;
КонецЕсли;
@@ -121,7 +121,12 @@
Возврат;
КонецЕсли;
СписокРасширенийБезопасныйРежимФлагПриИзмененииНаСервере(ТекущееРасширение.ПолучитьИдентификатор());
Контекст = Новый Структура;
Контекст.Вставить("ИдентификаторСтроки", ТекущееРасширение.ПолучитьИдентификатор());
ПоказатьДлительнуюОперацию();
ТекущийКонтекст = Контекст;
ПодключитьОбработчикОжидания("СписокРасширенийБезопасныйРежимФлагПриИзмененииЗавершение", 0.1, Истина);
КонецПроцедуры
@@ -133,24 +138,18 @@
Возврат;
КонецЕсли;
ИдентификаторСтроки = ТекущееРасширение.ПолучитьИдентификатор();
Контекст = Новый Структура;
Контекст.Вставить("ИдентификаторСтроки", ТекущееРасширение.ПолучитьИдентификатор());
Если Не ТекущееРасширение.Подключать Тогда
Контекст = Новый Структура;
Контекст.Вставить("ИдентификаторСтроки", ИдентификаторСтроки);
Оповещение = Новый ОписаниеОповещения("ОтключитьРасширениеПослеПодтверждения", ЭтотОбъект, Контекст);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", "ПередОтключениемРасширения");
ОткрытьФорму("ОбщаяФорма.ПредупреждениеБезопасности", ПараметрыФормы,,,,, Оповещение)
Иначе
СписокРасширенийПодключатьПриИзмененииНаСервере(ИдентификаторСтроки);
СписокРасширенийПодключатьПриИзмененииПродолжение(Контекст);
КонецЕсли;
КонецПроцедуры
@@ -551,7 +550,6 @@
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось удалить расширение ""%1"" по причине:
|
|%2'"),
УдаляемоеРасширение,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
@@ -564,7 +562,6 @@
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'После удаления, при подготовке оставшихся расширений к работе, произошла ошибка:
|
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;
КонецЕсли;
@@ -595,12 +592,12 @@
КонецЕсли;
КонецЕсли;
ОбновитьСписок();
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ВызватьИсключение ТекстОшибки;
КонецЕсли;
ОбновитьСписок();
КонецПроцедуры
&НаКлиенте
@@ -609,17 +606,58 @@
Если Результат <> "Продолжить" Тогда
СтрокаСписка = СписокРасширений.НайтиПоИдентификатору(Контекст.ИдентификаторСтроки);
Если СтрокаСписка = Неопределено Тогда
Возврат;
КонецЕсли;
СтрокаСписка.Подключать = Не СтрокаСписка.Подключать;
Возврат;
КонецЕсли;
СписокРасширенийПодключатьПриИзмененииПродолжение(Контекст);
КонецПроцедуры
&НаКлиенте
Процедура СписокРасширенийПодключатьПриИзмененииПродолжение(Контекст)
ПоказатьДлительнуюОперацию();
ТекущийКонтекст = Контекст;
ПодключитьОбработчикОжидания("СписокРасширенийПодключатьПриИзмененииЗавершение", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура СписокРасширенийПодключатьПриИзмененииЗавершение()
Контекст = ТекущийКонтекст;
Попытка
СписокРасширенийПодключатьПриИзмененииНаСервере(Контекст.ИдентификаторСтроки);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПодключитьОбработчикОжидания("СкрытьДлительнуюОперацию", 0.1, Истина);
ПоказатьПредупреждение(, КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
Возврат;
КонецПопытки;
ПодключитьОбработчикОжидания("СкрытьДлительнуюОперацию", 0.1, Истина);
КонецПроцедуры
&НаКлиенте
Процедура СписокРасширенийБезопасныйРежимФлагПриИзмененииЗавершение()
Контекст = ТекущийКонтекст;
Попытка
СписокРасширенийБезопасныйРежимФлагПриИзмененииНаСервере(Контекст.ИдентификаторСтроки);
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
ПодключитьОбработчикОжидания("СкрытьДлительнуюОперацию", 0.1, Истина);
ПоказатьПредупреждение(, КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
Возврат;
КонецПопытки;
ПодключитьОбработчикОжидания("СкрытьДлительнуюОперацию", 0.1, Истина);
КонецПроцедуры
@@ -920,7 +958,6 @@
Если ИдентификаторРасширения <> Неопределено Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось обновить расширение по причине:
|
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
ИначеЕсли ЗначениеЗаполнено(ИмяФайлаДобавляемогоРасширения) Тогда
@@ -928,14 +965,12 @@
НСтр("ru = 'Не удалось добавить расширение из файла
|""%1""
|по причине:
|
|%2'"),
ИмяФайлаДобавляемогоРасширения,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось добавить по причине:
|
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
КонецЕсли;
КонецПопытки;
@@ -948,7 +983,6 @@
ИнформацияОбОшибке = ИнформацияОбОшибке();
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'После добавления, при подготовке расширений к работе, произошла ошибка:
|
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;
КонецЕсли;
@@ -1022,18 +1056,20 @@
Процедура СписокРасширенийБезопасныйРежимФлагПриИзмененииНаСервере(ИдентификаторСтроки)
СтрокаСписка = СписокРасширений.НайтиПоИдентификатору(ИдентификаторСтроки);
Если СтрокаСписка = Неопределено Тогда
Возврат;
КонецЕсли;
Расширение = НайтиРасширение(СтрокаСписка.ИдентификаторРасширения);
Если Расширение <> Неопределено Тогда
Если Расширение = Неопределено
Или Расширение.БезопасныйРежим = СтрокаСписка.БезопасныйРежимФлаг Тогда
ОбновитьСписок();
Возврат;
КонецЕсли;
Если Расширение.БезопасныйРежим <> СтрокаСписка.БезопасныйРежимФлаг Тогда
Расширение.БезопасныйРежим = СтрокаСписка.БезопасныйРежимФлаг;
ОтключитьПредупрежденияБезопасности(Расширение);
Попытка
Расширение.Записать();
@@ -1042,31 +1078,66 @@
ВызватьИсключение;
КонецПопытки;
СтрокаСписка.БезопасныйРежим = СтрокаСписка.БезопасныйРежимФлаг;
Попытка
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ОбновитьПараметрыРаботыРасширений();
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
Если Расширение.БезопасныйРежим Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'После включения безопасного режима, при подготовке расширений к работе, произошла ошибка:
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'После отключения безопасного режима, при подготовке расширений к работе, произошла ошибка:
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
КонецЕсли;
КонецПопытки;
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ИнформацияОбОшибкеВосстановления = Неопределено;
Попытка
Расширение.БезопасныйРежим = Не Расширение.БезопасныйРежим;
Расширение.Записать();
Исключение
ИнформацияОбОшибкеВосстановления = ИнформацияОбОшибке();
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'При попытке отменить изменение флажка безопасного режима расширения произошла еще одна ошибка:
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибкеВосстановления));
КонецПопытки;
Если ИнформацияОбОшибкеВосстановления = Неопределено Тогда
СтрокаСписка.БезопасныйРежимФлаг = Расширение.БезопасныйРежим;
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
+ НСтр("ru = 'Отменено изменение флажка безопасного режима расширения.'");
КонецЕсли;
КонецЕсли;
ОбновитьСписок();
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СписокРасширенийПодключатьПриИзмененииНаСервере(ИдентификаторСтроки)
СтрокаСписка = СписокРасширений.НайтиПоИдентификатору(ИдентификаторСтроки);
Если СтрокаСписка = Неопределено Тогда
Возврат;
КонецЕсли;
Расширение = НайтиРасширение(СтрокаСписка.ИдентификаторРасширения);
Если Расширение <> Неопределено Тогда
Если Расширение = Неопределено
Или Расширение.Активно = СтрокаСписка.Подключать Тогда
ОбновитьСписок();
Возврат;
КонецЕсли;
Если Расширение.Активно <> СтрокаСписка.Подключать Тогда
Расширение.Активно = СтрокаСписка.Подключать;
ОтключитьПредупрежденияБезопасности(Расширение);
Попытка
Расширение.Записать();
@@ -1074,12 +1145,47 @@
СтрокаСписка.Подключать = Не СтрокаСписка.Подключать;
ВызватьИсключение;
КонецПопытки;
КонецЕсли;
Попытка
РегистрыСведений.ПараметрыРаботыВерсийРасширений.ОбновитьПараметрыРаботыРасширений();
Исключение
ИнформацияОбОшибке = ИнформацияОбОшибке();
Если Расширение.Активно Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'После включения расширения, при подготовке расширений к работе, произошла ошибка:
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
Иначе
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'После отключения расширения, при подготовке расширений к работе, произошла ошибка:
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
КонецЕсли;
КонецПопытки;
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ИнформацияОбОшибкеВосстановления = Неопределено;
Попытка
Расширение.Активно = Не Расширение.Активно;
Расширение.Записать();
Исключение
ИнформацияОбОшибкеВосстановления = ИнформацияОбОшибке();
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'При попытке отменить изменение флажка подключения расширения произошла еще одна ошибка:
|%1'"), КраткоеПредставлениеОшибки(ИнформацияОбОшибкеВосстановления));
КонецПопытки;
Если ИнформацияОбОшибкеВосстановления = Неопределено Тогда
СтрокаСписка.Подключать = Расширение.Активно;
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
+ НСтр("ru = 'Отменено изменение флажка подключения расширения.'");
КонецЕсли;
КонецЕсли;
ОбновитьСписок();
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
ВызватьИсключение ТекстОшибки;
КонецЕсли;
КонецПроцедуры
&НаСервере
@@ -60,9 +60,12 @@
&НаКлиенте
Процедура СписокПриложенийВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
СтандартнаяОбработка = Ложь;
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
@@ -79,8 +82,11 @@
Возврат;
КонецЕсли;
Элементы.СписокПриложенийНачальнаяВыгрузкаДанных.Доступность =
ТекущиеДанные.ДоступнаИнтерактивнаяОтправка И Не ТекущиеДанные.ЗапускОбменаИзКорреспондента;
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
Элементы.СписокПриложенийВыполнитьСинхронизациюСДополнительнымиОтборами.Доступность =
ТекущиеДанные.ДоступнаИнтерактивнаяОтправка И Не ТекущиеДанные.ЗапускОбменаИзКорреспондента;
@@ -108,9 +114,10 @@
&НаКлиенте
Процедура НастроитьСценарииОбменаДанными(Команда)
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
@@ -128,9 +135,10 @@
&НаКлиенте
Процедура ИзменитьУзелИнформационнойБазы(Команда)
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
@@ -162,9 +170,10 @@
&НаКлиенте
Процедура ИнформацияПоОбмену(Команда)
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
@@ -184,9 +193,10 @@
&НаКлиенте
Процедура СоставОтправляемыхДанных(Команда)
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
@@ -205,9 +215,10 @@
&НаКлиенте
Процедура УдалитьНастройкуСинхронизации(Команда)
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
@@ -236,9 +247,10 @@
&НаКлиенте
Процедура ЗагрузитьПравилаСинхронизацииДанных(Команда)
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
@@ -261,9 +273,10 @@
&НаКлиенте
Процедура НачальнаяВыгрузкаДанных(Команда)
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
@@ -286,6 +299,9 @@
ПараметрыПомощника.Вставить("УзелОбмена", ТекущиеДанные.УзелИнформационнойБазы);
ПараметрыПомощника.Вставить("ЭтоОбменСПриложениемВСервисе", ТекущиеДанные.ЭтоОбменСПриложениемВСервисе);
ПараметрыПомощника.Вставить("ОбластьДанныхКорреспондента", ТекущиеДанные.ОбластьДанных);
Если ДанныеДляЗавершенияНастройки.ПассивноеПодключение Тогда
ПараметрыПомощника.Вставить("НачальнаяВыгрузка", Истина);
КонецЕсли;
ОповещениеОЗакрытии = Новый ОписаниеОповещения("НачальнаяВыгрузкаДанныхЗавершение", ЭтотОбъект);
ОткрытьФорму("Обработка.ПомощникИнтерактивногоОбменаДанными.Форма.ВыгрузкаДанныхДляСопоставления",
@@ -522,9 +538,10 @@
&НаКлиенте
Процедура ОбработкаКомандыВыполненияСинхронизации(ИспользоватьДопОтборы = Ложь)
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
@@ -678,11 +695,22 @@
ОписаниеВариантаНастройки.НаименованиеКорреспондента = ЗначенияНастроекДляВарианта.НаименованиеКонфигурацииКорреспондента;
КонецЕсли;
НомераСообщений = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СтрокаПриложение.УзелИнформационнойБазы, "НомерПринятого, НомерОтправленного");
ВидТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.ВидТранспортаСообщенийОбменаПоУмолчанию(СтрокаПриложение.УзелИнформационнойБазы);
Если Не ЗначениеЗаполнено(ВидТранспорта) Тогда
ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим;
КонецЕсли;
ДанныеДляЗавершенияНастройки = Новый Структура;
ДанныеДляЗавершенияНастройки.Вставить("ИдентификаторНастройки", ИдентификаторНастройки);
ДанныеДляЗавершенияНастройки.Вставить("ОписаниеВариантаНастройки", ОписаниеВариантаНастройки);
ДанныеДляЗавершенияНастройки.Вставить("ПассивноеПодключение", ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим);
Возврат ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(СтрокаПриложение.УзелИнформационнойБазы);
Возврат ОбменДаннымиСервер.НастройкаСинхронизацииЗавершена(СтрокаПриложение.УзелИнформационнойБазы)
И Не (НомераСообщений.НомерПринятого = 0
И НомераСообщений.НомерОтправленного = 0
И ОбменДаннымиСервер.ПолученоСообщениеСДаннымиДляСопоставления(СтрокаПриложение.УзелИнформационнойБазы));
КонецФункции
@@ -698,12 +726,35 @@
КонецФункции
&НаСервереБезКонтекста
Функция УзелОбменаСуществует(УзелОбмена)
Возврат ОбщегоНазначения.СсылкаСуществует(УзелОбмена);
КонецФункции
&НаКлиенте
Процедура ПерейтиВЖурналРегистрацииСобытий(ДействиеПриОбмене)
Функция ТекущиеДанныеСпискаПриложений()
ТекущиеДанные = Элементы.СписокПриложений.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Если Не УзелОбменаСуществует(ТекущиеДанные.УзелИнформационнойБазы) Тогда
ТекущиеДанные = Неопределено;
КонецЕсли;
КонецЕсли;
Возврат ТекущиеДанные;
КонецФункции
&НаКлиенте
Процедура ПерейтиВЖурналРегистрацииСобытий(ДействиеПриОбмене)
ТекущиеДанные = ТекущиеДанныеСпискаПриложений();
Если ТекущиеДанные = Неопределено Тогда
ОбновитьДанныеМонитораИнтерактивно();
Возврат;
КонецЕсли;
@@ -3867,7 +3867,8 @@
ПредставлениеПолей = Новый Массив;
Для Каждого Элемент Из Поля.Элементы Цикл
Если ТипЗнч(Элемент) = Тип("АвтоПолеГруппировкиКомпоновкиДанных") Тогда
Если Не Элемент.Использование
Или ТипЗнч(Элемент) = Тип("АвтоПолеГруппировкиКомпоновкиДанных") Тогда
Продолжить;
КонецЕсли;
@@ -203,8 +203,27 @@
ПараметрыПодключения = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(
УзелИнформационнойБазы, ПараметрыАутентификации);
ВерсииИнтерфейса = ОбменДаннымиПовтИсп.ВерсииКорреспондента(ПараметрыПодключения);
WSПрокси = Неопределено;
Если ВерсииИнтерфейса.Найти("3.0.1.1") <> Неопределено Тогда
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_3_0_1_1(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
ИначеЕсли ВерсииИнтерфейса.Найти("2.1.1.7") <> Неопределено Тогда
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_2_1_1_7(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
ИначеЕсли ВерсииИнтерфейса.Найти("2.0.1.6") <> Неопределено Тогда
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_2_0_1_6(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
Иначе
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
КонецЕсли;
Если WSПрокси = Неопределено Тогда
ВызватьИсключение СтрокаСообщенияОбОшибке;
КонецЕсли;
@@ -11743,7 +11743,7 @@
Процедура ЗаполнитьИдентификаторыСсылокВДереве(СтрокиДерева)
Для Каждого Строка Из СтрокиДерева Цикл
Строка.Идентификатор = XMLСтрока(Строка.Ссылка);
Строка.Идентификатор = ЗначениеВСтрокуВнутр(Строка.Ссылка);
ЗаполнитьИдентификаторыСсылокВДереве(Строка.Строки);
КонецЦикла;
@@ -11824,7 +11824,14 @@
Результат.ПрефиксИнформационнойБазы = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");
Результат.ПрефиксИнформационнойБазыПоУмолчанию = ПрефиксИнформационнойБазы;
Если ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
Результат.НаименованиеИнформационнойБазы = Константы.ЗаголовокСистемы.Получить();
КонецЕсли;
Если ПустаяСтрока(Результат.НаименованиеИнформационнойБазы) Тогда
Результат.НаименованиеИнформационнойБазы = СвойстваЭтогоУзла.Наименование;
КонецЕсли;
Результат.УзелСуществует = ЗначениеЗаполнено(УзелКорреспондента);
Результат.НастройкиПараметровУчетаЗаданы = Результат.УзелСуществует
И НастройкиПараметровУчетаВСистемеУстановлены(Результат.ИмяПланаОбмена, КодУзла, СообщениеОбОшибке);
@@ -3490,6 +3490,7 @@
СсылкаНаОбъект = ЭлементДанных.Ссылка;
СсылкаСуществует = ОбщегоНазначения.СсылкаСуществует(СсылкаНаОбъект);
ТипВерсииОбъекта = "";
Если СсылкаСуществует Тогда
ОбъектВБазе = СсылкаНаОбъект.ПолучитьОбъект();
@@ -3523,6 +3524,12 @@
СведенияОВерсииОбъекта.Вставить("ТипВерсииОбъекта", ТипВерсииОбъекта);
СведенияОВерсииОбъекта.Вставить("Комментарий", СтрокаСообщенияОбОшибке);
Если ОбщегоНазначения.ЭтоДокумент(ЭлементДанных.Метаданные())
И ТипВерсииОбъекта = "НепринятыйПоДатеЗапретаОбъектНеСуществуетВБазе" Тогда
СвойствоПроведен = Новый Структура("Проведен", Ложь);
ЗаполнитьЗначенияСвойств(ЭлементДанных, СвойствоПроведен);
КонецЕсли;
ПриСозданииВерсииОбъекта(ЭлементДанных, СведенияОВерсииОбъекта, СсылкаСуществует, Отправитель);
КонецЕсли;
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.3.104";
Описание.Версия = "3.0.3.109";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -465,15 +465,20 @@
И СтатусОбновления.Свойство("КаталогСкрипта") Тогда
КаталогСкрипта = СтатусОбновления.КаталогСкрипта;
СтатусОбновления.КаталогСкрипта = "";
Константы.СтатусОбновленияКонфигурации.Установить(Новый ХранилищеЗначения(СтатусОбновления));
КонецЕсли;
КонецЕсли;
// Если каталог уже удален - то считаем, что поведение как при обычном обновлении из конфигуратора.
Если Не ПустаяСтрока(КаталогСкрипта) Тогда
// Если каталог уже удален, то поведение, как при обычном обновлении из конфигуратора.
ФайлИнфо = Новый Файл(КаталогСкрипта);
Если Не ФайлИнфо.Существует() Тогда
КаталогСкрипта = "";
КонецЕсли;
КонецЕсли;
Возврат КаталогСкрипта;
@@ -61,18 +61,15 @@
| УчетныеЗаписиЭлектроннойПочты.ПортСервераВходящейПочты КАК ПортIMAP,
| УчетныеЗаписиЭлектроннойПочты.ИспользоватьЗащищенноеСоединениеДляВходящейПочты КАК ИспользоватьSSLIMAP,
| УчетныеЗаписиЭлектроннойПочты.Пользователь КАК ПользовательIMAP,
| УчетныеЗаписиЭлектроннойПочты.ИспользоватьБезопасныйВходНаСерверВходящейПочты КАК ТолькоЗащищеннаяАутентификацияIMAP,
| УчетныеЗаписиЭлектроннойПочты.СерверВходящейПочты КАК АдресСервераPOP3,
| УчетныеЗаписиЭлектроннойПочты.ПортСервераВходящейПочты КАК ПортPOP3,
| УчетныеЗаписиЭлектроннойПочты.ИспользоватьЗащищенноеСоединениеДляВходящейПочты КАК ИспользоватьSSLPOP3,
| УчетныеЗаписиЭлектроннойПочты.Пользователь КАК Пользователь,
| УчетныеЗаписиЭлектроннойПочты.ИспользоватьБезопасныйВходНаСерверВходящейПочты КАК ТолькоЗащищеннаяАутентификацияPOP3,
| УчетныеЗаписиЭлектроннойПочты.СерверИсходящейПочты КАК АдресСервераSMTP,
| УчетныеЗаписиЭлектроннойПочты.ПортСервераИсходящейПочты КАК ПортSMTP,
| УчетныеЗаписиЭлектроннойПочты.ИспользоватьЗащищенноеСоединениеДляИсходящейПочты КАК ИспользоватьSSLSMTP,
| УчетныеЗаписиЭлектроннойПочты.ТребуетсяВходНаСерверПередОтправкой КАК POP3ПередSMTP,
| УчетныеЗаписиЭлектроннойПочты.ПользовательSMTP КАК ПользовательSMTP,
| УчетныеЗаписиЭлектроннойПочты.ИспользоватьБезопасныйВходНаСерверИсходящейПочты КАК ТолькоЗащищеннаяАутентификацияSMTP,
| УчетныеЗаписиЭлектроннойПочты.ВремяОжидания КАК Таймаут,
| УчетныеЗаписиЭлектроннойПочты.ПротоколВходящейПочты КАК Протокол
|ИЗ
@@ -86,9 +83,9 @@
Результат = Неопределено;
Если Выборка.Следующий() Тогда
СписокСвойствIMAP = "АдресСервераIMAP,ПортIMAP,ИспользоватьSSLIMAP,ПользовательIMAP,ТолькоЗащищеннаяАутентификацияIMAP";
СписокСвойствPOP3 = "АдресСервераPOP3,ПортPOP3,ИспользоватьSSLPOP3,Пользователь,ТолькоЗащищеннаяАутентификацияPOP3";
СписокСвойствSMTP = "АдресСервераSMTP,ПортSMTP,ИспользоватьSSLSMTP,ПользовательSMTP,ТолькоЗащищеннаяАутентификацияSMTP";
СписокСвойствIMAP = "АдресСервераIMAP,ПортIMAP,ИспользоватьSSLIMAP,ПользовательIMAP";
СписокСвойствPOP3 = "АдресСервераPOP3,ПортPOP3,ИспользоватьSSLPOP3,Пользователь";
СписокСвойствSMTP = "АдресСервераSMTP,ПортSMTP,ИспользоватьSSLSMTP,ПользовательSMTP";
УстановитьПривилегированныйРежим(Истина);
Пароли = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(УчетнаяЗапись, "Пароль,ПарольSMTP");
@@ -4953,12 +4953,16 @@
ТекстЗапросов = "";
Для каждого КлючИЗначение Из ИменаСправочников Цикл
Если ЗначениеЗаполнено(ТекстЗапросов) Тогда
ТекстЗапросов = ТекстЗапросов + "
|ОБЪЕДИНИТЬ ВСЕ
|
|";
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ПрисоединенныеФайлы.Ссылка
@@ -4966,8 +4970,15 @@
| &ИмяСправочника КАК ПрисоединенныеФайлы
|ГДЕ
| ПрисоединенныеФайлы.ВладелецФайла = &ВладелецФайлов";
Если Метаданные.Справочники[КлючИЗначение.Ключ].Иерархический = Истина Тогда
ТекстЗапроса = ТекстЗапроса + "
| И Не ПрисоединенныеФайлы.ЭтоГруппа";
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяСправочника", "Справочник." + КлючИЗначение.Ключ);
ТекстЗапросов = ТекстЗапросов + ТекстЗапроса;
КонецЦикла;
Запрос = Новый Запрос(ТекстЗапросов);
@@ -224,7 +224,7 @@
ЖирныйШрифт = Новый Шрифт(,, Истина);
Если НЕ ЗначениеЗаполнено(ИменаГрупп) Тогда
Для Каждого Элемент Из Форма.Элементы Цикл
Если Тип(Элемент) = Тип("ГруппаФормы")
Если ТипЗнч(Элемент) = Тип("ГруппаФормы")
И Элемент.Вид = ВидГруппыФормы.ОбычнаяГруппа
И Элемент.ОтображатьЗаголовок = Истина
И (Элемент.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение
@@ -17316,18 +17316,6 @@
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗначенияГруппДоступа.ЗначениеДоступа
| ИЗ
| РегистрСведений.ЗначенияГруппДоступа КАК ЗначенияГруппДоступа
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ГруппыДоступа КАК ГруппыДоступа
| ПО (ГруппыДоступа.Ссылка = ЗначенияГруппДоступа.ГруппаДоступа)
| И (ТИПЗНАЧЕНИЯ(ЗначенияГруппДоступа.ЗначениеДоступа) = ТИП(Справочник.ГруппыПользователей))
| ГДЕ
| &УточнениеПланаЗапроса
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ГруппыПользователей.Ссылка
| ИЗ
@@ -17355,6 +17343,32 @@
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ЗначенияГруппДоступа.ЗначениеДоступа КАК Ссылка
|ПОМЕСТИТЬ ГруппыПользователейКакЗначенияДоступа
|ИЗ
| РегистрСведений.ЗначенияГруппДоступа КАК ЗначенияГруппДоступа
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ГруппыДоступа КАК ГруппыДоступа
| ПО (ГруппыДоступа.Ссылка = ЗначенияГруппДоступа.ГруппаДоступа)
| И (ТИПЗНАЧЕНИЯ(ЗначенияГруппДоступа.ЗначениеДоступа) = ТИП(Справочник.ГруппыПользователей))
|ГДЕ
| &УточнениеПланаЗапроса
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| СоставыГруппПользователей.ГруппаПользователей КАК ГруппаПользователей,
| СоставыГруппПользователей.Пользователь КАК Пользователь
|ИЗ
| РегистрСведений.СоставыГруппПользователей КАК СоставыГруппПользователей
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ГруппыПользователейКакЗначенияДоступа КАК ГруппыПользователейКакЗначенияДоступа
| ПО (ГруппыПользователейКакЗначенияДоступа.Ссылка = СоставыГруппПользователей.ГруппаПользователей)
| И (&УточнениеПланаЗапроса)
|ИТОГИ ПО
| ГруппаПользователей
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ПользователиГруппыДоступа.Ссылка КАК ГруппаДоступа,
| ПользователиГруппыДоступа.Пользователь КАК Участник
|ИЗ
@@ -17447,26 +17461,25 @@
КонецЦикла;
ПараметрыОбновления.Вставить("ПраваГруппДоступаСписка", ПраваГруппДоступаСписка);
ПользователиГруппПользователей = Новый Соответствие;
ПараметрыОбновления.Вставить("ПользователиГруппПользователей", Новый Соответствие);
Если ПараметрыОбновления.РассчитыватьПраваПользователей Тогда
Дерево = РезультатыЗапроса[4].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
Для Каждого Строка Из Дерево.Строки Цикл
ПользователиГруппыПользователей = Новый Соответствие;
Для Каждого Подстрока Из Строка.Строки Цикл
ПользователиГруппыПользователей.Вставить(Подстрока.Пользователь, Истина);
КонецЦикла;
ПользователиГруппПользователей.Вставить(Строка.ГруппаПользователей, ПользователиГруппыПользователей);
КонецЦикла;
ЗаполнитьПользователейГруппПользователей(ПараметрыОбновления.ПользователиГруппПользователей,
РезультатыЗапроса[4]);
КонецЕсли;
ПараметрыОбновления.Вставить("ГруппыПользователейКакЗначенияДоступа", Новый Соответствие);
Если ПараметрыОбновления.РассчитыватьПраваПользователей Тогда
ЗаполнитьПользователейГруппПользователей(ПараметрыОбновления.ГруппыПользователейКакЗначенияДоступа,
РезультатыЗапроса[6]);
КонецЕсли;
ПараметрыОбновления.Вставить("ПользователиГруппПользователей", ПользователиГруппПользователей);
УчастникиГруппДоступа = Новый Соответствие;
ГруппыПользователейГруппДоступа = Новый Соответствие;
ТипГруппыПользователей = ПараметрыОбновления.ТипГруппыПользователей;
ПользователиГруппПользователей = ПараметрыОбновления.ПользователиГруппПользователей;
Если ПараметрыОбновления.РассчитыватьПраваПользователей Тогда
Дерево = РезультатыЗапроса[5].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
Дерево = РезультатыЗапроса[7].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
Для Каждого Строка Из Дерево.Строки Цикл
УчастникиГруппыДоступа = Новый Соответствие;
ГруппыПользователейГруппыДоступа = Новый Соответствие;
@@ -17492,6 +17505,20 @@
КонецПроцедуры
// Для процедуры ЗаполнитьПраваИУчастниковГруппДоступаСписка.
Процедура ЗаполнитьПользователейГруппПользователей(ПользователиГруппПользователей, РезультатЗапроса)
Дерево = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
Для Каждого Строка Из Дерево.Строки Цикл
ПользователиГруппыПользователей = Новый Соответствие;
Для Каждого Подстрока Из Строка.Строки Цикл
ПользователиГруппыПользователей.Вставить(Подстрока.Пользователь, Истина);
КонецЦикла;
ПользователиГруппПользователей.Вставить(Строка.ГруппаПользователей, ПользователиГруппыПользователей);
КонецЦикла;
КонецПроцедуры
// Для процедуры ОбновитьПраваПорцииКлючейДоступаСписка.
Процедура ЗаполнитьЗначенияГруппДоступаДляРасчетаПрав(ПараметрыОбновления)
@@ -17696,7 +17723,7 @@
ПраваПоВладельцамНастроекПрав = Новый Соответствие;
Если ПараметрыОбновления.ЕстьВладельцыНастроекПрав Тогда
НомерТаблицы = НомерТаблицы + 3;
НомерТаблицы = НомерТаблицы + 5;
Дерево = РезультатыЗапроса[НомерТаблицы].Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
Для Каждого Строка Из Дерево.Строки Цикл
ПраваПоВладельцуНастроекПрав = Новый Соответствие;
@@ -17736,6 +17763,7 @@
Контекст.Вставить("РеквизитыТаблицКлюча", ПараметрыОбновления.РеквизитыТаблицКлюча);
Контекст.Вставить("УчастникиГруппДоступа", ПараметрыОбновления.УчастникиГруппДоступа);
Контекст.Вставить("ГруппыПользователейГруппДоступа", ПараметрыОбновления.ГруппыПользователейГруппДоступа);
Контекст.Вставить("ГруппыПользователейКакЗначенияДоступа", ПараметрыОбновления.ГруппыПользователейКакЗначенияДоступа);
Контекст.Вставить("ПользователиГруппПользователей", ПараметрыОбновления.ПользователиГруппПользователей);
Контекст.Вставить("ПраваНаСпискиВедущихКлючейДоступа", ПараметрыОбновления.ПраваНаСпискиВедущихКлючейДоступа);
Контекст.Вставить("ПраваНаВедущиеКлючиДоступа", ПараметрыОбновления.ПраваНаВедущиеКлючиДоступа);
@@ -18532,7 +18560,7 @@
КонецЕсли;
Для Каждого УказаннаяГруппаПользователей Из УказанныеГруппыПользователей.Значения Цикл
ПользователиГруппы = Контекст.ПользователиГруппПользователей.Получить(УказаннаяГруппаПользователей.Ключ);
ПользователиГруппы = Контекст.ГруппыПользователейКакЗначенияДоступа.Получить(УказаннаяГруппаПользователей.Ключ);
Если ПользователиГруппы = Неопределено Тогда
Продолжить;
КонецЕсли;
@@ -21053,13 +21081,15 @@
Если Строка.ВидИзменения = 0 Тогда
Продолжить;
КонецЕсли;
Если Списки.Найти(Строка.Список) <> Неопределено Тогда
ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(Строка.Список);
Если ОбъектМетаданных = Неопределено Тогда
Продолжить;
КонецЕсли;
Если Метаданные.НайтиПоПолномуИмени(Строка.Список) = Неопределено Тогда
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
Если Списки.Найти(ПолноеИмя) <> Неопределено Тогда
Продолжить;
КонецЕсли;
Списки.Добавить(Строка.Список);
Списки.Добавить(ПолноеИмя);
КонецЦикла;
Возврат Списки;
@@ -26718,12 +26748,11 @@
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НастройкиПрав.Объект КАК ВладелецНастроекПрав,
| НастройкиПрав.Пользователь КАК ВладелецПрав,
| МАКСИМУМ(НастройкиПрав.ИзменениеРазрешено) = ИСТИНА
| И МАКСИМУМ(НастройкиПрав.ИзменениеЗапрещено) = ЛОЖЬ КАК Изменение
| НастройкиПравЧтения.Объект КАК Объект,
| НастройкиПравЧтения.Пользователь КАК Пользователь
|ПОМЕСТИТЬ НастройкиПравЧтения
|ИЗ
| (ВЫБРАТЬ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| НаследованиеНастроек.Объект КАК Объект,
| ВЫБОР
| КОГДА НаследованиеНастроек.Объект В
@@ -26735,9 +26764,7 @@
| ИНАЧЕ СоставыГруппПользователей.ГруппаПользователей
| КОНЕЦ КАК Пользователь,
| ИСТИНА КАК ЧтениеРазрешено,
| ЛОЖЬ КАК ЧтениеЗапрещено,
| ЛОЖЬ КАК ИзменениеРазрешено,
| ЛОЖЬ КАК ИзменениеЗапрещено
| ЛОЖЬ КАК ЧтениеЗапрещено
| ИЗ
| РегистрСведений.НастройкиПравОбъектов КАК НастройкиПрав
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаследованиеНастроекПравОбъектов КАК НаследованиеНастроек
@@ -26753,13 +26780,11 @@
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| НаследованиеНастроек.Объект,
| СоставыГруппПользователей.Пользователь,
| ЛОЖЬ,
| ИСТИНА,
| ЛОЖЬ,
| ЛОЖЬ
| ИСТИНА
| ИЗ
| РегистрСведений.НастройкиПравОбъектов КАК НастройкиПрав
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаследованиеНастроекПравОбъектов КАК НаследованиеНастроек
@@ -26775,12 +26800,25 @@
| ПО (СоставыГруппПользователей.ГруппаПользователей = НастройкиПрав.Пользователь)
| И (ТИПЗНАЧЕНИЯ(СоставыГруппПользователей.Пользователь) = ТИП(Справочник.Пользователи))
| И (СоставыГруппПользователей.Используется)
| И (СоставыГруппПользователей.Пользователь.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)
| И (СоставыГруппПользователей.Пользователь.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)) КАК НастройкиПравЧтения
|
| ОБЪЕДИНИТЬ ВСЕ
|СГРУППИРОВАТЬ ПО
| НастройкиПравЧтения.Объект,
| НастройкиПравЧтения.Пользователь
|
| ВЫБРАТЬ
| НаследованиеНастроек.Объект,
|ИМЕЮЩИЕ
| МАКСИМУМ(НастройкиПравЧтения.ЧтениеРазрешено) = ИСТИНА И
| МАКСИМУМ(НастройкиПравЧтения.ЧтениеЗапрещено) = ЛОЖЬ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НастройкиПравИзменения.Объект КАК Объект,
| НастройкиПравИзменения.Пользователь КАК Пользователь
|ПОМЕСТИТЬ НастройкиПравИзменения
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| НаследованиеНастроек.Объект КАК Объект,
| ВЫБОР
| КОГДА НаследованиеНастроек.Объект В
| (ВЫБРАТЬ
@@ -26789,11 +26827,9 @@
| ОбъектыСЗапрещениемИзменения)
| ТОГДА СоставыГруппПользователей.Пользователь
| ИНАЧЕ СоставыГруппПользователей.ГруппаПользователей
| КОНЕЦ,
| ЛОЖЬ,
| ЛОЖЬ,
| ИСТИНА,
| ЛОЖЬ
| КОНЕЦ КАК Пользователь,
| ИСТИНА КАК ИзменениеРазрешено,
| ЛОЖЬ КАК ИзменениеЗапрещено
| ИЗ
| РегистрСведений.НастройкиПравОбъектов КАК НастройкиПрав
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НаследованиеНастроекПравОбъектов КАК НаследованиеНастроек
@@ -26806,15 +26842,17 @@
| И (ТИПЗНАЧЕНИЯ(СоставыГруппПользователей.Пользователь) = ТИП(Справочник.Пользователи))
| И (СоставыГруппПользователей.Используется)
| И (СоставыГруппПользователей.Пользователь.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НастройкиПравЧтения КАК НастройкиПравЧтения
| ПО (НастройкиПравЧтения.Объект = НаследованиеНастроек.Объект)
| И (НастройкиПравЧтения.Пользователь = СоставыГруппПользователей.ГруппаПользователей
| ИЛИ НастройкиПравЧтения.Пользователь = СоставыГруппПользователей.Пользователь)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ВЫБРАТЬ РАЗЛИЧНЫЕ
| НаследованиеНастроек.Объект,
| СоставыГруппПользователей.Пользователь,
| ЛОЖЬ,
| ЛОЖЬ,
| ЛОЖЬ,
| ИСТИНА
| ИЗ
| РегистрСведений.НастройкиПравОбъектов КАК НастройкиПрав
@@ -26832,15 +26870,46 @@
| ПО (СоставыГруппПользователей.ГруппаПользователей = НастройкиПрав.Пользователь)
| И (ТИПЗНАЧЕНИЯ(СоставыГруппПользователей.Пользователь) = ТИП(Справочник.Пользователи))
| И (СоставыГруппПользователей.Используется)
| И (СоставыГруппПользователей.Пользователь.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)) КАК НастройкиПрав
| И (СоставыГруппПользователей.Пользователь.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ НастройкиПравЧтения КАК НастройкиПравЧтения
| ПО (НастройкиПравЧтения.Объект = НаследованиеНастроек.Объект)
| И (НастройкиПравЧтения.Пользователь = СоставыГруппПользователей.ГруппаПользователей
| ИЛИ НастройкиПравЧтения.Пользователь = СоставыГруппПользователей.Пользователь)) КАК НастройкиПравИзменения
|
|СГРУППИРОВАТЬ ПО
| НастройкиПравИзменения.Объект,
| НастройкиПравИзменения.Пользователь
|
|ИМЕЮЩИЕ
| МАКСИМУМ(НастройкиПравИзменения.ИзменениеРазрешено) = ИСТИНА И
| МАКСИМУМ(НастройкиПравИзменения.ИзменениеЗапрещено) = ЛОЖЬ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НастройкиПрав.Объект КАК ВладелецНастроекПрав,
| НастройкиПрав.Пользователь КАК ВладелецПрав,
| МАКСИМУМ(НастройкиПрав.Изменение) КАК Изменение
|ИЗ
| (ВЫБРАТЬ
| НастройкиПравЧтения.Объект КАК Объект,
| НастройкиПравЧтения.Пользователь КАК Пользователь,
| ЛОЖЬ КАК Изменение
| ИЗ
| НастройкиПравЧтения КАК НастройкиПравЧтения
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| НастройкиПравИзменения.Объект,
| НастройкиПравИзменения.Пользователь,
| ИСТИНА
| ИЗ
| НастройкиПравИзменения КАК НастройкиПравИзменения) КАК НастройкиПрав
|
|СГРУППИРОВАТЬ ПО
| НастройкиПрав.Объект,
| НастройкиПрав.Пользователь
|
|ИМЕЮЩИЕ
| МАКСИМУМ(НастройкиПрав.ЧтениеРазрешено) = ИСТИНА И
| МАКСИМУМ(НастройкиПрав.ЧтениеЗапрещено) = ЛОЖЬ
|ИТОГИ ПО
| ВладелецНастроекПрав";
@@ -2447,24 +2447,7 @@
Объект.Родитель = Параметры.Группа;
Объект.Используется = Параметры.Используется;
Если ПустаяСтрока(Параметры.Наименование) Тогда
Наименования = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.НаименованияВидовКонтактнойИнформации();
Для каждого Язык Из Метаданные.Языки Цикл
Представление = Наименования[Язык.КодЯзыка][СокрЛП(Объект.ИмяПредопределенногоВида)];
Если ЗначениеЗаполнено(Представление) Тогда
Если Язык = Метаданные.ОсновнойЯзык Тогда
Объект.Наименование = Представление;
Иначе
НоваяСтрока = Объект.Представления.Добавить();
НоваяСтрока.КодЯзыка = Язык.КодЯзыка;
НоваяСтрока.Наименование = Представление;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Иначе
Объект.Наименование = Параметры.Наименование;
КонецЕсли;
УстановитьНаименованиеВидаКонтактнойИнформации(Объект, Параметры.Наименование);
ОбновлениеИнформационнойБазы.ЗаписатьОбъект(Объект);
@@ -2546,24 +2529,7 @@
|РедактированиеТолькоВДиалоге, ОбязательноеЗаполнение, РазрешитьВводНесколькихЗначений,
|ЗапретитьРедактированиеПользователем, Используется, ХранитьИсториюИзменений ,МеждународныйФорматАдреса");
Если ПустаяСтрока(Параметры.Наименование) Тогда
Наименования = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.НаименованияВидовКонтактнойИнформации();
Для каждого Язык Из Метаданные.Языки Цикл
Представление = Наименования[Язык.КодЯзыка][СокрЛП(Объект.ИмяПредопределенногоВида)];
Если ЗначениеЗаполнено(Представление) Тогда
Если Язык = Метаданные.ОсновнойЯзык Тогда
Объект.Наименование = Представление;
Иначе
НоваяСтрока = Объект.Представления.Добавить();
НоваяСтрока.КодЯзыка = Язык.КодЯзыка;
НоваяСтрока.Наименование = Представление;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Иначе
Объект.Наименование = Параметры.Наименование;
КонецЕсли;
УстановитьНаименованиеВидаКонтактнойИнформации(Объект, Параметры.Наименование);
Если ЗначениеЗаполнено(Параметры.Имя) Тогда
Объект.ИмяПредопределенногоВида = Параметры.Имя;
@@ -4684,6 +4650,33 @@
////////////////////////////////////////////////////////////////////////////////
// Заполнение дополнительных реквизитов табличной части "Контактная информация".
Процедура УстановитьНаименованиеВидаКонтактнойИнформации(Знач Объект, Наименование)
НаименованияНаРазныхЯзыках = УправлениеКонтактнойИнформациейСлужебныйПовтИсп.НаименованияВидовКонтактнойИнформации();
Для каждого Язык Из Метаданные.Языки Цикл
Представление = НаименованияНаРазныхЯзыках[Язык.КодЯзыка][СокрЛП(Объект.ИмяПредопределенногоВида)];
Если ЗначениеЗаполнено(Представление) Тогда
Если Язык = Метаданные.ОсновнойЯзык Тогда
Объект.Наименование = Представление;
Иначе
НайденныеСтроки = Объект.Представления.НайтиСтроки(Новый Структура("КодЯзыка", Язык.КодЯзыка));
Если НайденныеСтроки.Количество() = 0 Тогда
НоваяСтрока = Объект.Представления.Добавить();
НоваяСтрока.КодЯзыка = Язык.КодЯзыка;
Иначе
НоваяСтрока = НайденныеСтроки[0];
КонецЕсли;
НоваяСтрока.Наименование = Представление;
КонецЕсли;
ИначеЕсли ЗначениеЗаполнено(Наименование) Тогда
Объект.Наименование = Наименование;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура КонвертацияКонтактнойИнформацииВJSON(КонтактнаяИнформация)
// Конвертация
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c75b6d01-08f7-4eba-a2af-b0e016f54d07">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="86156c28-7a53-4f4a-afc8-ccbe96e0c5a8">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="cad69d00-a338-41db-88ac-ebff76e05d0f"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="ddf3aa8e-b7e9-4bac-878f-6e61b6e438e8"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="48a8b556-ef7e-4ac3-b430-c5df1e0885ad"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="64bf160a-a89c-4508-aa30-e0eb34f3b20f"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="ae64544e-d0c3-4335-9057-595219a06bf6"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="0fe8cf4a-caa7-4bc5-b76d-8690e510b5f7"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="51f814f0-e5b2-49c8-a900-71395fe3f221"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="5f196e3e-b931-4c70-88a0-1020ce2d97e8"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="6eb1061d-bd8c-431c-b596-9abe8eb98244"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="96731689-5bc9-4b46-9921-59abd699fc73"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="f4f8c15b-d8ab-4f75-9665-5cd31fa64b52"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="cf7f803f-335f-487a-96c6-b8c5a5263e0f"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="fbdd2312-c5d7-4756-b6bf-2af42843163a"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="91958e5f-f6b2-42c1-8297-065a8941b705"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.3.104</version>
<version>3.0.3.109</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,9e60bdb3-bea6-44c9-84b5-a3f5e921b409,1,25d81da4-d242-4279-b461-beea3c785a6f,"3.0.3.104","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6041,1,0,c75b6d01-08f7-4eba-a2af-b0e016f54d07,c75b6d01-08f7-4eba-a2af-b0e016f54d07,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,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,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,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,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
{6,1,1,b7806b2f-97c0-468b-aaae-429de34f1709,1,863c3a56-9ab1-4b1e-9dbb-51e721b09085,"3.0.3.109","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6041,1,0,86156c28-7a53-4f4a-afc8-ccbe96e0c5a8,86156c28-7a53-4f4a-afc8-ccbe96e0c5a8,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,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,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,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,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
@@ -3686,6 +3686,75 @@
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>БИПГруппаИнтеграцияСПлатежнымиСистемами</name>
<id>1894</id>
<items xsi:type="form:Button">
<name>БИПНастройкаИнтеграцииСПлатежнымиСистемами</name>
<id>1896</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>БИПНастройкаИнтеграцииСПлатежнымиСистемамиРасширеннаяПодсказка</name>
<id>1897</id>
<title>
<key>ru</key>
<value>Настройка подключения и обмена данными с платежными системами.</value>
</title>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.БИПНастройкаИнтеграцииСПлатежнымиСистемами</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<toolTipRepresentation>ShowBottom</toolTipRepresentation>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Интеграция с платежными системами</value>
</title>
<horizontalStretch>true</horizontalStretch>
<extendedTooltip>
<name>БИПГруппаИнтеграцияСПлатежнымиСистемамиРасширеннаяПодсказка</name>
<id>1895</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Collapsible</behavior>
<collapsed>true</collapsed>
<controlRepresentation>Button</controlRepresentation>
<representation>NormalSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<showTitle>auto</showTitle>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
@@ -4123,6 +4192,24 @@
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<formCommands>
<name>БИПНастройкаИнтеграцииСПлатежнымиСистемами</name>
<title>
<key>ru</key>
<value>Настройка интеграции</value>
</title>
<id>10</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>БИПНастройкаИнтеграцииСПлатежнымиСистемами</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -150,6 +150,18 @@
Если ОбрабатыватьНастройкиБИП Тогда
МодульИнтернетПоддержкаПользователей = ОбщегоНазначения.ОбщийМодуль("ИнтернетПоддержкаПользователей");
МодульИнтернетПоддержкаПользователей.ИнтернетПоддержкаИСервисы_ПриСозданииНаСервере(ЭтотОбъект);
// ИнтеграцияСПлатежнымиСистемами
// Временное решение для выпуска БИП 2.3.5. В новых версиях БИП 2.4.1+, реализация проверки перенесена
// в интеграционные модули.
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ИнтеграцияСПлатежнымиСистемами") Тогда
МодульИнтеграцияСПлатежнымиСистемами = ОбщегоНазначения.ОбщийМодуль("ИнтеграцияСПлатежнымиСистемами");
МодульИнтеграцияСПлатежнымиСистемами.ИнтернетПоддержкаИСервисы_ПриСозданииНаСервере(ЭтотОбъект);
Иначе
Элементы.БИПГруппаИнтеграцияСПлатежнымиСистемами.Видимость = Ложь;
КонецЕсли;
// Конец ИнтеграцияСПлатежнымиСистемами
Иначе
Элементы.БИПГруппаНастройки.Видимость = Ложь;
Элементы.БИПГруппаНовости.Видимость = Ложь;
@@ -504,6 +516,18 @@
КонецПроцедуры
&НаКлиенте
Процедура БИПНастройкаИнтеграцииСПлатежнымиСистемами(Команда)
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ИнтеграцияСПлатежнымиСистемами") Тогда
МодульИнтеграцияСПлатежнымиСистемамиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИнтеграцияСПлатежнымиСистемамиКлиент");
МодульИнтеграцияСПлатежнымиСистемамиКлиент.ИнтернетПоддержкаИСервисы_БИПНастройкаИнтеграцииСПлатежнымиСистемами(
ЭтотОбъект,
Команда);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПодключитьОтключитьОбсуждения(Команда)
@@ -508,17 +508,28 @@
ВидТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.ВидТранспортаСообщенийОбменаПоУмолчанию(УзелОбмена);
Если Не ЗначениеЗаполнено(ВидТранспорта) Тогда
ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим;
КонецЕсли;
ПодключениеЧерезВнешнееСоединение = (ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.COM);
Если ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS Тогда
ИспользоватьПрогресс = Не ЭтоОбменСПриложениемВСервисе
И Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS
И Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим;
ИспользоватьПрогресс = Ложь;
Если ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WS Тогда
НастройкиТранспорта = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(УзелОбмена);
ЗапроситьПароль = Не (НастройкиТранспорта.WSЗапомнитьПароль
Или ОбменДаннымиСервер.ПарольСинхронизацииДанныхЗадан(УзелОбмена));
ИначеЕсли ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим Тогда
ПроверкаПодключенияВыполнена = Истина;
ВыгрузкаДанныхВыполнена = Истина;
КонецЕсли;
ЗаполнитьТаблицуПереходов();
@@ -574,15 +585,18 @@
НовыйПереход.ИмяОбработчикаПриПереходеДалее = "СтраницаЗапросПароля_ПриПереходеДалее";
КонецЕсли;
Если Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим Тогда
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаПроверкаПодключения", "СтраницаНавигацияОжидание");
НовыйПереход.ДлительнаяОперация = Истина;
НовыйПереход.ИмяОбработчикаДлительнойОперации = "СтраницаПроверкаПодключения_ДлительнаяОперация";
КонецЕсли;
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаРегистрацияИзменений", "СтраницаНавигацияОжидание");
НовыйПереход.ИмяОбработчикаПриОткрытии = "СтраницаРегистрацияИзменений_ПриОткрытии";
НовыйПереход.ДлительнаяОперация = Истина;
НовыйПереход.ИмяОбработчикаДлительнойОперации = "СтраницаРегистрацияИзменений_ДлительнаяОперация";
Если Не ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим Тогда
Если ИспользоватьПрогресс Тогда
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаВыгрузкаДанныхПрогресс", "СтраницаНавигацияОжидание");
Иначе
@@ -591,6 +605,7 @@
НовыйПереход.ИмяОбработчикаПриОткрытии = "СтраницаВыгрузкаДанных_ПриОткрытии";
НовыйПереход.ДлительнаяОперация = Истина;
НовыйПереход.ИмяОбработчикаДлительнойОперации = "СтраницаВыгрузкаДанных_ДлительнаяОперация";
КонецЕсли;
НовыйПереход = ДобавитьСтрокуТаблицыПереходов("СтраницаОкончание", "СтраницаНавигацияОкончание");
НовыйПереход.ИмяОбработчикаПриОткрытии = "СтраницаОкончание_ПриОткрытии";
@@ -1634,60 +1634,16 @@
&НаСервереБезКонтекста
Функция СостояниеДлительнойОперации(Знач ИдентификаторОперации, УзелОбмена, ПолучитьПарольИзСеансовыхДанных, СтрокаСообщенияОбОшибке = "")
Попытка
ПараметрыПодключения = ОбменДаннымиСервер.СтруктураПараметровWS();
ПараметрыАутентификации = Неопределено;
Если ПолучитьПарольИзСеансовыхДанных Тогда
ПараметрыАутентификации = ОбменДаннымиСервер.ПарольСинхронизацииДанных(УзелОбмена);
КонецЕсли;
СохраненныеПараметры = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(
УзелОбмена, ПараметрыАутентификации);
ЗаполнитьЗначенияСвойств(ПараметрыПодключения, СохраненныеПараметры);
ВерсииИнтерфейса = ОбменДаннымиПовтИсп.ВерсииКорреспондента(ПараметрыПодключения);
СтрокаСообщенияОбОшибке = "";
WSПрокси = Неопределено;
Если ВерсииИнтерфейса.Найти("3.0.1.1") <> Неопределено Тогда
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_3_0_1_1(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
ИначеЕсли ВерсииИнтерфейса.Найти("2.1.1.7") <> Неопределено Тогда
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_2_1_1_7(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
ИначеЕсли ВерсииИнтерфейса.Найти("2.0.1.6") <> Неопределено Тогда
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_2_0_1_6(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
Иначе
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси(ПараметрыПодключения, СтрокаСообщенияОбОшибке);
КонецЕсли;
Если WSПрокси = Неопределено Тогда
ВызватьИсключение СтрокаСообщенияОбОшибке;
КонецЕсли;
Результат = WSПрокси.GetContinuousOperationStatus(ИдентификаторОперации, СтрокаСообщенияОбОшибке);
Исключение
Результат = "Failed";
СтрокаСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())
+ ?(ЗначениеЗаполнено(СтрокаСообщенияОбОшибке), Символы.ПС + СтрокаСообщенияОбОшибке, "");
КонецПопытки;
Если Результат = "Failed" Тогда
СтрокаСообщения = НСтр("ru = 'Ошибка в базе-корреспонденте: %1'");
СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, СтрокаСообщенияОбОшибке);
КонецЕсли;
Возврат Результат;
Возврат ОбменДаннымиВызовСервера.СостояниеДлительнойОперацииДляУзлаИнформационнойБазы(
ИдентификаторОперации,
УзелОбмена,
ПараметрыАутентификации,
СтрокаСообщенияОбОшибке);
КонецФункции
@@ -307,11 +307,6 @@
ПолученыДанныеДляСопоставления = Истина;
КонецЕсли;
Если РезультатЗакрытия.Свойство("ПассивныйРежим")
И РезультатЗакрытия.ПассивныйРежим Тогда
ДоступнаИнтерактивнаяОтправка = Ложь;
КонецЕсли;
ЗаполнитьТаблицуЭтаповНастройки();
ОбновитьОтображениеТекущегоСостоянияНастройки();
@@ -364,9 +359,6 @@
Возврат;
КонецЕсли;
ДоступнаИнтерактивнаяОтправка = ДоступнаИнтерактивнаяОтправка
И Не (ОбменДаннымиВызовСервера.ВариантОбменаДанными(УзелОбмена) = "ТолькоПолучение");
Если РезультатЗакрытия.ПолученыДанныеДляСопоставления
И Не ПолученыДанныеДляСопоставления Тогда
ПолученыДанныеДляСопоставления = РезультатЗакрытия.ПолученыДанныеДляСопоставления;
@@ -763,6 +755,13 @@
Если Не ПустаяСтрока(ИмяФормыСозданияНачальногоОбраза) Тогда
ТекущийЭтапНастройки = "НачальныйОбразРИБ";
КонецЕсли;
ИначеЕсли ЗначениеЗаполнено(УзелОбмена) Тогда
НомераСообщений = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(УзелОбмена, "НомерПринятого, НомерОтправленного");
Если НомераСообщений.НомерПринятого = 0
И НомераСообщений.НомерОтправленного = 0
И ОбменДаннымиСервер.ПолученоСообщениеСДаннымиДляСопоставления(УзелОбмена) Тогда
ТекущийЭтапНастройки = "СопоставлениеИЗагрузка";
КонецЕсли;
КонецЕсли;
ВсеЭтапыНастройки = Новый Структура;
@@ -284,6 +284,8 @@
КонецЕсли;
// {Обработчик: ПриПолученииДанныхОтправителя} Окончание
ВидТранспортаСообщенийОбмена = Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим;
ВыполнитьДействияПоНастройкеНовогоОбменаДанными(Отказ,
НастройкаОтборовНаУзле,
ЗначенияПоУмолчаниюНаУзле,
@@ -60,7 +60,7 @@
"СтандартныеПодсистемы.УправлениеДоступом.ВерсияТекстовОграниченияДоступа",
ВерсияТекстов, ЕстьТекущиеИзменения);
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.92") < 0 Тогда
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.107") < 0 Тогда
ЕстьТекущиеИзменения = Истина;
КонецЕсли;
@@ -130,8 +130,8 @@
ЗапланироватьОбновление(Истина, Ложь, "ПереходНаВерсиюБСП_3.0.3.76");
КонецЕсли;
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.92") < 0 Тогда
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.0.3.92");
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ВерсияИБ, "3.0.3.107") < 0 Тогда
ЗапланироватьОбновление(Ложь, Истина, "ПереходНаВерсиюБСП_3.0.3.107");
КонецЕсли;
КонецПроцедуры
@@ -270,19 +270,24 @@
&НаКлиенте
Процедура НепринятыеПоДатеПриАктивизацииСтроки(Элемент)
Если Элемент.ТекущиеДанные <> Неопределено Тогда
СвязанныеЭлементы = Новый Массив;
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеСравнитьСДаннымиВБазе);
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеПринятьВерсию);
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеИзменить);
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеОткрытьВерсию);
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеИгнорироватьНепринятый);
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеНеИгнорироватьНепринятый);
Если Элемент.ТекущиеДанные.НовыйОбъект Тогда
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюСравнитьСДаннымиВБазе);
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюПринятьВерсию);
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюИзменить);
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюОткрытьВерсиюНепринятыеВЭтойПрограмме);
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюОткрытьВерсию);
СвязанныеЭлементы.Добавить(Элементы.НепринятыеПоДатеКонтекстноеМенюГруппаИгнорирования);
Элементы.НепринятыеПоДатеПринятьВерсию.Доступность = Ложь;
Иначе
Элементы.НепринятыеПоДатеПринятьВерсию.Доступность = Истина;
КонецЕсли;
КонецЕсли;
Для Каждого СвязанныйЭлемент Из СвязанныеЭлементы Цикл
СвязанныйЭлемент.Доступность = (Элемент.ТекущиеДанные <> Неопределено);
КонецЦикла;
КонецПроцедуры
@@ -379,8 +384,12 @@
Процедура ПровестиДокумент(Команда)
ОчиститьСообщения();
ПровестиДокументы(Элементы.НепроведенныеДокументы.ВыделенныеСтроки);
ОбновитьНаСервере("НепроведенныеДокументы");
СообщениеОбОшибке = "";
ПровестиДокументы(Элементы.НепроведенныеДокументы.ВыделенныеСтроки, СообщениеОбОшибке);
Если Не ПустаяСтрока(СообщениеОбОшибке) Тогда
ПоказатьПредупреждение(, СообщениеОбОшибке);
КонецЕсли;
КонецПроцедуры
@@ -463,8 +472,16 @@
&НаКлиенте
Процедура ПринятьВерсиюНепринятыеЗавершение(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
ПринятьОтклонитьВерсиюНаСервере(Элементы.НепринятыеПоДате.ВыделенныеСтроки, "НепринятыеПоДате");
Если Ответ <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
ОчиститьСообщения();
СообщениеОбОшибке = "";
ПринятьОтклонитьВерсиюНаСервере(Элементы.НепринятыеПоДате.ВыделенныеСтроки, "НепринятыеПоДате", СообщениеОбОшибке);
Если Не ПустаяСтрока(СообщениеОбОшибке) Тогда
ПоказатьПредупреждение(, СообщениеОбОшибке);
КонецЕсли;
КонецПроцедуры
@@ -556,10 +573,16 @@
&НаКлиенте
Процедура ИзменитьРезультатКонфликтаЗавершение(Ответ, ДополнительныеПараметры) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
Если Ответ <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
ПринятьОтклонитьВерсиюНаСервере(Элементы.Коллизии.ВыделенныеСтроки, "Коллизии");
ОчиститьСообщения();
СообщениеОбОшибке = "";
ПринятьОтклонитьВерсиюНаСервере(Элементы.Коллизии.ВыделенныеСтроки, "Коллизии", СообщениеОбОшибке);
Если Не ПустаяСтрока(СообщениеОбОшибке) Тогда
ПоказатьПредупреждение(, СообщениеОбОшибке);
КонецЕсли;
КонецПроцедуры
@@ -697,24 +720,57 @@
КонецПроцедуры
&НаСервере
Процедура ПровестиДокументы(Знач ВыделенныеСтроки)
Процедура ПровестиДокументы(Знач ВыделенныеСтроки, СообщениеОбОшибке = "")
СчетчикВсего = 0;
СчетчикНеПроведенные = 0;
Для Каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
Если ТипЗнч(ВыделеннаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
Продолжить;
КонецЕсли;
СчетчикВсего = СчетчикВсего + 1;
БлокировкаУстановлена = Ложь;
НачатьТранзакцию();
Попытка
ЗаблокироватьДанныеДляРедактирования(ВыделеннаяСтрока.ПроблемныйОбъект);
БлокировкаУстановлена = Истина;
ДокументОбъект = ВыделеннаяСтрока.ПроблемныйОбъект.ПолучитьОбъект();
Если ДокументОбъект.ПроверитьЗаполнение() Тогда
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
Иначе
СчетчикНеПроведенные = СчетчикНеПроведенные + 1;
КонецЕсли;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
Если Не БлокировкаУстановлена Тогда
ОбщегоНазначения.СообщитьПользователю(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось провести документ ""%1"" по причине:
|%2.'"),
ВыделеннаяСтрока.ПроблемныйОбъект,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
КонецЕсли;
СчетчикНеПроведенные = СчетчикНеПроведенные + 1;
КонецПопытки;
КонецЦикла;
Если СчетчикНеПроведенные > 0 Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не проведено документов: %1 из %2.'"),
Формат(СчетчикНеПроведенные, "ЧН=; ЧГ=0"),
Формат(СчетчикВсего, "ЧН=; ЧГ=0"));
КонецЕсли;
ОбновитьНаСервере("НепроведенныеДокументы");
КонецПроцедуры
&НаСервере
@@ -922,7 +978,7 @@
ПараметрыЗапроса = ОбменДаннымиСервер.ПараметрыЗапросаКоличествоПроблемВерсионирования();
ПараметрыЗапроса.ЭтоКоличествоКоллизий = Ложь;
ПараметрыЗапроса.УчитыватьПроигнорированные = ПоказыватьПроигнорированныеКонфликты;
ПараметрыЗапроса.УчитыватьПроигнорированные = ПоказыватьПроигнорированныеНепринятые;
ПараметрыЗапроса.Период = Период;
ПараметрыЗапроса.СтрокаПоиска = СтрокаПоиска;
@@ -1260,22 +1316,53 @@
КонецПроцедуры
&НаСервере
Процедура ПринятьОтклонитьВерсиюНаСервере(Знач ВыделенныеСтроки, ИмяЭлемента)
Процедура ПринятьОтклонитьВерсиюНаСервере(Знач ВыделенныеСтроки, ИмяЭлемента, СообщениеОбОшибке = "")
МодульВерсионированиеОбъектов = Неопределено;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
КонецЕсли;
РазрешитьПроведениеДокумента = Метаданные.СвойстваОбъектов.Проведение.Разрешить;
СчетчикВсего = 0;
СчетчикНеПринятые = 0;
Для Каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл
Если ТипЗнч(ВыделеннаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
Продолжить;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВерсионированиеОбъектов") Тогда
МодульВерсионированиеОбъектов = ОбщегоНазначения.ОбщийМодуль("ВерсионированиеОбъектов");
СчетчикВсего = СчетчикВсего + 1;
Если МодульВерсионированиеОбъектов = Неопределено Тогда
СчетчикНеПринятые = СчетчикНеПринятые + 1;
Иначе
Попытка
МодульВерсионированиеОбъектов.ПриПереходеНаВерсиюОбъекта(ВыделеннаяСтрока.Объект,
ВыделеннаяСтрока.НомерВерсии);
Исключение
ПредставлениеОбъекта = ?(ОбщегоНазначения.СсылкаСуществует(ВыделеннаяСтрока.Объект),
ВыделеннаяСтрока.Объект,
ВыделеннаяСтрока.Объект.Метаданные());
ОбщегоНазначения.СообщитьПользователю(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не удалось принять версию объекта ""%1"" по причине:
|%2.'"),
ПредставлениеОбъекта,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
СчетчикНеПринятые = СчетчикНеПринятые + 1;
КонецПопытки;
КонецЕсли;
КонецЦикла;
Если СчетчикНеПринятые > 0 Тогда
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не принято версий объектов: %1 из %2.'"),
Формат(СчетчикНеПринятые, "ЧН=; ЧГ=0"),
Формат(СчетчикВсего, "ЧН=; ЧГ=0"));
КонецЕсли;
ОбновитьНаСервере(ИмяЭлемента);
КонецПроцедуры
@@ -3287,6 +3287,93 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Constant.КоличествоПотоковОбновленияДоступа</name>
<right>
@@ -4606,93 +4693,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>true</value>
</right>
<right>
<name>DataAdministration</name>
<value>true</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>true</value>
</right>
<right>
<name>ExclusiveMode</name>
<value>true</value>
</right>
<right>
<name>ActiveUsers</name>
<value>true</value>
</right>
<right>
<name>EventLog</name>
<value>true</value>
</right>
<right>
<name>ThinClient</name>
<value>true</value>
</right>
<right>
<name>WebClient</name>
<value>true</value>
</right>
<right>
<name>ThickClient</name>
<value>true</value>
</right>
<right>
<name>ExternalConnection</name>
<value>true</value>
</right>
<right>
<name>Automation</name>
<value>true</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>SaveUserData</name>
<value>true</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>InformationRegister.БуферОперацийСтатистики</name>
<right>
@@ -21,6 +21,37 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<object>
<name>Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас</name>
<right>
@@ -76,37 +107,6 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
<right>
<name>Output</name>
<value>true</value>
</right>
</object>
<restrictionTemplate>
<name>ДляОбъекта(ПолеОбъекта)</name>
<condition>// ДляОбъекта(ПолеОбъекта = "")
@@ -4379,6 +4379,45 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Constant.КоличествоПотоковОбновленияДоступа</name>
<right>
@@ -6182,45 +6221,6 @@
<value>false</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
<name>Administration</name>
<value>false</value>
</right>
<right>
<name>UpdateDataBaseConfiguration</name>
<value>false</value>
</right>
<right>
<name>ThickClient</name>
<value>false</value>
</right>
<right>
<name>ExternalConnection</name>
<value>false</value>
</right>
<right>
<name>Automation</name>
<value>false</value>
</right>
<right>
<name>TechnicalSpecialistMode</name>
<value>false</value>
</right>
<right>
<name>ConfigurationExtensionsAdministration</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtDataProcessors</name>
<value>false</value>
</right>
<right>
<name>InteractiveOpenExtReports</name>
<value>false</value>
</right>
</object>
<object>
<name>Document.СогласиеНаОбработкуПерсональныхДанных</name>
<right>
@@ -3,13 +3,6 @@
<setForNewObjects>false</setForNewObjects>
<setForAttributesByDefault>true</setForAttributesByDefault>
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>Configuration.БиблиотекаСтандартныхПодсистем</name>
<right>
@@ -41,6 +34,13 @@
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации.Command.ЖурналРегистрации</name>
<right>
<name>View</name>
<value>true</value>
</right>
</object>
<object>
<name>DataProcessor.ЖурналРегистрации</name>
<right>
@@ -107,6 +107,8 @@
МодульПомощникНастройки.ЗаполнитьНастройкиПодключенияИзXML(
НастройкиПодключения, Параметры.СтрокаПараметровXML, , Истина);
НастройкиПодключения.Вставить("ВидТранспортаСообщенийОбмена", Перечисления.ВидыТранспортаСообщенийОбмена.WSПассивныйРежим);
МодульПомощникНастройки.ВыполнитьДействияПоНастройкеОбменаДанными(
НастройкиПодключения);
Исключение