├── .gitignore ├── AUTHORS.md ├── README.md ├── src └── rep │ ├── ПомощникДляРаботыСКонфигурацией │ ├── Forms │ │ ├── ПараметрыЗагрузки │ │ │ └── Ext │ │ │ │ ├── Form │ │ │ │ └── Module.bsl │ │ │ │ └── Form.xml │ │ ├── Форма.xml │ │ ├── СписокЭлементов.xml │ │ ├── ПараметрыВыгрузки.xml │ │ ├── ПараметрыЗагрузки.xml │ │ ├── ФормаСпискаТипов.xml │ │ ├── РаботаСМетаданными.xml │ │ ├── ФормаУникальныйИдентификатор.xml │ │ ├── ПараметрыОчисткиБитыхСсылок.xml │ │ ├── ФормаУникальныйИдентификатор │ │ │ └── Ext │ │ │ │ ├── Form │ │ │ │ └── Module.bsl │ │ │ │ └── Form.xml │ │ ├── ФормаСпискаТипов │ │ │ └── Ext │ │ │ │ ├── Form │ │ │ │ └── Module.bsl │ │ │ │ └── Form.xml │ │ ├── ПараметрыВыгрузки │ │ │ └── Ext │ │ │ │ ├── Form │ │ │ │ └── Module.bsl │ │ │ │ └── Form.xml │ │ ├── ПараметрыОчисткиБитыхСсылок │ │ │ └── Ext │ │ │ │ ├── Form │ │ │ │ └── Module.bsl │ │ │ │ └── Form.xml │ │ └── СписокЭлементов │ │ │ └── Ext │ │ │ ├── Form.xml │ │ │ └── Form │ │ │ └── Module.bsl │ └── Templates │ │ ├── ПользователиРоли.xml │ │ ├── РолиПользователя.xml │ │ ├── КартинкиМетаданных.xml │ │ ├── ОбъектыМетаданныхРолей.xml │ │ ├── РолиОбъектовМетаданных.xml │ │ ├── ОбъектыМетаданныхПользователей.xml │ │ ├── ПользователиОбъектовМетаданных.xml │ │ ├── ПользователиРоли │ │ └── Ext │ │ │ └── Template.xml │ │ ├── РолиПользователя │ │ └── Ext │ │ │ └── Template.xml │ │ ├── ОбъектыМетаданныхПользователей │ │ └── Ext │ │ │ └── Template.xml │ │ ├── ОбъектыМетаданныхРолей │ │ └── Ext │ │ │ └── Template.xml │ │ ├── РолиОбъектовМетаданных │ │ └── Ext │ │ │ └── Template.xml │ │ ├── ПользователиОбъектовМетаданных │ │ └── Ext │ │ │ └── Template.xml │ │ └── КартинкиМетаданных │ │ └── Ext │ │ └── Template.xml │ └── ПомощникДляРаботыСКонфигурацией.xml └── COPYING.md /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode -------------------------------------------------------------------------------- /AUTHORS.md: -------------------------------------------------------------------------------- 1 | # Авторы проекта 2 | 3 | Проект основан в 2015 году. Авторы проекта: 4 | 5 | - Агибалов Сергей 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Помощник для работы с конфигурацией 2 | 3 | Инструмент для анализа информационных баз, сконфигурированных с помощью платформы 1С. 4 | 5 | ## Функционал 6 | 7 | - Построение дерева метаданных 8 | 9 | - Построение отчета по правам доступа к объектам метаданных в разрезе: 10 | 11 | - Объект метаданных - Роли 12 | 13 | - Объект метаданных - Пользователи 14 | 15 | - Роль - Объекты метаданных 16 | 17 | - Пользователи - Объект метаданных 18 | 19 | - Анализ прав доступа на уровне реквизитов 20 | 21 | - Получение статистики заполненности объектов метаданных 22 | 23 | - Получение статистики заполненности реквизита в объектах метаданных 24 | 25 | - Получение списка элементов объекта метаданных с выводом всех реквизитов 26 | 27 | - Поиск ссылок на объект метаданных 28 | 29 | - Поиск ссылок в объекте метаданных 30 | 31 | - Получение наименование СУБД таблиц для объектов метаданных 32 | 33 | - Получение наименование СУБД индексов для объектов метаданных 34 | 35 | - Поиск битых ссылок 36 | 37 | - Загрузка/выгрузка XDTO представления объектов метаданных 38 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ПараметрыЗагрузки/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОбработчикиКомандФормы 2 | 3 | &НаКлиенте 4 | Процедура ПродолжитьЗагрузку(Команда) 5 | 6 | ЗадатьВопросОчистки(); 7 | 8 | КонецПроцедуры 9 | 10 | #КонецОбласти 11 | 12 | #Область СлужебныеПроцедурыИФункции 13 | 14 | #Область ЗакрытиеФормы 15 | 16 | #Область Общие 17 | 18 | &НаКлиенте 19 | Процедура ЗадатьВопросОчистки() 20 | 21 | ЗадатьВопросОчисткиЗавершении = Новый ОписаниеОповещения("ЗадатьВопросОчисткиЗавершении", ЭтотОбъект); 22 | 23 | Если ОчищатьНеСовпадающиеЭлементы Тогда 24 | ПоказатьВопрос(ЗадатьВопросОчисткиЗавершении, 25 | Элементы.ОчищатьНеСовпадающиеЭлементы.Подсказка, 26 | РежимДиалогаВопрос.ДаНет); 27 | Иначе 28 | ВыполнитьОбработкуОповещения(ЗадатьВопросОчисткиЗавершении, КодВозвратаДиалога.Да); 29 | КонецЕсли; 30 | 31 | КонецПроцедуры 32 | 33 | #КонецОбласти 34 | 35 | #Область Частные 36 | 37 | &НаКлиенте 38 | Процедура ЗадатьВопросОчисткиЗавершении(РезультатВопроса, ДополнительныеПараметры) Экспорт 39 | 40 | Если РезультатВопроса = КодВозвратаДиалога.Да Тогда 41 | Закрыть(ОчищатьНеСовпадающиеЭлементы); 42 | КонецЕсли; 43 | 44 | КонецПроцедуры 45 | 46 | #КонецОбласти 47 | 48 | #КонецОбласти 49 | 50 | #КонецОбласти -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/ПользователиРоли.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/РолиПользователя.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/КартинкиМетаданных.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/ОбъектыМетаданныхРолей.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/РолиОбъектовМетаданных.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/ОбъектыМетаданныхПользователей.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/ПользователиОбъектовМетаданных.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/Форма.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | Форма 6 | 7 | 8 | ru 9 | Форма 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PlatformApplication 17 | MobilePlatformApplication 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/СписокЭлементов.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | СписокЭлементов 6 | 7 | 8 | ru 9 | Список элементов 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PlatformApplication 17 | MobilePlatformApplication 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ПараметрыВыгрузки.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | ПараметрыВыгрузки 6 | 7 | 8 | ru 9 | Параметры выгрузки 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PlatformApplication 17 | MobilePlatformApplication 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ПараметрыЗагрузки.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | ПараметрыЗагрузки 6 | 7 | 8 | ru 9 | Параметры загрузки 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PlatformApplication 17 | MobilePlatformApplication 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ФормаСпискаТипов.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | ФормаСпискаТипов 6 | 7 | 8 | ru 9 | Форма списка типов 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PlatformApplication 17 | MobilePlatformApplication 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/РаботаСМетаданными.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | РаботаСМетаданными 6 | 7 | 8 | ru 9 | Работа с метаданными 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PlatformApplication 17 | MobilePlatformApplication 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ФормаУникальныйИдентификатор.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | ФормаУникальныйИдентификатор 6 | 7 | 8 | ru 9 | Форма работа с ГУИД 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PlatformApplication 17 | MobilePlatformApplication 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ПараметрыОчисткиБитыхСсылок.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | ПараметрыОчисткиБитыхСсылок 6 | 7 | 8 | ru 9 | Параметры очистки битых ссылок 10 | 11 | 12 | 13 | Managed 14 | false 15 | 16 | PlatformApplication 17 | MobilePlatformApplication 18 | 19 | 20 | 21 |
22 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ФормаУникальныйИдентификатор/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОбработчикиСобытийФормы 2 | 3 | &НаСервере 4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 5 | 6 | ПолноеИмяОбъекта = Параметры.ПолноеИмяОбъекта; 7 | Раздел = Параметры.Раздел; 8 | 9 | ЧастиИмени = СтрРазделить(ПолноеИмяОбъекта, "."); 10 | Если ЧастиИмени.Количество() > 2 11 | ИЛИ СтрНачинаетсяС(ЧастиИмени[0], "Регистр") Тогда 12 | Отказ = Истина; 13 | Возврат; 14 | КонецЕсли; 15 | 16 | МенеджерОбъекта = ПолучитьМенеджерОбъекта(Раздел, ЧастиИмени[1]); 17 | 18 | ЛюбаяСсылка = МенеджерОбъекта.ПустаяСсылка(); 19 | 20 | КонецПроцедуры 21 | 22 | #КонецОбласти 23 | 24 | #Область ОбработчикиКомандФормы 25 | 26 | &НаКлиенте 27 | Процедура ОпределитьСсылку(Команда) 28 | 29 | ЛюбаяСсылка = ОпределитьСсылкуНаСервере(УникальныйИдентификаторОбъекта, Раздел, ПолноеИмяОбъекта); 30 | 31 | КонецПроцедуры 32 | 33 | &НаКлиенте 34 | Процедура ОпределитьУникальныйИдентификатор(Команда) 35 | 36 | УникальныйИдентификаторОбъекта = ОпределитьУникальныйИдентификаторНаСервере(ЛюбаяСсылка); 37 | 38 | КонецПроцедуры 39 | 40 | #КонецОбласти 41 | 42 | #Область СлужебныеПроцедурыИФункции 43 | 44 | &НаСервереБезКонтекста 45 | Функция ОпределитьУникальныйИдентификаторНаСервере(Ссылка) 46 | 47 | Возврат Ссылка.УникальныйИдентификатор(); 48 | 49 | КонецФункции 50 | 51 | &НаСервереБезКонтекста 52 | Функция ОпределитьСсылкуНаСервере(УникальныйИдентификаторОбъекта, Раздел, ПолноеИмяОбъекта) 53 | 54 | ЧастиИмени = СтрРазделить(ПолноеИмяОбъекта, "."); 55 | 56 | МенеджерОбъекта = ПолучитьМенеджерОбъекта(Раздел, ЧастиИмени[1]); 57 | 58 | Ссылка = МенеджерОбъекта.ПолучитьСсылку(Новый УникальныйИдентификатор(УникальныйИдентификаторОбъекта)); 59 | 60 | Возврат Ссылка; 61 | 62 | КонецФункции 63 | 64 | &НаСервереБезКонтекста 65 | Функция ПолучитьМенеджерОбъекта(Раздел, ИмяОбъекта) 66 | 67 | //@skip-check server-execution-safe-mode 68 | Менеджер = Вычислить(Раздел); 69 | Возврат Менеджер[ИмяОбъекта]; 70 | 71 | КонецФункции 72 | 73 | #КонецОбласти -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ФормаСпискаТипов/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОбработчикиСобытийФормы 2 | 3 | &НаСервере 4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 5 | 6 | Инициализировать(); 7 | 8 | КонецПроцедуры 9 | 10 | &НаКлиенте 11 | Процедура ПриОткрытии(Отказ) 12 | 13 | ЗаполнитьСтатистику(); 14 | 15 | КонецПроцедуры 16 | 17 | #КонецОбласти 18 | 19 | #Область СлужебныеПроцедурыИФункции 20 | 21 | #Область ИнициализацияФормы 22 | 23 | #Область Общие 24 | 25 | &НаКлиенте 26 | Процедура ЗаполнитьСтатистику() 27 | 28 | //@skip-check use-non-recommended-method 29 | РаботаСМетаданными = ПолучитьФорму(Объект.ПутьКФормам + "РаботаСМетаданными"); 30 | Если ЗначениеЗаполнено(ИмяПоля) Тогда 31 | РаботаСМетаданными.ЗаполнитьСтатистикуРеквизитаПоТипам(ЭтотОбъект, ИмяПоля, ИмяТаблицы); 32 | Иначе 33 | РаботаСМетаданными.ЗаполнитьСтатистикуПоСсылающимсяТипам(ЭтотОбъект, ПолноеИмя, Раздел, ТипПоиска); 34 | КонецЕсли; 35 | 36 | КонецПроцедуры 37 | 38 | &НаСервере 39 | Процедура Инициализировать() 40 | 41 | ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); 42 | Объект.ПутьКФормам = ОбработкаОбъект.Метаданные().ПолноеИмя() + ".Форма."; 43 | 44 | ЗаполнитьПараметры(); 45 | 46 | КонецПроцедуры 47 | 48 | #КонецОбласти 49 | 50 | #Область Частные 51 | 52 | &НаСервере 53 | Процедура ЗаполнитьПараметры() 54 | 55 | ПолноеИмя = Параметры.ПолноеИмя; 56 | ИмяПоля = Параметры.ИмяПоля; 57 | ИмяТаблицы = Параметры.ИмяТаблицы; 58 | Раздел = Параметры.Раздел; 59 | ТипПоиска = Параметры.ТипПоиска; 60 | 61 | Если ЗначениеЗаполнено(Параметры.ЗначениеТипа) Тогда 62 | ЧислоСтрок = СтрЧислоСтрок(Параметры.ЗначениеТипа); 63 | Для Индекс = 1 По ЧислоСтрок Цикл 64 | НоваяСтрока = Типы.Добавить(); 65 | НоваяСтрока.ПолноеИмя = СтрПолучитьСтроку(Параметры.ЗначениеТипа, Индекс); 66 | НоваяСтрока.Простой = СтрЧислоВхождений(НоваяСтрока.ПолноеИмя, ".") = 0; 67 | КонецЦикла; 68 | Типы.Сортировать("Простой Убыв, ПолноеИмя Возр"); 69 | ШаблонЗаголовка = НСтр("ru = 'Список типов объекта ""%1""'"); 70 | ИначеЕсли ТипПоиска = 1 тогда 71 | ШаблонЗаголовка = НСтр("ru = 'Список ссылающихся типов на объект ""%1""'"); 72 | ИначеЕсли ТипПоиска = 2 тогда 73 | ШаблонЗаголовка = НСтр("ru = 'Список ссылающихся типов из объекта ""%1""'"); 74 | КонецЕсли; 75 | 76 | Заголовок = СтрШаблон(ШаблонЗаголовка, СокрЛП(ПолноеИмя)); 77 | 78 | ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); 79 | Объект.ПутьКФормам = ОбработкаОбъект.Метаданные().ПолноеИмя() + ".Форма."; 80 | 81 | КонецПроцедуры 82 | 83 | #КонецОбласти 84 | 85 | #КонецОбласти 86 | 87 | #КонецОбласти -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ПараметрыВыгрузки/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОписаниеПеременных 2 | 3 | &НаКлиенте 4 | Перем РаботаСМетаданными; 5 | 6 | #КонецОбласти 7 | 8 | #Область ОбработчикиСобытийФормы 9 | 10 | &НаСервере 11 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 12 | 13 | Инициализировать(); 14 | 15 | КонецПроцедуры 16 | 17 | &НаКлиенте 18 | Процедура ПриОткрытии(Отказ) 19 | 20 | ЗаполнитьРеквизитыОбъекта(); 21 | //@skip-check use-non-recommended-method 22 | РаботаСМетаданными = ПолучитьФорму(Объект.ПутьКФормам + "РаботаСМетаданными",,, 23 | Новый УникальныйИдентификатор()); 24 | РаботаСМетаданными.ЗагрузитьПараметрыВыгрузки(ЭтотОбъект, ПолноеИмя, Раздел, ТекстНастроек); 25 | 26 | КонецПроцедуры 27 | 28 | #КонецОбласти 29 | 30 | #Область ОбработчикиКомандФормы 31 | 32 | &НаКлиенте 33 | Процедура ПрименитьПараметрыВыгрузки(Команда) 34 | 35 | ЗакрытьФормуИПередатьНастройки(); 36 | 37 | КонецПроцедуры 38 | 39 | #КонецОбласти 40 | 41 | #Область СлужебныеПроцедурыИФункции 42 | 43 | #Область ИнициализацияФормы 44 | 45 | #Область Общие 46 | 47 | &НаКлиенте 48 | Процедура ЗакрытьФормуИПередатьНастройки() 49 | 50 | ТекстНастроек = РаботаСМетаданными.СохранитьПараметрыВыгрузкиВСтроку(ЭтотОбъект); 51 | Закрыть(ТекстНастроек); 52 | 53 | КонецПроцедуры 54 | 55 | &НаКлиенте 56 | Процедура ЗаполнитьРеквизитыОбъекта() 57 | 58 | ТекущиеДанные = ВладелецФормы.ОбъектыМетаданных.НайтиПоИдентификатору(ИдентификаторСтроки); 59 | 60 | ЭлементыОбъекта = РеквизитыОбъекта.ПолучитьЭлементы(); 61 | 62 | РазделыТекущегоОбъекта = ТекущиеДанные.ПолучитьЭлементы(); 63 | Для Каждого РазделОбъекта Из РазделыТекущегоОбъекта Цикл 64 | ЭлементыТекущегоОбъекта = РазделОбъекта.ПолучитьЭлементы(); 65 | Для Каждого ЭлементОбъекта Из ЭлементыТекущегоОбъекта Цикл 66 | Если Не ЭлементОбъекта.ЭтоПоле 67 | И Не ЭлементОбъекта.ЭтоТаблица 68 | Или ЭлементОбъекта.СтандартныйРеквизит Тогда 69 | Продолжить; 70 | КонецЕсли; 71 | НовыйЭлемент = ЭлементыОбъекта.Добавить(); 72 | ЗаполнитьЗначенияСвойств(НовыйЭлемент, ЭлементОбъекта); 73 | НовыйЭлемент.Выгружать = Истина; 74 | Если Не ЭлементОбъекта.ЭтоТаблица Тогда 75 | Продолжить; 76 | КонецЕсли; 77 | РеквизитыТаблицы = НовыйЭлемент.ПолучитьЭлементы(); 78 | ЭлементыТаблицыОбъекта = ЭлементОбъекта.ПолучитьЭлементы(); 79 | Для Каждого ЭлементТаблицы Из ЭлементыТаблицыОбъекта Цикл 80 | Если ЭлементТаблицы.СтандартныйРеквизит Тогда 81 | Продолжить; 82 | КонецЕсли; 83 | НовыйЭлементТаблицы = РеквизитыТаблицы.Добавить(); 84 | ЗаполнитьЗначенияСвойств(НовыйЭлементТаблицы, ЭлементТаблицы); 85 | НовыйЭлементТаблицы.Выгружать = Истина; 86 | КонецЦикла; 87 | КонецЦикла; 88 | КонецЦикла; 89 | 90 | КонецПроцедуры 91 | 92 | &НаСервере 93 | Процедура Инициализировать() 94 | 95 | ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); 96 | Объект.ПутьКФормам = ОбработкаОбъект.Метаданные().ПолноеИмя() + ".Форма."; 97 | 98 | ЗаполнитьПараметры(); 99 | 100 | КонецПроцедуры 101 | 102 | #КонецОбласти 103 | 104 | #Область Частные 105 | 106 | &НаСервере 107 | Процедура ЗаполнитьПараметры() 108 | 109 | ПолноеИмя = Параметры.ПолноеИмя; 110 | Раздел = Параметры.Раздел; 111 | ТекстНастроек = Параметры.ТекстНастроек; 112 | ИдентификаторСтроки = Параметры.ИдентификаторСтроки; 113 | 114 | КонецПроцедуры 115 | 116 | #КонецОбласти 117 | 118 | #КонецОбласти 119 | 120 | #КонецОбласти -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ПараметрыЗагрузки/Ext/Form.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | false 5 | 6 | 7 | 8 | 50 9 | 9 10 | 11 | <v8:item> 12 | <v8:lang>ru</v8:lang> 13 | <v8:content>Выполняется загрузка данных в информационную базу. 14 | 15 | Условия загрузки: 16 | 17 | 1. Загрузка происходит только по уникальным идентификаторам. 18 | 19 | 2. При загрузке будут заменены все предопределенные объекты, и старые элеметы будут помечены на удаление.</v8:content> 20 | </v8:item> 21 | 22 | 23 | Single 24 | 25 | 26 | 27 | 28 | 29 | ОчищатьНеСовпадающиеЭлементы 30 | Right 31 | 32 | 33 | ru 34 | В рамках загружаемых объектов метаданных все не совпадающие по идентификатору элементы будут помечены на удаление 35 | 36 | 37 | Button 38 | Auto 39 | 40 | 41 | 42 | 49 | 50 | 51 | 52 | 53 | cfg:ExternalDataProcessorObject.ПомощникДляРаботыСКонфигурацией 54 | 55 | true 56 | 57 | 58 | 59 | <v8:item> 60 | <v8:lang>ru</v8:lang> 61 | <v8:content>Очищать не совпадающие элементы</v8:content> 62 | </v8:item> 63 | 64 | 65 | xs:boolean 66 | 67 | 68 | 69 | 70 | 71 | 72 | <v8:item> 73 | <v8:lang>ru</v8:lang> 74 | <v8:content>Продолжить загрузку</v8:content> 75 | </v8:item> 76 | 77 | ПродолжитьЗагрузку 78 | 79 | 80 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | c3831ec8-d8d5-4f93-8a22-f9bfae07327f 7 | e5428fa8-d3f1-4677-970d-41b07e3fb1a4 8 | 9 | 10 | ca0d7d53-148c-46ee-890d-9cf672aa93cf 11 | a13dd879-6250-4695-997b-979e4c2adae4 12 | 13 | 14 | 15 | ПомощникДляРаботыСКонфигурацией 16 | 17 | 18 | ru 19 | Помощник для работы с конфигурацией (3.4.8) 20 | 21 | 22 | 23 | ExternalDataProcessor.ПомощникДляРаботыСКонфигурацией.Form.Форма 24 | 25 | 26 | 27 | 28 | 29 | ПутьКФормам 30 | 31 | 32 | ru 33 | Путь к формам 34 | 35 | 36 | 37 | 38 | xs:string 39 | 40 | 0 41 | Variable 42 | 43 | 44 | false 45 | 46 | 47 | 48 | false 49 | 50 | false 51 | false 52 | 53 | 54 | DontCheck 55 | Items 56 | 57 | 58 | Auto 59 | Auto 60 | 61 | 62 | Auto 63 | 64 | 65 |
Форма
66 |
СписокЭлементов
67 |
ФормаСпискаТипов
68 |
ФормаУникальныйИдентификатор
69 |
ПараметрыОчисткиБитыхСсылок
70 |
РаботаСМетаданными
71 |
ПараметрыВыгрузки
72 |
ПараметрыЗагрузки
73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
81 |
82 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ПараметрыОчисткиБитыхСсылок/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОбработчикиСобытийФормы 2 | 3 | &НаКлиенте 4 | Процедура ПриОткрытии(Отказ) 5 | 6 | Порция = 10; 7 | ПолучитьМетаданныеПоРазделам(); 8 | 9 | КонецПроцедуры 10 | 11 | #КонецОбласти 12 | 13 | #Область ОбработчикиСобытийЭлементовШапкиФормы 14 | 15 | &НаКлиенте 16 | Процедура ИмяТаблицыНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) 17 | 18 | ДанныеВыбора = Новый СписокЗначений; 19 | Для Каждого Строка Из МетаданныеПоРазделам Цикл 20 | ДанныеВыбора.Добавить(Строка.ИмяТаблицы); 21 | КонецЦикла; 22 | 23 | ОкончаниеВыбора = Новый ОписаниеОповещения("ОкончаниеВыбораИмяТаблицы", ЭтотОбъект); 24 | 25 | ПоказатьВыборИзСписка(ОкончаниеВыбора, ДанныеВыбора, Элемент); 26 | 27 | КонецПроцедуры 28 | 29 | &НаКлиенте 30 | Процедура ПолеТаблицыНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) 31 | 32 | Если Не ЗначениеЗаполнено(ИмяТаблицы) Тогда 33 | СообщитьПользователю(НСтр("ru = 'Не выбран регистр'")); 34 | Возврат; 35 | КонецЕсли; 36 | 37 | ДанныеВыбора = Новый СписокЗначений; 38 | Для Каждого Строка Из ПоляМетаданных Цикл 39 | ДанныеВыбора.Добавить(Строка.ПолеТаблицы); 40 | КонецЦикла; 41 | 42 | ОкончаниеВыбора = Новый ОписаниеОповещения("ОкончаниеВыбораПоляТаблицы", ЭтотОбъект); 43 | 44 | ПоказатьВыборИзСписка(ОкончаниеВыбора, ДанныеВыбора, Элемент); 45 | 46 | КонецПроцедуры 47 | 48 | #КонецОбласти 49 | 50 | #Область ОбработчикиКомандФормы 51 | 52 | &НаКлиенте 53 | Процедура Очистить(Команда) 54 | 55 | ОчиститьНаСервере(); 56 | Закрыть(); 57 | 58 | КонецПроцедуры 59 | 60 | #КонецОбласти 61 | 62 | #Область СлужебныеПроцедурыИФункции 63 | 64 | &НаКлиенте 65 | Процедура ОкончаниеВыбораИмяТаблицы(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт 66 | 67 | Если Не ВыбранныйЭлемент = Неопределено Тогда 68 | ИмяТаблицы = ВыбранныйЭлемент.Значение; 69 | КонецЕсли; 70 | 71 | ПолучитьПоляМетаданных(); 72 | 73 | КонецПроцедуры 74 | 75 | &НаКлиенте 76 | Процедура ОкончаниеВыбораПоляТаблицы(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт 77 | 78 | Если Не ВыбранныйЭлемент = Неопределено Тогда 79 | ПолеТаблицы = ВыбранныйЭлемент.Значение; 80 | КонецЕсли; 81 | 82 | КонецПроцедуры 83 | 84 | &НаКлиенте 85 | Процедура ПолучитьМетаданныеПоРазделам() 86 | 87 | МетаданныеПоРазделам.Очистить(); 88 | 89 | МетаданныеПоРазделамМассив = ВладелецФормы.ПолучитьМетаданныеПоРазделам(); 90 | 91 | Для Каждого Строка Из МетаданныеПоРазделамМассив Цикл 92 | НоваяСтрока = МетаданныеПоРазделам.Добавить(); 93 | ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка); 94 | КонецЦикла; 95 | 96 | МетаданныеПоРазделам.Сортировать("ИмяМетаданных"); 97 | 98 | КонецПроцедуры 99 | 100 | &НаКлиенте 101 | Процедура ПолучитьПоляМетаданных() 102 | 103 | ПоляМетаданных.Очистить(); 104 | 105 | Отбор = Новый Структура; 106 | Отбор.Вставить("ИмяТаблицы", ИмяТаблицы); 107 | 108 | НайденныеСтроки = МетаданныеПоРазделам.НайтиСтроки(Отбор); 109 | Если НайденныеСтроки.Количество() = 0 Тогда 110 | Возврат; 111 | КонецЕсли; 112 | 113 | РеквизитыМетаданныхПоРазделу = ВладелецФормы.ПолучитьПоляМетаданныхПоРазделу( 114 | НайденныеСтроки[0].Раздел, 115 | НайденныеСтроки[0].ИмяМетаданных, 116 | Истина); 117 | 118 | Для Каждого Реквизит Из РеквизитыМетаданныхПоРазделу Цикл 119 | НоваяСтрока = ПоляМетаданных.Добавить(); 120 | ЗаполнитьЗначенияСвойств(НоваяСтрока, Реквизит); 121 | КонецЦикла; 122 | 123 | ПоляМетаданных.Сортировать("ПолеТаблицы"); 124 | 125 | КонецПроцедуры 126 | 127 | &НаКлиенте 128 | Процедура ОчиститьНаСервере() 129 | 130 | ОтборТаблицы = Новый Структура; 131 | ОтборТаблицы.Вставить("ИмяТаблицы", ИмяТаблицы); 132 | 133 | НайденныеСтроки = МетаданныеПоРазделам.НайтиСтроки(ОтборТаблицы); 134 | 135 | ВладелецФормы.ПолучитьТаблицуБитыхСсылок(НайденныеСтроки[0].Раздел, ИмяТаблицы, ПолеТаблицы, Порция, Истина); 136 | 137 | КонецПроцедуры 138 | 139 | &НаКлиентеНаСервереБезКонтекста 140 | Процедура СообщитьПользователю(Текст) 141 | 142 | СообщениеПользователю = Новый СообщениеПользователю; 143 | СообщениеПользователю.Текст = Текст; 144 | СообщениеПользователю.Сообщить(); 145 | 146 | КонецПроцедуры 147 | 148 | #КонецОбласти -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/ПользователиРоли/Ext/Template.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ИсточникДанных1 5 | Local 6 | 7 | 8 | ПользователиРоли 9 | 10 | Роль 11 | Роль 12 | 13 | <v8:item> 14 | <v8:lang>ru</v8:lang> 15 | <v8:content>Роль</v8:content> 16 | </v8:item> 17 | 18 | 19 | xs:string 20 | 21 | 255 22 | Variable 23 | 24 | 25 | 26 | 27 | Пользователь 28 | Пользователь 29 | 30 | <v8:item> 31 | <v8:lang>ru</v8:lang> 32 | <v8:content>Пользователь</v8:content> 33 | </v8:item> 34 | 35 | 36 | xs:string 37 | 38 | 100 39 | Variable 40 | 41 | 42 | 43 | ИсточникДанных1 44 | СоответствияРолейИПользователей 45 | 46 | 47 | Основной 48 | Основной 49 | 50 | 51 | 52 | 53 | 54 | Использование 55 | 56 | 57 | 58 | 59 | 60 | Формат 61 | 62 | 63 | ru 64 | БЛ=-; БИ=+ 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | false 74 | РасположениеИтогов 75 | None 76 | 77 | 78 | ГоризонтальноеРасположениеОбщихИтогов 79 | None 80 | 81 | 82 | ВертикальноеРасположениеОбщихИтогов 83 | None 84 | 85 | 86 | 87 | 88 | 89 | Роль 90 | Items 91 | None 92 | 0001-01-01T00:00:00 93 | 0001-01-01T00:00:00 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | Пользователь 107 | Items 108 | None 109 | 0001-01-01T00:00:00 110 | 0001-01-01T00:00:00 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | ВыводитьОтбор 122 | DontOutput 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/РолиПользователя/Ext/Template.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ИсточникДанных1 5 | Local 6 | 7 | 8 | ПользователиРоли 9 | 10 | Роль 11 | Роль 12 | 13 | <v8:item> 14 | <v8:lang>ru</v8:lang> 15 | <v8:content>Роль</v8:content> 16 | </v8:item> 17 | 18 | 19 | xs:string 20 | 21 | 255 22 | Variable 23 | 24 | 25 | 26 | 27 | Пользователь 28 | Пользователь 29 | 30 | <v8:item> 31 | <v8:lang>ru</v8:lang> 32 | <v8:content>Пользователь</v8:content> 33 | </v8:item> 34 | 35 | 36 | xs:string 37 | 38 | 100 39 | Variable 40 | 41 | 42 | 43 | ИсточникДанных1 44 | СоответствияРолейИПользователей 45 | 46 | 47 | Основной 48 | Основной 49 | 50 | 51 | 52 | 53 | 54 | Использование 55 | 56 | 57 | 58 | 59 | 60 | Формат 61 | 62 | 63 | ru 64 | БЛ=-; БИ=+ 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | false 74 | РасположениеИтогов 75 | None 76 | 77 | 78 | ГоризонтальноеРасположениеОбщихИтогов 79 | None 80 | 81 | 82 | ВертикальноеРасположениеОбщихИтогов 83 | None 84 | 85 | 86 | 87 | 88 | 89 | Пользователь 90 | Items 91 | None 92 | 0001-01-01T00:00:00 93 | 0001-01-01T00:00:00 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | Роль 107 | Items 108 | None 109 | 0001-01-01T00:00:00 110 | 0001-01-01T00:00:00 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | ВыводитьОтбор 122 | DontOutput 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ФормаУникальныйИдентификатор/Ext/Form.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 | false 4 | 5 | false 6 | 7 | 12 | 17 | 18 | 19 | 20 | ПриСозданииНаСервере 21 | 22 | 23 | 24 | ПолноеИмяОбъекта 25 | 26 | 27 | 28 | 29 | ЛюбаяСсылка 30 | true 31 | false 32 | 33 | 34 | 35 | 36 | УникальныйИдентификаторОбъекта 37 | true 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | cfg:ExternalDataProcessorObject.ПомощникДляРаботыСКонфигурацией 46 | 47 | true 48 | 49 | 50 | 51 | <v8:item> 52 | <v8:lang>ru</v8:lang> 53 | <v8:content>Любая ссылка</v8:content> 54 | </v8:item> 55 | 56 | 57 | cfg:AnyIBRef 58 | 59 | 60 | 61 | 62 | <v8:item> 63 | <v8:lang>ru</v8:lang> 64 | <v8:content>Уникальный идентификатор объекта</v8:content> 65 | </v8:item> 66 | 67 | 68 | xs:string 69 | 70 | 36 71 | Variable 72 | 73 | 74 | 75 | 76 | 77 | <v8:item> 78 | <v8:lang>ru</v8:lang> 79 | <v8:content>Полное имя объекта</v8:content> 80 | </v8:item> 81 | 82 | 83 | xs:string 84 | 85 | 0 86 | Variable 87 | 88 | 89 | 90 | 91 | 92 | <v8:item> 93 | <v8:lang>ru</v8:lang> 94 | <v8:content>Раздел</v8:content> 95 | </v8:item> 96 | 97 | 98 | xs:string 99 | 100 | 0 101 | Variable 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | <v8:item> 110 | <v8:lang>ru</v8:lang> 111 | <v8:content>Определить ссылку</v8:content> 112 | </v8:item> 113 | 114 | 115 | 116 | ru 117 | Определить ссылку 118 | 119 | 120 | ОпределитьСсылку 121 | 122 | 123 | 124 | <v8:item> 125 | <v8:lang>ru</v8:lang> 126 | <v8:content>Определить УИД</v8:content> 127 | </v8:item> 128 | 129 | 130 | 131 | ru 132 | Определить уникальный идентификатор 133 | 134 | 135 | ОпределитьУникальныйИдентификатор 136 | 137 | 138 | 139 | 140 | 141 | xs:string 142 | 143 | 0 144 | Variable 145 | 146 | 147 | true 148 | 149 | 150 | 151 | xs:string 152 | 153 | 0 154 | Variable 155 | 156 | 157 | 158 | 159 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ПараметрыОчисткиБитыхСсылок/Ext/Form.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | <v8:item> 5 | <v8:lang>ru</v8:lang> 6 | <v8:content>Параметры очистки</v8:content> 7 | </v8:item> 8 | 9 | false 10 | 11 | false 12 | 13 | 14 | ПриОткрытии 15 | 16 | 17 | 18 | ИмяТаблицы 19 | true 20 | 21 | 22 | 23 | ИмяТаблицыНачалоВыбора 24 | 25 | 26 | 27 | ПолеТаблицы 28 | true 29 | 30 | 31 | 32 | ПолеТаблицыНачалоВыбора 33 | 34 | 35 | 36 | Порция 37 | 38 | 39 | 40 | 45 | 46 | 47 | 48 | 49 | cfg:ExternalDataProcessorObject.ПомощникДляРаботыСКонфигурацией 50 | 51 | true 52 | 53 | 54 | 55 | <v8:item> 56 | <v8:lang>ru</v8:lang> 57 | <v8:content>Имя таблицы</v8:content> 58 | </v8:item> 59 | 60 | 61 | xs:string 62 | 63 | 0 64 | Variable 65 | 66 | 67 | 68 | 69 | 70 | <v8:item> 71 | <v8:lang>ru</v8:lang> 72 | <v8:content>Поле таблицы</v8:content> 73 | </v8:item> 74 | 75 | 76 | xs:string 77 | 78 | 0 79 | Variable 80 | 81 | 82 | 83 | 84 | 85 | <v8:item> 86 | <v8:lang>ru</v8:lang> 87 | <v8:content>Порция</v8:content> 88 | </v8:item> 89 | 90 | 91 | xs:decimal 92 | 93 | 10 94 | 0 95 | Any 96 | 97 | 98 | 99 | 100 | 101 | <v8:item> 102 | <v8:lang>ru</v8:lang> 103 | <v8:content>Метаданные по разделам</v8:content> 104 | </v8:item> 105 | 106 | 107 | v8:ValueTable 108 | 109 | 110 | 111 | 112 | <v8:item> 113 | <v8:lang>ru</v8:lang> 114 | <v8:content>Раздел</v8:content> 115 | </v8:item> 116 | 117 | 118 | 119 | 120 | 121 | <v8:item> 122 | <v8:lang>ru</v8:lang> 123 | <v8:content>Имя метаданных</v8:content> 124 | </v8:item> 125 | 126 | 127 | 128 | 129 | 130 | <v8:item> 131 | <v8:lang>ru</v8:lang> 132 | <v8:content>Имя таблицы</v8:content> 133 | </v8:item> 134 | 135 | 136 | xs:string 137 | 138 | 0 139 | Variable 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | <v8:item> 148 | <v8:lang>ru</v8:lang> 149 | <v8:content>Поля метаданных</v8:content> 150 | </v8:item> 151 | 152 | 153 | v8:ValueTable 154 | 155 | 156 | 157 | 158 | <v8:item> 159 | <v8:lang>ru</v8:lang> 160 | <v8:content>Поле таблицы</v8:content> 161 | </v8:item> 162 | 163 | 164 | xs:string 165 | 166 | 0 167 | Variable 168 | 169 | 170 | 171 | 172 | 173 | <v8:item> 174 | <v8:lang>ru</v8:lang> 175 | <v8:content>Тип</v8:content> 176 | </v8:item> 177 | 178 | 179 | 180 | 181 | 182 | <v8:item> 183 | <v8:lang>ru</v8:lang> 184 | <v8:content>Количество ссылочных типов</v8:content> 185 | </v8:item> 186 | 187 | 188 | xs:decimal 189 | 190 | 10 191 | 0 192 | Any 193 | 194 | 195 | 196 | 197 | 198 | <v8:item> 199 | <v8:lang>ru</v8:lang> 200 | <v8:content>Группа метаданных</v8:content> 201 | </v8:item> 202 | 203 | 204 | xs:string 205 | 206 | 0 207 | Variable 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | <v8:item> 218 | <v8:lang>ru</v8:lang> 219 | <v8:content>Очистить</v8:content> 220 | </v8:item> 221 | 222 | 223 | 224 | ru 225 | Очистить 226 | 227 | 228 | Очистить 229 | 230 | 231 |
-------------------------------------------------------------------------------- /COPYING.md: -------------------------------------------------------------------------------- 1 | # GNU Lesser General Public License 2 | 3 | _Version 3, 29 June 2007_ 4 | _Copyright © 2007 Free Software Foundation, Inc. <> 5 | 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | This version of the GNU Lesser General Public License incorporates 10 | the terms and conditions of version 3 of the GNU General Public 11 | License, supplemented by the additional permissions listed below. 12 | 13 | ## 0. Additional Definitions 14 | 15 | As used herein, “this License” refers to version 3 of the GNU Lesser 16 | General Public License, and the “GNU GPL” refers to version 3 of the GNU 17 | General Public License. 18 | 19 | “The Library” refers to a covered work governed by this License, 20 | other than an Application or a Combined Work as defined below. 21 | 22 | An “Application” is any work that makes use of an interface provided 23 | by the Library, but which is not otherwise based on the Library. 24 | Defining a subclass of a class defined by the Library is deemed a mode 25 | of using an interface provided by the Library. 26 | 27 | A “Combined Work” is a work produced by combining or linking an 28 | Application with the Library. The particular version of the Library 29 | with which the Combined Work was made is also called the “Linked 30 | Version”. 31 | 32 | The “Minimal Corresponding Source” for a Combined Work means the 33 | Corresponding Source for the Combined Work, excluding any source code 34 | for portions of the Combined Work that, considered in isolation, are 35 | based on the Application, and not on the Linked Version. 36 | 37 | The “Corresponding Application Code” for a Combined Work means the 38 | object code and/or source code for the Application, including any data 39 | and utility programs needed for reproducing the Combined Work from the 40 | Application, but excluding the System Libraries of the Combined Work. 41 | 42 | ## 1. Exception to Section 3 of the GNU GPL 43 | 44 | You may convey a covered work under sections 3 and 4 of this License 45 | without being bound by section 3 of the GNU GPL. 46 | 47 | ## 2. Conveying Modified Versions 48 | 49 | If you modify a copy of the Library, and, in your modifications, a 50 | facility refers to a function or data to be supplied by an Application 51 | that uses the facility (other than as an argument passed when the 52 | facility is invoked), then you may convey a copy of the modified 53 | version: 54 | 55 | * **a)** under this License, provided that you make a good faith effort to 56 | ensure that, in the event an Application does not supply the 57 | function or data, the facility still operates, and performs 58 | whatever part of its purpose remains meaningful, or 59 | 60 | * **b)** under the GNU GPL, with none of the additional permissions of 61 | this License applicable to that copy. 62 | 63 | ## 3. Object Code Incorporating Material from Library Header Files 64 | 65 | The object code form of an Application may incorporate material from 66 | a header file that is part of the Library. You may convey such object 67 | code under terms of your choice, provided that, if the incorporated 68 | material is not limited to numerical parameters, data structure 69 | layouts and accessors, or small macros, inline functions and templates 70 | (ten or fewer lines in length), you do both of the following: 71 | 72 | * **a)** Give prominent notice with each copy of the object code that the 73 | Library is used in it and that the Library and its use are 74 | covered by this License. 75 | * **b)** Accompany the object code with a copy of the GNU GPL and this license 76 | document. 77 | 78 | ## 4. Combined Works 79 | 80 | You may convey a Combined Work under terms of your choice that, 81 | taken together, effectively do not restrict modification of the 82 | portions of the Library contained in the Combined Work and reverse 83 | engineering for debugging such modifications, if you also do each of 84 | the following: 85 | 86 | * **a)** Give prominent notice with each copy of the Combined Work that 87 | the Library is used in it and that the Library and its use are 88 | covered by this License. 89 | 90 | * **b)** Accompany the Combined Work with a copy of the GNU GPL and this license 91 | document. 92 | 93 | * **c)** For a Combined Work that displays copyright notices during 94 | execution, include the copyright notice for the Library among 95 | these notices, as well as a reference directing the user to the 96 | copies of the GNU GPL and this license document. 97 | 98 | * **d)** Do one of the following: 99 | * **0)** Convey the Minimal Corresponding Source under the terms of this 100 | License, and the Corresponding Application Code in a form 101 | suitable for, and under terms that permit, the user to 102 | recombine or relink the Application with a modified version of 103 | the Linked Version to produce a modified Combined Work, in the 104 | manner specified by section 6 of the GNU GPL for conveying 105 | Corresponding Source. 106 | * **1)** Use a suitable shared library mechanism for linking with the 107 | Library. A suitable mechanism is one that **(a)** uses at run time 108 | a copy of the Library already present on the user's computer 109 | system, and **(b)** will operate properly with a modified version 110 | of the Library that is interface-compatible with the Linked 111 | Version. 112 | 113 | * **e)** Provide Installation Information, but only if you would otherwise 114 | be required to provide such information under section 6 of the 115 | GNU GPL, and only to the extent that such information is 116 | necessary to install and execute a modified version of the 117 | Combined Work produced by recombining or relinking the 118 | Application with a modified version of the Linked Version. (If 119 | you use option **4d0**, the Installation Information must accompany 120 | the Minimal Corresponding Source and Corresponding Application 121 | Code. If you use option **4d1**, you must provide the Installation 122 | Information in the manner specified by section 6 of the GNU GPL 123 | for conveying Corresponding Source.) 124 | 125 | ## 5. Combined Libraries 126 | 127 | You may place library facilities that are a work based on the 128 | Library side by side in a single library together with other library 129 | facilities that are not Applications and are not covered by this 130 | License, and convey such a combined library under terms of your 131 | choice, if you do both of the following: 132 | 133 | * **a)** Accompany the combined library with a copy of the same work based 134 | on the Library, uncombined with any other library facilities, 135 | conveyed under the terms of this License. 136 | * **b)** Give prominent notice with the combined library that part of it 137 | is a work based on the Library, and explaining where to find the 138 | accompanying uncombined form of the same work. 139 | 140 | ## 6. Revised Versions of the GNU Lesser General Public License 141 | 142 | The Free Software Foundation may publish revised and/or new versions 143 | of the GNU Lesser General Public License from time to time. Such new 144 | versions will be similar in spirit to the present version, but may 145 | differ in detail to address new problems or concerns. 146 | 147 | Each version is given a distinguishing version number. If the 148 | Library as you received it specifies that a certain numbered version 149 | of the GNU Lesser General Public License “or any later version” 150 | applies to it, you have the option of following the terms and 151 | conditions either of that published version or of any later version 152 | published by the Free Software Foundation. If the Library as you 153 | received it does not specify a version number of the GNU Lesser 154 | General Public License, you may choose any version of the GNU Lesser 155 | General Public License ever published by the Free Software Foundation. 156 | 157 | If the Library as you received it specifies that a proxy can decide 158 | whether future versions of the GNU Lesser General Public License shall 159 | apply, that proxy's public statement of acceptance of any version is 160 | permanent authorization for you to choose that version for the 161 | Library. 162 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ФормаСпискаТипов/Ext/Form.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 | 50 4 | false 5 | false 6 | None 7 | 8 | 9 | ПриОткрытии 10 | ПриСозданииНаСервере 11 | 12 | 13 | 14 | 15 | <v8:item> 16 | <v8:lang>ru</v8:lang> 17 | <v8:content>Группа поиск</v8:content> 18 | </v8:item> 19 | 20 | 21 | 22 | ru 23 | Группа поиск 24 | 25 | 26 | AlwaysHorizontal 27 | Usual 28 | None 29 | false 30 | 31 | 32 | 37 | 42 | 43 | 44 | 45 | List 46 | None 47 | false 48 | false 49 | true 50 | Use 51 | true 52 | true 53 | Типы 54 | 55 | 56 | 57 | 58 | 59 | 60 | Типы 61 | SearchStringRepresentation 62 | 63 | 64 | 65 | 66 | 67 | 68 | Типы 69 | ViewStatusRepresentation 70 | 71 | 72 | 73 | 74 | 75 | 76 | Типы 77 | SearchControl 78 | 79 | 80 | 81 | 82 | 83 | 84 | Типы.ПолноеИмя 85 | 86 | 87 | 88 | 89 | Типы.Количество 90 | 91 | 92 | 93 | 94 |
95 |
96 | 97 | 98 | 99 | cfg:ExternalDataProcessorObject.ПомощникДляРаботыСКонфигурацией 100 | 101 | true 102 | 103 | 104 | 105 | <v8:item> 106 | <v8:lang>ru</v8:lang> 107 | <v8:content>Типы</v8:content> 108 | </v8:item> 109 | 110 | 111 | v8:ValueTable 112 | 113 | 114 | 115 | 116 | <v8:item> 117 | <v8:lang>ru</v8:lang> 118 | <v8:content>Полное имя</v8:content> 119 | </v8:item> 120 | 121 | 122 | xs:string 123 | 124 | 0 125 | Variable 126 | 127 | 128 | 129 | 130 | 131 | <v8:item> 132 | <v8:lang>ru</v8:lang> 133 | <v8:content>Простой</v8:content> 134 | </v8:item> 135 | 136 | 137 | xs:boolean 138 | 139 | 140 | 141 | 142 | <v8:item> 143 | <v8:lang>ru</v8:lang> 144 | <v8:content>Количество</v8:content> 145 | </v8:item> 146 | 147 | 148 | xs:decimal 149 | 150 | 10 151 | 0 152 | Nonnegative 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | <v8:item> 161 | <v8:lang>ru</v8:lang> 162 | <v8:content>Имя поля</v8:content> 163 | </v8:item> 164 | 165 | 166 | xs:string 167 | 168 | 0 169 | Variable 170 | 171 | 172 | 173 | 174 | 175 | <v8:item> 176 | <v8:lang>ru</v8:lang> 177 | <v8:content>Имя таблицы</v8:content> 178 | </v8:item> 179 | 180 | 181 | xs:string 182 | 183 | 0 184 | Variable 185 | 186 | 187 | 188 | 189 | 190 | <v8:item> 191 | <v8:lang>ru</v8:lang> 192 | <v8:content>Раздел</v8:content> 193 | </v8:item> 194 | 195 | 196 | xs:string 197 | 198 | 0 199 | Variable 200 | 201 | 202 | 203 | 204 | 205 | <v8:item> 206 | <v8:lang>ru</v8:lang> 207 | <v8:content>Полное имя</v8:content> 208 | </v8:item> 209 | 210 | 211 | xs:string 212 | 213 | 0 214 | Variable 215 | 216 | 217 | 218 | 219 | 220 | <v8:item> 221 | <v8:lang>ru</v8:lang> 222 | <v8:content>Тип поиска</v8:content> 223 | </v8:item> 224 | 225 | 226 | xs:decimal 227 | 228 | 10 229 | 0 230 | Any 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | xs:string 239 | 240 | 0 241 | Variable 242 | 243 | 244 | 245 | 246 | 247 | xs:string 248 | 249 | 0 250 | Variable 251 | 252 | 253 | 254 | 255 | 256 | xs:string 257 | 258 | 0 259 | Variable 260 | 261 | 262 | 263 | 264 | 265 | xs:string 266 | 267 | 0 268 | Variable 269 | 270 | 271 | 272 | 273 | 274 | xs:string 275 | 276 | 0 277 | Variable 278 | 279 | 280 | 281 | 282 | 283 | xs:decimal 284 | 285 | 10 286 | 0 287 | Any 288 | 289 | 290 | 291 | 292 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/ОбъектыМетаданныхПользователей/Ext/Template.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ИсточникДанных1 5 | Local 6 | 7 | 8 | ОбъектыПользователя 9 | 10 | ИмяОбъекта 11 | ИмяОбъекта 12 | 13 | <v8:item> 14 | <v8:lang>ru</v8:lang> 15 | <v8:content>Имя объекта</v8:content> 16 | </v8:item> 17 | 18 | 19 | xs:string 20 | 21 | 255 22 | Variable 23 | 24 | 25 | 26 | 27 | Пользователь 28 | Пользователь 29 | 30 | <v8:item> 31 | <v8:lang>ru</v8:lang> 32 | <v8:content>Пользователь</v8:content> 33 | </v8:item> 34 | 35 | 36 | xs:string 37 | 38 | 255 39 | Variable 40 | 41 | 42 | 43 | 44 | Право 45 | Право 46 | 47 | <v8:item> 48 | <v8:lang>ru</v8:lang> 49 | <v8:content>Право</v8:content> 50 | </v8:item> 51 | 52 | 53 | xs:string 54 | 55 | 100 56 | Variable 57 | 58 | 59 | 60 | 61 | Использование 62 | Использование 63 | 64 | <v8:item> 65 | <v8:lang>ru</v8:lang> 66 | <v8:content>Использование</v8:content> 67 | </v8:item> 68 | 69 | 70 | xs:boolean 71 | 72 | 73 | ИсточникДанных1 74 | ОбъектыМетаданныхПользователей 75 | 76 | 77 | Использование 78 | Максимум(Использование) 79 | 80 | 114 | 115 | Право 116 | Header 117 | 118 | 119 | 120 | Основной 121 | Основной 122 | 123 | 124 | 125 | Использование 126 | 127 | 128 | 129 | 130 | 131 | 132 | Использование 133 | 134 | 135 | 136 | 137 | 138 | Формат 139 | 140 | 141 | ru 142 | БЛ=-; БИ=+ 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | false 152 | РасположениеИтогов 153 | None 154 | 155 | 156 | ГоризонтальноеРасположениеОбщихИтогов 157 | None 158 | 159 | 160 | ВертикальноеРасположениеОбщихИтогов 161 | None 162 | 163 | 164 | 165 | 166 | 167 | Пользователь 168 | Items 169 | None 170 | 0001-01-01T00:00:00 171 | 0001-01-01T00:00:00 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | Право 183 | 184 | 185 | Право 186 | Items 187 | None 188 | 0001-01-01T00:00:00 189 | 0001-01-01T00:00:00 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | Право 203 | 204 | 205 | 206 | 207 | 208 | Размещение 209 | Wrap 210 | 211 | 212 | МаксимальнаяВысота 213 | 50 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | ИмяОбъекта 223 | Items 224 | None 225 | 0001-01-01T00:00:00 226 | 0001-01-01T00:00:00 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | ВыводитьОтбор 238 | DontOutput 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/ОбъектыМетаданныхРолей/Ext/Template.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ИсточникДанных1 5 | Local 6 | 7 | 8 | ОбъектыРоли 9 | 10 | ИмяОбъекта 11 | ИмяОбъекта 12 | 13 | <v8:item> 14 | <v8:lang>ru</v8:lang> 15 | <v8:content>Имя объекта</v8:content> 16 | </v8:item> 17 | 18 | 19 | xs:string 20 | 21 | 255 22 | Variable 23 | 24 | 25 | 26 | 27 | Роль 28 | Роль 29 | 30 | <v8:item> 31 | <v8:lang>ru</v8:lang> 32 | <v8:content>Роль</v8:content> 33 | </v8:item> 34 | 35 | 36 | xs:string 37 | 38 | 255 39 | Variable 40 | 41 | 42 | 43 | 44 | Право 45 | Право 46 | 47 | <v8:item> 48 | <v8:lang>ru</v8:lang> 49 | <v8:content>Право</v8:content> 50 | </v8:item> 51 | 52 | 53 | xs:string 54 | 55 | 100 56 | Variable 57 | 58 | 59 | 60 | 61 | Использование 62 | Использование 63 | 64 | <v8:item> 65 | <v8:lang>ru</v8:lang> 66 | <v8:content>Использование</v8:content> 67 | </v8:item> 68 | 69 | 70 | xs:boolean 71 | 72 | 73 | 74 | АнализироватьТолькоИнтерфейсныеОбъекты 75 | АнализироватьТолькоИнтерфейсныеОбъекты 76 | 77 | <v8:item> 78 | <v8:lang>ru</v8:lang> 79 | <v8:content>Анализировать только интерфейсные объекты</v8:content> 80 | </v8:item> 81 | 82 | 83 | xs:boolean 84 | 85 | 86 | ИсточникДанных1 87 | ОбъектыМетаданныхРолей 88 | 89 | 90 | Использование 91 | Максимум(Использование) 92 | 93 | 127 | 128 | Право 129 | Header 130 | 131 | 132 | 133 | Основной 134 | Основной 135 | 136 | 137 | 138 | Использование 139 | 140 | 141 | 142 | 143 | 144 | 145 | Использование 146 | 147 | 148 | 149 | 150 | 151 | Формат 152 | 153 | 154 | ru 155 | БЛ=-; БИ=+ 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | false 165 | РасположениеИтогов 166 | None 167 | 168 | 169 | ГоризонтальноеРасположениеОбщихИтогов 170 | None 171 | 172 | 173 | ВертикальноеРасположениеОбщихИтогов 174 | None 175 | 176 | 177 | 178 | 179 | 180 | Роль 181 | Items 182 | None 183 | 0001-01-01T00:00:00 184 | 0001-01-01T00:00:00 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | Право 196 | 197 | 198 | Право 199 | Items 200 | None 201 | 0001-01-01T00:00:00 202 | 0001-01-01T00:00:00 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | Право 216 | 217 | 218 | 219 | 220 | 221 | Размещение 222 | Wrap 223 | 224 | 225 | МаксимальнаяВысота 226 | 50 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | ИмяОбъекта 236 | Items 237 | None 238 | 0001-01-01T00:00:00 239 | 0001-01-01T00:00:00 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | ВыводитьОтбор 251 | DontOutput 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/РолиОбъектовМетаданных/Ext/Template.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ИсточникДанных1 5 | Local 6 | 7 | 8 | РолиОбъектовМетаданных 9 | 10 | Объект 11 | Объект 12 | 13 | <v8:item> 14 | <v8:lang>ru</v8:lang> 15 | <v8:content>Объект</v8:content> 16 | </v8:item> 17 | 18 | 19 | xs:string 20 | 21 | 255 22 | Variable 23 | 24 | 25 | 26 | 27 | Роль 28 | Роль 29 | 30 | <v8:item> 31 | <v8:lang>ru</v8:lang> 32 | <v8:content>Роль</v8:content> 33 | </v8:item> 34 | 35 | 36 | xs:string 37 | 38 | 255 39 | Variable 40 | 41 | 42 | 43 | 44 | Право 45 | Право 46 | 47 | <v8:item> 48 | <v8:lang>ru</v8:lang> 49 | <v8:content>Право</v8:content> 50 | </v8:item> 51 | 52 | 53 | xs:string 54 | 55 | 100 56 | Variable 57 | 58 | 59 | 60 | 61 | Использование 62 | Использование 63 | 64 | <v8:item> 65 | <v8:lang>ru</v8:lang> 66 | <v8:content>Использование</v8:content> 67 | </v8:item> 68 | 69 | 70 | xs:boolean 71 | 72 | 73 | 74 | Реквизит 75 | Реквизит 76 | 77 | <v8:item> 78 | <v8:lang>ru</v8:lang> 79 | <v8:content>Реквизит</v8:content> 80 | </v8:item> 81 | 82 | 83 | xs:string 84 | 85 | 1000 86 | Variable 87 | 88 | 89 | 90 | ИсточникДанных1 91 | РолиОбъектовМетаданных 92 | 93 | 94 | Использование 95 | Максимум(Использование) 96 | 97 | 131 | 132 | Право 133 | Header 134 | 135 | 136 | 137 | Основной 138 | Основной 139 | 140 | 141 | 142 | Использование 143 | 144 | 145 | 146 | 147 | 148 | 149 | Использование 150 | 151 | 152 | 153 | 154 | 155 | Формат 156 | 157 | 158 | ru 159 | БЛ=-; БИ=+ 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | false 169 | РасположениеИтогов 170 | None 171 | 172 | 173 | ГоризонтальноеРасположениеОбщихИтогов 174 | None 175 | 176 | 177 | ВертикальноеРасположениеОбщихИтогов 178 | None 179 | 180 | 181 | 182 | 183 | 184 | Объект 185 | Items 186 | None 187 | 0001-01-01T00:00:00 188 | 0001-01-01T00:00:00 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | Право 200 | 201 | 202 | Право 203 | Items 204 | None 205 | 0001-01-01T00:00:00 206 | 0001-01-01T00:00:00 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | Право 220 | 221 | 222 | 223 | 224 | 225 | Размещение 226 | Wrap 227 | 228 | 229 | МаксимальнаяВысота 230 | 50 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | Роль 240 | Items 241 | None 242 | 0001-01-01T00:00:00 243 | 0001-01-01T00:00:00 244 | 245 | 246 | 247 | 248 | Использование 249 | Equal 250 | true 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | ВыводитьОтбор 262 | DontOutput 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/ПользователиОбъектовМетаданных/Ext/Template.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ИсточникДанных1 5 | Local 6 | 7 | 8 | ПользователиОбъектовМетаданных 9 | 10 | Объект 11 | Объект 12 | 13 | <v8:item> 14 | <v8:lang>ru</v8:lang> 15 | <v8:content>Объект</v8:content> 16 | </v8:item> 17 | 18 | 19 | xs:string 20 | 21 | 255 22 | Variable 23 | 24 | 25 | 26 | 27 | Пользователь 28 | Пользователь 29 | 30 | <v8:item> 31 | <v8:lang>ru</v8:lang> 32 | <v8:content>Пользователь</v8:content> 33 | </v8:item> 34 | 35 | 36 | xs:string 37 | 38 | 255 39 | Variable 40 | 41 | 42 | 43 | 44 | Право 45 | Право 46 | 47 | <v8:item> 48 | <v8:lang>ru</v8:lang> 49 | <v8:content>Право</v8:content> 50 | </v8:item> 51 | 52 | 53 | xs:string 54 | 55 | 100 56 | Variable 57 | 58 | 59 | 60 | 61 | Использование 62 | Использование 63 | 64 | <v8:item> 65 | <v8:lang>ru</v8:lang> 66 | <v8:content>Использование</v8:content> 67 | </v8:item> 68 | 69 | 70 | xs:boolean 71 | 72 | 73 | 74 | Реквизит 75 | Реквизит 76 | 77 | <v8:item> 78 | <v8:lang>ru</v8:lang> 79 | <v8:content>Реквизит</v8:content> 80 | </v8:item> 81 | 82 | 83 | xs:string 84 | 85 | 1000 86 | Variable 87 | 88 | 89 | 90 | ИсточникДанных1 91 | ПользователиОбъектовМетаданных 92 | 93 | 94 | Использование 95 | Максимум(Использование) 96 | 97 | 131 | 132 | Право 133 | Header 134 | 135 | 136 | 137 | Основной 138 | Основной 139 | 140 | 141 | 142 | Использование 143 | 144 | 145 | 146 | 147 | 148 | 149 | Использование 150 | 151 | 152 | 153 | 154 | 155 | Формат 156 | 157 | 158 | ru 159 | БЛ=-; БИ=+ 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | false 169 | РасположениеИтогов 170 | None 171 | 172 | 173 | ГоризонтальноеРасположениеОбщихИтогов 174 | None 175 | 176 | 177 | ВертикальноеРасположениеОбщихИтогов 178 | None 179 | 180 | 181 | 182 | 183 | 184 | Объект 185 | Items 186 | None 187 | 0001-01-01T00:00:00 188 | 0001-01-01T00:00:00 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | Право 200 | 201 | 202 | Право 203 | Items 204 | None 205 | 0001-01-01T00:00:00 206 | 0001-01-01T00:00:00 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | Право 220 | 221 | 222 | 223 | 224 | 225 | Размещение 226 | Wrap 227 | 228 | 229 | МаксимальнаяВысота 230 | 50 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | Пользователь 240 | Items 241 | None 242 | 0001-01-01T00:00:00 243 | 0001-01-01T00:00:00 244 | 245 | 246 | 247 | 248 | Использование 249 | Equal 250 | true 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | ВыводитьОтбор 262 | DontOutput 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/СписокЭлементов/Ext/Form.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 | false 4 | Top 5 | useIfNecessary 6 | 7 | 8 | 9 | 10 | <v8:item> 11 | <v8:lang>ru</v8:lang> 12 | <v8:content>Группа1</v8:content> 13 | </v8:item> 14 | 15 | Compact 16 | 17 | 18 | 23 | 28 | 34 | 35 | 36 | 41 | 47 | 48 | 49 | 50 | ПриСозданииНаСервере 51 | 52 | 53 | 54 | 55 | <v8:item> 56 | <v8:lang>ru</v8:lang> 57 | <v8:content>Группа уникальный идентификатор</v8:content> 58 | </v8:item> 59 | 60 | 61 | 62 | ru 63 | Группа уникальный идентификатор 64 | 65 | 66 | AlwaysHorizontal 67 | Usual 68 | None 69 | false 70 | 71 | 72 | 73 | УникальныйИдентификаторСтроки 74 | true 75 | 76 | 77 | 78 | 79 | УникальныйИдентификаторЯчейки 80 | true 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | <v8:item> 91 | <v8:lang>ru</v8:lang> 92 | <v8:content>Основная таблица</v8:content> 93 | </v8:item> 94 | 95 | 96 | xs:string 97 | 98 | 0 99 | Variable 100 | 101 | 102 | 103 | 104 | 105 | <v8:item> 106 | <v8:lang>ru</v8:lang> 107 | <v8:content>Имя реквизита</v8:content> 108 | </v8:item> 109 | 110 | 111 | xs:string 112 | 113 | 0 114 | Variable 115 | 116 | 117 | 118 | 119 | 120 | <v8:item> 121 | <v8:lang>ru</v8:lang> 122 | <v8:content>Имя списка</v8:content> 123 | </v8:item> 124 | 125 | 126 | xs:string 127 | 128 | 0 129 | Variable 130 | 131 | 132 | 133 | 134 | 135 | <v8:item> 136 | <v8:lang>ru</v8:lang> 137 | <v8:content>Имя реквизита тип</v8:content> 138 | </v8:item> 139 | 140 | 141 | xs:string 142 | 143 | 0 144 | Variable 145 | 146 | 147 | 148 | 149 | 150 | <v8:item> 151 | <v8:lang>ru</v8:lang> 152 | <v8:content>Имя реквизита количество</v8:content> 153 | </v8:item> 154 | 155 | 156 | xs:string 157 | 158 | 0 159 | Variable 160 | 161 | 162 | 163 | 164 | 165 | <v8:item> 166 | <v8:lang>ru</v8:lang> 167 | <v8:content>Уникальный идентификатор строки</v8:content> 168 | </v8:item> 169 | 170 | 171 | xs:string 172 | 173 | 36 174 | Variable 175 | 176 | 177 | 178 | 179 | 180 | <v8:item> 181 | <v8:lang>ru</v8:lang> 182 | <v8:content>Уникальный идентификатор ячейки</v8:content> 183 | </v8:item> 184 | 185 | 186 | xs:string 187 | 188 | 36 189 | Variable 190 | 191 | 192 | 193 | 194 | 195 | <v8:item> 196 | <v8:lang>ru</v8:lang> 197 | <v8:content>Режим обмена</v8:content> 198 | </v8:item> 199 | 200 | 201 | xs:boolean 202 | 203 | 204 | 205 | 206 | <v8:item> 207 | <v8:lang>ru</v8:lang> 208 | <v8:content>Объект</v8:content> 209 | </v8:item> 210 | 211 | 212 | cfg:ExternalDataProcessorObject.ПомощникДляРаботыСКонфигурацией 213 | 214 | true 215 | 216 | 217 | 218 | 219 | 220 | <v8:item> 221 | <v8:lang>ru</v8:lang> 222 | <v8:content>Удалить</v8:content> 223 | </v8:item> 224 | 225 | 226 | 227 | ru 228 | Удалить 229 | 230 | 231 | 232 | StdPicture.Delete 233 | true 234 | 235 | Удалить 236 | Picture 237 | 238 | 239 | 240 | <v8:item> 241 | <v8:lang>ru</v8:lang> 242 | <v8:content>Режим обмена</v8:content> 243 | </v8:item> 244 | 245 | 246 | StdPicture.ExchangePlan 247 | true 248 | 249 | РежимОбмена 250 | TextPicture 251 | 252 | 253 | 254 | <v8:item> 255 | <v8:lang>ru</v8:lang> 256 | <v8:content>Пометить на удаление</v8:content> 257 | </v8:item> 258 | 259 | 260 | StdPicture.MarkToDelete 261 | true 262 | 263 | ПометитьНаУдаление 264 | 265 | 266 | 267 | <v8:item> 268 | <v8:lang>ru</v8:lang> 269 | <v8:content>Найти ссылки на объект</v8:content> 270 | </v8:item> 271 | 272 | 273 | StdPicture.SyncContents 274 | true 275 | 276 | НайтиСсылкиНаОбъект 277 | TextPicture 278 | 279 | 280 | 281 | <v8:item> 282 | <v8:lang>ru</v8:lang> 283 | <v8:content>Запустить удаление помеченных без контроля</v8:content> 284 | </v8:item> 285 | 286 | 287 | StdPicture.AppearanceCross 288 | true 289 | 290 | ЗапуститьУдалениеПомеченныхБезКонтроля 291 | TextPicture 292 | 293 | 294 | 295 | 296 | 297 | xs:string 298 | 299 | 0 300 | Variable 301 | 302 | 303 | 304 | 305 | 306 | xs:string 307 | 308 | 0 309 | Variable 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | xs:boolean 319 | 320 | 321 | 322 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/ПараметрыВыгрузки/Ext/Form.xml: -------------------------------------------------------------------------------- 1 | 2 |
3 | false 4 | 5 | false 6 | 7 | 8 | ПриОткрытии 9 | ПриСозданииНаСервере 10 | 11 | 12 | 13 | true 14 | НастройкиВыгрузки.UserSettings 15 | All 16 | 17 | 18 | 19 | 25 | 26 | 27 | 28 | 29 | 30 | НастройкиВыгрузкиПользовательскиеНастройки 31 | SearchStringRepresentation 32 | 33 | 34 | 35 | 36 | 37 | 38 | НастройкиВыгрузкиПользовательскиеНастройки 39 | ViewStatusRepresentation 40 | 41 | 42 | 43 | 44 | 45 | 46 | НастройкиВыгрузкиПользовательскиеНастройки 47 | SearchControl 48 | 49 | 50 | 51 | 52 |
53 | 54 | Tree 55 | false 56 | false 57 | true 58 | true 59 | РеквизитыОбъекта 60 | 61 | 62 | false 63 | 64 | 65 | 66 | 67 | РеквизитыОбъекта 68 | SearchStringRepresentation 69 | 70 | 71 | 72 | 73 | 74 | 75 | РеквизитыОбъекта 76 | ViewStatusRepresentation 77 | 78 | 79 | 80 | 81 | 82 | 83 | РеквизитыОбъекта 84 | SearchControl 85 | 86 | 87 | 88 | 89 | 90 | 91 | РеквизитыОбъекта.Выгружать 92 | Auto 93 | 94 | 95 | 96 | 97 | 98 | <v8:item> 99 | <v8:lang>ru</v8:lang> 100 | <v8:content>Реквизиты объекта группа имя</v8:content> 101 | </v8:item> 102 | 103 | InCell 104 | 105 | 106 | 107 | РеквизитыОбъекта.Картинка 108 | None 109 | 110 | 111 | 112 | 113 | РеквизитыОбъекта.Имя 114 | 115 | 116 | 117 | 118 | 119 | 120 |
121 |
122 | 123 | 124 | 125 | <v8:item> 126 | <v8:lang>ru</v8:lang> 127 | <v8:content>Настройки выгрузки</v8:content> 128 | </v8:item> 129 | 130 | 131 | dcsset:SettingsComposer 132 | 133 | 134 | 135 | 136 | <v8:item> 137 | <v8:lang>ru</v8:lang> 138 | <v8:content>Полное имя</v8:content> 139 | </v8:item> 140 | 141 | 142 | xs:string 143 | 144 | 0 145 | Variable 146 | 147 | 148 | 149 | 150 | 151 | <v8:item> 152 | <v8:lang>ru</v8:lang> 153 | <v8:content>Раздел</v8:content> 154 | </v8:item> 155 | 156 | 157 | xs:string 158 | 159 | 0 160 | Variable 161 | 162 | 163 | 164 | 165 | 166 | <v8:item> 167 | <v8:lang>ru</v8:lang> 168 | <v8:content>Текст настроек</v8:content> 169 | </v8:item> 170 | 171 | 172 | xs:string 173 | 174 | 0 175 | Variable 176 | 177 | 178 | 179 | 180 | 181 | <v8:item> 182 | <v8:lang>ru</v8:lang> 183 | <v8:content>Реквизиты объекта</v8:content> 184 | </v8:item> 185 | 186 | 187 | v8:ValueTree 188 | 189 | 190 | 191 | 192 | <v8:item> 193 | <v8:lang>ru</v8:lang> 194 | <v8:content>Полное имя</v8:content> 195 | </v8:item> 196 | 197 | 198 | xs:string 199 | 200 | 0 201 | Variable 202 | 203 | 204 | 205 | 206 | 207 | <v8:item> 208 | <v8:lang>ru</v8:lang> 209 | <v8:content>Картинка</v8:content> 210 | </v8:item> 211 | 212 | 213 | v8ui:Picture 214 | 215 | 216 | 217 | 218 | <v8:item> 219 | <v8:lang>ru</v8:lang> 220 | <v8:content>Имя</v8:content> 221 | </v8:item> 222 | 223 | 224 | xs:string 225 | 226 | 0 227 | Variable 228 | 229 | 230 | 231 | 232 | 233 | <v8:item> 234 | <v8:lang>ru</v8:lang> 235 | <v8:content>Раздел</v8:content> 236 | </v8:item> 237 | 238 | 239 | xs:string 240 | 241 | 255 242 | Variable 243 | 244 | 245 | 246 | 247 | 248 | <v8:item> 249 | <v8:lang>ru</v8:lang> 250 | <v8:content>Владелец</v8:content> 251 | </v8:item> 252 | 253 | 254 | xs:string 255 | 256 | 255 257 | Variable 258 | 259 | 260 | 261 | 262 | 263 | <v8:item> 264 | <v8:lang>ru</v8:lang> 265 | <v8:content>Стандартный реквизит</v8:content> 266 | </v8:item> 267 | 268 | 269 | xs:boolean 270 | 271 | 272 | 273 | 274 | <v8:item> 275 | <v8:lang>ru</v8:lang> 276 | <v8:content>Выгружать</v8:content> 277 | </v8:item> 278 | 279 | 280 | xs:boolean 281 | 282 | 283 | 284 | 285 | 286 | 287 | <v8:item> 288 | <v8:lang>ru</v8:lang> 289 | <v8:content>Идентификатор строки</v8:content> 290 | </v8:item> 291 | 292 | 293 | xs:decimal 294 | 295 | 10 296 | 0 297 | Nonnegative 298 | 299 | 300 | 301 | 302 | 303 | <v8:item> 304 | <v8:lang>ru</v8:lang> 305 | <v8:content>Объект</v8:content> 306 | </v8:item> 307 | 308 | 309 | cfg:ExternalDataProcessorObject.ПомощникДляРаботыСКонфигурацией 310 | 311 | true 312 | 313 | 314 | 315 | 316 | 317 | <v8:item> 318 | <v8:lang>ru</v8:lang> 319 | <v8:content>Применить</v8:content> 320 | </v8:item> 321 | 322 | ПрименитьПараметрыВыгрузки 323 | 324 | 325 | 326 | 327 | 328 | xs:string 329 | 330 | 0 331 | Variable 332 | 333 | 334 | 335 | 336 | 337 | xs:string 338 | 339 | 0 340 | Variable 341 | 342 | 343 | 344 | 345 | 346 | xs:string 347 | 348 | 0 349 | Variable 350 | 351 | 352 | 353 | 354 | 355 | xs:decimal 356 | 357 | 10 358 | 0 359 | Nonnegative 360 | 361 | 362 | 363 | 364 |
-------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Forms/СписокЭлементов/Ext/Form/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОбработчикиСобытийФормы 2 | 3 | &НаСервере 4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 5 | 6 | Инициализировать(); 7 | 8 | КонецПроцедуры 9 | 10 | #КонецОбласти 11 | 12 | #Область ОбработчикиСобытийЭлементовТаблицыФормыТаблицаФормы 13 | 14 | &НаКлиенте 15 | Процедура Подключаемый_ПередРазворачиванием(Элемент, Строка, Отказ) Экспорт 16 | 17 | НайтиСсылкиПоЗначениюРеквизита(Строка); 18 | 19 | КонецПроцедуры 20 | 21 | &НаКлиенте 22 | Процедура Подключаемый_ПриАктивизацииЯчейки(Элемент) Экспорт 23 | 24 | ПодключитьОбработчикОжидания("ОпределитьУникальныйИдентификатор", 0.1, Истина); 25 | 26 | КонецПроцедуры 27 | 28 | #КонецОбласти 29 | 30 | #Область ОбработчикиКомандФормы 31 | 32 | &НаКлиенте 33 | Процедура Удалить(Команда) 34 | 35 | УдалитьОбъектПоКлючу(); 36 | 37 | КонецПроцедуры 38 | 39 | &НаКлиенте 40 | Процедура ПометитьНаУдаление(Команда) 41 | 42 | ПометитьНаУдалениеОбъектПоКлючу(); 43 | 44 | КонецПроцедуры 45 | 46 | &НаКлиенте 47 | Процедура РежимОбмена(Команда) 48 | 49 | СменитьРежимУдаленияОбъекта(); 50 | 51 | КонецПроцедуры 52 | 53 | &НаКлиенте 54 | Процедура НайтиСсылкиНаОбъект(Команда) 55 | 56 | НайтиСсылкиНаОбъектПоКлючу(); 57 | 58 | КонецПроцедуры 59 | 60 | &НаКлиенте 61 | Процедура ЗапуститьУдалениеПомеченныхБезКонтроля(Команда) 62 | 63 | ЗапуститьУдалениеПомеченныхБезКонтроляНаСервере(); 64 | 65 | КонецПроцедуры 66 | 67 | #КонецОбласти 68 | 69 | #Область СлужебныеПроцедурыИФункции 70 | 71 | #Область РаботаСФормой 72 | 73 | #Область Общие 74 | 75 | &НаСервере 76 | Процедура Инициализировать() 77 | 78 | ИмяСписка = "Список"; 79 | ИмяРеквизита = Параметры.РеквизитыТаблицы[0]; 80 | 81 | СистемнаяТаблица = Параметры.СистемнаяТаблица; 82 | ОсновнаяТаблица = Параметры.ОсновнаяТаблица; 83 | РеквизитыТаблицы = Параметры.РеквизитыТаблицы; // Массив Из Строка 84 | 85 | ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); 86 | Объект.ПутьКФормам = ОбработкаОбъект.Метаданные().ПолноеИмя() + ".Форма."; 87 | 88 | Если Параметры.ДинамическийСписок Тогда 89 | СоздатьДинамическийСписок(ОсновнаяТаблица, РеквизитыТаблицы, СистемнаяТаблица); 90 | Иначе 91 | СоздатьДерево(ОсновнаяТаблица, РеквизитыТаблицы, СистемнаяТаблица); 92 | КонецЕсли; 93 | 94 | Элементы.ФормаРежимОбмена.Пометка = Ложь; 95 | 96 | КонецПроцедуры 97 | 98 | &НаСервереБезКонтекста 99 | Процедура СообщитьПользователю(Текст, КлючДанных = Неопределено) 100 | 101 | СообщениеПользователю = Новый СообщениеПользователю; 102 | СообщениеПользователю.Текст = Текст; 103 | Если ЗначениеЗаполнено(КлючДанных) Тогда 104 | СообщениеПользователю.КлючДанных = КлючДанных; 105 | КонецЕсли; 106 | СообщениеПользователю.Сообщить(); 107 | 108 | КонецПроцедуры 109 | 110 | #КонецОбласти 111 | 112 | #КонецОбласти 113 | 114 | #Область УникальныеИдентификаторы 115 | 116 | #Область Общие 117 | 118 | &НаКлиенте 119 | Процедура ОпределитьУникальныйИдентификатор() 120 | 121 | ТекущиеДанные = Элементы[ИмяСписка].ТекущиеДанные; 122 | ТекущаяСтрока = Элементы[ИмяСписка].ТекущаяСтрока; 123 | 124 | Если ТекущиеДанные = Неопределено Тогда 125 | Возврат; 126 | КонецЕсли; 127 | 128 | ИмяТекущегоПоля = ОпределитьИмяТекущегоПоляНаСервере(); 129 | 130 | ОпределитьУникальныйИдентификаторПоЗначению(ТекущаяСтрока, ТекущиеДанные[ИмяТекущегоПоля]); 131 | 132 | КонецПроцедуры 133 | 134 | #КонецОбласти 135 | 136 | #Область Частные 137 | 138 | &НаСервере 139 | Процедура ОпределитьУникальныйИдентификаторПоЗначению(СсылкаСтроки, СсылкаЯчейки) 140 | 141 | ОбъектОбработки = РеквизитФормыВЗначение("Объект"); 142 | 143 | Если ОбъектОбработки.ЭтоСсылка(ТипЗнч(СсылкаСтроки), Истина) Тогда 144 | УникальныйИдентификаторСтроки = СсылкаСтроки.УникальныйИдентификатор(); 145 | Иначе 146 | УникальныйИдентификаторСтроки = ""; 147 | КонецЕсли; 148 | 149 | Если ОбъектОбработки.ЭтоСсылка(ТипЗнч(СсылкаЯчейки), Истина) Тогда 150 | УникальныйИдентификаторЯчейки = СсылкаЯчейки.УникальныйИдентификатор(); 151 | Иначе 152 | УникальныйИдентификаторЯчейки = ""; 153 | КонецЕсли; 154 | 155 | КонецПроцедуры 156 | 157 | &НаСервере 158 | Функция ОпределитьИмяТекущегоПоляНаСервере() 159 | 160 | ТекущийЭлементПутьКДанным = Элементы[ИмяСписка].ТекущийЭлемент.ПутьКДанным; 161 | ЧастиПути = СтрРазделить(ТекущийЭлементПутьКДанным, "."); 162 | 163 | Возврат ЧастиПути[1]; 164 | 165 | КонецФункции 166 | 167 | #КонецОбласти 168 | 169 | #КонецОбласти 170 | 171 | #Область РаботаСоСпискомЭлементов 172 | 173 | #Область Общие 174 | 175 | &НаКлиенте 176 | Процедура НайтиСсылкиПоЗначениюРеквизита(ТекущаяСтрока) 177 | 178 | ТекущиеДанные = ЭтотОбъект[ИмяСписка].НайтиПоИдентификатору(ТекущаяСтрока); 179 | 180 | Если ТекущиеДанные = Неопределено Тогда 181 | Возврат; 182 | КонецЕсли; 183 | 184 | Если Не ТекущиеДанные.ПолучитьРодителя() = Неопределено Тогда 185 | Возврат; 186 | КонецЕсли; 187 | 188 | //@skip-check use-non-recommended-method 189 | РаботаСМетаданными = ПолучитьФорму(Объект.ПутьКФормам + "РаботаСМетаданными"); 190 | ДанныеПоСсылкам = РаботаСМетаданными.НайтиСсылкиПоЗначениюРеквизита(ТекущиеДанные[ИмяРеквизита], ОсновнаяТаблица, ИмяРеквизита); 191 | 192 | Элементы_Уровень1 = ТекущиеДанные.ПолучитьЭлементы(); 193 | Элементы_Уровень1.Очистить(); 194 | 195 | Для Каждого Ссылка Из ДанныеПоСсылкам.СсылкиТекущейТаблицы Цикл 196 | НоваяСтрока = Элементы_Уровень1.Добавить(); 197 | НоваяСтрока[ИмяРеквизита] = Ссылка; 198 | НоваяСтрока[ИмяРеквизитаТип] = Строка(ТипЗнч(Ссылка)); 199 | КонецЦикла; 200 | 201 | Если ДанныеПоСсылкам.СсылкиДругихТаблиц.Количество() > 0 Тогда 202 | 203 | НоваяСтрока = Элементы_Уровень1.Добавить(); 204 | НоваяСтрока[ИмяРеквизита] = "Ссылки других объектов"; 205 | НоваяСтрока[ИмяРеквизитаКоличество] = ДанныеПоСсылкам.СсылкиДругихТаблиц.Количество(); 206 | 207 | Элементы_Уровень2 = НоваяСтрока.ПолучитьЭлементы(); 208 | Для Каждого Ссылка Из ДанныеПоСсылкам.СсылкиДругихТаблиц Цикл 209 | НоваяСтрока2 = Элементы_Уровень2.Добавить(); 210 | НоваяСтрока2[ИмяРеквизита] = Ссылка; 211 | НоваяСтрока2[ИмяРеквизитаТип] = Строка(ТипЗнч(Ссылка)); 212 | КонецЦикла; 213 | 214 | КонецЕсли; 215 | 216 | КонецПроцедуры 217 | 218 | &НаСервере 219 | Процедура СоздатьДерево(ОсновнаяТаблица, РеквизитыТаблицы, СистемнаяТаблица) 220 | 221 | МассивРеквизитов = Новый Массив; 222 | 223 | Если Не ЗначениеЗаполнено(СистемнаяТаблица) Тогда 224 | МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяСписка, Новый ОписаниеТипов("ДеревоЗначений"))); 225 | Иначе 226 | МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяСписка, Новый ОписаниеТипов("ТаблицаЗначений"))); 227 | КонецЕсли; 228 | 229 | Для Каждого Реквизит Из РеквизитыТаблицы Цикл 230 | МассивРеквизитов.Добавить(Новый РеквизитФормы(Реквизит, Новый ОписаниеТипов("Неопределено"), ИмяСписка)); 231 | Если Не ЗначениеЗаполнено(СистемнаяТаблица) Тогда 232 | ИмяРеквизитаТип = Реквизит + "_Тип"; 233 | МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяРеквизитаТип, Новый ОписаниеТипов("Строка"), ИмяСписка, 234 | Реквизит + " (Тип)")); 235 | ИмяРеквизитаКоличество = Реквизит + "_Количество"; 236 | МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяРеквизитаКоличество, Новый ОписаниеТипов("Число", 237 | Новый КвалификаторыЧисла(15)), ИмяСписка, Реквизит + " (Количество)")); 238 | КонецЕсли; 239 | КонецЦикла; 240 | 241 | ИзменитьРеквизиты(МассивРеквизитов); 242 | 243 | Элемент = Элементы.Добавить(ИмяСписка, Тип("ТаблицаФормы"), ЭтотОбъект); 244 | Элемент.ПутьКДанным = ИмяСписка; 245 | Элемент.Видимость = Истина; 246 | Элемент.ИзменятьСоставСтрок = Ложь; 247 | Элемент.ИзменятьПорядокСтрок = Ложь; 248 | Элемент.ТолькоПросмотр = Истина; 249 | Элемент.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; 250 | 251 | Если Не ЗначениеЗаполнено(СистемнаяТаблица) Тогда 252 | Элемент.УстановитьДействие("ПередРазворачиванием", "Подключаемый_ПередРазворачиванием"); 253 | КонецЕсли; 254 | 255 | Для Каждого Реквизит Из МассивРеквизитов Цикл 256 | 257 | Если Реквизит.Имя = ИмяСписка Тогда 258 | Продолжить; 259 | КонецЕсли; 260 | 261 | Колонка = Элементы.Добавить(ИмяСписка + Реквизит.Имя, Тип("ПолеФормы"), Элементы[ИмяСписка]); 262 | Колонка.Вид = ВидПоляФормы.ПолеНадписи; 263 | Колонка.ПутьКДанным = ИмяСписка + "." + Реквизит.Имя; 264 | 265 | КонецЦикла; 266 | 267 | ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); 268 | Запрос = ОбработкаОбъект.ПолучитьЗапросПоПолямОбъекта(ОсновнаяТаблица, РеквизитыТаблицы, Не ЗначениеЗаполнено(СистемнаяТаблица)); 269 | Выборка = Запрос.Выполнить().Выбрать(); 270 | 271 | Если Не ЗначениеЗаполнено(СистемнаяТаблица) Тогда 272 | Элементы_Уровень0 = ЭтотОбъект[ИмяСписка].ПолучитьЭлементы(); 273 | Иначе 274 | Элементы_Уровень0 = ЭтотОбъект[ИмяСписка]; 275 | КонецЕсли; 276 | 277 | Пока Выборка.Следующий() Цикл 278 | 279 | ПустаяСтрока = Истина; 280 | Для Каждого Реквизит Из РеквизитыТаблицы Цикл 281 | ПустаяСтрока = ПустаяСтрока И Не ЗначениеЗаполнено(Выборка[Реквизит]); 282 | Если Не ПустаяСтрока Тогда 283 | Прервать; 284 | КонецЕсли; 285 | КонецЦикла; 286 | 287 | Если ПустаяСтрока Тогда 288 | Продолжить; 289 | КонецЕсли; 290 | 291 | НоваяСтрока = Элементы_Уровень0.Добавить(); 292 | ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка); 293 | 294 | Если СистемнаяТаблица = "ТочкиМаршрута" И Выборка.Ссылка.Вид <> ВидТочкиМаршрутаБизнесПроцесса.Действие Тогда 295 | 296 | Если НоваяСтрока.Представление = "<>" Тогда 297 | Точка = Новый Структура("Ссылка", Выборка.Ссылка.Имя); 298 | ЗаполнитьЗначенияСвойств(НоваяСтрока, Точка); 299 | КонецЕсли; 300 | 301 | Продолжить; 302 | 303 | КонецЕсли; 304 | 305 | Если Не ЗначениеЗаполнено(СистемнаяТаблица) Тогда 306 | Элементы_Уровень1 = НоваяСтрока.ПолучитьЭлементы(); 307 | НоваяСтрока = Элементы_Уровень1.Добавить(); 308 | НоваяСтрока[РеквизитыТаблицы[0]] = "Расшифровка..."; 309 | КонецЕсли; 310 | 311 | КонецЦикла; 312 | 313 | КонецПроцедуры 314 | 315 | &НаСервере 316 | Процедура СоздатьДинамическийСписок(ОсновнаяТаблица, РеквизитыТаблицы, СистемнаяТаблица) 317 | 318 | МассивРеквизитов = Новый Массив; 319 | МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяСписка, Новый ОписаниеТипов("ДинамическийСписок"))); 320 | ИзменитьРеквизиты(МассивРеквизитов); 321 | 322 | //@skip-check bsl-legacy-check-string-literal 323 | ЭтотОбъект["Список"].ОсновнаяТаблица = ОсновнаяТаблица; 324 | 325 | Элемент = Элементы.Добавить(ИмяСписка, Тип("ТаблицаФормы"), ЭтотОбъект); 326 | Элемент.ПутьКДанным = ИмяСписка; 327 | Элемент.Видимость = Истина; 328 | Элемент.ИзменятьСоставСтрок = Ложь; 329 | Элемент.ИзменятьПорядокСтрок = Ложь; 330 | Элемент.ТолькоПросмотр = Истина; 331 | Элемент.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; 332 | Элемент.Отображение = ОтображениеТаблицы.Список; 333 | 334 | Элемент.УстановитьДействие("ПриАктивизацииЯчейки", "Подключаемый_ПриАктивизацииЯчейки"); 335 | 336 | Для Каждого Реквизит Из РеквизитыТаблицы Цикл 337 | Колонка = Элементы.Добавить(Реквизит + ИмяСписка, Тип("ПолеФормы"), Элементы[ИмяСписка]); 338 | Колонка.Вид = ВидПоляФормы.ПолеНадписи; 339 | Колонка.ПутьКДанным = ИмяСписка + "." + Реквизит; 340 | Колонка.АвтоМаксимальнаяВысота = Ложь; 341 | Колонка.АвтоВысотаЯчейки = Истина; 342 | Колонка.Высота = 10; 343 | КонецЦикла; 344 | 345 | Если ЗначениеЗаполнено(СистемнаяТаблица) Тогда 346 | //@skip-check bsl-legacy-check-string-literal 347 | ЭлементОтбора = ЭтотОбъект["Список"].Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); 348 | ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Предопределенный"); 349 | ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; 350 | ЭлементОтбора.ПравоеЗначение = Истина; 351 | ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; 352 | КонецЕсли; 353 | 354 | КонецПроцедуры 355 | 356 | #КонецОбласти 357 | 358 | #КонецОбласти 359 | 360 | #Область РаботаСДанными 361 | 362 | #Область Общие 363 | 364 | &НаКлиенте 365 | Процедура НайтиСсылкиНаОбъектПоКлючу() 366 | 367 | ТекущиеДанные = Элементы.Список.ТекущиеДанные; 368 | 369 | Если ТекущиеДанные = Неопределено Тогда 370 | Возврат; 371 | КонецЕсли; 372 | 373 | ИмяТекущегоПоля = ОпределитьИмяТекущегоПоляНаСервере(); 374 | 375 | НайтиСсылкиНаТекущийОбъект(ТекущиеДанные[ИмяТекущегоПоля]); 376 | 377 | КонецПроцедуры 378 | 379 | &НаКлиенте 380 | Процедура ПометитьНаУдалениеОбъектПоКлючу() 381 | 382 | ТекущиеДанные = Элементы.Список.ТекущиеДанные; 383 | 384 | Если ТекущиеДанные = Неопределено Тогда 385 | Возврат; 386 | КонецЕсли; 387 | 388 | Если СтрНайти(Элементы.Список.ТекущаяСтрока, "КлючЗаписи") = 0 Тогда 389 | ПометитьНаУдалениеСсылкуНаСервере(); 390 | КонецЕсли; 391 | 392 | Элементы.Список.Обновить(); 393 | 394 | КонецПроцедуры 395 | 396 | &НаКлиенте 397 | Процедура УдалитьОбъектПоКлючу() 398 | 399 | ТекущиеДанные = Элементы.Список.ТекущиеДанные; 400 | 401 | Если ТекущиеДанные = Неопределено Тогда 402 | Возврат; 403 | КонецЕсли; 404 | 405 | Если СтрНайти(Элементы.Список.ТекущаяСтрока, "КлючЗаписи") > 0 Тогда 406 | УдалитьЗаписьНаСервере(); 407 | ИначеЕсли РежимОбмена Тогда 408 | УдалитьСсылкуНаСервереВРежимеОбменДанными(); 409 | Иначе 410 | УдалитьСсылкуНаСервере(); 411 | КонецЕсли; 412 | 413 | Элементы.Список.Обновить(); 414 | 415 | КонецПроцедуры 416 | 417 | &НаКлиенте 418 | Процедура СменитьРежимУдаленияОбъекта() 419 | 420 | Элементы.ФормаРежимОбмена.Пометка = Не Элементы.ФормаРежимОбмена.Пометка; 421 | РежимОбмена = Элементы.ФормаРежимОбмена.Пометка; 422 | 423 | КонецПроцедуры 424 | 425 | #КонецОбласти 426 | 427 | #Область Частные 428 | 429 | &НаСервере 430 | Процедура УдалитьЗаписьНаСервере() 431 | 432 | КлючиЗаписи = Элементы.Список.ВыделенныеСтроки; 433 | 434 | Для Каждого КлючЗаписи Из КлючиЗаписи Цикл 435 | 436 | МетаданныеРегистра = КлючЗаписи.Метаданные(); 437 | 438 | Если МетаданныеРегистра.РежимЗаписи = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору Тогда 439 | СообщитьПользователю(НРег("ru = 'Регистр подчинен регистратору'")); 440 | Возврат; 441 | КонецЕсли; 442 | 443 | МенеджерЗаписи = РегистрыСведений[МетаданныеРегистра.Имя].СоздатьМенеджерЗаписи(); 444 | ЗаполнитьЗначенияСвойств(МенеджерЗаписи, КлючЗаписи); 445 | МенеджерЗаписи.Прочитать(); 446 | Если Не МенеджерЗаписи.Выбран() Тогда 447 | СообщитьПользователю(НРег("ru = 'Не удалось выбрать данные по записи'")); 448 | Возврат; 449 | КонецЕсли; 450 | 451 | МенеджерЗаписи.Удалить(); 452 | 453 | КонецЦикла; 454 | 455 | КонецПроцедуры 456 | 457 | &НаСервере 458 | Процедура УдалитьСсылкуНаСервере() 459 | 460 | ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); 461 | 462 | НайденныеДанные = ОбработкаОбъект.ЗапуститьУдалениеПомеченных( 463 | Элементы.Список.ВыделенныеСтроки, 464 | Ложь); 465 | 466 | Для Каждого Строка Из НайденныеДанные Цикл 467 | СообщитьПользователю(Строка(Строка[1]), Строка.Строка[1]); 468 | КонецЦикла; 469 | 470 | КонецПроцедуры 471 | 472 | &НаСервере 473 | Процедура УдалитьСсылкуНаСервереВРежимеОбменДанными() 474 | 475 | Ссылки = Элементы.Список.ВыделенныеСтроки; 476 | 477 | ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); 478 | ОбработкаОбъект.ЗапуститьУдалениеПомеченных(Ссылки, Истина, Истина); 479 | 480 | КонецПроцедуры 481 | 482 | &НаСервере 483 | Процедура ЗапуститьУдалениеПомеченныхБезКонтроляНаСервере() 484 | 485 | ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); 486 | ОбработкаОбъект.ЗапуститьУдалениеПомеченных(ОсновнаяТаблица, Ложь); 487 | 488 | КонецПроцедуры 489 | 490 | &НаСервере 491 | Процедура ПометитьНаУдалениеСсылкуНаСервере() 492 | 493 | ОбъектОбработки = РеквизитФормыВЗначение("Объект"); 494 | Раздел = ОбъектОбработки.ПолучитьРазделПоПолномуИмени(ОсновнаяТаблица); 495 | 496 | ЭлементОбъектовМетаданных = Новый Структура; 497 | ЭлементОбъектовМетаданных.Вставить("ПолноеИмя", ОсновнаяТаблица); 498 | ЭлементОбъектовМетаданных.Вставить("Раздел", Раздел); 499 | 500 | Ссылки = Элементы.Список.ВыделенныеСтроки; 501 | 502 | Для Каждого Ссылка Из Ссылки Цикл 503 | ОбъектОбработки.ПометитьНаУдалениеСсылку(Ссылка, ЭлементОбъектовМетаданных, РежимОбмена); 504 | КонецЦикла; 505 | 506 | КонецПроцедуры 507 | 508 | &НаСервере 509 | Процедура НайтиСсылкиНаТекущийОбъект(ТекущаяСсылка) 510 | 511 | ОбъектОбработки = РеквизитФормыВЗначение("Объект"); 512 | 513 | Если Не ОбъектОбработки.ЭтоСсылка(ТипЗнч(ТекущаяСсылка), Истина) Тогда 514 | СообщитьПользователю(НСтр("ru = 'Выбранная ячейка не содержит ссылки'")); 515 | Возврат; 516 | КонецЕсли; 517 | 518 | ШаблонСообщения = НСтр("ru = 'Метаданные: %1, Объект: %2'"); 519 | 520 | Ссылки = Новый Массив; 521 | Ссылки.Добавить(ТекущаяСсылка); 522 | НайденныеСсылки = НайтиПоСсылкам(Ссылки); 523 | Для Каждого НайденнаяСсылка Из НайденныеСсылки Цикл 524 | Если НайденнаяСсылка.Ссылка = НайденнаяСсылка.Данные Тогда 525 | Продолжить; 526 | КонецЕсли; 527 | СообщитьПользователю( 528 | СтрШаблон(ШаблонСообщения, Строка(НайденнаяСсылка.Метаданные), Строка(НайденнаяСсылка.Данные)), 529 | НайденнаяСсылка.Данные); 530 | КонецЦикла; 531 | 532 | КонецПроцедуры 533 | 534 | #КонецОбласти 535 | 536 | #КонецОбласти 537 | 538 | #КонецОбласти -------------------------------------------------------------------------------- /src/rep/ПомощникДляРаботыСКонфигурацией/Templates/КартинкиМетаданных/Ext/Template.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ru 5 | # 6 | 7 | ru 8 | Русский 9 | Русский 10 | 11 | 12 | en 13 | Английский 14 | Английский 15 | 16 | 17 | 18 | 7 19 | 20 | 21 | 0 22 | 21 23 | 24 | true 25 | 26 | 27 | 28 | 22 29 | 30 | 31 | 32 | 0 33 | 34 | 35 | 36 | 37 | 38 | 39 | 23 40 | 41 | 42 | 43 | 0 44 | 45 | 46 | 47 | 48 | 49 | 50 | 24 51 | 52 | 53 | 54 | 0 55 | 56 | 57 | 58 | 59 | 60 | 25 61 | 28 62 | 63 | true 64 | 65 | 66 | 67 | 29 68 | 69 | 70 | 71 | 0 72 | 73 | 74 | 75 | 76 | 77 | 30 78 | 79 | 80 | 81 | 0 82 | 83 | 84 | 85 | 86 | 87 | 88 | Picture 89 | 1 90 | 1 91 | 0 92 | 0 93 | 1 94 | 3 95 | 0 96 | 0 97 | 0 98 | 48 99 | false 100 | RealSize 101 | 1 102 | 1 103 | 104 | 105 | Picture 106 | 2 107 | 1 108 | 1 109 | 36 110 | 1 111 | 21 112 | 0 113 | 0 114 | 0 115 | 30 116 | false 117 | RealSizeIgnoreScale 118 | 2 119 | 2 120 | 121 | 122 | Picture 123 | 5 124 | 1 125 | 2 126 | 15 127 | 2 128 | 27 129 | 0 130 | 0 131 | 0 132 | 30 133 | false 134 | RealSize 135 | 3 136 | 3 137 | 138 | 139 | Picture 140 | 6 141 | 1 142 | 2 143 | 42 144 | 4 145 | 30 146 | 0 147 | 0 148 | 0 149 | 36 150 | false 151 | RealSize 152 | 4 153 | 4 154 | 155 | 156 | Picture 157 | 10 158 | 1 159 | 6 160 | 0 161 | 6 162 | 33 163 | 0 164 | 0 165 | 0 166 | 33 167 | false 168 | RealSize 169 | 5 170 | 5 171 | 172 | 173 | Picture 174 | 11 175 | 1 176 | 7 177 | 27 178 | 8 179 | 30 180 | 0 181 | 0 182 | 0 183 | 48 184 | false 185 | RealSize 186 | 6 187 | 6 188 | 189 | 190 | Picture 191 | 12 192 | 1 193 | 9 194 | 27 195 | 10 196 | 24 197 | 0 198 | 0 199 | 0 200 | 42 201 | false 202 | RealSize 203 | 7 204 | 7 205 | 206 | 207 | Picture 208 | 13 209 | 1 210 | 11 211 | 0 212 | 11 213 | 39 214 | 0 215 | 0 216 | 0 217 | 39 218 | false 219 | RealSize 220 | 8 221 | 8 222 | 223 | 224 | Picture 225 | 14 226 | 1 227 | 12 228 | 18 229 | 13 230 | 15 231 | 0 232 | 0 233 | 0 234 | 42 235 | false 236 | RealSize 237 | 9 238 | 9 239 | 240 | 241 | Picture 242 | 15 243 | 1 244 | 14 245 | 0 246 | 14 247 | 18 248 | 0 249 | 0 250 | 0 251 | 36 252 | false 253 | RealSize 254 | 10 255 | 10 256 | 257 | 258 | Picture 259 | 16 260 | 1 261 | 14 262 | 36 263 | 15 264 | 30 265 | 0 266 | 0 267 | 0 268 | 42 269 | false 270 | RealSize 271 | 11 272 | 11 273 | 274 | 275 | Picture 276 | 18 277 | 1 278 | 17 279 | 9 280 | 18 281 | 9 282 | 0 283 | 0 284 | 0 285 | 45 286 | false 287 | RealSize 288 | 12 289 | 12 290 | 291 | 292 | Picture 293 | 19 294 | 1 295 | 18 296 | 27 297 | 19 298 | 27 299 | 0 300 | 0 301 | 0 302 | 48 303 | false 304 | RealSize 305 | 13 306 | 13 307 | 308 | 309 | Picture 310 | 21 311 | 1 312 | 20 313 | 18 314 | 21 315 | 12 316 | 0 317 | 0 318 | 0 319 | 36 320 | false 321 | Stretch 322 | 14 323 | 14 324 | 325 | 326 | Picture 327 | 22 328 | 1 329 | 22 330 | 0 331 | 22 332 | 39 333 | 0 334 | 12 335 | 0 336 | 48 337 | false 338 | Stretch 339 | 15 340 | 15 341 | 342 | 343 | Picture 344 | 23 345 | 1 346 | 23 347 | 18 348 | 24 349 | 0 350 | 0 351 | 0 352 | 0 353 | 36 354 | false 355 | Stretch 356 | 16 357 | 16 358 | 359 | 360 | Picture 361 | 27 362 | 1 363 | 26 364 | 0 365 | 27 366 | 3 367 | 0 368 | 0 369 | 0 370 | 48 371 | false 372 | Stretch 373 | 17 374 | 17 375 | 376 | 377 | Picture 378 | 28 379 | 1 380 | 29 381 | 9 382 | 30 383 | 12 384 | 0 385 | 0 386 | 0 387 | 48 388 | false 389 | Stretch 390 | 18 391 | 18 392 | 393 | 394 | Picture 395 | 29 396 | 1 397 | 27 398 | 18 399 | 28 400 | 21 401 | 0 402 | 0 403 | 0 404 | 48 405 | false 406 | Stretch 407 | 19 408 | 19 409 | 410 | 411 | Picture 412 | 31 413 | 1 414 | 31 415 | 6 416 | 32 417 | 33 418 | 0 419 | 15 420 | 0 421 | 93 422 | false 423 | Stretch 424 | 20 425 | 20 426 | 427 | 428 | Picture 429 | 32 430 | 1 431 | 24 432 | 15 433 | 25 434 | 18 435 | 0 436 | 0 437 | 0 438 | 45 439 | false 440 | Stretch 441 | 21 442 | 21 443 | 444 | 445 | Picture 446 | 37 447 | 1 448 | 32 449 | 39 450 | 34 451 | 30 452 | 0 453 | 3 454 | 0 455 | 84 456 | false 457 | Stretch 458 | 22 459 | 22 460 | 461 | true 462 | 2 463 | 36 464 | 36 465 | 466 | WebСервис 467 | 18 468 | 469 | 470 | ЗначенияСубконто 471 | 29 472 | 473 | 474 | Интерфейс 475 | 17 476 | 477 | 478 | Команда 479 | 11 480 | 481 | 482 | Конфигурация 483 | 12 484 | 485 | 486 | ОбщаяФорма 487 | 16 488 | 489 | 490 | Общие 491 | 13 492 | 493 | 494 | ОбщийРеквизит 495 | 15 496 | 497 | 498 | Операция 499 | 10 500 | 501 | 502 | ПараметрСеанса 503 | 14 504 | 505 | 506 | Перерасчеты 507 | 23 508 | 509 | 510 | Подсистема 511 | 1 512 | 513 | 514 | Последовательность 515 | 19 516 | 517 | 518 | ПредопределенныеДанные 519 | 27 520 | 521 | 522 | ПризнакиУчета 523 | 21 524 | 525 | 526 | ПризнакиУчетаСубконто 527 | 22 528 | 529 | 530 | РегистрацияИзменений 531 | 32 532 | 533 | 534 | РеквизитАдресации 535 | 5 536 | 537 | 538 | Роли 539 | 37 540 | 541 | 542 | СистемныеТаблицы 543 | 26 544 | 545 | 546 | СтандартнаяТабличнаяЧасть 547 | 6 548 | 549 | 550 | СтандартныйРеквизит 551 | 2 552 | 553 | 554 | ТочкиМаршрута 555 | 28 556 | 557 | 558 | ФункциональнаяОпция 559 | 31 560 | 561 | 562 | None 563 | 564 | 565 | 0 566 | 567 | 568 | 72 569 | 570 | 571 | 0 572 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 573 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAC7SURBVDhPY2RA 574 | AjcPrf9/79QuhjevXjJ8/vqZ4dOHzwymPrEMzpHZKOqQAQuUBoM7x7YyOIcmMXx8 575 | 95rh4/u3DK+fP2XYuXoWVBY7QDH5/KbZ/x9fPsZw994Dhu/fvjL8+PmLwTYomcE1 576 | JhenC1DA0fPX/qc2TP4PYoNoEB8sQQxA1gwDRBuCTTMMEDKEEV/IExMrLPhCnphY 577 | YcQX8iMkVuB+IRTiuOTheYFQiOOSh7uAUIjjkqcQMDAAADWdKJzOpUXMAAAAAElF 578 | TkSuQmCC 579 | 580 | 581 | 1 582 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 583 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB1SURBVDhPYxgF 584 | gwAwQmkwWHC6+//WH1OgPOzAmyOHIcG0FK4PxYDQw/L/Z9rsBbPfM9wF018Y3oIx 585 | DGTl1TNcnPwOtwG68upQHgMDJys7AzMTMwMXOydUhIFheu1O3AaAvNC/qB3Kww4K 586 | 4ypRvDAKBh4wMAAABMwiBbDVdesAAAAASUVORK5CYII= 587 | 588 | 589 | 2 590 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 591 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACuSURBVDhPYxgF 592 | gwAwQmkw6N6T/v/sw/0Mf378h4owMPz6+g/KYmD4/ukvg4W6M0Nz7Fy4PhYoDQYn 593 | b+5jSI5KZfj6+wvDp18fGb78/sTw+ccHhl+/fjP8/vGT4ef3nwxHt+2HqoYAFBf4 594 | 9yn/1zPWZvjz5w/D799/gBp/MvwCavwDZP8EGgKiX975zrCv6x5cH4oBtYuT/x+9 595 | jGoDOrDUdGJoTZyDom8UDCxgYAAAjJxNBcw7CZgAAAAASUVORK5CYII= 596 | 597 | 598 | 3 599 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 600 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB+SURBVDhPY6AU 601 | MEJpMFhwuvv/1h9ToDzswJsjhyHBtBSuD8WA0MPy/2fa7AWz3zPcBdNfGN6CMQxk 602 | 5dUzXJz8DrcBuvLqUB4DAycrOwMzEzMDFzsnVISBYXrtTtwGgLzQv6gdysMOCuMq 603 | UbxAMcBwwWggkg4wXDAaiKQCBgYABkRmDfwy+0QAAAAASUVORK5CYII= 604 | 605 | 606 | 4 607 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 608 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF6SURBVDhP1ZK9 609 | S0JRGId/ViK5SFQQBFkQRkSUYQ1dgsS5rSGXdmnur4jmBqGtJrMGF4OGAk1oaclF 610 | kEpJ0/w8dr/1xjlej1yy1uiBw+994X1e7rn34s+xmTmQnJw2ErUoEsUYFpwC/K4g 611 | lqZ8FmfETI70dGeo9Tc4phcRzZ/iqhgBedGQJucoOD/NqT5DZjKo3HrPoizKqBKC 612 | ZOOWySrpsHOTipmTfSwLqFyRNZBGDbquYUbzcJnkNKxNePHxmjHMcQZfID5eG7qi 613 | QBJbUGQJpFKAT9/CsrQB7dmOzTEBAY+ATCpuGl34CynGw0aBdGVVkTFsd8DpmsSo 614 | axxtXUetmEM5lwGplrB/dMk9XmQvjo2SpDBZV2VoksiS9rLUXUpPvdHE4dkD9/gV 615 | bO7VX2UKaYmYXw+wugdfMOcL2CqF/I8yTXo9r3+H9T0sX8G95kezXh0o00ff3jvA 616 | 7Ipg+ZEsDeU+GjaSkRNWq3qHpdbuQNgNIRAMfZv/9wBfufLyQyqKA38AAAAASUVO 617 | RK5CYII= 618 | 619 | 620 | 5 621 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 622 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKmSURBVDhPjVNL 623 | TxNRFP5mOtOZQomI0IfSlvIyGMQIoq7UuDBuNHFjgtGlmvgj/BMu3Wh0wcJEiRuN 624 | iRo3gEoEJVYH+gLpgwLt9N3pzFxPp6EJKoln8iV3zne+c889514O+9hWOspM3YQo 625 | SjBMDd2e/n/G/uVU5p8yNbEIXnbB7uwBZ+Nhlraxkw4hMHIRwYmpPZrWTymfZcsf 626 | 7qOjawKu4El0ufuIbNKMPnU7hvjyS+Qzn3Du+kxL11rMztxm3v5L8I9Mkpcnj42w 627 | SzOCAcYMRJdeYEN5jfNTryyyEYnQx4fMQeX6hn1g5hbW11YwPzeLVCIEZiQIScIm 628 | QFzf6FnI7e1QFp40sjYTJJVnCAy7YWi/CElktzcwMXkV1XoAscgq8rk1y9+Aqa1j 629 | cPQY4l8eNKTgM6kw4/QUJCEJvRxFvRhBIZeBIAgIBgfQG7yGtYQPEWUVZTVqxchi 630 | GtDT1qR4rVKGbC+glvsBrUi7VFJg9QLltiqE3W7H2IlT6AncgqJkUdzZRK0QR5tc 631 | oyNRBYJdprJK4HQGG5PAGSJpGw3ca4xRQoMDb5DIkEhMd4S0PE9zzudE6JpEDXRS 632 | 6AGCTGhOQNM0fF36jE3lMYZ626miTuqFjIJqR12vgu/xDHCCw4tirkaXxmWhzdEB 633 | XdcRCa8guvgEvW3f4fe6IUpu4j0oqnU4nAF0u4PWwHH4+B3EoyXUykXwkhcBnx9z 634 | 76Zhq4bg9/VR8BHL34BWKSEWVuEfv2dV2LpI7x9dYc4OHwbGLsBxcIh2kq1zc1wz 635 | hBlVVLOrCH97S5NI4czN5xbRSlAuqGxh5i511QXf0DgOeQZhkzqtCKOag7oVQzQ0 636 | D9HM4PSN6Zautdi1xmNK/XwDxjnBBCcE0QazvANRqMBz9PL+j+lP+7/nDPwGVwwz 637 | cc95MXIAAAAASUVORK5CYII= 638 | 639 | 640 | 6 641 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 642 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIuSURBVDhPpVJL 643 | b9NAEP78yDvNC9WO8kRVH0GhtwrBBTggcUAcOXDmz/VSIf4A4gCNqnKiJKRpg0RJ 644 | Qo3TpIkS27FjL2M3SmXaW0f6NLuz8307s7O4q3ELf8PUXpNNLkcQAwGEYhFIuQe3 645 | 5t4IXnS/MqVdg8PxcIQIOJ6BM0dgcxOFygukczs+jm/TPNxjHHpIy2WsZNYQCMkU 646 | ncOYtjHq1zHotSGXnkG6/2rJ4xce/U6NOVYDcrFMApsIhpPgOJMqcBCJl7Gaf4Rs 647 | qYTe6R5VWWML2rVA9+QDEikLkVgQYEM4c+UKluvPSUxHPLWKZMbGWX13wVoIKJ0j 648 | pg0OEBYVMOsMtn4KW2sS6oQG7VtejLNVRIIj6IN9qN26V4XXS+vbR6YcvcNWNYdw 649 | fI0qEEBPRyduzlW7HOd6E9rld/xsKsjvvEe58piemkwQA7CNCcxBC4ZyiFn/B8z+ 650 | MeGE0PLWM7UO4/wA1rBDLdk0XmqVzBOIr6ToHhmWmYBjkJjGqGT4oTlwZiEiu7kF 651 | BMKhawG5uM3FpKfQZ1kwvkzRnBv1g897ZzNLRiJLo8xXvd6WUyhtv8XULMKgZCG6 652 | DjG6RX6TvAtaR9ZhQYI2LyNffbNg/feRGl92mX7xGelUDImkBDF4z4vbZh+T0V+M 653 | RxrkyktIG6+XPJ+Aa+qvffbn+BNMfQxzzkEQeAR4k/5HBvLGc2RKT3ycGwKuWbMx 654 | G6q/MR1PaEIiwtEQpMLDW3PvaMA//PTvpX5y0JQAAAAASUVORK5CYII= 655 | 656 | 657 | 7 658 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 659 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFTSURBVDhPYxhw 660 | wAilUcDOU1f/T950HMzO9bNkcDfTxqoOBDAkQJrnn3nFYKSlCuafu3abIdFEDKch 661 | TFAaDkA2yykoMHz48QeMQWyYa7ABDANA4NOPvwzvvv0BYxAbH8AwAOTnDy8eM/Bx 662 | MIMxiA0SIwmAwsGnZg4Y33ny6j9I7OrRnf9boyzAGMQGKwQCnKGLDEAaLm6Zy2Bg 663 | aQfmXzh+iEHfJ5lB29qdEcULO6+s/m/XJfnfc7ryfxAbKsywaVoDg4yCIsOb54/B 664 | GMTeMLUeLAc3AKRhyu1ChvjISIYQH38GEBtmyN+/fxk+v3+LgmEA7gWQrdpW8lAe 665 | BFw99pBhe+ZdRpgXQDaDwJMH9+FeYAGLQMGjz/egLBhgBpMghSBDYM4OyG4Ei4HY 666 | cBfAvGCn4wjmH7qynyFHtZ/BXSeUqIAGA5AhIK+A8J1XV+GBSEPAwAAAyiKuAGq3 667 | /BAAAAAASUVORK5CYII= 668 | 669 | 670 | 8 671 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 672 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADXSURBVDhPY6Ap 673 | uPXx//+Lz778h3KxAiYojQFAmtc+YGCYfuIFAz5DsBoA0wwD+AzBMABZ8+PLJxm+ 674 | fvkCZuMyBMUAdM23ju5k+PThA15D4AZg0wxzAT5DwAbg0gwD+AxhBBHHbr34X7fm 675 | DIjJwM3Dw8AnIACmQUBeWRlMoxs8raOOwdnGghHsAis1CcamEBOwBLptIIBLM4gN 676 | JmAAm0t4mX7g1AwCKAaAALohX68fxKkZBDDSAbp38GnGC0AucWnb8l/dxuv/3iMn 677 | sKZCggBkCNmaiQMMDAARgNSKfCLw/AAAAABJRU5ErkJggg== 678 | 679 | 680 | 9 681 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 682 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACESURBVDhPYxgF 683 | lANGKM2w5dH//5ffQzkEgK4gA4OPHCNYL9yA9ov//4MkiAFbztxlmBGkgmpAxro7 684 | /+WVlaE8/GDv1q0Me6p8UA1wadvyX0VDA8rDD/Zs2cxwZ14hqgEqSf3/FVRUoTz8 685 | 4OnxTQzXN8/CdAFIghggbekH98IooBgwMAAA5ZUpB+IaiRgAAAAASUVORK5CYII= 686 | 687 | 688 | 689 | 10 690 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 691 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEoSURBVDhPY6AU 692 | MIKIqSu2/l997gXD1x+/wILEgAQrOYbsCG9GsAG5bTP+P3/zHixBLJAUEWSYXJUB 693 | 1s+wct/Z///+/fv/9+9fojBIbd2EOf9BepnAJgDBn38MDG/fviUK/wNrhQAWKM3w 694 | Gyi4fPlyKA8VuLq6MmhqakJ5DAy/kEyAG/Dr11+GyMhIKA8TvH79GspiYODhF4ay 695 | kAwAAWJd8P0X0L9QADcAJARSiAtcv34dymJgkFdWh7KQDAD5avfu3RAOEOTl5UFZ 696 | EM3ILviKzQW/fv9BcQGyjSCAzJdWVIWykAz4++cvXheAAMwVH76ipVhQQvr25/// 697 | jz/////8Czv+AJSD4Z9AtbCEBE6KWw+f/X/j3iMQk2ggLSLAEOHtCEnKAwgYGACk 698 | tdwNhuW/GAAAAABJRU5ErkJggg== 699 | 700 | 701 | 11 702 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 703 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJTSURBVDhPrZPN 704 | axNBGMaf3U2a7GqimAjWWIK11qpIq14sgogW/DqIKJQiIqiXerKIlx5V/AsED8VW 705 | sfSiVQqNpYJ6CbYeGoVglTY2TSv5oKnJbrLJfiRZd9+GYK0fFx+Yed55Z37vDMMM 706 | g18UE1XjU1pBJKMiIF6inEfyoN3Vi6Mt9di3zbOKYatOCqQDxus0h5BkQ1LjwG/n 707 | wXgZzAvzePw+ihtDQTx8Gzaqy0m1AiPxEWMwNwi9joPT6YDAO+Gfuw8pKUFKSbQm 708 | khJxbzSE/on+WhEqYB17OD4MuIAx/Rxc6zmaXCfw2K08gl/to7HgdIJpvIOBqQGE 709 | FkJUxGZ1SslAT1MPbA4bWDcLl26gstEBXedQ3snj6YcKRtPL0Lf2WssxszSD8c/j 710 | FFMBwc7CE5VgzycoCYSrDoh5BaebT0Iv+jD0DVBllfLBuSA5FXBEgjCyC1gqAzkx 711 | A1UpQlMVlDSzqSpKiwmcOXYVb7JbEJNjBE4npsnpDhgTXlb0NbBeLEBXZMiLYeTj 712 | s+hs7oQma8jN3oKWuLlSoPDxlWHtUizk18CW09icz0wF0LrhLEGW9jZ4yVkpFUNS 713 | LvwRVoor+e9fJgmwdrd0ZE8DOVvIS/+ErSZKOQIstfg24dT+RopZxt/2V9hSLl+A 714 | e1c7xS6+DtdPHMDBHfX0pKl7cfeKIQjCb2HL0+YbaL18G1HWB4edw7WOttp/oCD0 715 | 8onxdXIMNo5dA2dFCU0dF7H50Hl43bx5fPNz/KTaYOJ5n/Hu2QOKtVKFXC9XcPhC 716 | N453da+C/qOAH2aTZwAcBd3lAAAAAElFTkSuQmCC 717 | 718 | 719 | 12 720 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 721 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEESURBVDhPYyAV 722 | uLRt+T/vwI3/UC4DI5SGg4x1d+CS2MD7N28Yfvz4wRBqKscQY6nEiGEAyAYoEy94 723 | cOc2Q5aPGaYLVJL68RqgoKIK11wUZI2hnyAAWdC37ihRrkQBYUcU/q940IOhEe6E 724 | 5kfueE39+O0zw4evnxi8JdIYAqXz4PrgDJANUCZecGvVJ4YUt2KGHJ9qsF64AQZ5 725 | QngNkLbhYnh65BuKZpIAyIIpW1pJD7z/8V7//69ZhFMj4/95BfhNffiWgeHzD2AK 726 | C2Jg9IrEcDrj/6JQopz15sQ5Bs74LAae9GIUQxhfWynjNYBPSprh07OnWDUTBUAW 727 | fJnZS3rgEQcYGACiMWTq3TCKWAAAAABJRU5ErkJggg== 728 | 729 | 730 | 13 731 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 732 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFXSURBVDhPY6AU 733 | MIKI3aev/d9/7hZYAB38/feH4d/f/wzWOooMAQ4mYPXIgAVE7Dx+iSE93Aeo+C/D 734 | n7//GP7+BdEQNoT+yzBl0TqwBnQANjGve+F/Q0MDhl+/fjP8/v2H4efv3xD2HyAb 735 | SP/685vh2ePHDEtbczFcABaYu2Hf/93Hz4MFcIFgF0uGUFcrDAMGHuB00tnHh/6f 736 | f3YUwvn3n+H/P0aG/8DYAEYKg5GcDYOZih1+78w52f4fF5i2vfU/VBkDE5TGBHAl 737 | CHDu7nEw/e83mAIDnAb8BzobBHaeWw+mZ+/sYcicEQhmE2fAXwhdtzyTIX92NMOc 738 | PT0Mxf5tYDFQOMAAbgOgtoA0nbi1l8FF158hzCYJLAYKTBjAacC/PxBFIE05XnUM 739 | rXEzwXwQgLkOBHBGxcmbh/6fvnEYmJGAGoCGgTSBMdBcC11bBisDe2qkSgYGAC7Y 740 | tnxyjajVAAAAAElFTkSuQmCC 741 | 742 | 743 | 14 744 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 745 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJBSURBVDhPrZNL 746 | TBNRFIb/kfFRKqVoEQRKrI+E+mypNCIWGncgURYmLNSYiImJMeKCBcaNCyUxRBdE 747 | g8YN4gYTA9GoCWAEQa12FDYgxURdiCLgQBXFhHlc772daSu6028y90xO/vufM+fO 748 | 4F8R2NItvSY9A294YiGarkLXCEo2u1AV3M71yfBEXVMbOVZdScUaVE1HukXECusy 749 | EHYRpiCYlKNYl5f1d4OTjTeI1+vB/LwCRVGxP7AJQxPPMDwR4iJdJ9AUHTaLBbQh 750 | FObvgn99Kd8rsmXbBic6ux+yR06Fbw36hx/gUNEpI0OFKQJEUaQVBdwZbDGyRgfJ 751 | vPrQRwY/PUX4XS/cmYUgugBCZ0A0IFWwY5/vIDrCLTix90yig2TuS7dxwFcLd2ox 752 | sm1OzPz4ggyrA99+zuDo1QpuoCuGmBI3MCs/Ge1CR+QaZudmYV2chnH5I2wpDpQW 753 | lMPrLOZaNgeTuAHbXOOvRyBvD3Lta/E5OobVGU5Mf59CVYMf5Z5quDLdXMteyWSR 754 | EdlJxYIRx+T3uPfyFqJzMgqyPMhOzwHU2MjYPEziBoQeFSM00sPj80gvLt49DeuS 755 | NOTaXJC/TmFgRML19ibs2BLgGkbCwHBt7mxAfesRtNNJHw7WImdlPpYvtcNhX4WS 756 | rUGcPX5B2Okpi59ewsCYbM3uOoTfPkaRqwzBjZWYnB6HNBTC5bbG3yr/QXPXeWLS 757 | +uiK8RTj0s1ziaktIN7Ki9E+IkX66Y9Du1FjHw6/6VZWObnt/wjwC/4N7Rtpdzba 758 | AAAAAElFTkSuQmCC 759 | 760 | 761 | 15 762 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 763 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEySURBVDhPYxj6 764 | gBFKY4Dt1+b8X3x4OsPrD+8ZWJjYGYwUrBls1dwZPPRDUfRgNQCkedPVRQw5Nh0M 765 | YtxKYLHLj08xHL61k0FaUIEhxaEUp8UMR+6t/x+91PD/qjOT/kOFUEDj+uz/Oy6u 766 | hssxQWk4mHysluHJ3bcMm24ugIqgApA3QC6BAbABBy5v/+/epPbfZbLM/6eP3zD8 767 | YfjFcP/uMwaLavH/poVi/0HyYNVAoCtrBvYODIANcND1ZKwMnMjw5fFfBmkFYQYp 768 | FUEGAX5ehh+v/zN0Jy0Ey4NVEwIgm2yqZP679Sj+14tHtRkG9l3d9L96dQrW8AED 769 | kCZcmkEAPRCxAnTNrz+9+A+yGaR5zoFuFDmCfnv45s7/R2/uMDx4c5tBS9qIwVjR 770 | mrjwGCqAgQEAKWaLu+f/JNAAAAAASUVORK5CYII= 771 | 772 | 773 | 16 774 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 775 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADzSURBVDhPYxj6 776 | gBFKM0RWTPj/6dMnKA87YGJhYdg8qQquBwTgnISGGf81TB0Y/oPgf6AAkIBQEBrE 777 | P7l3C8OWSRUoBjBBaTD48v0nw5dvIPyD4RMIf/0OwV++MXwAYmyAYi9QDIg27dDW 778 | nP93rywDh5GKTjSDnfcUsF6iDDi0Nfc///dtDAoSomAd9x49Z/guFMZg5d7NiBKI 779 | uMDdK0sZFCRFGVgEJBlYeAQYJHmEGG5emAuWI8oAMADF5V9gTHz5zPDjK0QIBIgy 780 | QBno5/uPnzN8fvyK4fXjbwwP37xjUDNIAsuRFIh3gF4BAeRAHGjAwAAAUV5riFox 781 | ygcAAAAASUVORK5CYII= 782 | 783 | 784 | 17 785 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAzUlEQVQ4jcXSsUpD 786 | QRAF0KNEMa9IZWcpKWz8gBdIq59gY5Myv2CdyiJdWv8iaC/JDwQCgoWFXWwsTPlC 787 | YIvN4vKSEMiFgZmdnTvc4To0SryGKLfhPknq9eBlyBe4ryNo1JAPcYE2zjHDAN+5 788 | oQ7eMA55ih5etpGWQ4Fp3DvdkeAB76nOGC30cYNr/IXeevMn5hjhN7fhOegs9tU4 789 | wdkuA+kNPvCIZvKeNVh6gys84RZfwUxLdIMPpAZLCXKIHfqDu38/VlW1ERHqDHYs 790 | YAVw6SqEDU4CIQAAAABJRU5ErkJggg== 791 | 792 | 793 | 18 794 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 795 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADASURBVDhPYxj6 796 | gBFKw0HVzA3/oUyGtvQADHl0wASlUQAxGnECZBcQA7C6AASINQirAaS6giKAEli7 797 | T1//v//cTSgPFfz994fh39//DNa6SgwB9sZwfSxQGgx2Hr/IkB7uA1T8l+HP338M 798 | f/+CaAgbQv9lmLJoHVQ1BKC4IK974X9DQwOGX79+M/z+/Yfh5+/fEPYfIBtI//rz 799 | m+HZ48cMS1tz4fpQDJi3Yd//XcfPQ3nYQYirFUOIiyWKviENGBgA5t1XkRtXKU0A 800 | AAAASUVORK5CYII= 801 | 802 | 803 | 19 804 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 805 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACOSURBVDhPY6AU 806 | MN48tP7/vVO7GN68esnw+etnhk8fPjOY+sQyOEdmM0LV4AdbO1L+/7h77P/L0xv/ 807 | 39o17//Rhc3/64L0/9++ffu/r68vXhqkn/H8ptn/H18+xnD33gOG79++Mvz4+YvB 808 | NiiZwcgziuHq1asM2traOGlhYWHiXElTMBqIVACjgUgxYGAAAIo3BW3O5jZzAAAA 809 | AElFTkSuQmCC 810 | 811 | 812 | 20 813 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 814 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHkSURBVDhPY8AG 815 | Ctfd+r//0c//Mf2b/1uEpP/PXnHlP1QKAzBBaRTwHSj8lYGN4cV3RoaPP/8z/GXj 816 | gMpgArABBnlC/2EYLEoCABvQGjsTzMEFThwwY9h6ejVWw5lAEjvPrUMxhJPhHwM3 817 | wy8GCc7/DPzsjAyGujMZQGpAajFcCRLAZToygGlGNwDsBW/TUEb0kL/49COKwl3n 818 | 10NZqIDJTtsdbDpyyM/rrGaIyFZlsKiQ/O8+V+Z/9ryi/xH23QwuUs0M1laHoFoh 819 | gMndKAjsP2QgKsTPwM3Jw6Dw34ChUn8eg7OJCkPh/AIGJyszBm05YagqCGACOX9S 820 | +nJGKB8OpI0EGDJCCxmsjG0YZl1sY2AXPcxQPi+LQUGQHaoCAuAJCTnk//75w/Dn 821 | mzUDo9h7hqB16gyqOpIMQtpsDEK6jxkmbqqA6oAAFJthIdyVOI/BzTCAMbjF6v8/ 822 | kycMpe5lDHsfb2Y4d+06w7urvxhEvisxrK05BtaLNSn//vMbTIMUMZ2RYZhwtIfB 823 | WdaXwUhLE+ySN5z3GCrXx4EtwzAAlKBgiQbET/UsYXi08TeKIdwvZBjaAxeBXYAR 824 | eCAA0ly9OB3KY2C4MOkd2DvMDs8YGE6LMKwqPINVH0GQ0ROOkrgYGBgYAGidxZcv 825 | RFmZAAAAAElFTkSuQmCC 826 | 827 | 828 | 21 829 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAA 830 | AARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFLSURBVDhPpZBN 831 | SsNAGIbfJiT+RRqakCzcmAouLK5cFMzCM9QL9AriDQTv4SaQI4ibILgQwYVSdGGF 832 | CjGUFJJaGkUNyWiHpFqScWEfGL43wzfPzBfMSyWrUwL3jITPp9nXLEK6h3WzNXOm 833 | IOheHhBFr0FY2YIobdO9z6iD+PUevYsedtonM2e4rE55++AQ+CHN4vImXRMCP8D4 834 | ZUzzbwovuD0/JEPfRU3fQDTywfMCliQF4WMX4VOI/WPn7xfkDDs3iK8f8H51RzOL 835 | gkBfayEOF75vX4XniXRFIwlxvIjd9lHW9UNhhBzLsojjOJBlGf1+H7Ztl/YyR2g2 836 | mzAMA6ZpUgkLpsB1XaiqSvO/BI1GA5qm0czzPK1lMAWe52EwGKBSYf4mClMwmT8n 837 | TdMsFWEKkiRBtVoFISTbKYcpUBQF9XodkiSB45ht8wJ8AQ6gZr0EzOoOAAAAAElF 838 | TkSuQmCC 839 | 840 | --------------------------------------------------------------------------------