3_1_5_411
This commit is contained in:
1 parent
47c28e1471
commit
d3166bed5b
26 files changed
+861
-383
No files matched your search
@@ -46,7 +46,7 @@
|
|||||||
ВладелецДанных = Справочники.ИдентификаторыОбъектовМетаданных.ПолучитьСсылку(
|
ВладелецДанных = Справочники.ИдентификаторыОбъектовМетаданных.ПолучитьСсылку(
|
||||||
Новый УникальныйИдентификатор("627a6fb8-872a-11e3-bb87-005056c00008")); // Константы.
|
Новый УникальныйИдентификатор("627a6fb8-872a-11e3-bb87-005056c00008")); // Константы.
|
||||||
|
|
||||||
ДатыОтключения = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(ВладелецДанных);
|
ДатыОтключения = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(ВладелецДанных); // Массив
|
||||||
Если ТипЗнч(ДатыОтключения) <> Тип("Массив") Тогда
|
Если ТипЗнч(ДатыОтключения) <> Тип("Массив") Тогда
|
||||||
ДатыОтключения = Новый Массив;
|
ДатыОтключения = Новый Массив;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
@@ -337,6 +337,7 @@
|
|||||||
<autoFill>true</autoFill>
|
<autoFill>true</autoFill>
|
||||||
</contextMenu>
|
</contextMenu>
|
||||||
<type>InputField</type>
|
<type>InputField</type>
|
||||||
|
<readOnly>true</readOnly>
|
||||||
<editMode>Auto</editMode>
|
<editMode>Auto</editMode>
|
||||||
<showInHeader>true</showInHeader>
|
<showInHeader>true</showInHeader>
|
||||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||||
@@ -345,6 +346,7 @@
|
|||||||
<autoMaxWidth>true</autoMaxWidth>
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
<autoMaxHeight>true</autoMaxHeight>
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
<wrap>true</wrap>
|
<wrap>true</wrap>
|
||||||
|
<dropListButton>false</dropListButton>
|
||||||
<chooseType>true</chooseType>
|
<chooseType>true</chooseType>
|
||||||
<typeDomainEnabled>true</typeDomainEnabled>
|
<typeDomainEnabled>true</typeDomainEnabled>
|
||||||
<textEdit>true</textEdit>
|
<textEdit>true</textEdit>
|
||||||
|
|||||||
@@ -1120,11 +1120,13 @@
|
|||||||
Индекс.ВставитьГруппировкуНиже = Не ЭтоПолеГруппировкиКолонки И Не ЭтоРесурс;
|
Индекс.ВставитьГруппировкуНиже = Не ЭтоПолеГруппировкиКолонки И Не ЭтоРесурс;
|
||||||
|
|
||||||
Индекс.ПереместитьПолеВыше = Не ЭтоПолеГруппировкиКолонки
|
Индекс.ПереместитьПолеВыше = Не ЭтоПолеГруппировкиКолонки
|
||||||
|
И ПорядокРаздела = 1
|
||||||
И Не ЭтоРесурс
|
И Не ЭтоРесурс
|
||||||
И Индекс.СодержитРодительскиеГруппировки
|
И Индекс.СодержитРодительскиеГруппировки
|
||||||
И ПоляГруппировкиВыше.Найти(Не ПолеГруппировки.Период, "Период") = Неопределено;
|
И ПоляГруппировкиВыше.Найти(Не ПолеГруппировки.Период, "Период") = Неопределено;
|
||||||
|
|
||||||
Индекс.ПереместитьПолеНиже = Не ЭтоПолеГруппировкиКолонки
|
Индекс.ПереместитьПолеНиже = Не ЭтоПолеГруппировкиКолонки
|
||||||
|
И ПорядокРаздела = 1
|
||||||
И Не ЭтоРесурс
|
И Не ЭтоРесурс
|
||||||
И Индекс.СодержитДочерниеГруппировки
|
И Индекс.СодержитДочерниеГруппировки
|
||||||
И ПоляГруппировкиНиже.Найти(Не ПолеГруппировки.Период, "Период") = Неопределено;
|
И ПоляГруппировкиНиже.Найти(Не ПолеГруппировки.Период, "Период") = Неопределено;
|
||||||
|
|||||||
@@ -3419,21 +3419,16 @@
|
|||||||
|
|
||||||
Процедура ДобавитьФормулу(Настройки, КоллекцияПолей, ОписаниеФормулы) Экспорт
|
Процедура ДобавитьФормулу(Настройки, КоллекцияПолей, ОписаниеФормулы) Экспорт
|
||||||
|
|
||||||
ПутьКДанным = Неопределено;
|
ЭтоПользовательскоеПолеВыражениеКомпоновкиДанных = ТипЗнч(ОписаниеФормулы) = Тип("ПользовательскоеПолеВыражениеКомпоновкиДанных");
|
||||||
|
Если Не ЭтоПользовательскоеПолеВыражениеКомпоновкиДанных И (ТипЗнч(ОписаниеФормулы) <> Тип("Структура")
|
||||||
Если ТипЗнч(ОписаниеФормулы) = Тип("ПользовательскоеПолеВыражениеКомпоновкиДанных") Тогда
|
Или Не ОписаниеФормулы.Свойство("Формула")) Тогда
|
||||||
|
|
||||||
ПутьКДанным = ОписаниеФормулы.ПутьКДанным;
|
|
||||||
ОписаниеФормулы = ОписаниеФормулыПоОбразцу(ОписаниеФормулы);
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если ТипЗнч(ОписаниеФормулы) <> Тип("Структура")
|
|
||||||
Или Не ОписаниеФормулы.Свойство("Формула") Тогда
|
|
||||||
|
|
||||||
Возврат;
|
Возврат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЭтоПользовательскоеПолеВыражениеКомпоновкиДанных Тогда
|
||||||
|
ПутьКДанным = ОписаниеФормулы.ПутьКДанным;
|
||||||
|
ОписаниеФормулы = ОписаниеФормулыПоОбразцу(ОписаниеФормулы);
|
||||||
|
КонецЕсли;
|
||||||
Формулы = Настройки.ПользовательскиеПоля.Элементы;
|
Формулы = Настройки.ПользовательскиеПоля.Элементы;
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(ПутьКДанным) Тогда
|
Если ЗначениеЗаполнено(ПутьКДанным) Тогда
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
|
||||||
|
|
||||||
Описание.Имя = "СтандартныеПодсистемы";
|
Описание.Имя = "СтандартныеПодсистемы";
|
||||||
Описание.Версия = "3.1.5.400";
|
Описание.Версия = "3.1.5.411";
|
||||||
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
Описание.ИдентификаторИнтернетПоддержки = "SSL";
|
||||||
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
|
||||||
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
|
||||||
|
|||||||
@@ -7962,9 +7962,11 @@
|
|||||||
|ГДЕ
|
|ГДЕ
|
||||||
| НЕ ОбновлениеИнформационнойБазы.ЭтотУзел";
|
| НЕ ОбновлениеИнформационнойБазы.ЭтотУзел";
|
||||||
|
|
||||||
Выборка = Запрос.Выполнить().Выбрать();
|
Выгрузка = Запрос.Выполнить().Выгрузить();
|
||||||
Пока Выборка.Следующий() Цикл
|
УзлыОбмена = Выгрузка.ВыгрузитьКолонку("Узел");
|
||||||
ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Узел);
|
|
||||||
|
Для Каждого ЭлементСостава Из Метаданные.ПланыОбмена.ОбновлениеИнформационнойБазы.Состав Цикл
|
||||||
|
ПланыОбмена.УдалитьРегистрациюИзменений(УзлыОбмена, ЭлементСостава.Метаданные);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -632,12 +632,11 @@
|
|||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Массив - массив из одного элемента.
|
// Массив - массив из одного элемента.
|
||||||
//
|
//
|
||||||
Функция ЗначениеВМассиве(Значение) Экспорт
|
Функция ЗначениеВМассиве(Знач Значение) Экспорт
|
||||||
|
|
||||||
Массив = Новый Массив;
|
Результат = Новый Массив;
|
||||||
Массив.Добавить(Значение);
|
Результат.Добавить(Значение);
|
||||||
|
Возврат Результат;
|
||||||
Возврат Массив;
|
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
@@ -3881,6 +3880,42 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
// Создает массив и помещает в него переданные значения.
|
||||||
|
//
|
||||||
|
// Параметры:
|
||||||
|
// Значение1 - Произвольный - любое значение.
|
||||||
|
// Значение2 - Произвольный
|
||||||
|
// Значение3 - Произвольный
|
||||||
|
// Значение4 - Произвольный
|
||||||
|
//
|
||||||
|
// Возвращаемое значение:
|
||||||
|
// Массив
|
||||||
|
//
|
||||||
|
// Пример:
|
||||||
|
// Результат = ОбщегоНазначенияКлиентСервер.МассивЗначений(1, 2, 3);
|
||||||
|
//
|
||||||
|
Функция МассивЗначений(Знач Значение1, Знач Значение2 = Неопределено, Знач Значение3 = Неопределено,
|
||||||
|
Знач Значение4 = Неопределено) Экспорт
|
||||||
|
|
||||||
|
Результат = Новый Массив;
|
||||||
|
Если Значение4 <> Неопределено Тогда
|
||||||
|
Результат.Добавить(Значение4);
|
||||||
|
КонецЕсли;
|
||||||
|
Если Значение3 <> Неопределено Тогда
|
||||||
|
Результат.Добавить(Значение3);
|
||||||
|
КонецЕсли;
|
||||||
|
Если Значение2 <> Неопределено Тогда
|
||||||
|
Результат.Добавить(Значение2);
|
||||||
|
КонецЕсли;
|
||||||
|
Результат.Добавить(Значение1);
|
||||||
|
Возврат Результат;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
#Область Данные
|
#Область Данные
|
||||||
|
|||||||
@@ -7686,6 +7686,7 @@
|
|||||||
Недействителен = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(АвторизованныйПользователь, "Недействителен");
|
Недействителен = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(АвторизованныйПользователь, "Недействителен");
|
||||||
|
|
||||||
Если ПользовательИБ = Неопределено
|
Если ПользовательИБ = Неопределено
|
||||||
|
Или Не ЗначениеЗаполнено(ПользовательИБ.Имя)
|
||||||
Или Пользователи.ВходВПрограммуРазрешен(ПользовательИБ)
|
Или Пользователи.ВходВПрограммуРазрешен(ПользовательИБ)
|
||||||
И (РолиАдминистратораДоступны(ПользовательИБ)
|
И (РолиАдминистратораДоступны(ПользовательИБ)
|
||||||
Или Недействителен <> Истина) Тогда
|
Или Недействителен <> Истина) Тогда
|
||||||
|
|||||||
@@ -2678,9 +2678,9 @@
|
|||||||
КодПоселения = "1";
|
КодПоселения = "1";
|
||||||
ИначеЕсли СтрСравнить(ТипПоселения, "с.п.") = 0 Тогда
|
ИначеЕсли СтрСравнить(ТипПоселения, "с.п.") = 0 Тогда
|
||||||
КодПоселения = "2";
|
КодПоселения = "2";
|
||||||
ИначеЕсли СтрСравнить(ТипПоселения, "меж.тер.'") = 0 Тогда
|
ИначеЕсли СтрСравнить(ТипПоселения, "меж.тер.") = 0 Тогда
|
||||||
КодПоселения = "3";
|
КодПоселения = "3";
|
||||||
ИначеЕсли СтрСравнить(ТипПоселения, "вн.р-н'") = 0 Тогда
|
ИначеЕсли СтрСравнить(ТипПоселения, "вн.р-н") = 0 Тогда
|
||||||
КодПоселения = "4";
|
КодПоселения = "4";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
// АПК: 1297-вкл
|
// АПК: 1297-вкл
|
||||||
|
|||||||
@@ -50,38 +50,24 @@
|
|||||||
УстановитьОтключениеБезопасногоРежима(Истина);
|
УстановитьОтключениеБезопасногоРежима(Истина);
|
||||||
УстановитьПривилегированныйРежим(Истина);
|
УстановитьПривилегированныйРежим(Истина);
|
||||||
|
|
||||||
|
Если ФайлОбъект.ПометкаУдаления Тогда
|
||||||
|
РаботаСФайламиСлужебный.СообщитьОбОшибкеФайлНеНайден(ФайлОбъект, ВызыватьИсключение);
|
||||||
|
Возврат Неопределено;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Если ФайлОбъект.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
|
Если ФайлОбъект.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
|
||||||
|
|
||||||
Результат = ХранилищеФайлаИзИнформационнойБазы(ФайлОбъект.Ссылка);
|
Результат = ХранилищеФайлаИзИнформационнойБазы(ФайлОбъект.Ссылка);
|
||||||
Если Результат <> Неопределено Тогда
|
Если Результат <> Неопределено Тогда
|
||||||
Возврат Результат.Получить();
|
Результат = Результат.Получить();
|
||||||
|
Если Результат <> Неопределено Тогда
|
||||||
|
Возврат Результат;
|
||||||
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
// Запись в журнал регистрации.
|
РаботаСФайламиСлужебный.СообщитьОбОшибкеФайлНеНайден(ФайлОбъект, ВызыватьИсключение);
|
||||||
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
|
||||||
НСтр("ru = 'Двоичные данные файла отсутствуют в регистре ДвоичныеДанныеФайлов.
|
|
||||||
|Файл: ""%1"".'"),
|
|
||||||
ПолучитьНавигационнуюСсылку(ПрисоединенныйФайл));
|
|
||||||
|
|
||||||
КритичностьОшибки = ?(ВызыватьИсключение, УровеньЖурналаРегистрации.Ошибка, УровеньЖурналаРегистрации.Предупреждение);
|
|
||||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Открытие файла'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
|
||||||
КритичностьОшибки,
|
|
||||||
Метаданные.Справочники[ПрисоединенныйФайл.Метаданные().Имя],
|
|
||||||
ПрисоединенныйФайл,
|
|
||||||
СообщениеОбОшибке);
|
|
||||||
|
|
||||||
Если Не ВызыватьИсключение Тогда
|
|
||||||
Возврат Неопределено;
|
Возврат Неопределено;
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ПредставлениеВладельцаФайла = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
|
||||||
НСтр("ru = 'Присоединен к %1 : %2'"),
|
|
||||||
Строка(ТипЗнч(ФайлОбъект.ВладелецФайла)),
|
|
||||||
ФайлОбъект.ВладелецФайла);
|
|
||||||
|
|
||||||
ВызватьИсключение РаботаСФайламиСлужебный.ОшибкаФайлНеНайденВХранилищеФайлов(
|
|
||||||
ОбщегоНазначенияКлиентСервер.ПолучитьИмяСРасширением(ФайлОбъект.Наименование, ФайлОбъект.Расширение), Ложь,
|
|
||||||
ПредставлениеВладельцаФайла);
|
|
||||||
Иначе
|
Иначе
|
||||||
Возврат РаботаСФайламиВТомахСлужебный.ДанныеФайла(ПрисоединенныйФайл, ВызыватьИсключение);
|
Возврат РаботаСФайламиВТомахСлужебный.ДанныеФайла(ПрисоединенныйФайл, ВызыватьИсключение);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|||||||
@@ -50,36 +50,9 @@
|
|||||||
Попытка
|
Попытка
|
||||||
Возврат Новый ДвоичныеДанные(ПолноеИмяФайлаВТоме(СвойстваФайла));
|
Возврат Новый ДвоичныеДанные(ПолноеИмяФайлаВТоме(СвойстваФайла));
|
||||||
Исключение
|
Исключение
|
||||||
|
ФайлОбъект = РаботаСФайламиСлужебный.ФайлОбъект(ПрисоединенныйФайл);
|
||||||
Если Не ВызыватьИсключение Тогда
|
РаботаСФайламиСлужебный.СообщитьОбОшибкеФайлНеНайден(ФайлОбъект, ВызыватьИсключение);
|
||||||
Возврат Неопределено;
|
Возврат Неопределено;
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
СообщениеОбОшибке = ТекстОшибкиПриПолученииФайла(ИнформацияОбОшибке(), ПрисоединенныйФайл);
|
|
||||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Получение файла из тома'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
|
||||||
УровеньЖурналаРегистрации.Ошибка,
|
|
||||||
Метаданные.Справочники[ПрисоединенныйФайл.Метаданные().Имя],
|
|
||||||
ПрисоединенныйФайл,
|
|
||||||
СообщениеОбОшибке);
|
|
||||||
|
|
||||||
ПредставлениеВладельцаФайла = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
|
||||||
НСтр("ru = 'Присоединен к %1 : %2'"),
|
|
||||||
Строка(ТипЗнч(СвойстваФайла.ВладелецФайла)),
|
|
||||||
СвойстваФайла.ВладелецФайла);
|
|
||||||
|
|
||||||
ТекстОшибки = НСтр("ru = 'Не удалось открыть файл:
|
|
||||||
|%1
|
|
||||||
|который присоединен к:
|
|
||||||
|%2
|
|
||||||
|по причине: двоичные данные файла были удалены. Возможно, файл очищен как ненужный или удален антивирусной программой.
|
|
||||||
|Обратитесь к администратору.'");
|
|
||||||
|
|
||||||
|
|
||||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
|
||||||
ТекстОшибки,
|
|
||||||
СвойстваФайла.Наименование + "." + СвойстваФайла.Расширение,
|
|
||||||
ПредставлениеВладельцаФайла);
|
|
||||||
|
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@@ -1003,7 +976,7 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Длина файлов в запросе ограничена:
|
// Длина файлов в запросе ограничена:
|
||||||
// Имя метаданного (80) + дата (6) + подтом для исключения повторения (6 символов) + имя файла (150).
|
// Имя метаданного (80) + дата (6) + подкаталог для исключения повторения (6 символов) + имя файла (150).
|
||||||
// Итого: 242.
|
// Итого: 242.
|
||||||
//
|
//
|
||||||
Функция ЗапросПроверкиСуществованияФайлов(Знач ТаблицаФайлы)
|
Функция ЗапросПроверкиСуществованияФайлов(Знач ТаблицаФайлы)
|
||||||
@@ -1795,26 +1768,6 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Возвращает текст сообщения об ошибке, добавляя к нему ссылку на элемент
|
|
||||||
// справочника хранимого файла.
|
|
||||||
//
|
|
||||||
Функция ТекстОшибкиПриПолученииФайла(Знач ИнформацияОбОшибке, Знач Файл)
|
|
||||||
|
|
||||||
СообщениеОбОшибке = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
|
|
||||||
|
|
||||||
Если Файл <> Неопределено Тогда
|
|
||||||
СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
|
||||||
НСтр("ru = '%1
|
|
||||||
|
|
|
||||||
|Ссылка на файл: ""%2"".'"),
|
|
||||||
СообщениеОбОшибке,
|
|
||||||
ПолучитьНавигационнуюСсылку(Файл) );
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Возврат СообщениеОбОшибке;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
// Возвращает тип хранения добавляемого файла в зависимости от расширения и размера.
|
// Возвращает тип хранения добавляемого файла в зависимости от расширения и размера.
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
|
|||||||
@@ -810,14 +810,25 @@
|
|||||||
ТекущаяВерсия = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПрисоединенныйФайл, "ТекущаяВерсия");
|
ТекущаяВерсия = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПрисоединенныйФайл, "ТекущаяВерсия");
|
||||||
ЕстьТекущаяВерсия = ЗначениеЗаполнено(ТекущаяВерсия);
|
ЕстьТекущаяВерсия = ЗначениеЗаполнено(ТекущаяВерсия);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Если ЕстьТекущаяВерсия Тогда
|
Если ЕстьТекущаяВерсия Тогда // С возможностью хранить версии
|
||||||
ФайлОбъект = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ТекущаяВерсия,
|
ИменаРеквизитов = "Ссылка,ТипХраненияФайла,Наименование,Расширение,Том,ПутьКФайлу,ПометкаУдаления";
|
||||||
"Ссылка,ТипХраненияФайла,Наименование,Расширение,Том,ПутьКФайлу");
|
Если МетаданныеОбъектаФайла.Иерархический Тогда
|
||||||
|
ИменаРеквизитов = ИменаРеквизитов + "," + "ЭтоГруппа";
|
||||||
|
КонецЕсли;
|
||||||
|
ФайлОбъект = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ТекущаяВерсия, ИменаРеквизитов);
|
||||||
ФайлОбъект.Вставить("ВладелецФайла", ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПрисоединенныйФайл, "ВладелецФайла"));
|
ФайлОбъект.Вставить("ВладелецФайла", ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПрисоединенныйФайл, "ВладелецФайла"));
|
||||||
// Без возможности хранить версии.
|
Если Не МетаданныеОбъектаФайла.Иерархический Тогда
|
||||||
Иначе
|
ФайлОбъект.Вставить("ЭтоГруппа", Ложь);
|
||||||
ФайлОбъект = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ПрисоединенныйФайл,
|
КонецЕсли;
|
||||||
"Ссылка,ТипХраненияФайла,ВладелецФайла,Наименование,Расширение,Том,ПутьКФайлу");
|
Иначе // Без возможности хранить версии
|
||||||
|
ИменаРеквизитов = "Ссылка,ТипХраненияФайла,ВладелецФайла,Наименование,Расширение,Том,ПутьКФайлу,ПометкаУдаления";
|
||||||
|
Если МетаданныеОбъектаФайла.Иерархический Тогда
|
||||||
|
ИменаРеквизитов = ИменаРеквизитов + "," + "ЭтоГруппа";
|
||||||
|
КонецЕсли;
|
||||||
|
ФайлОбъект = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ПрисоединенныйФайл, ИменаРеквизитов);
|
||||||
|
Если Не МетаданныеОбъектаФайла.Иерархический Тогда
|
||||||
|
ФайлОбъект.Вставить("ЭтоГруппа", Ложь);
|
||||||
|
КонецЕсли;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
ЭтоГруппа = Ложь;
|
ЭтоГруппа = Ложь;
|
||||||
Если МетаданныеОбъектаФайла.Иерархический Тогда
|
Если МетаданныеОбъектаФайла.Иерархический Тогда
|
||||||
@@ -827,7 +838,7 @@
|
|||||||
// Это справочник версий файлов.
|
// Это справочник версий файлов.
|
||||||
ИначеЕсли ОбщегоНазначения.ЕстьРеквизитОбъекта("РодительскаяВерсия", МетаданныеОбъектаФайла) Тогда
|
ИначеЕсли ОбщегоНазначения.ЕстьРеквизитОбъекта("РодительскаяВерсия", МетаданныеОбъектаФайла) Тогда
|
||||||
ФайлОбъект = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ПрисоединенныйФайл,
|
ФайлОбъект = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ПрисоединенныйФайл,
|
||||||
"Ссылка,ТипХраненияФайла,Наименование,Расширение,Том,ПутьКФайлу");
|
"Ссылка,ТипХраненияФайла,Наименование,Расширение,Том,ПутьКФайлу,Владелец,ПометкаУдаления");
|
||||||
ФайлОбъект.Вставить("ВладелецФайла",
|
ФайлОбъект.Вставить("ВладелецФайла",
|
||||||
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
|
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
|
||||||
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПрисоединенныйФайл, "Владелец"), "ВладелецФайла"));
|
ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПрисоединенныйФайл, "Владелец"), "ВладелецФайла"));
|
||||||
@@ -4024,35 +4035,48 @@
|
|||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Строка
|
// Строка
|
||||||
//
|
//
|
||||||
Функция ОшибкаФайлНеНайденВХранилищеФайлов(ИмяФайла, ПоискВТоме = Истина, ВладелецФайла = "") Экспорт
|
Функция ОшибкаФайлНеНайденВХранилищеФайлов(ФайлОбъект)
|
||||||
|
|
||||||
Если ПоискВТоме Тогда
|
ИмяФайла = ОбщегоНазначенияКлиентСервер.ПолучитьИмяСРасширением(ФайлОбъект.Наименование, ФайлОбъект.Расширение);
|
||||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
НСтр("ru = 'Не удалось открыть файл:
|
НСтр("ru = 'Не удалось открыть файл:
|
||||||
|%1
|
|%1
|
||||||
|который присоединен к:
|
|который присоединен к:
|
||||||
|%2
|
|%2'"),
|
||||||
|по причине: двоичные данные файла были удалены. Возможно, файл очищен как ненужный или удален антивирусной программой.
|
ИмяФайла, ОбщегоНазначения.ПредметСтрокой(ФайлОбъект.ВладелецФайла));
|
||||||
|Обратитесь к администратору.'"),
|
|
||||||
ИмяФайла,
|
|
||||||
ВладелецФайла);
|
|
||||||
|
|
||||||
|
Если ФайлОбъект.ПометкаУдаления Тогда
|
||||||
|
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
|
||||||
|
+ НСтр("ru = 'Файл помечен на удаление и очищен как ненужный.'");
|
||||||
|
ИначеЕсли ФайлОбъект.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
|
||||||
|
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
|
||||||
|
+ НСтр("ru = 'Данные файла недоступны, т.к. возможно файл был очищен как ненужный или удален антивирусной программой.'");
|
||||||
Иначе
|
Иначе
|
||||||
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС
|
||||||
НСтр("ru = 'Не удалось открыть файл:
|
+ НСтр("ru = 'Данные файла недоступны, т.к. возможно файл был очищен как ненужный.'");
|
||||||
|%1
|
|
||||||
|который присоединен к:
|
|
||||||
|%2
|
|
||||||
|по причине: двоичные данные файла были удалены. Возможно, файл очищен как ненужный.
|
|
||||||
|Обратитесь к администратору.'"),
|
|
||||||
ИмяФайла,
|
|
||||||
ВладелецФайла);
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат ТекстОшибки;
|
Возврат ТекстОшибки;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
// Параметры:
|
||||||
|
// ФайлОбъект - ОпределяемыйТип.ПрисоединенныйФайлОбъект
|
||||||
|
// ВызыватьИсключение - Булево
|
||||||
|
//
|
||||||
|
Процедура СообщитьОбОшибкеФайлНеНайден(ФайлОбъект, ВызыватьИсключение) Экспорт
|
||||||
|
|
||||||
|
СообщениеОбОшибке = ОшибкаФайлНеНайденВХранилищеФайлов(ФайлОбъект);
|
||||||
|
КритичностьОшибки = ?(ВызыватьИсключение, УровеньЖурналаРегистрации.Ошибка, УровеньЖурналаРегистрации.Предупреждение);
|
||||||
|
ЗаписьЖурналаРегистрации(НСтр("ru = 'Файлы.Открытие файла'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||||
|
КритичностьОшибки, ФайлОбъект.Ссылка.Метаданные(), ФайлОбъект.Ссылка, СообщениеОбОшибке);
|
||||||
|
|
||||||
|
Если ВызыватьИсключение Тогда
|
||||||
|
ВызватьИсключение СообщениеОбОшибке;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
// Возвращает номер по нарастанию. Предыдущее значение берется из регистра сведений НомераОтсканированныхФайлов.
|
// Возвращает номер по нарастанию. Предыдущее значение берется из регистра сведений НомераОтсканированныхФайлов.
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Владелец - ЛюбаяСсылка - владелец файла.
|
// Владелец - ЛюбаяСсылка - владелец файла.
|
||||||
|
|||||||
@@ -284,24 +284,40 @@
|
|||||||
ВремяЖизниБлокировки = ВремяЖизниБлокировки();
|
ВремяЖизниБлокировки = ВремяЖизниБлокировки();
|
||||||
ВремяСнятияБлокировки = ТекущаяДатаСеанса() - ВремяЖизниБлокировки;
|
ВремяСнятияБлокировки = ТекущаяДатаСеанса() - ВремяЖизниБлокировки;
|
||||||
|
|
||||||
Запрос = Новый Запрос;
|
НачалоКонтроляУдаленияПомеченных = ТекущаяДатаСеанса();
|
||||||
Запрос.Текст =
|
|
||||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
ТекстЗапроса =
|
||||||
|
"ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 1000
|
||||||
| УдаляемыеОбъекты.ИдентификаторСеанса КАК ИдентификаторСеанса,
|
| УдаляемыеОбъекты.ИдентификаторСеанса КАК ИдентификаторСеанса,
|
||||||
| УдаляемыеОбъекты.ВремяБлокировки КАК ВремяБлокировки
|
| УдаляемыеОбъекты.ВремяБлокировки КАК ВремяБлокировки
|
||||||
|ИЗ
|
|ИЗ
|
||||||
| РегистрСведений.УдаляемыеОбъекты КАК УдаляемыеОбъекты";
|
| РегистрСведений.УдаляемыеОбъекты КАК УдаляемыеОбъекты
|
||||||
|
|ГДЕ
|
||||||
|
| &Условие
|
||||||
|
|
|
||||||
|
|УПОРЯДОЧИТЬ ПО
|
||||||
|
| ВремяБлокировки";
|
||||||
|
УсловиеПоВремени = "УдаляемыеОбъекты.ВремяБлокировки > &ВремяБлокировки";
|
||||||
|
ТекстЗапросаСУсловием = СтрЗаменить(ТекстЗапроса, "&Условие", УсловиеПоВремени);
|
||||||
|
|
||||||
Запрос.УстановитьПараметр("ВремяСнятияБлокировки", ВремяСнятияБлокировки);
|
Запрос = Новый Запрос;
|
||||||
РезультатЗапроса = Запрос.Выполнить();
|
Запрос.Текст = ТекстЗапроса;
|
||||||
|
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Условие", "ИСТИНА");
|
||||||
|
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
|
||||||
|
|
||||||
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
|
ОбработанныеСеансы = Новый Массив;
|
||||||
|
Пока РезультатЗапроса.Количество() > 0 Цикл
|
||||||
|
|
||||||
|
Для Каждого ВыборкаДетальныеЗаписи Из РезультатЗапроса Цикл
|
||||||
|
Если ОбработанныеСеансы.Найти(ВыборкаДетальныеЗаписи.ИдентификаторСеанса) <> Неопределено Тогда
|
||||||
|
Продолжить;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
|
|
||||||
Попытка
|
Попытка
|
||||||
Если ВыборкаДетальныеЗаписи.ВремяБлокировки <= ВремяСнятияБлокировки
|
Если ВыборкаДетальныеЗаписи.ВремяБлокировки <= ВремяСнятияБлокировки
|
||||||
ИЛИ ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ВыборкаДетальныеЗаписи.ИдентификаторСеанса) = Неопределено Тогда
|
ИЛИ ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ВыборкаДетальныеЗаписи.ИдентификаторСеанса) = Неопределено Тогда
|
||||||
СнятьБлокировкуИспользованияУдаляемыхОбъектов(ВыборкаДетальныеЗаписи.ИдентификаторСеанса);
|
СнятьБлокировкуИспользованияУдаляемыхОбъектов(ВыборкаДетальныеЗаписи.ИдентификаторСеанса);
|
||||||
|
ОбработанныеСеансы.Добавить(ВыборкаДетальныеЗаписи.ИдентификаторСеанса);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Исключение
|
Исключение
|
||||||
ЗаписьЖурналаРегистрации(
|
ЗаписьЖурналаРегистрации(
|
||||||
@@ -311,6 +327,19 @@
|
|||||||
+ Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
+ Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||||
КонецПопытки;
|
КонецПопытки;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если ВыборкаДетальныеЗаписи.ВремяБлокировки > НачалоКонтроляУдаленияПомеченных Тогда
|
||||||
|
// Если параллельно работает удаление помеченных и дошли до новых записей, то прерываем выполнение.
|
||||||
|
Прервать;
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОбработанныеСеансы = Новый Массив;
|
||||||
|
Запрос.Текст = ТекстЗапросаСУсловием;
|
||||||
|
Запрос.УстановитьПараметр("ВремяБлокировки", ВыборкаДетальныеЗаписи.ВремяБлокировки);
|
||||||
|
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
// Возвращает число секунд, в течение которых должна держаться блокировка использования удаляемого объекта
|
// Возвращает число секунд, в течение которых должна держаться блокировка использования удаляемого объекта
|
||||||
|
|||||||
@@ -128,7 +128,8 @@
|
|||||||
|
|
||||||
Если Результат.Статус = "Выполнено" Тогда
|
Если Результат.Статус = "Выполнено" Тогда
|
||||||
|
|
||||||
Если ДополнительныеПараметры.ЭлементСписок <> Неопределено Тогда
|
Если ДополнительныеПараметры.ЭлементСписок <> Неопределено
|
||||||
|
И ДополнительныеПараметры.ЭлементСписок.Видимость Тогда
|
||||||
ДополнительныеПараметры.ЭлементСписок.Обновить();
|
ДополнительныеПараметры.ЭлементСписок.Обновить();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -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="5c304ea8-bcbd-11ec-d797-0242ac110002">
|
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="8c86e3b8-c65f-11ec-6a94-0242ac110002">
|
||||||
<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="5c304eb2-bcbd-11ec-d797-0242ac110002"/>
|
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="8c86e3c2-c65f-11ec-6a94-0242ac110002"/>
|
||||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="5c304eda-bcbd-11ec-d797-0242ac110002"/>
|
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="8c86e3f4-c65f-11ec-6a94-0242ac110002"/>
|
||||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="5c304ee4-bcbd-11ec-d797-0242ac110002"/>
|
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="8c86e3fe-c65f-11ec-6a94-0242ac110002"/>
|
||||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="5c304ee5-bcbd-11ec-d797-0242ac110002"/>
|
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="8c86e408-c65f-11ec-6a94-0242ac110002"/>
|
||||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="5c304eee-bcbd-11ec-d797-0242ac110002"/>
|
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="8c86e409-c65f-11ec-6a94-0242ac110002"/>
|
||||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="5c304eef-bcbd-11ec-d797-0242ac110002"/>
|
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="8c86e412-c65f-11ec-6a94-0242ac110002"/>
|
||||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="5e981739-cc93-45ef-ab7e-92d10a020c78"/>
|
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="b8d7efeb-1e4f-4cad-8b51-3a9300d31fcf"/>
|
||||||
<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>Фирма "1С"</vendor>
|
<vendor>Фирма "1С"</vendor>
|
||||||
<version>3.1.5.400</version>
|
<version>3.1.5.411</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>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{6,1,1,bdaf9620-bcbd-11ec-cf8b-0242ac110002,1,a44cc78e-bcbd-11ec-bb83-0242ac110002,"3.1.5.400","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6474,1,0,5c304ea8-bcbd-11ec-d797-0242ac110002,5c304ea8-bcbd-11ec-d797-0242ac110002,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,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,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,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-cf63Line truncated
|
{6,1,1,f082ae56-c65f-11ec-7786-0242ac110002,1,d6fa4534-c65f-11ec-8192-0242ac110002,"3.1.5.411","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6474,1,0,8c86e3b8-c65f-11ec-6a94-0242ac110002,8c86e3b8-c65f-11ec-6a94-0242ac110002,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,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,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,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,1,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,1,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,1,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,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-cf63Line truncated
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
Если КонтекстныйВызов Тогда
|
Если КонтекстныйВызов Тогда
|
||||||
ВыполнитьДействияПриКонтекстномОткрытии();
|
ВыполнитьДействияПриКонтекстномОткрытии();
|
||||||
Иначе
|
Иначе
|
||||||
Если Не ПравоДоступа("Администрирование", Метаданные) Тогда
|
Если Не ЭтоПолноправныйПользователь() Тогда
|
||||||
ВызватьИсключение НСтр("ru = 'Для открытия обработки требуется право администрирования.'")
|
ВызватьИсключение НСтр("ru = 'Для открытия обработки требуется право администрирования.'")
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
Заголовок = НСтр("ru = 'Групповое изменение реквизитов'");
|
Заголовок = НСтр("ru = 'Групповое изменение реквизитов'");
|
||||||
@@ -4689,5 +4689,16 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Функция ЭтоПолноправныйПользователь()
|
||||||
|
|
||||||
|
Если ВерсияБСПСоответствуетТребованиям() Тогда
|
||||||
|
МодульПользователи = ОбщийМодуль("Пользователи");
|
||||||
|
Возврат МодульПользователи.ЭтоПолноправныйПользователь();
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Истина;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
+2
@@ -158,6 +158,8 @@
|
|||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
ОтключитьОбработчикОжидания("ПриИзмененияСоставаИлиНастроекПрограмм");
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
&НаКлиенте
|
&НаКлиенте
|
||||||
|
|||||||
@@ -78,6 +78,7 @@
|
|||||||
Перем ТипВидСчета; // Тип("ВидСчета")
|
Перем ТипВидСчета; // Тип("ВидСчета")
|
||||||
Перем ТипТип; // Тип("Тип")
|
Перем ТипТип; // Тип("Тип")
|
||||||
Перем ТипСоответствие; // Тип("Соответствие").
|
Перем ТипСоответствие; // Тип("Соответствие").
|
||||||
|
Перем ТипОписаниеТипов; // Тип("ОписаниеТипов").
|
||||||
Перем ТипСтрока36;
|
Перем ТипСтрока36;
|
||||||
Перем ТипСтрока255;
|
Перем ТипСтрока255;
|
||||||
|
|
||||||
@@ -3863,6 +3864,8 @@
|
|||||||
Результат = "УникальныйИдентификатор";
|
Результат = "УникальныйИдентификатор";
|
||||||
ИначеЕсли ТипЗначения = ТипВидДвиженияНакопления Тогда
|
ИначеЕсли ТипЗначения = ТипВидДвиженияНакопления Тогда
|
||||||
Результат = "ВидДвиженияНакопления";
|
Результат = "ВидДвиженияНакопления";
|
||||||
|
ИначеЕсли ТипЗначения = ТипОписаниеТипов Тогда
|
||||||
|
Результат = "ОписаниеТипов";
|
||||||
Иначе
|
Иначе
|
||||||
Менеджер = Менеджеры[ТипЗначения];
|
Менеджер = Менеджеры[ТипЗначения];
|
||||||
Если Менеджер = Неопределено Тогда
|
Если Менеджер = Неопределено Тогда
|
||||||
@@ -3875,6 +3878,261 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
#Область РаботаСОписаниемТипов
|
||||||
|
|
||||||
|
Функция ОписаниеТиповВJSON(ЗначениеОписаниеТипов)
|
||||||
|
|
||||||
|
МассивТиповОписанияТипов = ЗначениеОписаниеТипов.Типы();
|
||||||
|
ЭтоСоставнойТип = (МассивТиповОписанияТипов.Количество() > 1);
|
||||||
|
|
||||||
|
ЗаписьJSON = Новый ЗаписьJSON;
|
||||||
|
ЗаписьJSON.УстановитьСтроку();
|
||||||
|
ЗаписьJSON.ЗаписатьНачалоОбъекта();
|
||||||
|
ЗаписьJSON.ЗаписатьИмяСвойства("TypeDescription");
|
||||||
|
|
||||||
|
ЗаписьJSON.ЗаписатьНачалоМассива();
|
||||||
|
|
||||||
|
ЗаписьJSON.ЗаписатьНачалоОбъекта();
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "multiple", Строка(ЭтоСоставнойТип));
|
||||||
|
ЗаписьJSON.ЗаписатьКонецОбъекта();
|
||||||
|
|
||||||
|
Для каждого ТипЗначенияОписанияТипов Из МассивТиповОписанияТипов Цикл
|
||||||
|
|
||||||
|
ТипОписания = ТипЗнч(ТипЗначенияОписанияТипов);
|
||||||
|
Если ТипОписания <> Тип("Тип") Тогда
|
||||||
|
|
||||||
|
Продолжить;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЗаписьJSON.ЗаписатьНачалоОбъекта();
|
||||||
|
|
||||||
|
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначенияОписанияТипов);
|
||||||
|
Если ОбъектМетаданных = Неопределено Тогда
|
||||||
|
|
||||||
|
СериализоватьОписаниеПримитивногоТипа(ЗаписьJSON, ТипЗначенияОписанияТипов, ЗначениеОписаниеТипов);
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
СериализоватьОписаниеСсылочногоТипа(ЗаписьJSON, ОбъектМетаданных);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЗаписьJSON.ЗаписатьКонецОбъекта();
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
ЗаписьJSON.ЗаписатьКонецМассива();
|
||||||
|
ЗаписьJSON.ЗаписатьКонецОбъекта(); // "TypeDescription"
|
||||||
|
|
||||||
|
Возврат ЗаписьJSON.Закрыть();
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ОписаниеТиповИзJSON(ТекстJSON)
|
||||||
|
|
||||||
|
ОписаниеТиповТипаЗначения = Новый ОписаниеТипов;
|
||||||
|
Если ПустаяСтрока(ТекстJSON) Тогда
|
||||||
|
|
||||||
|
Возврат ОписаниеТиповТипаЗначения;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
МассивИменОписанийТипов = Новый Массив;
|
||||||
|
|
||||||
|
ЧтениеJSON = Новый ЧтениеJSON;
|
||||||
|
ЧтениеJSON.УстановитьСтроку(ТекстJSON);
|
||||||
|
|
||||||
|
КвалификаторСтрокиДлина = 0;
|
||||||
|
КвалификаторСтрокиДопустимаяДлина = ДопустимаяДлина.Переменная;
|
||||||
|
|
||||||
|
КвалификаторЧислаРазрядность = 0;
|
||||||
|
КвалификаторЧислаРазрядностьДробнойЧасти = 0;
|
||||||
|
КвалификаторЧислаДопустимыйЗнак = ДопустимыйЗнак.Любой;
|
||||||
|
|
||||||
|
КвалификаторДатыЧастиДаты = ЧастиДаты.ДатаВремя;
|
||||||
|
|
||||||
|
Пока ЧтениеJSON.Прочитать() Цикл
|
||||||
|
|
||||||
|
Если ЧтениеJSON.ТипТекущегоЗначения = ТипЗначенияJSON.ИмяСвойства Тогда
|
||||||
|
|
||||||
|
Если ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("TypeDescription") Тогда
|
||||||
|
|
||||||
|
Продолжить;
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("multiple") Тогда
|
||||||
|
|
||||||
|
ЧтениеJSON.Прочитать();
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("typeFeatures") Тогда
|
||||||
|
|
||||||
|
ИмяТипаСтрокой = "";
|
||||||
|
|
||||||
|
ЧтениеJSON.Прочитать();
|
||||||
|
|
||||||
|
ИмяТипаСтрокой = СокрЛП(ЧтениеJSON.ТекущееЗначение);
|
||||||
|
Если ВРег(ИмяТипаСтрокой) = ВРег("String") Тогда
|
||||||
|
|
||||||
|
МассивИменОписанийТипов.Добавить(Тип("Строка"));
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ИмяТипаСтрокой) = ВРег("number") Тогда
|
||||||
|
|
||||||
|
МассивИменОписанийТипов.Добавить(Тип("Число"));
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ИмяТипаСтрокой) = ВРег("Date") Тогда
|
||||||
|
|
||||||
|
МассивИменОписанийТипов.Добавить(Тип("Дата"));
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ИмяТипаСтрокой) = ВРег("Boolean") Тогда
|
||||||
|
|
||||||
|
МассивИменОписанийТипов.Добавить(Тип("Булево"));
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
|
Попытка
|
||||||
|
|
||||||
|
// Обязательно необходимо использовать попытку, т.к. при переименовании объектов,
|
||||||
|
// например, ДоговорЛизинга (2.4) в ДоговорАренды (2.5) возникает ошибка получения типа.
|
||||||
|
МассивИменОписанийТипов.Добавить(Тип(ИмяТипаСтрокой));
|
||||||
|
|
||||||
|
Исключение
|
||||||
|
|
||||||
|
// Необходимо пропустить исключение для типов, которые переименованы или удалены
|
||||||
|
ТекстКомментария = НСтр("ru ='Метаданные не обнаружены: %1.'", ОбщегоНазначения.КодОсновногоЯзыка());
|
||||||
|
ТекстКомментария = СтрШаблон(ТекстКомментария, ИмяТипаСтрокой);
|
||||||
|
|
||||||
|
ЗаписьЖурналаРегистрацииОбменДанными(ТекстКомментария, УровеньЖурналаРегистрации.Предупреждение);
|
||||||
|
|
||||||
|
КонецПопытки;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("lengthStr") Тогда
|
||||||
|
|
||||||
|
ЧтениеJSON.Прочитать();
|
||||||
|
КвалификаторСтрокиДлина = Число(ЧтениеJSON.ТекущееЗначение);
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("typeStr") Тогда
|
||||||
|
|
||||||
|
ЧтениеJSON.Прочитать();
|
||||||
|
Если НЕ ПустаяСтрока(ЧтениеJSON.ТекущееЗначение) Тогда
|
||||||
|
|
||||||
|
КвалификаторСтрокиДопустимаяДлина = ДопустимаяДлина[ЧтениеJSON.ТекущееЗначение];
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("lengthInt") Тогда
|
||||||
|
|
||||||
|
ЧтениеJSON.Прочитать();
|
||||||
|
КвалификаторЧислаРазрядность = Число(ЧтениеJSON.ТекущееЗначение);
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("decimal") Тогда
|
||||||
|
|
||||||
|
ЧтениеJSON.Прочитать();
|
||||||
|
КвалификаторЧислаРазрядностьДробнойЧасти = Число(ЧтениеJSON.ТекущееЗначение);
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("sign") Тогда
|
||||||
|
|
||||||
|
ЧтениеJSON.Прочитать();
|
||||||
|
Если ВРег(ЧтениеJSON.ТекущееЗначение) <> ВРег("any") Тогда
|
||||||
|
|
||||||
|
КвалификаторЧислаДопустимыйЗнак = ДопустимыйЗнак.Неотрицательный;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("typeDate") Тогда
|
||||||
|
|
||||||
|
ЧтениеJSON.Прочитать();
|
||||||
|
Если ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("Data") Тогда
|
||||||
|
|
||||||
|
КвалификаторДатыЧастиДаты = ЧастиДаты.Дата;
|
||||||
|
|
||||||
|
ИначеЕсли ВРег(ЧтениеJSON.ТекущееЗначение) = ВРег("Time") Тогда
|
||||||
|
|
||||||
|
КвалификаторДатыЧастиДаты = ЧастиДаты.Время;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИначеЕсли ЧтениеJSON.ТипТекущегоЗначения = ТипЗначенияJSON.НачалоОбъекта
|
||||||
|
ИЛИ ЧтениеJSON.ТипТекущегоЗначения = ТипЗначенияJSON.НачалоМассива
|
||||||
|
ИЛИ ЧтениеJSON.ТипТекущегоЗначения = ТипЗначенияJSON.КонецОбъекта
|
||||||
|
ИЛИ ЧтениеJSON.ТипТекущегоЗначения = ТипЗначенияJSON.КонецМассива Тогда
|
||||||
|
|
||||||
|
Продолжить;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КвалификаторТипаСтрока = Новый КвалификаторыСтроки(КвалификаторСтрокиДлина, КвалификаторСтрокиДопустимаяДлина);
|
||||||
|
КвалификаторТипаЧисло = Новый КвалификаторыЧисла(КвалификаторЧислаРазрядность,КвалификаторЧислаРазрядностьДробнойЧасти,КвалификаторЧислаДопустимыйЗнак);
|
||||||
|
КвалификаторТипаДата = Новый КвалификаторыДаты(КвалификаторДатыЧастиДаты);
|
||||||
|
|
||||||
|
Возврат Новый ОписаниеТипов(МассивИменОписанийТипов, , , КвалификаторТипаЧисло, КвалификаторТипаСтрока, КвалификаторТипаДата);
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, ИмяСвойства, ЗначениеСвойства)
|
||||||
|
|
||||||
|
ЗаписьJSON.ЗаписатьИмяСвойства(ИмяСвойства);
|
||||||
|
ЗаписьJSON.ЗаписатьЗначение(ЗначениеСвойства);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура СериализоватьОписаниеПримитивногоТипа(ЗаписьJSON, ТипЗначенияОписанияТипов, ЗначениеОписаниеТипов)
|
||||||
|
|
||||||
|
Если ТипЗначенияОписанияТипов = Тип("Строка") Тогда
|
||||||
|
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "typeFeatures", "string");
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "lengthStr", Строка(ЗначениеОписаниеТипов.КвалификаторыСтроки.Длина));
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "typeStr", Строка(ЗначениеОписаниеТипов.КвалификаторыСтроки.ДопустимаяДлина));
|
||||||
|
|
||||||
|
ИначеЕсли ТипЗначенияОписанияТипов = Тип("Число") Тогда
|
||||||
|
|
||||||
|
ДопустимыйЗнакЧисла = ЗначениеОписаниеТипов.КвалификаторыЧисла.ДопустимыйЗнак;
|
||||||
|
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "typeFeatures", "number");
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "lengthInt", ЗначениеОписаниеТипов.КвалификаторыЧисла.Разрядность);
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "decimal", ЗначениеОписаниеТипов.КвалификаторыЧисла.РазрядностьДробнойЧасти);
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "sign", ?(ДопустимыйЗнакЧисла = ДопустимыйЗнак.Любой, "any", "non-negative"));
|
||||||
|
|
||||||
|
ИначеЕсли ТипЗначенияОписанияТипов = Тип("Дата") Тогда
|
||||||
|
|
||||||
|
ОписаниеЧастейДаты = "dateTime";
|
||||||
|
Если ЗначениеОписаниеТипов.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.Дата Тогда
|
||||||
|
|
||||||
|
ОписаниеЧастейДаты = "data";
|
||||||
|
|
||||||
|
ИначеЕсли ЗначениеОписаниеТипов.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.Время Тогда
|
||||||
|
|
||||||
|
ОписаниеЧастейДаты = "time";
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "typeFeatures", "date");
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "typeDate", ОписаниеЧастейДаты);
|
||||||
|
|
||||||
|
ИначеЕсли ТипЗначенияОписанияТипов = Тип("Булево") Тогда
|
||||||
|
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "typeFeatures", "boolean");
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура СериализоватьОписаниеСсылочногоТипа(ЗаписьJSON, ОбъектМетаданных)
|
||||||
|
|
||||||
|
ПолноеИмя = ОбъектМетаданных.ПолноеИмя();
|
||||||
|
ПолноеИмя = СтрЗаменить(ПолноеИмя, ".", "Ссылка.");
|
||||||
|
|
||||||
|
ДобавитьСвойствоИЗначениеJSON(ЗаписьJSON, "typeFeatures", ПолноеИмя);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -4085,6 +4343,10 @@
|
|||||||
|
|
||||||
Возврат XMLЗначение(Тип, Значение);
|
Возврат XMLЗначение(Тип, Значение);
|
||||||
|
|
||||||
|
ИначеЕсли (Тип = ТипОписаниеТипов) Тогда
|
||||||
|
|
||||||
|
Возврат ОписаниеТиповИзJSON(Значение);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Возврат одПолучитьЗначениеПоСтроке(Значение, Тип, ИскатьПоСвойству);
|
Возврат одПолучитьЗначениеПоСтроке(Значение, Тип, ИскатьПоСвойству);
|
||||||
@@ -7676,6 +7938,10 @@
|
|||||||
// Нужно определять свойство по соответствию.
|
// Нужно определять свойство по соответствию.
|
||||||
Возврат Неопределено;
|
Возврат Неопределено;
|
||||||
|
|
||||||
|
ИначеЕсли СтроковыйТипСвойства = "ОпределениеТипа" Тогда
|
||||||
|
|
||||||
|
Возврат Тип("ОписаниеТипов");
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Тип(СтроковыйТипСвойства);
|
Возврат Тип(СтроковыйТипСвойства);
|
||||||
@@ -9881,6 +10147,10 @@
|
|||||||
СтруктураСвойств = Менеджеры[ТипОбъекта];
|
СтруктураСвойств = Менеджеры[ТипОбъекта];
|
||||||
ИмяТипаОбъекта = СтруктураСвойств.ИмяТипа;
|
ИмяТипаОбъекта = СтруктураСвойств.ИмяТипа;
|
||||||
|
|
||||||
|
// Временный обход: запоминаем в таблицу значений движения документов
|
||||||
|
// по регистрам Бухгалтерии. После записи документа запишем движения.
|
||||||
|
//
|
||||||
|
ТаблицыОтложеннойЗаписиДвижений = Новый Соответствие;
|
||||||
|
|
||||||
Если ИмяТипаОбъекта = "Документ" Тогда
|
Если ИмяТипаОбъекта = "Документ" Тогда
|
||||||
|
|
||||||
@@ -10278,14 +10548,36 @@
|
|||||||
|
|
||||||
Если ИмяУзла = "ТабличнаяЧасть" Тогда
|
Если ИмяУзла = "ТабличнаяЧасть" Тогда
|
||||||
|
|
||||||
|
Если ЗагрузкаТабличнойЧастиПоддерживается(Объект, Имя) Тогда
|
||||||
|
|
||||||
// Загрузка элементов из табличной части.
|
// Загрузка элементов из табличной части.
|
||||||
ЗагрузитьТабличнуюЧасть(Объект, Имя, ИнформацияОТипах, ПараметрыОбъекта, Правило);
|
ЗагрузитьТабличнуюЧасть(Объект, Имя, ИнформацияОТипах, ПараметрыОбъекта, Правило);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ИначеЕсли ИмяУзла = "НаборЗаписей" Тогда
|
ИначеЕсли ИмяУзла = "НаборЗаписей" Тогда
|
||||||
|
|
||||||
// загрузка движений
|
// загрузка движений
|
||||||
ЗагрузитьДвижения(Объект, Имя, Не НеОчищать, ИнформацияОТипах, ПараметрыОбъекта, Правило);
|
ЗагрузитьДвижения(Объект, Имя, Не НеОчищать, ИнформацияОТипах, ПараметрыОбъекта, Правило);
|
||||||
|
|
||||||
|
// "Хозрасчетный","Международный"
|
||||||
|
Если Метаданные.РегистрыБухгалтерии.Найти(Имя) <> Неопределено Тогда
|
||||||
|
|
||||||
|
ЗагруженныеДвижения = Объект.Движения[Имя].Выгрузить();
|
||||||
|
Если ЗагруженныеДвижения.Количество() > 0 Тогда
|
||||||
|
|
||||||
|
// Обход ошибки платформы 30178033.
|
||||||
|
// Порядок субконто в записи регистра бухгалтерии не соответствует порядку,
|
||||||
|
// который указан в счете учета.
|
||||||
|
УстранитьОшибкуНазначенияВидаСубконто(ЗагруженныеДвижения);
|
||||||
|
|
||||||
|
ТаблицыОтложеннойЗаписиДвижений.Вставить(Имя, ЗагруженныеДвижения);
|
||||||
|
Объект.Движения[Имя].Очистить();
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ИначеЕсли (ИмяУзла = "Объект") И (ФайлОбмена.ТипУзла = ТипУзлаXMLКонецЭлемента) Тогда
|
ИначеЕсли (ИмяУзла = "Объект") И (ФайлОбмена.ТипУзла = ТипУзлаXMLКонецЭлемента) Тогда
|
||||||
@@ -10443,6 +10735,8 @@
|
|||||||
|
|
||||||
ЗаписатьОбъектВИБ(Объект, ТипОбъекта, ЗаписатьОбъект, ОтправкаНазад);
|
ЗаписатьОбъектВИБ(Объект, ТипОбъекта, ЗаписатьОбъект, ОтправкаНазад);
|
||||||
|
|
||||||
|
ЗаписатьРегистрыБухгалтерии(Объект.Ссылка, ТаблицыОтложеннойЗаписиДвижений);
|
||||||
|
|
||||||
Если ЗаписатьОбъект
|
Если ЗаписатьОбъект
|
||||||
И Объект <> Неопределено
|
И Объект <> Неопределено
|
||||||
И Объект.Ссылка <> Неопределено Тогда
|
И Объект.Ссылка <> Неопределено Тогда
|
||||||
@@ -10628,6 +10922,165 @@
|
|||||||
ВызватьИсключение НСтр("ru = 'Синхронизация данных по старой настройке отменена.'");
|
ВызватьИсключение НСтр("ru = 'Синхронизация данных по старой настройке отменена.'");
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция ЗагрузкаТабличнойЧастиПоддерживается(Объект, ИмяТабличнойЧасти)
|
||||||
|
|
||||||
|
МетаданныеОбъекта = Объект.Метаданные();
|
||||||
|
Если НЕ Метаданные.Справочники.Содержит(МетаданныеОбъекта)
|
||||||
|
И НЕ Метаданные.ПланыВидовХарактеристик.Содержит(МетаданныеОбъекта) Тогда
|
||||||
|
|
||||||
|
Возврат Истина;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ДляЭлемента = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляЭлемента;
|
||||||
|
Если Объект.ЭтоГруппа
|
||||||
|
И МетаданныеОбъекта.ТабличныеЧасти[ИмяТабличнойЧасти].Использование = ДляЭлемента Тогда
|
||||||
|
|
||||||
|
Возврат Ложь;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат Истина;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Процедура ЗаписатьРегистрыБухгалтерии(Регистратор, ТаблицыОтложеннойЗаписиДвижений)
|
||||||
|
|
||||||
|
Если НЕ ЗначениеЗаполнено(Регистратор.Ссылка) Тогда
|
||||||
|
|
||||||
|
Возврат;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Для каждого ОписаниеТаблицыДвижений Из ТаблицыОтложеннойЗаписиДвижений Цикл
|
||||||
|
|
||||||
|
ИмяРегистра = ОписаниеТаблицыДвижений.Ключ;
|
||||||
|
ТаблицаДвижений = ОписаниеТаблицыДвижений.Значение;
|
||||||
|
|
||||||
|
Если ТипЗнч(ТаблицаДвижений) <> Тип("ТаблицаЗначений")
|
||||||
|
ИЛИ ТаблицаДвижений.Количество() < 1 Тогда
|
||||||
|
|
||||||
|
Продолжить;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
НаборЗаписейРегистра = РегистрыБухгалтерии[ИмяРегистра].СоздатьНаборЗаписей();
|
||||||
|
НаборЗаписейРегистра.Отбор.Регистратор.Установить(Регистратор, Истина);
|
||||||
|
Для каждого СтрокаТаблицы Из ТаблицаДвижений Цикл
|
||||||
|
|
||||||
|
ЗаписьНабора = НаборЗаписейРегистра.Добавить();
|
||||||
|
ЗаполнитьЗначенияСвойств(ЗаписьНабора, СтрокаТаблицы);
|
||||||
|
|
||||||
|
НомерСубконтоДт = 0;
|
||||||
|
Для каждого ОписаниеВидаСубконтоДт Из ЗаписьНабора.СчетДт.ВидыСубконто Цикл
|
||||||
|
|
||||||
|
НомерСубконтоДт = НомерСубконтоДт + 1;
|
||||||
|
ЗаписьНабора.СубконтоДт[ОписаниеВидаСубконтоДт.ВидСубконто] = СтрокаТаблицы["СубконтоДт" + Строка(НомерСубконтоДт)];
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
НомерСубконтоКт = 0;
|
||||||
|
Для каждого ОписаниеВидаСубконтоКт Из ЗаписьНабора.СчетКт.ВидыСубконто Цикл
|
||||||
|
|
||||||
|
НомерСубконтоКт = НомерСубконтоКт + 1;
|
||||||
|
ЗаписьНабора.СубконтоКт[ОписаниеВидаСубконтоКт.ВидСубконто] = СтрокаТаблицы["СубконтоКт" + Строка(НомерСубконтоКт)];
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
ОбновлениеИнформационнойБазы.ЗаписатьНаборЗаписей(НаборЗаписейРегистра, Истина, Ложь, Ложь);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура ПроверитьКоллекциюСубконто(СтрокаТаблицы, ЗначенияДоИсправления, Направление, ЕстьОшибка)
|
||||||
|
|
||||||
|
КоллекцияВидовСубконто = СтрокаТаблицы["Счет" + Направление].ВидыСубконто;
|
||||||
|
|
||||||
|
Для каждого ВидСубконтоИзКоллекции Из КоллекцияВидовСубконто Цикл
|
||||||
|
|
||||||
|
ТипСубконто = Направление + Строка(ВидСубконтоИзКоллекции.НомерСтроки);
|
||||||
|
|
||||||
|
ИмяСубконто = "Субконто" + ТипСубконто;
|
||||||
|
ИмяВидыСубконто = "ВидСубконто" + ТипСубконто;
|
||||||
|
|
||||||
|
ОписаниеСубконто = Новый Структура;
|
||||||
|
ОписаниеСубконто.Вставить("ЕстьОшибка", Ложь);
|
||||||
|
ОписаниеСубконто.Вставить("Субконто", СтрокаТаблицы[ИмяСубконто]);
|
||||||
|
ОписаниеСубконто.Вставить("ВидСубконто", СтрокаТаблицы[ИмяВидыСубконто]);
|
||||||
|
|
||||||
|
Если СтрокаТаблицы[ИмяВидыСубконто] <> ВидСубконтоИзКоллекции.ВидСубконто Тогда
|
||||||
|
|
||||||
|
ОписаниеСубконто.ЕстьОшибка = Истина;
|
||||||
|
|
||||||
|
СтрокаТаблицы[ИмяСубконто] = Неопределено;
|
||||||
|
СтрокаТаблицы[ИмяВидыСубконто] = ВидСубконтоИзКоллекции.ВидСубконто;
|
||||||
|
|
||||||
|
ЕстьОшибка = Истина;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ЗначенияДоИсправления.Вставить(ТипСубконто, ОписаниеСубконто);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура УстранитьОшибкуНазначенияВидаСубконто(ЗагруженныеДвижения)
|
||||||
|
|
||||||
|
Для каждого СтрокаТаблицы Из ЗагруженныеДвижения Цикл
|
||||||
|
|
||||||
|
ЕстьОшибка = Ложь;
|
||||||
|
|
||||||
|
ЗначенияДоИсправления = Новый Соответствие;
|
||||||
|
|
||||||
|
ПроверитьКоллекциюСубконто(СтрокаТаблицы, ЗначенияДоИсправления, "Дт", ЕстьОшибка);
|
||||||
|
ПроверитьКоллекциюСубконто(СтрокаТаблицы, ЗначенияДоИсправления, "Кт", ЕстьОшибка);
|
||||||
|
|
||||||
|
Если ЕстьОшибка Тогда
|
||||||
|
|
||||||
|
Для каждого ЭлементСоответствия Из ЗначенияДоИсправления Цикл
|
||||||
|
|
||||||
|
ОписаниеСубконто = ЭлементСоответствия.Значение;
|
||||||
|
Если НЕ ОписаниеСубконто.ЕстьОшибка Тогда
|
||||||
|
|
||||||
|
Продолжить;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ИмяВидаСубконтоИсправляемого = "ВидСубконто" + ЭлементСоответствия.Ключ;
|
||||||
|
|
||||||
|
Для каждого АльтернативныйЭлемент Из ЗначенияДоИсправления Цикл
|
||||||
|
|
||||||
|
АльтернативноеОписание = АльтернативныйЭлемент.Значение;
|
||||||
|
Если НЕ АльтернативноеОписание.ЕстьОшибка
|
||||||
|
ИЛИ ЭлементСоответствия.Ключ = АльтернативныйЭлемент.Ключ Тогда
|
||||||
|
|
||||||
|
Продолжить;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ТипЗначенияСубконто = СтрокаТаблицы[ИмяВидаСубконтоИсправляемого].ТипЗначения;
|
||||||
|
Если СтрокаТаблицы[ИмяВидаСубконтоИсправляемого] = АльтернативноеОписание.ВидСубконто
|
||||||
|
И ТипЗначенияСубконто.СодержитТип(ТипЗнч(АльтернативноеОписание["Субконто"])) Тогда
|
||||||
|
|
||||||
|
СтрокаТаблицы["Субконто" + ЭлементСоответствия.Ключ] = АльтернативноеОписание["Субконто"];
|
||||||
|
Прервать;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ПроцедурыВыгрузкиДанных
|
#Область ПроцедурыВыгрузкиДанных
|
||||||
@@ -11230,6 +11683,13 @@
|
|||||||
|
|
||||||
Значение = ОбъектДляПолученияДанных[ИмяСвойства];
|
Значение = ОбъектДляПолученияДанных[ИмяСвойства];
|
||||||
|
|
||||||
|
// Для ОписанияТипов дополнительно конвертируем значением в JSON
|
||||||
|
Если ПКС.ТипИсточника = "ОпределениеТипа" Тогда
|
||||||
|
|
||||||
|
Значение = ОписаниеТиповВJSON(Значение);
|
||||||
|
|
||||||
|
КонецЕсли
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
|
|
||||||
Если КодОшибки <> 14 Тогда
|
Если КодОшибки <> 14 Тогда
|
||||||
@@ -11667,6 +12127,10 @@
|
|||||||
|
|
||||||
Значение = Строка(Значение);
|
Значение = Строка(Значение);
|
||||||
|
|
||||||
|
ИначеЕсли ТипЗначения = ТипОписаниеТипов Тогда
|
||||||
|
|
||||||
|
Значение = Строка(Значение);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
СвойствоУстановлено = Ложь;
|
СвойствоУстановлено = Ложь;
|
||||||
@@ -14102,6 +14566,7 @@
|
|||||||
ТипВидСчета = Тип("ВидСчета");
|
ТипВидСчета = Тип("ВидСчета");
|
||||||
ТипТип = Тип("Тип");
|
ТипТип = Тип("Тип");
|
||||||
ТипСоответствие = Тип("Соответствие");
|
ТипСоответствие = Тип("Соответствие");
|
||||||
|
ТипОписаниеТипов = Тип("ОписаниеТипов");
|
||||||
|
|
||||||
ТипСтрока36 = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(36));
|
ТипСтрока36 = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(36));
|
||||||
ТипСтрока255 = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(255));
|
ТипСтрока255 = Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(255));
|
||||||
@@ -15468,8 +15933,19 @@
|
|||||||
ПравилаОбмена.Прочитать();
|
ПравилаОбмена.Прочитать();
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
|
Если ПравилаОбмена.Значение = "ОпределениеТипа" Тогда
|
||||||
|
|
||||||
|
СоответствиеТипа.Вставить(ИмяУзла, Тип("ОписаниеТипов")); // Необходимо привести JSON к ОписаниеТипов
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
СоответствиеТипа.Вставить(ИмяУзла, Тип(ПравилаОбмена.Значение));
|
СоответствиеТипа.Вставить(ИмяУзла, Тип(ПравилаОбмена.Значение));
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПравилаОбмена.Прочитать();
|
ПравилаОбмена.Прочитать();
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ЗагрузитьСоответствиеТиповДляОдногоТипа(ПравилаОбмена, СоответствиеТипа);
|
ЗагрузитьСоответствиеТиповДляОдногоТипа(ПравилаОбмена, СоответствиеТипа);
|
||||||
@@ -15500,8 +15976,19 @@
|
|||||||
ЗагрузитьОдинТипДанных(ПравилаОбмена, НовоеСоответствие, ПравилаОбмена.ЛокальноеИмя);
|
ЗагрузитьОдинТипДанных(ПравилаОбмена, НовоеСоответствие, ПравилаОбмена.ЛокальноеИмя);
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
|
Если ПравилаОбмена.Значение = "ОпределениеТипа" Тогда
|
||||||
|
|
||||||
|
СоответствиеТипа.Вставить(ИмяУзла, Тип("ОписаниеТипов")); // Необходимо привести JSON к ОписаниеТипов
|
||||||
|
|
||||||
|
Иначе
|
||||||
|
|
||||||
СоответствиеТипа.Вставить(ИмяУзла, Тип(ПравилаОбмена.Значение));
|
СоответствиеТипа.Вставить(ИмяУзла, Тип(ПравилаОбмена.Значение));
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
ПравилаОбмена.Прочитать();
|
ПравилаОбмена.Прочитать();
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|||||||
+5
-3
@@ -643,9 +643,11 @@
|
|||||||
|ГДЕ
|
|ГДЕ
|
||||||
| НЕ ОбновлениеИнформационнойБазы.ЭтотУзел";
|
| НЕ ОбновлениеИнформационнойБазы.ЭтотУзел";
|
||||||
|
|
||||||
Выборка = Запрос.Выполнить().Выбрать();
|
Выгрузка = Запрос.Выполнить().Выгрузить();
|
||||||
Пока Выборка.Следующий() Цикл
|
УзлыОбмена = Выгрузка.ВыгрузитьКолонку("Узел");
|
||||||
ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Узел);
|
|
||||||
|
Для Каждого ЭлементСостава Из Метаданные.ПланыОбмена.ОбновлениеИнформационнойБазы.Состав Цикл
|
||||||
|
ПланыОбмена.УдалитьРегистрациюИзменений(УзлыОбмена, ЭлементСостава.Метаданные);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
// Хранит идентификатор настроек варианта отчета.
|
// Хранит идентификатор настроек варианта отчета.
|
||||||
// Также см. Синтакс-помощник.
|
// Также см. Синтакс-помощник.
|
||||||
Перем КлючРодительскогоВарианта; // Строка
|
Перем КлючРодительскогоВарианта; // Строка
|
||||||
Перем СвойстваРегистров; // см. ПалитраСвойствРегистров
|
Перем СвойстваРегистров; // см. НовыеСвойстваРегистров
|
||||||
Перем Примечания; // см. ПалитраСвойствПримечаний
|
Перем Примечания; // см. ПалитраСвойствПримечаний
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@@ -346,26 +346,21 @@
|
|||||||
НаборДанных.Вставить("Нумератор", Новый Структура);
|
НаборДанных.Вставить("Нумератор", Новый Структура);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
НаборДанных.СтандартныеРеквизиты = ИменаПредставленияПолей(МетаданныеРегистра.СтандартныеРеквизиты, "НомерСтроки, Регистратор");
|
РеквизитыИсключения = ОбщегоНазначенияКлиентСервер.МассивЗначений("НомерСтроки", "Регистратор");
|
||||||
|
НаборДанных.СтандартныеРеквизиты = ИменаПредставленияПолей(МетаданныеРегистра.СтандартныеРеквизиты, РеквизитыИсключения);
|
||||||
НаборДанных.Измерения = ИменаПредставленияПолей(МетаданныеРегистра.Измерения);
|
НаборДанных.Измерения = ИменаПредставленияПолей(МетаданныеРегистра.Измерения);
|
||||||
НаборДанных.Ресурсы = ИменаПредставленияПолей(МетаданныеРегистра.Ресурсы);
|
НаборДанных.Ресурсы = ИменаПредставленияПолей(МетаданныеРегистра.Ресурсы);
|
||||||
НаборДанных.Реквизиты = ИменаПредставленияПолей(МетаданныеРегистра.Реквизиты);
|
НаборДанных.Реквизиты = ИменаПредставленияПолей(МетаданныеРегистра.Реквизиты);
|
||||||
|
|
||||||
ПоляВыбора = "";
|
ПоляВыбора = Новый Массив;
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.СтандартныеРеквизиты, МетаданныеРегистра);
|
ДобавитьПоля(ПоляВыбора, НаборДанных.СтандартныеРеквизиты, МетаданныеРегистра);
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.Измерения, МетаданныеРегистра, "Измерения");
|
ДобавитьПоля(ПоляВыбора, НаборДанных.Измерения, МетаданныеРегистра, "Измерения");
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.Ресурсы, МетаданныеРегистра, "Ресурсы");
|
ДобавитьПоля(ПоляВыбора, НаборДанных.Ресурсы, МетаданныеРегистра, "Ресурсы");
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.Реквизиты, МетаданныеРегистра, "Реквизиты");
|
ДобавитьПоля(ПоляВыбора, НаборДанных.Реквизиты, МетаданныеРегистра, "Реквизиты");
|
||||||
|
|
||||||
Если ДополнительнаяНумерация Тогда
|
Если ДополнительнаяНумерация Тогда
|
||||||
|
|
||||||
НаборДанных.Нумератор = НомераПолей(НаборДанных);
|
НаборДанных.Нумератор = НомераПолей(НаборДанных);
|
||||||
ДобавитьНомераПолей(ПоляВыбора, НаборДанных.Нумератор);
|
ДобавитьНомераПолей(ПоляВыбора, НаборДанных.Нумератор);
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если СокрЛП(Прав(ПоляВыбора, 2)) = "," Тогда
|
|
||||||
ПоляВыбора = Лев(ПоляВыбора, СтрДлина(ПоляВыбора) - 2);
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ТекстЗапроса =
|
ТекстЗапроса =
|
||||||
@@ -381,7 +376,7 @@
|
|||||||
| ""&ИмяГруппировки"" В (&СписокРегистров)}";
|
| ""&ИмяГруппировки"" В (&СписокРегистров)}";
|
||||||
|
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяРегистра", СвойстваРегистра.ИмяГруппировки);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяРегистра", СвойстваРегистра.ИмяГруппировки);
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Поля", ПоляВыбора);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Поля", СтрСоединить(ПоляВыбора, "," + Символы.ПС + Символы.Таб));
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекущаяТаблица", СвойстваРегистра.ПолноеИмяРегистра);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекущаяТаблица", СвойстваРегистра.ПолноеИмяРегистра);
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяПоляРегистратора", СвойстваРегистра.ИмяПоляРегистратора);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяПоляРегистратора", СвойстваРегистра.ИмяПоляРегистратора);
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяГруппировки", СвойстваРегистра.ИмяГруппировки);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяГруппировки", СвойстваРегистра.ИмяГруппировки);
|
||||||
@@ -413,71 +408,65 @@
|
|||||||
НаборДанных.Вставить("ПредставлениеРегистра", СвойстваРегистра.ПредставлениеРегистра);
|
НаборДанных.Вставить("ПредставлениеРегистра", СвойстваРегистра.ПредставлениеРегистра);
|
||||||
|
|
||||||
МаксимальноеКоличествоСубконто = МетаданныеРегистра.ПланСчетов.МаксКоличествоСубконто;
|
МаксимальноеКоличествоСубконто = МетаданныеРегистра.ПланСчетов.МаксКоличествоСубконто;
|
||||||
КорреспонденцияОбъекта = МетаданныеРегистра.Корреспонденция;
|
|
||||||
|
|
||||||
ЛокализацияДебет = НСтр("ru = 'Дт'");
|
ПредставлениеДебет = НСтр("ru = 'Дт'");
|
||||||
ЛокализацияКредит = НСтр("ru = 'Кт'");
|
ПредставлениеКредит = НСтр("ru = 'Кт'");
|
||||||
ЛокализацияСубконто = НСтр("ru = 'Субконто'");
|
ПредставлениеСубконто = НСтр("ru = 'Субконто'");
|
||||||
ЛокализацияСчет = НСтр("ru = 'Счет'");
|
ПредставлениеСчет = НСтр("ru = 'Счет'");
|
||||||
|
|
||||||
СтандартныеРеквизитыИсключения = "НомерСтроки, Регистратор, Счет";
|
РеквизитыИсключения = ОбщегоНазначенияКлиентСервер.МассивЗначений(
|
||||||
|
"НомерСтроки", "Регистратор", "Счет");
|
||||||
Для ИндексСубконто = 1 По МаксимальноеКоличествоСубконто Цикл
|
Для ИндексСубконто = 1 По МаксимальноеКоличествоСубконто Цикл
|
||||||
ИндексСубконтоСтрокой = Формат(ИндексСубконто, "ЧГ=0");
|
ИндексСубконтоСтрокой = Формат(ИндексСубконто, "ЧГ=0");
|
||||||
СтандартныеРеквизитыИсключения = СтандартныеРеквизитыИсключения
|
РеквизитыИсключения.Добавить("ВидСубконто" + ИндексСубконтоСтрокой);
|
||||||
+ ", " + "ВидСубконто" + ИндексСубконтоСтрокой + ", Субконто" + ИндексСубконтоСтрокой;
|
РеквизитыИсключения.Добавить("Субконто" + ИндексСубконтоСтрокой);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
НаборДанных.СтандартныеРеквизиты = ИменаПредставленияПолей(МетаданныеРегистра.СтандартныеРеквизиты, РеквизитыИсключения);
|
||||||
|
НаборДанных.Реквизиты = ИменаПредставленияПолей(МетаданныеРегистра.Реквизиты, РеквизитыИсключения);
|
||||||
|
|
||||||
НаборДанных.СтандартныеРеквизиты = ИменаПредставленияПолей(МетаданныеРегистра.СтандартныеРеквизиты,
|
Для Каждого Ресурс Из МетаданныеРегистра.Ресурсы Цикл
|
||||||
СтандартныеРеквизитыИсключения);
|
|
||||||
НаборДанных.Реквизиты = ИменаПредставленияПолей(МетаданныеРегистра.Реквизиты,
|
|
||||||
СтандартныеРеквизитыИсключения);
|
|
||||||
|
|
||||||
Ресурсы = МетаданныеРегистра.Ресурсы;
|
Если Ресурс.Балансовый Или Не МетаданныеРегистра.Корреспонденция Тогда
|
||||||
Для Каждого Ресурс Из Ресурсы Цикл
|
|
||||||
|
|
||||||
Если Ресурс.Балансовый Или Не КорреспонденцияОбъекта Тогда
|
|
||||||
НаборДанных.Ресурсы.Вставить(Ресурс.Имя, Ресурс.Представление());
|
НаборДанных.Ресурсы.Вставить(Ресурс.Имя, Ресурс.Представление());
|
||||||
Иначе
|
Иначе
|
||||||
НаборДанных.РесурсыДт.Вставить(Ресурс.Имя + "Дт", Ресурс.Представление() + " " + ЛокализацияДебет);
|
НаборДанных.РесурсыДт.Вставить(Ресурс.Имя + "Дт", Ресурс.Представление() + " " + ПредставлениеДебет);
|
||||||
НаборДанных.РесурсыКт.Вставить(Ресурс.Имя + "Кт", Ресурс.Представление() + " " + ЛокализацияКредит);
|
НаборДанных.РесурсыКт.Вставить(Ресурс.Имя + "Кт", Ресурс.Представление() + " " + ПредставлениеКредит);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Для ИндексСубконто = 1 По МаксимальноеКоличествоСубконто Цикл
|
Для ИндексСубконто = 1 По МаксимальноеКоличествоСубконто Цикл
|
||||||
|
|
||||||
Если КорреспонденцияОбъекта Тогда
|
Если МетаданныеРегистра.Корреспонденция Тогда
|
||||||
ИндексСтрокой = Формат(ИндексСубконто, "ЧГ=0");
|
ИндексСтрокой = Формат(ИндексСубконто, "ЧГ=0");
|
||||||
НаборДанных.СубконтоДт.Вставить("СубконтоДт" + ИндексСтрокой,
|
НаборДанных.СубконтоДт.Вставить("СубконтоДт" + ИндексСтрокой,
|
||||||
ЛокализацияСубконто + " " + ЛокализацияДебет + " " + ИндексСтрокой);
|
ПредставлениеСубконто + " " + ПредставлениеДебет + " " + ИндексСтрокой);
|
||||||
НаборДанных.СубконтоКт.Вставить("СубконтоКт" + ИндексСтрокой,
|
НаборДанных.СубконтоКт.Вставить("СубконтоКт" + ИндексСтрокой,
|
||||||
ЛокализацияСубконто + " " + ЛокализацияКредит + " " + ИндексСтрокой);
|
ПредставлениеСубконто + " " + ПредставлениеКредит + " " + ИндексСтрокой);
|
||||||
Иначе
|
Иначе
|
||||||
НаборДанных.Субконто.Вставить("Субконто" + ИндексСтрокой, ЛокализацияСубконто + " " + ИндексСтрокой);
|
НаборДанных.Субконто.Вставить("Субконто" + ИндексСтрокой, ПредставлениеСубконто + " " + ИндексСтрокой);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Если КорреспонденцияОбъекта Тогда
|
Если МетаданныеРегистра.Корреспонденция Тогда
|
||||||
НаборДанных.ИзмеренияДт.Вставить("СчетДт", ЛокализацияСчет + " " + ЛокализацияДебет);
|
НаборДанных.ИзмеренияДт.Вставить("СчетДт", ПредставлениеСчет + " " + ПредставлениеДебет);
|
||||||
НаборДанных.ИзмеренияКт.Вставить("СчетКт", ЛокализацияСчет + " " + ЛокализацияКредит);
|
НаборДанных.ИзмеренияКт.Вставить("СчетКт", ПредставлениеСчет + " " + ПредставлениеКредит);
|
||||||
Иначе
|
|
||||||
НаборДанных.Измерения.Вставить("Счет", ЛокализацияСчет);
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Измерения = МетаданныеРегистра.Измерения;
|
Измерения = МетаданныеРегистра.Измерения;
|
||||||
Для Каждого Измерение Из Измерения Цикл
|
Для Каждого Измерение Из Измерения Цикл
|
||||||
|
|
||||||
Если Измерение.Балансовый Или Не КорреспонденцияОбъекта Тогда
|
Если Измерение.Балансовый Или Не МетаданныеРегистра.Корреспонденция Тогда
|
||||||
НаборДанных.Измерения.Вставить(Измерение.Имя, Измерение.Представление());
|
НаборДанных.Измерения.Вставить(Измерение.Имя, Измерение.Представление());
|
||||||
Иначе
|
Иначе
|
||||||
НаборДанных.ИзмеренияДт.Вставить(Измерение.Имя + "Дт", Измерение.Представление() + " " + ЛокализацияДебет);
|
НаборДанных.ИзмеренияДт.Вставить(Измерение.Имя + "Дт", Измерение.Представление() + " " + ПредставлениеДебет);
|
||||||
НаборДанных.ИзмеренияКт.Вставить(Измерение.Имя + "Кт", Измерение.Представление() + " " + ЛокализацияКредит);
|
НаборДанных.ИзмеренияКт.Вставить(Измерение.Имя + "Кт", Измерение.Представление() + " " + ПредставлениеКредит);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
ПоляВыбора = "";
|
ПоляВыбора = Новый Массив;
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.СтандартныеРеквизиты, МетаданныеРегистра);
|
ДобавитьПоля(ПоляВыбора, НаборДанных.СтандартныеРеквизиты, МетаданныеРегистра);
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.Реквизиты, МетаданныеРегистра, "Реквизиты");
|
ДобавитьПоля(ПоляВыбора, НаборДанных.Реквизиты, МетаданныеРегистра, "Реквизиты");
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.Измерения, МетаданныеРегистра, "Измерения");
|
ДобавитьПоля(ПоляВыбора, НаборДанных.Измерения, МетаданныеРегистра, "Измерения");
|
||||||
@@ -486,14 +475,12 @@
|
|||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.Ресурсы, МетаданныеРегистра, "Ресурсы");
|
ДобавитьПоля(ПоляВыбора, НаборДанных.Ресурсы, МетаданныеРегистра, "Ресурсы");
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.РесурсыДт, МетаданныеРегистра);
|
ДобавитьПоля(ПоляВыбора, НаборДанных.РесурсыДт, МетаданныеРегистра);
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.РесурсыКт, МетаданныеРегистра);
|
ДобавитьПоля(ПоляВыбора, НаборДанных.РесурсыКт, МетаданныеРегистра);
|
||||||
|
Если МетаданныеРегистра.Корреспонденция Тогда
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.Субконто, МетаданныеРегистра, "Субконто");
|
ДобавитьПоля(ПоляВыбора, НаборДанных.Субконто, МетаданныеРегистра, "Субконто");
|
||||||
|
КонецЕсли;
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.СубконтоДт, МетаданныеРегистра);
|
ДобавитьПоля(ПоляВыбора, НаборДанных.СубконтоДт, МетаданныеРегистра);
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.СубконтоКт, МетаданныеРегистра);
|
ДобавитьПоля(ПоляВыбора, НаборДанных.СубконтоКт, МетаданныеРегистра);
|
||||||
|
|
||||||
Если СокрЛП(Прав(ПоляВыбора, 2)) = "," Тогда
|
|
||||||
ПоляВыбора = Лев(ПоляВыбора, СтрДлина(ПоляВыбора) - 2);
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ТекстЗапроса =
|
ТекстЗапроса =
|
||||||
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
||||||
| 1 КАК КоличествоЗаписейРегистра,
|
| 1 КАК КоличествоЗаписейРегистра,
|
||||||
@@ -507,7 +494,7 @@
|
|||||||
| (""&ИмяГруппировки"" В (&СписокРегистров))}";
|
| (""&ИмяГруппировки"" В (&СписокРегистров))}";
|
||||||
|
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяРегистра", СвойстваРегистра.ИмяГруппировки);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяРегистра", СвойстваРегистра.ИмяГруппировки);
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Поля", ПоляВыбора);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Поля", СтрСоединить(ПоляВыбора, "," + Символы.ПС + Символы.Таб));
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекущаяТаблица",
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекущаяТаблица",
|
||||||
СтрШаблон("РегистрБухгалтерии.%1.ДвиженияССубконто(, , %2 = &ДокументВладелец)",
|
СтрШаблон("РегистрБухгалтерии.%1.ДвиженияССубконто(, , %2 = &ДокументВладелец)",
|
||||||
СвойстваРегистра.ИмяРегистра, СвойстваРегистра.ИмяПоляРегистратора));
|
СвойстваРегистра.ИмяРегистра, СвойстваРегистра.ИмяПоляРегистратора));
|
||||||
@@ -545,21 +532,15 @@
|
|||||||
НаборДанных.Ресурсы = ИменаПредставленияПолей(МетаданныеРегистра.Ресурсы);
|
НаборДанных.Ресурсы = ИменаПредставленияПолей(МетаданныеРегистра.Ресурсы);
|
||||||
НаборДанных.Реквизиты = ИменаПредставленияПолей(МетаданныеРегистра.Реквизиты);
|
НаборДанных.Реквизиты = ИменаПредставленияПолей(МетаданныеРегистра.Реквизиты);
|
||||||
|
|
||||||
ПоляВыбора = "";
|
ПоляВыбора = Новый Массив;
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.СтандартныеРеквизиты, МетаданныеРегистра);
|
ДобавитьПоля(ПоляВыбора, НаборДанных.СтандартныеРеквизиты, МетаданныеРегистра);
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.Измерения, МетаданныеРегистра, "Измерения");
|
ДобавитьПоля(ПоляВыбора, НаборДанных.Измерения, МетаданныеРегистра, "Измерения");
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.Ресурсы, МетаданныеРегистра, "Ресурсы");
|
ДобавитьПоля(ПоляВыбора, НаборДанных.Ресурсы, МетаданныеРегистра, "Ресурсы");
|
||||||
ДобавитьПоля(ПоляВыбора, НаборДанных.Реквизиты, МетаданныеРегистра, "Реквизиты");
|
ДобавитьПоля(ПоляВыбора, НаборДанных.Реквизиты, МетаданныеРегистра, "Реквизиты");
|
||||||
|
|
||||||
Если ДополнительнаяНумерация Тогда
|
Если ДополнительнаяНумерация Тогда
|
||||||
|
|
||||||
НаборДанных.Нумератор = НомераПолей(НаборДанных);
|
НаборДанных.Нумератор = НомераПолей(НаборДанных);
|
||||||
ДобавитьНомераПолей(ПоляВыбора, НаборДанных.Нумератор);
|
ДобавитьНомераПолей(ПоляВыбора, НаборДанных.Нумератор);
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
Если СокрЛП(Прав(ПоляВыбора, 2)) = "," Тогда
|
|
||||||
ПоляВыбора = Лев(ПоляВыбора, СтрДлина(ПоляВыбора) - 2);
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ТекстЗапроса =
|
ТекстЗапроса =
|
||||||
@@ -575,7 +556,7 @@
|
|||||||
| ""&ИмяГруппировки"" В (&СписокРегистров)}";
|
| ""&ИмяГруппировки"" В (&СписокРегистров)}";
|
||||||
|
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяРегистра", СвойстваРегистра.ИмяГруппировки);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяРегистра", СвойстваРегистра.ИмяГруппировки);
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Поля", ПоляВыбора);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Поля", СтрСоединить(ПоляВыбора, "," + Символы.ПС + Символы.Таб));
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекущаяТаблица", СвойстваРегистра.ПолноеИмяРегистра);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ТекущаяТаблица", СвойстваРегистра.ПолноеИмяРегистра);
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяПоляРегистратора", СвойстваРегистра.ИмяПоляРегистратора);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяПоляРегистратора", СвойстваРегистра.ИмяПоляРегистратора);
|
||||||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяГруппировки", СвойстваРегистра.ИмяГруппировки);
|
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяГруппировки", СвойстваРегистра.ИмяГруппировки);
|
||||||
@@ -586,11 +567,10 @@
|
|||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Процедура ДобавитьНомераПолей(ТекстНомеровПолей, Нумераторы)
|
Процедура ДобавитьНомераПолей(СписокПолей, Нумераторы)
|
||||||
|
|
||||||
Для Каждого Нумератор Из Нумераторы Цикл
|
Для Каждого Нумератор Из Нумераторы Цикл
|
||||||
ТекстНомеровПолей = ТекстНомеровПолей + ?(ЗначениеЗаполнено(ТекстНомеровПолей), ", ", "") + Нумератор.Значение + " Как "
|
СписокПолей.Добавить(Нумератор.Значение + " КАК " + Нумератор.Ключ); // @query-part
|
||||||
+ Нумератор.Ключ;
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -1361,25 +1341,20 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ДобавитьПоля(ТекстПолейВыбора, ИменаПредставленияПолей, ДвижениеДокумента, ИмяКоллекции = "")
|
Процедура ДобавитьПоля(СписокПолей, Знач ИменаПредставленияПолей, Знач МетаданныеРегистра, Знач ИмяКоллекции = "")
|
||||||
|
|
||||||
Для Каждого Поле Из ИменаПредставленияПолей Цикл
|
Для Каждого Поле Из ИменаПредставленияПолей Цикл
|
||||||
|
|
||||||
Если Не ЗначениеЗаполнено(ИмяКоллекции)
|
Если Не ЗначениеЗаполнено(ИмяКоллекции)
|
||||||
Или ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(ДвижениеДокумента[ИмяКоллекции][Поле.Ключ]) Тогда
|
Или ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(МетаданныеРегистра[ИмяКоллекции][Поле.Ключ]) Тогда
|
||||||
|
СписокПолей.Добавить(Поле.Ключ);
|
||||||
ТекстПолейВыбора = ТекстПолейВыбора + ?(ЗначениеЗаполнено(ТекстПолейВыбора), ", ", "") + Поле.Ключ;
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ИменаПредставленияПолей(ПоляРегистра, Знач ИсключаемыеПоля = Неопределено)
|
Функция ИменаПредставленияПолей(ПоляРегистра, Знач ИсключаемыеПоля = Неопределено)
|
||||||
|
|
||||||
Если ИсключаемыеПоля <> Неопределено Тогда
|
Если ИсключаемыеПоля = Неопределено Тогда
|
||||||
ИсключаемыеПоля = СтрРазделить(ИсключаемыеПоля, ", ");
|
|
||||||
Иначе
|
|
||||||
ИсключаемыеПоля = Новый Массив;
|
ИсключаемыеПоля = Новый Массив;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@@ -1685,7 +1660,7 @@
|
|||||||
|
|
||||||
Процедура ПолучитьСвойстваРегистров(Контекст, ДокументВладелец = Неопределено)
|
Процедура ПолучитьСвойстваРегистров(Контекст, ДокументВладелец = Неопределено)
|
||||||
|
|
||||||
ПолучитьСвойстваРегистровИзКэша(Контекст);
|
СвойстваРегистров(Контекст);
|
||||||
|
|
||||||
Если СвойстваРегистров.Количество() > 0
|
Если СвойстваРегистров.Количество() > 0
|
||||||
Или ДокументВладелец = Неопределено Тогда
|
Или ДокументВладелец = Неопределено Тогда
|
||||||
@@ -1753,9 +1728,9 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ПолучитьСвойстваРегистровИзКэша(Контекст)
|
Процедура СвойстваРегистров(Контекст)
|
||||||
|
|
||||||
СвойстваРегистров = ПалитраСвойствРегистров();
|
СвойстваРегистров = НовыеСвойстваРегистров();
|
||||||
|
|
||||||
Если ТипЗнч(Контекст) = Тип("ФормаКлиентскогоПриложения") Тогда
|
Если ТипЗнч(Контекст) = Тип("ФормаКлиентскогоПриложения") Тогда
|
||||||
|
|
||||||
@@ -1813,7 +1788,7 @@
|
|||||||
// * ЗаголовокТаблицы - Строка
|
// * ЗаголовокТаблицы - Строка
|
||||||
// * ФорматыРесурсов - Соответствие
|
// * ФорматыРесурсов - Соответствие
|
||||||
//
|
//
|
||||||
Функция ПалитраСвойствРегистров()
|
Функция НовыеСвойстваРегистров()
|
||||||
|
|
||||||
ПалитраСвойствРегистров = Новый ТаблицаЗначений;
|
ПалитраСвойствРегистров = Новый ТаблицаЗначений;
|
||||||
|
|
||||||
|
|||||||
@@ -1925,93 +1925,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>Constant.ОсновнойЯзык</name>
|
<name>Constant.ОсновнойЯзык</name>
|
||||||
<right>
|
<right>
|
||||||
@@ -2857,6 +2770,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>
|
||||||
|
|||||||
@@ -2746,45 +2746,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>Constant.ОсновнойЯзык</name>
|
<name>Constant.ОсновнойЯзык</name>
|
||||||
<right>
|
<right>
|
||||||
@@ -3999,6 +3960,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>
|
||||||
|
|||||||
+2
-14
@@ -12,7 +12,6 @@
|
|||||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||||
|
|
||||||
ЗакрыватьПриВыборе = Ложь;
|
ЗакрыватьПриВыборе = Ложь;
|
||||||
|
|
||||||
Инициализировать();
|
Инициализировать();
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -163,7 +162,6 @@
|
|||||||
ПараметрыРедактированияФормулы.ДляЗапроса = Истина;
|
ПараметрыРедактированияФормулы.ДляЗапроса = Истина;
|
||||||
|
|
||||||
Обработчик = Новый ОписаниеОповещения("ПослеДобавленияФормулы", ЭтотОбъект);
|
Обработчик = Новый ОписаниеОповещения("ПослеДобавленияФормулы", ЭтотОбъект);
|
||||||
|
|
||||||
КонструкторФормулКлиент.НачатьРедактированиеФормулы(ПараметрыРедактированияФормулы, Обработчик);
|
КонструкторФормулКлиент.НачатьРедактированиеФормулы(ПараметрыРедактированияФормулы, Обработчик);
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -231,7 +229,6 @@
|
|||||||
Формулы.Удалить(Формула);
|
Формулы.Удалить(Формула);
|
||||||
|
|
||||||
ОбновитьКоллекцииПолей();
|
ОбновитьКоллекцииПолей();
|
||||||
|
|
||||||
АктивизироватьГруппуФормул();
|
АктивизироватьГруппуФормул();
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -287,10 +284,8 @@
|
|||||||
ИмяКоллекцииПолей = Режимы[Режим];
|
ИмяКоллекцииПолей = Режимы[Режим];
|
||||||
|
|
||||||
Если ИмяКоллекцииПолей = Неопределено Тогда
|
Если ИмяКоллекцииПолей = Неопределено Тогда
|
||||||
|
|
||||||
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
|
||||||
НСтр("ru = 'Некорректное значение параметра ""Режим"": ""%1"".'"), Строка(Режим));
|
НСтр("ru = 'Некорректное значение параметра ""Режим"": ""%1"".'"), Строка(Режим));
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -395,17 +390,12 @@
|
|||||||
ДоступноеПоле = ВариантыОтчетовСлужебныйКлиентСервер.ФормулаПоПутиКДанным(
|
ДоступноеПоле = ВариантыОтчетовСлужебныйКлиентСервер.ФормулаПоПутиКДанным(
|
||||||
КомпоновщикНастроек.Настройки, ВыбранноеПоле.ПутьКДанным);
|
КомпоновщикНастроек.Настройки, ВыбранноеПоле.ПутьКДанным);
|
||||||
|
|
||||||
ИначеЕсли ИмяКоллекцииПолей = "ДоступныеПоляГруппировок"
|
ИначеЕсли ВыбранноеПоле.Имя = "ДетальныеЗаписи" Тогда
|
||||||
И ВыбранноеПоле.Имя = "ДетальныеЗаписи" Тогда
|
|
||||||
|
|
||||||
ДоступноеПоле = "<>";
|
ДоступноеПоле = "<>";
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
КоллекцияПолей = КоллекцияПолей(ЭтотОбъект);
|
КоллекцияПолей = КоллекцияПолей(ЭтотОбъект);
|
||||||
Поле = Новый ПолеКомпоновкиДанных(ВыбранноеПоле.ПутьКДанным);
|
Поле = Новый ПолеКомпоновкиДанных(ВыбранноеПоле.ПутьКДанным);
|
||||||
ДоступноеПоле = КоллекцияПолей.НайтиПоле(Поле);
|
ДоступноеПоле = КоллекцияПолей.НайтиПоле(Поле);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ОповеститьОВыборе(ДоступноеПоле);
|
ОповеститьОВыборе(ДоступноеПоле);
|
||||||
@@ -423,9 +413,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ВариантыОтчетовСлужебныйКлиент.ДобавитьФормулу(КомпоновщикНастроек.Настройки, КоллекцияПолей(ЭтотОбъект), ОписаниеФормулы);
|
ВариантыОтчетовСлужебныйКлиент.ДобавитьФормулу(КомпоновщикНастроек.Настройки, КоллекцияПолей(ЭтотОбъект), ОписаниеФормулы);
|
||||||
|
|
||||||
ОбновитьКоллекцииПолей();
|
ОбновитьКоллекцииПолей();
|
||||||
|
|
||||||
АктивизироватьГруппуФормул();
|
АктивизироватьГруппуФормул();
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@@ -584,7 +572,7 @@
|
|||||||
КоллекцииПолей.Добавить(ДополнительноеПолеГруппыФормул());
|
КоллекцииПолей.Добавить(ДополнительноеПолеГруппыФормул());
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ИмяКоллекцииПолей = "ДоступныеПоляГруппировок" Тогда
|
Если Режим = "СтруктураВарианта" Тогда
|
||||||
КоллекцииПолей.Добавить(ДополнительноеПолеДетальныхЗаписей());
|
КоллекцииПолей.Добавить(ДополнительноеПолеДетальныхЗаписей());
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
|
|||||||
+4
-21
@@ -1074,10 +1074,10 @@
|
|||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если МетаданныеОбъекта.ВидИерархии = ВидыИерархии.ИерархияГруппИЭлементов Тогда
|
Если ОбщегоНазначения.ЭтоСправочник(МетаданныеОбъекта) И МетаданныеОбъекта.ВидИерархии = ВидыИерархии.ИерархияЭлементов Тогда
|
||||||
ВидИерархии = ВидИерархииИерархияГруппИЭлементов();
|
|
||||||
Иначе
|
|
||||||
ВидИерархии = ВидИерархииИерархияЭлементов();
|
ВидИерархии = ВидИерархииИерархияЭлементов();
|
||||||
|
Иначе
|
||||||
|
ВидИерархии = ВидИерархииИерархияГруппИЭлементов();
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ВидыИерархииЗначений.Вставить(ТипЗначения, ВидИерархии);
|
ВидыИерархииЗначений.Вставить(ТипЗначения, ВидИерархии);
|
||||||
@@ -1211,28 +1211,11 @@
|
|||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
Если СписокНепомеченных.Количество() = 0 Тогда
|
Если СписокПомеченных.Количество() = 1 Тогда
|
||||||
|
|
||||||
НастройкиОтчета.СвойстваРезультата.ИтоговыеНастройки = КомпоновщикНастроек.Настройки;
|
|
||||||
ВариантыОтчетовСлужебныйКлиент.СнятьФильтр(ЭтотОбъект, СвойстваЗаголовка);
|
|
||||||
Фильтр = Неопределено;
|
|
||||||
|
|
||||||
ИначеЕсли СписокПомеченных.Количество() = 1 Тогда
|
|
||||||
|
|
||||||
Фильтр.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
Фильтр.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
|
||||||
Фильтр.ПравоеЗначение = СписокПомеченных[0].Значение;
|
Фильтр.ПравоеЗначение = СписокПомеченных[0].Значение;
|
||||||
|
|
||||||
ИначеЕсли СписокНепомеченных.Количество() = 1 Тогда
|
|
||||||
|
|
||||||
Фильтр.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;
|
|
||||||
Фильтр.ПравоеЗначение = СписокНепомеченных[0].Значение;
|
|
||||||
|
|
||||||
ИначеЕсли СписокПомеченных.Количество() = 0
|
|
||||||
Или СписокПомеченных.Количество() > СписокНепомеченных.Количество() Тогда
|
|
||||||
|
|
||||||
Фильтр.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке;
|
|
||||||
Фильтр.ПравоеЗначение = СписокНепомеченных;
|
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Фильтр.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
|
Фильтр.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
|
||||||
|
|||||||
Reference in new issue
Block a user