├── dp ├── src │ └── ExternalDataProcessors │ │ ├── ктв_ПреобразованиеДанных_Тест │ │ ├── ObjectModule.bsl │ │ ├── ктв_ПреобразованиеДанных_Тест.mdo │ │ └── Forms │ │ │ └── Форма │ │ │ ├── ConditionalAppearance.dcssca │ │ │ ├── Module.bsl │ │ │ └── Form.form │ │ └── ктв_ПреобразованиеДанных │ │ ├── Templates │ │ ├── ВерсияБиблиотеки │ │ │ └── Template.txt │ │ ├── Рамки │ │ │ └── Template.txt │ │ ├── Шрифты │ │ │ └── Template.txt │ │ ├── Цвета │ │ │ └── Template.txt │ │ ├── ТипыЗначенийСКД │ │ │ └── Template.txt │ │ ├── Картинки │ │ │ └── Template.txt │ │ ├── Перечисления │ │ │ └── Template.txt │ │ └── ОписаниеТипов │ │ │ └── Template.txt │ │ └── ктв_ПреобразованиеДанных.mdo ├── DT-INF │ └── PROJECT.PMF ├── bin │ └── settings.json └── .project ├── .gitignore ├── .gitmodules ├── .project ├── tools └── scripts │ └── build.cmd ├── README.md └── LICENSE /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных_Тест/ObjectModule.bsl: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dp/DT-INF/PROJECT.PMF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Runtime-Version: 8.3.14 3 | Store-Version: 1.0.0 4 | -------------------------------------------------------------------------------- /dp/bin/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ПреобразованиеДанных":"$thisRoot\\ктв_ПреобразованиеДанных.epf" 3 | } -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/ВерсияБиблиотеки/Template.txt: -------------------------------------------------------------------------------- 1 | 0.11.0 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.epf 2 | *.zip 3 | tmp 4 | dp/.settings/ 5 | .scannerwork/ 6 | .sonar/ 7 | .vscode 8 | .env 9 | out/ 10 | build/ -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/Рамки/Template.txt: -------------------------------------------------------------------------------- 1 | { 2 | "ЭлементыСтиля": [ 3 | "РамкаЭлементаУправления" 4 | ] 5 | } -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "tools/1CFilesConverter"] 2 | path = tools/1CFilesConverter 3 | url = git@github.com:arkuznetsov/1CFilesConverter.git 4 | branch = master 5 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | SerLib1C 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/scripts/build.cmd: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | set REPO_PATH=%cd% 4 | set SRC_PATH=%REPO_PATH%\dp 5 | set DST_PATH=%REPO_PATH%\dp\bin 6 | set V8_TEMP=%REPO_PATH%\tmp 7 | 8 | set SCRIPT_PATH=%REPO_PATH%\tools\1CFilesConverter\scripts 9 | 10 | echo Starting build external data processors ^& reports... 11 | 12 | call %SCRIPT_PATH%\dp2epf.cmd "%SRC_PATH%" "%DST_PATH%" 13 | 14 | echo Finish build external data processors ^& reports. 15 | -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/Шрифты/Template.txt: -------------------------------------------------------------------------------- 1 | { 2 | "WindowsШрифты": [ 3 | "ANSIШрифтМоноширинный", 4 | "ANSIШрифтПропорциональный", 5 | "OEMШрифтМоноширинный", 6 | "СистемныйШрифт", 7 | "ШрифтДиалоговИМеню" 8 | ], 9 | "ЭлементыСтиля": [ 10 | "КрупныйШрифтТекста", 11 | "МелкийШрифтТекста", 12 | "ОбычныйШрифтТекста", 13 | "ОченьКрупныйШрифтТекста", 14 | "ШрифтТекста" 15 | ] 16 | } -------------------------------------------------------------------------------- /dp/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | SerLib1C 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.xtext.ui.shared.xtextBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.xtext.ui.shared.xtextNature 16 | com._1c.g5.v8.dt.core.V8ExternalObjectsNature 17 | 18 | 19 | -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных_Тест/ктв_ПреобразованиеДанных_Тест.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ктв_ПреобразованиеДанных_Тест 7 | 8 | ru 9 | Тест библиотеки преобразования данных 10 | 11 | 12 | 13 | ExternalDataProcessor.ктв_ПреобразованиеДанных_Тест.Form.Форма 14 | 15 | Форма 16 | 17 | ru 18 | Форма 19 | 20 | 21 | PersonalComputer 22 | MobileDevice 23 | 24 | 25 | -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных_Тест/Forms/Форма/ConditionalAppearance.dcssca: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | КаталогВыгрузки 7 | 8 | 9 | РазмерПорции 10 | 11 | 12 | 13 | 14 | ВыгрузитьРезультатыТестаСКД 15 | Equal 16 | false 17 | 18 | 19 | 20 | 21 | 22 | 23 | Enabled 24 | false 25 | 26 | 27 | 28 | 29 | 30 | 31 | КаталогВыгрузки 32 | 33 | 34 | РазмерПорции 35 | 36 | 37 | 38 | 39 | ВыгрузитьРезультатыТестаСКД 40 | Equal 41 | true 42 | 43 | 44 | 45 | 46 | 47 | 48 | Enabled 49 | true 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/ктв_ПреобразованиеДанных.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ктв_ПреобразованиеДанных 7 | 8 | ru 9 | Преобразование данных 10 | 11 | 12 | 13 | ОписаниеТипов 14 | 15 | ru 16 | Описание типов (json) 17 | 18 | TextDocument 19 | 20 | 21 | ВерсияБиблиотеки 22 | 23 | ru 24 | Версия библиотеки 25 | 26 | TextDocument 27 | 28 | 29 | Перечисления 30 | 31 | ru 32 | Перечисления 33 | 34 | TextDocument 35 | 36 | 37 | ТипыЗначенийСКД 38 | 39 | ru 40 | Типы значений СКД 41 | 42 | TextDocument 43 | 44 | 45 | Цвета 46 | 47 | ru 48 | Цвета 49 | 50 | TextDocument 51 | 52 | 53 | Шрифты 54 | 55 | ru 56 | Шрифты 57 | 58 | TextDocument 59 | 60 | 61 | Рамки 62 | 63 | ru 64 | Рамки 65 | 66 | TextDocument 67 | 68 | 69 | Картинки 70 | 71 | ru 72 | Картинки 73 | 74 | TextDocument 75 | 76 | 77 | -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/Цвета/Template.txt: -------------------------------------------------------------------------------- 1 | { 2 | "WebЦвета": [ 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 | "Лосось", 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 | "ТемноСерый", 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 | "WindowsЦвета": [ 151 | "ГраницаАктивногоОкна", 152 | "ГраницаНеактивногоОкна", 153 | "ЗаголовокАктивногоОкна", 154 | "ЗаголовокНеактивногоОкна", 155 | "Кнопка", 156 | "КнопкаПодсвеченная", 157 | "Подсвеченный", 158 | "Подсказка", 159 | "ПолосаПрокрутки", 160 | "РабочаяОбластьПриложения", 161 | "РабочийСтол", 162 | "РамкаОкна", 163 | "СтрокаМеню", 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 | "ЦветРамкиКнопки", 189 | "ЦветТекстаВыделенияПоля", 190 | "ЦветТекстаКнопки", 191 | "ЦветТекстаПодвалаТаблицы", 192 | "ЦветТекстаПодсказки", 193 | "ЦветТекстаПоля", 194 | "ЦветТекстаФормы", 195 | "ЦветТекстаШапкиТаблицы", 196 | "ЦветФонаВыделенияПоля", 197 | "ЦветФонаГруппировкиОтчета1", 198 | "ЦветФонаГруппировкиОтчета2", 199 | "ЦветФонаКнопки", 200 | "ЦветФонаПодвалаТаблицы", 201 | "ЦветФонаПодсказки", 202 | "ЦветФонаПоля", 203 | "ЦветФонаФормы", 204 | "ЦветФонаШапкиОтчета", 205 | "ЦветФонаШапкиТаблицы" 206 | ] 207 | } -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/ТипыЗначенийСКД/Template.txt: -------------------------------------------------------------------------------- 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 | "СвязиПараметровВыбораКомпоновкиДанных": "СвязиПараметровВыбораСКД", 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 | } -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/Картинки/Template.txt: -------------------------------------------------------------------------------- 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 | "Закрыть", 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 | "ОтборПоВиду", 121 | "ОтборПоТекущемуЗначению", 122 | "ОтключитьОтбор", 123 | "ОткрытьСАвтономногоСервера", 124 | "ОткрытьСОсновногоСервера", 125 | "ОткрытьФайл", 126 | "ОтменаПроведения", 127 | "ОтменитьПоиск", 128 | "ОтправитьСообщение", 129 | "Отчет", 130 | "ОформлениеВоcклицательныйЗнак", 131 | "ОформлениеВосклицательныйЗнак", 132 | "ОформлениеДефисЖелтый", 133 | "ОформлениеЗвездаЗаполненная", 134 | "ОформлениеЗвездаЗаполненнаяНаполовину", 135 | "ОформлениеЗвездаПустая", 136 | "ОформлениеЗнакВоcклицательныйЗнак", 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 | "ОформлениеСтрелкаНаклоннаяВверхСерая", 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 | "ПереместитьВниз", 189 | "ПереместитьВправо", 190 | "ПеренестиЭлемент", 191 | "Перечисление", 192 | "Перечитать", 193 | "Печать", 194 | "ПечатьСразу", 195 | "ПланВидовРасчета", 196 | "ПланВидовРасчетаОбъект", 197 | "ПланВидовХарактеристик", 198 | "ПланВидовХарактеристикОбъект", 199 | "ПланОбмена", 200 | "ПланОбменаОбъект", 201 | "ПланСчетов", 202 | "ПланСчетовОбъект", 203 | "ПовернутьПоЧасовойСтрелке", 204 | "ПовернутьПротивЧасовойСтрелки", 205 | "ПоискДанных", 206 | "ПоказатьВСписке", 207 | "ПоказатьДанные", 208 | "ПоказатьПароль", 209 | "ПолеВводаВыбрать", 210 | "ПолеВводаВыбратьТип", 211 | "ПолеВводаКалендарь", 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 | "РегистрСведений", 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 | "Справочник", 273 | "СправочникОбъект", 274 | "СтандартнаяНастройкаКомпоновкиДанных", 275 | "СтартБизнесПроцесса", 276 | "СформироватьОтчет", 277 | "ТабличныйДокументВставитьПримечание", 278 | "ТабличныйДокументВставитьРазрывСтраницы", 279 | "ТабличныйДокументОтображатьГруппировки", 280 | "ТабличныйДокументОтображатьЗаголовки", 281 | "ТабличныйДокументОтображатьПримечания", 282 | "ТабличныйДокументОтображатьСетку", 283 | "ТабличныйДокументТолькоПросмотр", 284 | "ТабличныйДокументУдалитьПримечание", 285 | "ТабличныйДокументУдалитьРазрывСтраницы", 286 | "УвеличитьМасштаб", 287 | "Удалить", 288 | "УдалитьНепосредственно", 289 | "УдалитьЭлементСписка", 290 | "УдалитьЭлементСпискаНепосредственно", 291 | "УменьшитьМасштаб", 292 | "УправлениеПоиском", 293 | "УровеньВверх", 294 | "УровеньВниз", 295 | "УсловноеОформлениеКомпоновкиДанных", 296 | "УсловноеОформлениеКомпоновкиДанныхНедоступное", 297 | "УстановитьВремя", 298 | "УстановитьИнтервал", 299 | "УстановитьПометкуУдаленияЭлементаСписка", 300 | "УстановитьФлажки", 301 | "Форма", 302 | "ХранилищеНастроек" 303 | ] 304 | } -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/Перечисления/Template.txt: -------------------------------------------------------------------------------- 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 | ], 51 | "ВидСравненияКомпоновкиДанных": [ 52 | "Больше", 53 | "БольшеИлиРавно", 54 | "ВИерархии", 55 | "ВСписке", 56 | "ВСпискеПоИерархии", 57 | "Заполнено", 58 | "Меньше", 59 | "МеньшеИлиРавно", 60 | "НачинаетсяС", 61 | "НеВИерархии", 62 | "НеВСписке", 63 | "НеВСпискеПоИерархии", 64 | "НеЗаполнено", 65 | "НеНачинаетсяС", 66 | "НеПодобно", 67 | "НеРавно", 68 | "НеСодержит", 69 | "Подобно", 70 | "Равно", 71 | "Содержит" 72 | ], 73 | "ВидЦвета": [ 74 | "WebЦвет", 75 | "WindowsЦвет", 76 | "Абсолютный", 77 | "АвтоЦвет", 78 | "ЭлементСтиля" 79 | ], 80 | "ВидШрифта": [ 81 | "WindowsШрифт", 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 | "НеОтображать", 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 | "Мягкая", 189 | "МягкаяАдаптивная", 190 | "Оранжевая", 191 | "Палитра32", 192 | "Палитра8", 193 | "Пастельная", 194 | "Произвольная", 195 | "Серая", 196 | "Синяя", 197 | "Теплая", 198 | "Холодная", 199 | "Яркая", 200 | ], 201 | "ПлотностьСохраняемыхКартинокТабличногоДокумента": [ 202 | "Высокая", 203 | "Исходная", 204 | "Низкая", 205 | "Средняя" 206 | ], 207 | "ПоложениеТекстаОтносительноКартинки": [ 208 | "Авто", 209 | "Поверх", 210 | "Сверху", 211 | "Слева", 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 | "Конец", 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 | ], 273 | "РасположениеРесурсовКомпоновкиДанных": [ 274 | "Вертикально", 275 | "Горизонтально" 276 | ], 277 | "РасположениеРесурсовВДиаграммеКомпоновкиДанных": [ 278 | "Авто", 279 | "Серии", 280 | "Точки", 281 | ], 282 | "РежимВыделенияДиаграммы": [ 283 | "Авто", 284 | "ВыделениеЗначений", 285 | "ВыделениеТочек", 286 | "Нет", 287 | ], 288 | "РежимИзмененияСвязанногоЗначения": [ 289 | "Больше", 290 | "БольшеИлиРавно" 291 | ], 292 | "РежимОтображенияЭлементаНастройкиКомпоновкиДанных": [ 293 | "Авто", 294 | "БыстрыйДоступ", 295 | "Недоступный", 296 | "Обычный" 297 | ], 298 | "РежимПолупрозрачностиДиаграммы": [ 299 | "Авто", 300 | "АвтоматическийРасчет", 301 | "Использовать", 302 | "НеИспользовать", 303 | ], 304 | "РежимСглаживанияДиаграммы": [ 305 | "ГладкаяКривая", 306 | "Нет", 307 | ], 308 | "СостояниеЭлементаНастройкиКомпоновкиДанных": [ 309 | "Включен", 310 | "Отключен", 311 | "УдаленПользователем" 312 | ], 313 | "СохранениеОформленияКомпоновкиДанных": [ 314 | "Авто", 315 | "ДляПользователя", 316 | "ДляТекущегоРезультата", 317 | "НеИспользовать", 318 | "ПоКлючуДляПользователя" 319 | ], 320 | "ТипБухгалтерскогоОстаткаКомпоновкиДанных": [ 321 | "Дебет", 322 | "Кредит", 323 | "Нет" 324 | ], 325 | "ТипВыводаАктуальностиДанныхКомпоновкиДанных": [ 326 | "Авто", 327 | "Выводить", 328 | "НеВыводить" 329 | ], 330 | "ТипВыводаКартинкиКомпоновкиДанных": [ 331 | "Авто", 332 | "ВыводитьПоЗначению", 333 | "ВыводитьПоСсылке", 334 | "НеВыводить", 335 | ], 336 | "ТипВыводаКопииБазыДанныхКомпоновкиДанных": [ 337 | "Авто", 338 | "Выводить", 339 | "НеВыводить" 340 | ], 341 | "ТипВыводаТекстаКомпоновкиДанных": [ 342 | "Авто", 343 | "Выводить", 344 | "НеВыводить" 345 | ], 346 | "ТипГрафическогоПредставленияСерииДиаграммы": [ 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 | "ГрафикСНакоплением", 389 | "ГрафикСОбластями", 390 | "ГрафикСОбластямиИНакоплением", 391 | "ГрафикСОбластямиНормированный", 392 | "ЗатененнаяПоверхность", 393 | "Измерительная", 394 | "Изометрическая", 395 | "ИзометрическаяЛента", 396 | "ИзометрическаяНепрерывная", 397 | "ИзометрическаяПирамида", 398 | "КаркаснаяПоверхность", 399 | "Кольцевая", 400 | "КольцеваяОбъемная", 401 | "Круговая", 402 | "КруговаяОбъемная", 403 | "Поверхность", 404 | "Пузырьковая", 405 | "РадарныйГрафик", 406 | "РадарныйГрафикСНакоплением", 407 | "РадарныйГрафикСОбластями", 408 | "РадарныйГрафикСОбластямиИНакоплением", 409 | "РадарныйГрафикСОбластямиНормированный", 410 | "Сотовая", 411 | "Точечная" 412 | ], 413 | "ТипДополненияПериодаКомпоновкиДанных": [ 414 | "БезДополнения", 415 | "Год", 416 | "Декада", 417 | "День", 418 | "Квартал", 419 | "Месяц", 420 | "Минута", 421 | "Неделя", 422 | "Полугодие", 423 | "Секунда", 424 | "Час", 425 | "ГодОтНачалаПериода", 426 | "ГодОтНачалаПериода445", 427 | "ДеньОтНачалаПериода", 428 | "КварталОтНачалаПериода", 429 | "КварталОтНачалаПериода445", 430 | "МесяцОтНачалаПериода", 431 | "МесяцОтНачалаПериода445", 432 | "МинутаОтНачалаПериода", 433 | "НеделяОтНачалаПериода", 434 | "ПолугодиеОтНачалаПериода", 435 | "ПолугодиеОтНачалаПериода445", 436 | "ЧасОтНачалаПериода" 437 | ], 438 | "ТипЗаголовкаПолейКомпоновкиДанных": [ 439 | "Авто", 440 | "Краткий", 441 | "Полный" 442 | ], 443 | "ТипЛинииДиаграммы": [ 444 | "НетЛинии", 445 | "Пунктир", 446 | "ПунктирТочка", 447 | "ПунктирТочкаТочка", 448 | "Сплошная", 449 | "Точечная" 450 | ], 451 | "ТипЛинииРисункаТабличногоДокумента": [ 452 | "НетЛинии", 453 | "Пунктир", 454 | "ПунктирТочка", 455 | "ПунктирТочкаТочка", 456 | "Сплошная", 457 | "Точечная" 458 | ], 459 | "ТипЛинииЯчейкиТабличногоДокумента": [ 460 | "БольшойПунктир", 461 | "Двойная", 462 | "НетЛинии", 463 | "РедкийПунктир", 464 | "Сплошная", 465 | "Точечная", 466 | "ЧастыйПунктир" 467 | ], 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 | ], 515 | "ТипРамкиЭлементаУправления": [ 516 | "БезРамки", 517 | "Вдавленная", 518 | "Выпуклая", 519 | "Двойная", 520 | "ДвойноеПодчеркивание", 521 | "Одинарная", 522 | "Подчеркивание", 523 | "Скругленная", 524 | "ЧертаСверху" 525 | ], 526 | "ТипСоединенияЗначенийПоСериямДиаграммы": [ 527 | "Нет", 528 | "СоединениеКраев", 529 | ], 530 | "ТипСоединенияТочекДиаграммы": [ 531 | "Авто", 532 | "НеСоединять", 533 | "Соединять", 534 | ], 535 | "ТипСоединенияТочекПриПропущенныхЗначенияхДиаграммы": [ 536 | "Авто", 537 | "Нет", 538 | "СоединениеНеПропущенных", 539 | "СоединениеСБазовымЗначением", 540 | ], 541 | "ТребуемаяАктуальностьДанных": [ 542 | "Авто", 543 | "Актуальные", 544 | "Любые" 545 | ], 546 | "ФиксацияКомпоновкиДанных": [ 547 | "Авто", 548 | "НеИспользовать" 549 | ] 550 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 1C Serialization Library 2 | 3 | Checked by Silver Bulleters SonarQube BSL plugin 4 | 5 | [![GitHub release](https://img.shields.io/github/release/ArKuznetsov/SerLib1C.svg?style=flat-square)](https://github.com/ArKuznetsov/SerLib1C/releases) 6 | [![GitHub license](https://img.shields.io/github/license/ArKuznetsov/SerLib1C.svg?style=flat-square)](https://github.com/ArKuznetsov/SerLib1C/blob/develop/LICENSE) 7 | [![GitHub Releases](https://img.shields.io/github/downloads/ArKuznetsov/SerLib1C/latest/total?style=flat-square)](https://github.comArKuznetsov/SerLib1C/releases) 8 | [![GitHub All Releases](https://img.shields.io/github/downloads/ArKuznetsov/SerLib1C/total?style=flat-square)](https://github.com/ArKuznetsov/SerLib1C/releases) 9 | 10 | [![Build Status](https://img.shields.io/github/workflow/status/ArKuznetsov/SerLib1C/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0)](https://github.com/arkuznetsov/yard/actions/) 11 | [![Quality Gate](https://open.checkbsl.org/api/project_badges/measure?project=SerLib1C&metric=alert_status)](https://open.checkbsl.org/dashboard/index/SerLib1C) 12 | [![Coverage](https://open.checkbsl.org/api/project_badges/measure?project=SerLib1C&metric=coverage)](https://open.checkbsl.org/dashboard/index/SerLib1C) 13 | [![Tech debt](https://open.checkbsl.org/api/project_badges/measure?project=SerLib1C&metric=sqale_index)](https://open.checkbsl.org/dashboard/index/SerLib1C) 14 | 15 | ## Библиотека сериализации 1С (обработка) 16 | 17 | Набор процедур и функций для сериализации/десериализации данных 1С и объектов СКД в простые структуры данных (Структура, соответствие, массив). 18 | 19 | ### Варианты использования 20 | 21 | - замена платформенных функций сериализации, например, при сохранении версий объектов 22 | - передача данных по протоколу HTTP 23 | - основа для простых обработок обмена данными 24 | - основа для получения отчетов из внешних ИБ 1С 25 | 26 | ### Особенности 27 | 28 | - разработка ведется в формате EDT 29 | - процедуры/функции поддерживают ограничение состава полей 30 | - табличные части преобразуются в служебный элемент структуры с ключом "__ТЧ" 31 | - при десериализации приоритетными являются метаданные, т.е. не возникает ошибок при изменении структуры данных конфигурации 32 | - поддерживается возможность назначения процедур дополнения ссылочных данных при выгрузке 33 | - поддерживается возможность переопределения функций поиска ссылочных данных 34 | 35 | ### Особенности преобразования объектов СКД 36 | 37 | 1. ПутьКДанным пользовательских полей СКД формируется системой автоматически, поэтому: 38 | 39 | - после загрузки СКД значение может отличаться на номер поля 40 | - если в исходной СКД значение было на языке, отличном от языка целевой, то новое значение будет на языке целевой СКД 41 | 42 | 2. Поле "Обязательное" роли поля набора данных сейчас устанавливается принудительно, хотя в документации отмечено как "Только чтение" (EDT тоже ругается) 43 | 3. Поле "Схема" вложенной схемы компоновки данных при добавлении имеет тип неопределено и принудительно устанавливается значение "Новый СхемаКомпоновкиДанных()", хотя в документации отмечено как "Только чтение" (EDT тоже ругается) 44 | 4. В исходных настройках СКД в полях ТипЗначения составного типа могут встречаться дубли типов <БизнесПроцесс....> при загрузке дубли схлопываются 45 | 5. В исходных настройках СКД иногда встречается некорректный тип элементов свойства "ПараметрыДанных" объекта "НастройкиКомпоновкиДанных", вместо "ЗначениеПараметраНастроекКомпоновкиДанных" используется "ЗначениеПараметраКомпоновкиДанных". После выгрузки загрузки СКД, все элементы поля "ПараметрыДанных" будут приведены к типу "ЗначениеПараметраНастроекКомпоновкиДанных". 46 | 6. Если в исходных настройках поле типа "Дата" имеет значение Неопределено, то при загрузке будет установлена пустая дата 47 | 7. Если в исходных настройках поле типа "Строка" имеет значение Неопределено, то при загрузке будет установлена пустая строка 48 | 8. Не заполняется поле "Идентификатор" в элементах структуры настроек (Группировки, Таблицы, Диаграммы), т.к. имеет признак "Только чтение", а автоматического присвоения значения не происходит. Влияние на работоспособность СКД пока не проверялось. 49 | 50 | ### Методы преобразования прикладных объектов 1С 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 | 121 | ___ 122 | 123 | - ЗадачаВСтруктуру(Объект, СписокСвойств, ИсключаяСвойства) 124 | - ЗадачаПроцессИзСтруктуры(Объект, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства) 125 | 126 | ___ 127 | 128 | ##### Дополнение ссылочных данных при выгрузке 129 | 130 | При выгрузке ссылочных данных возможно переопределение процедуры, дополняющей содержимое описания ссылки, для этого необходимо в модуле, выполняющем выгрузку, создать процедуру вида: 131 | 132 | ```bsl 133 | 134 | &НаСервере 135 | Процедура МояПроцедураДополнения(ОписаниеЗначения, Значение) Экспорт 136 | // Код дополнения 137 | // ОписаниеЗначения.Вставить("КодЭлемента", Значение.Код); 138 | КонецПроцедуры 139 | 140 | ``` 141 | 142 | где: 143 | 144 | - ОписаниеЗначения - Структура - Структура содержащая поля описания ссылки 145 | - Значение - ЛюбаяСсылка - ссылка, для которой получено описание 146 | 147 | И перед выполнением выгрузки данных добавить обработчик дополнения ссылок 148 | 149 | ```bsl 150 | 151 | Библиотека.ДобавитьПравилоВыгрузкиТипа("Справочник.МойСправочник", "МояПроцедураДополнения", ЭтотОбъект) 152 | 153 | ``` 154 | 155 | где: 156 | 157 | - Библиотека - Обработка-объект библиотеки преобразования данных (этой библиотеки) 158 | 159 | ##### Переопределение поиска ссылочных данных при загрузке 160 | 161 | При загрузке ссылочных данных возможно переопределение функции поиска ссылок, для этого необходимо в модуле, выполняющем загрузку, создать функцию вида: 162 | 163 | ```bsl 164 | 165 | &НаСервере 166 | Функция МояФункцияПоискаСсылок(ОписаниеВида, МетаОбъект, ОписаниеЗначения) Экспорт 167 | // Код поиска ссылки 168 | // НайденнаяСсылка = Справочники.МойЗагружаемыйСправочник.НайтиПоКоду(ОписаниеЗначения.КодЭлемента); 169 | // Возврат НайденнаяСсылка; 170 | КонецФункции 171 | 172 | ``` 173 | 174 | где доступны параметры: 175 | 176 | - ОписаниеВида - Структура - Структура содержащая описание вида загружаемой ссылки 177 | - МетаОбъект - ОписаниеМетаданных - Описание метаданных загружаемой ссылки 178 | - ОписаниеЗначения - Структура - Структура содержащая поля описания искомой ссылки 179 | 180 | И перед выполнением выгрузки данных добавить обработчик дополнения ссылок 181 | 182 | ```bsl 183 | 184 | Библиотека.ДобавитьПравилоЗагрузкиТипа("Справочник.МойСправочник", "Справочник.МойЗагружаемыйСправочник", "МояФункцияПоискаСсылок", ЭтотОбъект) 185 | 186 | ``` 187 | 188 | где: 189 | 190 | - Библиотека - Обработка-объект библиотеки преобразования данных (этой библиотеки) 191 | 192 | #### Прикладные объекты (регистры) 193 | 194 | При преобразовании регистров могут быть использованы фильтры свойств. Используется единый набор параметров: 195 | 196 | - **НаборЗаписей** - преобразуемый/восстанавливаемый набор записей регистра 197 | - **СтруктураОбъекта** - результат преобразования / источник для восстановления 198 | - **СписокСвойств** - список свойств, которые попадут в результат преобразования 199 | - **ИсключаяСвойства** - список свойств, которые не будут преобразованы (приоритет выше чем у СписокСвойств) 200 | 201 | ___ 202 | 203 | - НаборЗаписейРегистраСведенийВСтруктуру(НаборЗаписей, СписокСвойств, ИсключаяСвойства) 204 | - НаборЗаписейРегистраСведенийИзСтруктуры(НаборЗаписей, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства) 205 | 206 | ___ 207 | 208 | - НаборЗаписейРегистраНакопленияВСтруктуру(НаборЗаписей, СписокСвойств, ИсключаяСвойства) 209 | - НаборЗаписейРегистраНакопленияИзСтруктуры(НаборЗаписей, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства) 210 | 211 | ___ 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 | - СоответствиеВСтруктуру(Значение) 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 | ___ 273 | 274 | ### Методы чтения/записи JSON 275 | 276 | При чтении записи JSON выполняется преобразование типов не совместимых с JSON в/из строки. Для преобразования "неизвестных" типов используется ЗначениеВСтрокуВнутр(). 277 | Значения типа "Дата" записываются/читаются в формате Microsoft. 278 | 279 | - ЗаписатьОписаниеОбъектаВJSON(ОписаниеОбъекта) 280 | - ПрочитатьОписаниеОбъектаИзJSON(ТекстОписанияОбъекта, СвойстваСоЗначениемДата) 281 | 282 | ___ 283 | -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/ОписаниеТипов/Template.txt: -------------------------------------------------------------------------------- 1 | { 2 | "Константа": { 3 | "ИменаКоллекции" : [ 4 | "константа", 5 | "константаменеджер", 6 | "константаменеджерзначения", 7 | "константаключзначения", 8 | "константы", 9 | "константыменеджер", 10 | "константынабор" 11 | ], 12 | "Коллекция" : "Константы", 13 | "Представление" : "Константа", 14 | "ПредставлениеМ" : "Константы", 15 | "Конструктор" : null, 16 | "КонструкторАльт" : null, 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 | "КонструкторАльт" : null, 55 | "Картинка" : "Документ", 56 | "КартинкаОбъекта" : "ДокументОбъект" 57 | }, 58 | "ЖурналДокументов": { 59 | "ИменаКоллекции" : [ 60 | "журналдокументов", 61 | "журналдокументоввыборка", 62 | "журналдокументовменеджер", 63 | "журналдокументовсписок", 64 | "журналыдокументов", 65 | "журналыдокументовменеджер" 66 | ], 67 | "Коллекция" : "ЖурналыДокументов", 68 | "Представление" : "Журнал документов", 69 | "ПредставлениеМ" : "Журналы документов", 70 | "Конструктор" : null, 71 | "КонструкторАльт" : null, 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 | "КонструкторАльт" : null, 110 | "Картинка" : "ПланСчетов", 111 | "КартинкаОбъекта" : "ПланСчетов" 112 | }, 113 | "ПланВидовРасчета": { 114 | "ИменаКоллекции" : [ 115 | "планвидоврасчета", 116 | "планвидоврасчетассылка", 117 | "планвидоврасчетаобъект", 118 | "планвидоврасчетавыборка", 119 | "планвидоврасчетаменеджер", 120 | "планвидоврасчетасписок", 121 | "планывидоврасчета", 122 | "планывидоврасчетаменеджер" 123 | ], 124 | "Коллекция" : "ПланыВидовРасчета", 125 | "Представление" : "План видов расчета", 126 | "ПредставлениеМ" : "Планы видов расчета", 127 | "Конструктор" : "СоздатьВидРасчета", 128 | "КонструкторАльт" : null, 129 | "Картинка" : "ПланВидовРасчета", 130 | "КартинкаОбъекта" : "ПланВидовРасчета" 131 | }, 132 | "ПланОбмена": { 133 | "ИменаКоллекции" : [ 134 | "планобмена", 135 | "планобменассылка", 136 | "планобменаобъект", 137 | "планобменавыборка", 138 | "планобменаменеджер", 139 | "планобменасписок", 140 | "планыобмена", 141 | "планыобменаменеджер" 142 | ], 143 | "Коллекция" : "ПланыОбмена", 144 | "Представление" : "План обмена", 145 | "ПредставлениеМ" : "Планы обмена", 146 | "Конструктор" : "СоздатьУзел", 147 | "КонструкторАльт" : null, 148 | "Картинка" : "ПланОбмена", 149 | "КартинкаОбъекта" : "ПланОбмена" 150 | }, 151 | "Перечисление": { 152 | "ИменаКоллекции" : [ 153 | "перечисление", 154 | "перечислениессылка", 155 | "перечислениеменеджер", 156 | "перечислениесписок", 157 | "перечисления", 158 | "перечисленияменеджер" 159 | ], 160 | "Коллекция" : "Перечисления", 161 | "Представление" : "Перечисление", 162 | "ПредставлениеМ" : "Перечисления", 163 | "Конструктор" : null, 164 | "КонструкторАльт" : null, 165 | "Картинка" : "Перечисление", 166 | "КартинкаОбъекта" : "Перечисление" 167 | }, 168 | "РегистрСведений": { 169 | "ИменаКоллекции" : [ 170 | "регистрсведений", 171 | "регистрсведенийзапись", 172 | "регистрсведенийнаборзаписей", 173 | "регистрсведенийменеджерзаписи", 174 | "регистрсведенийключзаписи", 175 | "регистрсведенийвыборка", 176 | "регистрсведенийсписок", 177 | "регистрысведений", 178 | "регистрысведенийменеджер" 179 | ], 180 | "Коллекция" : "РегистрыСведений", 181 | "Представление" : "Регистр сведений", 182 | "ПредставлениеМ" : "Регистры сведений", 183 | "Конструктор" : "СоздатьНаборЗаписей", 184 | "КонструкторАльт" : "СоздатьМенеджерЗаписи", 185 | "Картинка" : "РегистрСведений", 186 | "КартинкаОбъекта" : "РегистрСведений" 187 | }, 188 | "РегистрНакопления": { 189 | "ИменаКоллекции" : [ 190 | "регистрнакопления", 191 | "регистрнакоплениязапись", 192 | "регистрнакоплениянаборзаписей", 193 | "регистрнакопленияключзаписи", 194 | "регистрнакоплениявыборка", 195 | "регистрнакоплениясписок", 196 | "регистрынакопления", 197 | "регистрынакопленияменеджер" 198 | ], 199 | "Коллекция" : "РегистрыНакопления", 200 | "Представление" : "Регистр накопления", 201 | "ПредставлениеМ" : "Регистры накопления", 202 | "Конструктор" : "СоздатьНаборЗаписей", 203 | "КонструкторАльт" : "СоздатьМенеджерЗаписи", 204 | "Картинка" : "РегистрНакопления", 205 | "КартинкаОбъекта" : "РегистрНакопления" 206 | }, 207 | "РегистрБухгалтерии": { 208 | "ИменаКоллекции" : [ 209 | "регистрбухгалтерии", 210 | "регистрбухгалтериизапись", 211 | "регистрбухгалтериинаборзаписей", 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 | ], 238 | "Коллекция" : "РегистрыРасчета", 239 | "Представление" : "Регистр расчета", 240 | "ПредставлениеМ" : "Регистры расчета", 241 | "Конструктор" : "СоздатьНаборЗаписей", 242 | "КонструкторАльт" : "СоздатьМенеджерЗаписи", 243 | "Картинка" : "РегистрРасчета", 244 | "КартинкаОбъекта" : "РегистрРасчета" 245 | }, 246 | "Отчет": { 247 | "ИменаКоллекции" : [ 248 | "отчет", 249 | "отчетобъект", 250 | "отчетменеджер", 251 | "отчеты", 252 | "отчетыменеджер" 253 | ], 254 | "Коллекция" : "Отчеты", 255 | "Представление" : "Отчет", 256 | "ПредставлениеМ" : "Отчеты", 257 | "Конструктор" : "Создать", 258 | "КонструкторАльт" : null, 259 | "Картинка" : "Отчет", 260 | "КартинкаОбъекта" : "Отчет" 261 | }, 262 | "Обработка": { 263 | "ИменаКоллекции" : [ 264 | "обработка", 265 | "обработкаобъект", 266 | "обработкаменеджер", 267 | "обработки", 268 | "обработкименеджер" 269 | ], 270 | "Коллекция" : "Обработки", 271 | "Представление" : "Обработка", 272 | "ПредставлениеМ" : "Обработки", 273 | "Конструктор" : "Создать", 274 | "КонструкторАльт" : null, 275 | "Картинка" : "Обработка", 276 | "КартинкаОбъекта" : "Обработка" 277 | }, 278 | "БизнесПроцесс": { 279 | "ИменаКоллекции" : [ 280 | "бизнеспроцесс", 281 | "бизнес-процесс", 282 | "бизнеспроцессссылка", 283 | "бизнеспроцессобъект", 284 | "бизнеспроцессвыборка", 285 | "бизнеспроцессменеджер", 286 | "бизнеспроцесссписок", 287 | "бизнеспроцессы", 288 | "бизнес-процессы", 289 | "бизнеспроцессыменеджер" 290 | ], 291 | "Коллекция" : "БизнесПроцессы", 292 | "Представление" : "Бизнес-процесс", 293 | "ПредставлениеМ" : "Бизнес-процессы", 294 | "Конструктор" : "СоздатьБизнесПроцесс", 295 | "КонструкторАльт" : null, 296 | "Картинка" : "БизнесПроцесс", 297 | "КартинкаОбъекта" : "БизнесПроцессОбъект" 298 | }, 299 | "Задача": { 300 | "ИменаКоллекции" : [ 301 | "задача", 302 | "задачассылка", 303 | "задачаобъект", 304 | "задачавыборка", 305 | "задачаменеджер", 306 | "задачасписок", 307 | "задачи", 308 | "задачименеджер" 309 | ], 310 | "Коллекция" : "Задачи", 311 | "Представление" : "Задача", 312 | "ПредставлениеМ" : "Задачи", 313 | "Конструктор" : "СоздатьЗадачу", 314 | "КонструкторАльт" : null, 315 | "Картинка" : "Задача", 316 | "КартинкаОбъекта" : "ЗадачаОбъект" 317 | }, 318 | "ОбщаяФорма": { 319 | "ИменаКоллекции" : [ 320 | "общаяформа", 321 | "общиеформы" 322 | ], 323 | "Коллекция" : "ОбщиеФормы", 324 | "Представление" : "Общая форма", 325 | "ПредставлениеМ" : "Общие формы", 326 | "Конструктор" : null, 327 | "КонструкторАльт" : null, 328 | "Картинка" : "РедактироватьВДиалоге", 329 | "КартинкаОбъекта" : "РедактироватьВДиалоге" 330 | }, 331 | "РегламентноеЗадание": { 332 | "ИменаКоллекции" : [ 333 | "регламентноезадание", 334 | "регламентныезадания" 335 | ], 336 | "Коллекция" : "РегламентныеЗадания", 337 | "Представление" : "Регламентное задание", 338 | "ПредставлениеМ" : "Регламентные задания", 339 | "Конструктор" : "СоздатьРегламентноеЗадание", 340 | "КонструкторАльт" : null, 341 | "Картинка" : "РегламентныеЗадания", 342 | "КартинкаОбъекта" : "РегламентноеЗадание" 343 | }, 344 | "Роль": { 345 | "ИменаКоллекции" : [ 346 | "роль", 347 | "роли" 348 | ], 349 | "Коллекция" : "Роли", 350 | "Представление" : "Роль", 351 | "ПредставлениеМ" : "Роли", 352 | "Конструктор" : null, 353 | "КонструкторАльт" : null, 354 | "Картинка" : "ПользовательБезНеобходимыхСвойств", 355 | "КартинкаОбъекта" : "ПользовательБезНеобходимыхСвойств" 356 | }, 357 | "Интерфейс": { 358 | "ИменаКоллекции" : [ 359 | "интерфейс", 360 | "интерфейсы" 361 | ], 362 | "Коллекция" : "Интерфейсы", 363 | "Представление" : "Интерфейс", 364 | "ПредставлениеМ" : "Интерфейсы", 365 | "Конструктор" : null, 366 | "КонструкторАльт" : null, 367 | "Картинка" : "НастройкаСписка", 368 | "КартинкаОбъекта" : "НастройкаСписка" 369 | } 370 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Mozilla Public License Version 2.0 2 | ================================== 3 | 4 | 1. Definitions 5 | -------------- 6 | 7 | 1.1. "Contributor" 8 | means each individual or legal entity that creates, contributes to 9 | the creation of, or owns Covered Software. 10 | 11 | 1.2. "Contributor Version" 12 | means the combination of the Contributions of others (if any) used 13 | by a Contributor and that particular Contributor's Contribution. 14 | 15 | 1.3. "Contribution" 16 | means Covered Software of a particular Contributor. 17 | 18 | 1.4. "Covered Software" 19 | means Source Code Form to which the initial Contributor has attached 20 | the notice in Exhibit A, the Executable Form of such Source Code 21 | Form, and Modifications of such Source Code Form, in each case 22 | including portions thereof. 23 | 24 | 1.5. "Incompatible With Secondary Licenses" 25 | means 26 | 27 | (a) that the initial Contributor has attached the notice described 28 | in Exhibit B to the Covered Software; or 29 | 30 | (b) that the Covered Software was made available under the terms of 31 | version 1.1 or earlier of the License, but not also under the 32 | terms of a Secondary License. 33 | 34 | 1.6. "Executable Form" 35 | means any form of the work other than Source Code Form. 36 | 37 | 1.7. "Larger Work" 38 | means a work that combines Covered Software with other material, in 39 | a separate file or files, that is not Covered Software. 40 | 41 | 1.8. "License" 42 | means this document. 43 | 44 | 1.9. "Licensable" 45 | means having the right to grant, to the maximum extent possible, 46 | whether at the time of the initial grant or subsequently, any and 47 | all of the rights conveyed by this License. 48 | 49 | 1.10. "Modifications" 50 | means any of the following: 51 | 52 | (a) any file in Source Code Form that results from an addition to, 53 | deletion from, or modification of the contents of Covered 54 | Software; or 55 | 56 | (b) any new file in Source Code Form that contains any Covered 57 | Software. 58 | 59 | 1.11. "Patent Claims" of a Contributor 60 | means any patent claim(s), including without limitation, method, 61 | process, and apparatus claims, in any patent Licensable by such 62 | Contributor that would be infringed, but for the grant of the 63 | License, by the making, using, selling, offering for sale, having 64 | made, import, or transfer of either its Contributions or its 65 | Contributor Version. 66 | 67 | 1.12. "Secondary License" 68 | means either the GNU General Public License, Version 2.0, the GNU 69 | Lesser General Public License, Version 2.1, the GNU Affero General 70 | Public License, Version 3.0, or any later versions of those 71 | licenses. 72 | 73 | 1.13. "Source Code Form" 74 | means the form of the work preferred for making modifications. 75 | 76 | 1.14. "You" (or "Your") 77 | means an individual or a legal entity exercising rights under this 78 | License. For legal entities, "You" includes any entity that 79 | controls, is controlled by, or is under common control with You. For 80 | purposes of this definition, "control" means (a) the power, direct 81 | or indirect, to cause the direction or management of such entity, 82 | whether by contract or otherwise, or (b) ownership of more than 83 | fifty percent (50%) of the outstanding shares or beneficial 84 | ownership of such entity. 85 | 86 | 2. License Grants and Conditions 87 | -------------------------------- 88 | 89 | 2.1. Grants 90 | 91 | Each Contributor hereby grants You a world-wide, royalty-free, 92 | non-exclusive license: 93 | 94 | (a) under intellectual property rights (other than patent or trademark) 95 | Licensable by such Contributor to use, reproduce, make available, 96 | modify, display, perform, distribute, and otherwise exploit its 97 | Contributions, either on an unmodified basis, with Modifications, or 98 | as part of a Larger Work; and 99 | 100 | (b) under Patent Claims of such Contributor to make, use, sell, offer 101 | for sale, have made, import, and otherwise transfer either its 102 | Contributions or its Contributor Version. 103 | 104 | 2.2. Effective Date 105 | 106 | The licenses granted in Section 2.1 with respect to any Contribution 107 | become effective for each Contribution on the date the Contributor first 108 | distributes such Contribution. 109 | 110 | 2.3. Limitations on Grant Scope 111 | 112 | The licenses granted in this Section 2 are the only rights granted under 113 | this License. No additional rights or licenses will be implied from the 114 | distribution or licensing of Covered Software under this License. 115 | Notwithstanding Section 2.1(b) above, no patent license is granted by a 116 | Contributor: 117 | 118 | (a) for any code that a Contributor has removed from Covered Software; 119 | or 120 | 121 | (b) for infringements caused by: (i) Your and any other third party's 122 | modifications of Covered Software, or (ii) the combination of its 123 | Contributions with other software (except as part of its Contributor 124 | Version); or 125 | 126 | (c) under Patent Claims infringed by Covered Software in the absence of 127 | its Contributions. 128 | 129 | This License does not grant any rights in the trademarks, service marks, 130 | or logos of any Contributor (except as may be necessary to comply with 131 | the notice requirements in Section 3.4). 132 | 133 | 2.4. Subsequent Licenses 134 | 135 | No Contributor makes additional grants as a result of Your choice to 136 | distribute the Covered Software under a subsequent version of this 137 | License (see Section 10.2) or under the terms of a Secondary License (if 138 | permitted under the terms of Section 3.3). 139 | 140 | 2.5. Representation 141 | 142 | Each Contributor represents that the Contributor believes its 143 | Contributions are its original creation(s) or it has sufficient rights 144 | to grant the rights to its Contributions conveyed by this License. 145 | 146 | 2.6. Fair Use 147 | 148 | This License is not intended to limit any rights You have under 149 | applicable copyright doctrines of fair use, fair dealing, or other 150 | equivalents. 151 | 152 | 2.7. Conditions 153 | 154 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted 155 | in Section 2.1. 156 | 157 | 3. Responsibilities 158 | ------------------- 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under 164 | the terms of this License. You must inform recipients that the Source 165 | Code Form of the Covered Software is governed by the terms of this 166 | License, and how they can obtain a copy of this License. You may not 167 | attempt to alter or restrict the recipients' rights in the Source Code 168 | Form. 169 | 170 | 3.2. Distribution of Executable Form 171 | 172 | If You distribute Covered Software in Executable Form then: 173 | 174 | (a) such Covered Software must also be made available in Source Code 175 | Form, as described in Section 3.1, and You must inform recipients of 176 | the Executable Form how they can obtain a copy of such Source Code 177 | Form by reasonable means in a timely manner, at a charge no more 178 | than the cost of distribution to the recipient; and 179 | 180 | (b) You may distribute such Executable Form under the terms of this 181 | License, or sublicense it under different terms, provided that the 182 | license for the Executable Form does not attempt to limit or alter 183 | the recipients' rights in the Source Code Form under this License. 184 | 185 | 3.3. Distribution of a Larger Work 186 | 187 | You may create and distribute a Larger Work under terms of Your choice, 188 | provided that You also comply with the requirements of this License for 189 | the Covered Software. If the Larger Work is a combination of Covered 190 | Software with a work governed by one or more Secondary Licenses, and the 191 | Covered Software is not Incompatible With Secondary Licenses, this 192 | License permits You to additionally distribute such Covered Software 193 | under the terms of such Secondary License(s), so that the recipient of 194 | the Larger Work may, at their option, further distribute the Covered 195 | Software under the terms of either this License or such Secondary 196 | License(s). 197 | 198 | 3.4. Notices 199 | 200 | You may not remove or alter the substance of any license notices 201 | (including copyright notices, patent notices, disclaimers of warranty, 202 | or limitations of liability) contained within the Source Code Form of 203 | the Covered Software, except that You may alter any license notices to 204 | the extent required to remedy known factual inaccuracies. 205 | 206 | 3.5. Application of Additional Terms 207 | 208 | You may choose to offer, and to charge a fee for, warranty, support, 209 | indemnity or liability obligations to one or more recipients of Covered 210 | Software. However, You may do so only on Your own behalf, and not on 211 | behalf of any Contributor. You must make it absolutely clear that any 212 | such warranty, support, indemnity, or liability obligation is offered by 213 | You alone, and You hereby agree to indemnify every Contributor for any 214 | liability incurred by such Contributor as a result of warranty, support, 215 | indemnity or liability terms You offer. You may include additional 216 | disclaimers of warranty and limitations of liability specific to any 217 | jurisdiction. 218 | 219 | 4. Inability to Comply Due to Statute or Regulation 220 | --------------------------------------------------- 221 | 222 | If it is impossible for You to comply with any of the terms of this 223 | License with respect to some or all of the Covered Software due to 224 | statute, judicial order, or regulation then You must: (a) comply with 225 | the terms of this License to the maximum extent possible; and (b) 226 | describe the limitations and the code they affect. Such description must 227 | be placed in a text file included with all distributions of the Covered 228 | Software under this License. Except to the extent prohibited by statute 229 | or regulation, such description must be sufficiently detailed for a 230 | recipient of ordinary skill to be able to understand it. 231 | 232 | 5. Termination 233 | -------------- 234 | 235 | 5.1. The rights granted under this License will terminate automatically 236 | if You fail to comply with any of its terms. However, if You become 237 | compliant, then the rights granted under this License from a particular 238 | Contributor are reinstated (a) provisionally, unless and until such 239 | Contributor explicitly and finally terminates Your grants, and (b) on an 240 | ongoing basis, if such Contributor fails to notify You of the 241 | non-compliance by some reasonable means prior to 60 days after You have 242 | come back into compliance. Moreover, Your grants from a particular 243 | Contributor are reinstated on an ongoing basis if such Contributor 244 | notifies You of the non-compliance by some reasonable means, this is the 245 | first time You have received notice of non-compliance with this License 246 | from such Contributor, and You become compliant prior to 30 days after 247 | Your receipt of the notice. 248 | 249 | 5.2. If You initiate litigation against any entity by asserting a patent 250 | infringement claim (excluding declaratory judgment actions, 251 | counter-claims, and cross-claims) alleging that a Contributor Version 252 | directly or indirectly infringes any patent, then the rights granted to 253 | You by any and all Contributors for the Covered Software under Section 254 | 2.1 of this License shall terminate. 255 | 256 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all 257 | end user license agreements (excluding distributors and resellers) which 258 | have been validly granted by You or Your distributors under this License 259 | prior to termination shall survive termination. 260 | 261 | ************************************************************************ 262 | * * 263 | * 6. Disclaimer of Warranty * 264 | * ------------------------- * 265 | * * 266 | * Covered Software is provided under this License on an "as is" * 267 | * basis, without warranty of any kind, either expressed, implied, or * 268 | * statutory, including, without limitation, warranties that the * 269 | * Covered Software is free of defects, merchantable, fit for a * 270 | * particular purpose or non-infringing. The entire risk as to the * 271 | * quality and performance of the Covered Software is with You. * 272 | * Should any Covered Software prove defective in any respect, You * 273 | * (not any Contributor) assume the cost of any necessary servicing, * 274 | * repair, or correction. This disclaimer of warranty constitutes an * 275 | * essential part of this License. No use of any Covered Software is * 276 | * authorized under this License except under this disclaimer. * 277 | * * 278 | ************************************************************************ 279 | 280 | ************************************************************************ 281 | * * 282 | * 7. Limitation of Liability * 283 | * -------------------------- * 284 | * * 285 | * Under no circumstances and under no legal theory, whether tort * 286 | * (including negligence), contract, or otherwise, shall any * 287 | * Contributor, or anyone who distributes Covered Software as * 288 | * permitted above, be liable to You for any direct, indirect, * 289 | * special, incidental, or consequential damages of any character * 290 | * including, without limitation, damages for lost profits, loss of * 291 | * goodwill, work stoppage, computer failure or malfunction, or any * 292 | * and all other commercial damages or losses, even if such party * 293 | * shall have been informed of the possibility of such damages. This * 294 | * limitation of liability shall not apply to liability for death or * 295 | * personal injury resulting from such party's negligence to the * 296 | * extent applicable law prohibits such limitation. Some * 297 | * jurisdictions do not allow the exclusion or limitation of * 298 | * incidental or consequential damages, so this exclusion and * 299 | * limitation may not apply to You. * 300 | * * 301 | ************************************************************************ 302 | 303 | 8. Litigation 304 | ------------- 305 | 306 | Any litigation relating to this License may be brought only in the 307 | courts of a jurisdiction where the defendant maintains its principal 308 | place of business and such litigation shall be governed by laws of that 309 | jurisdiction, without reference to its conflict-of-law provisions. 310 | Nothing in this Section shall prevent a party's ability to bring 311 | cross-claims or counter-claims. 312 | 313 | 9. Miscellaneous 314 | ---------------- 315 | 316 | This License represents the complete agreement concerning the subject 317 | matter hereof. If any provision of this License is held to be 318 | unenforceable, such provision shall be reformed only to the extent 319 | necessary to make it enforceable. Any law or regulation which provides 320 | that the language of a contract shall be construed against the drafter 321 | shall not be used to construe this License against a Contributor. 322 | 323 | 10. Versions of the License 324 | --------------------------- 325 | 326 | 10.1. New Versions 327 | 328 | Mozilla Foundation is the license steward. Except as provided in Section 329 | 10.3, no one other than the license steward has the right to modify or 330 | publish new versions of this License. Each version will be given a 331 | distinguishing version number. 332 | 333 | 10.2. Effect of New Versions 334 | 335 | You may distribute the Covered Software under the terms of the version 336 | of the License under which You originally received the Covered Software, 337 | or under the terms of any subsequent version published by the license 338 | steward. 339 | 340 | 10.3. Modified Versions 341 | 342 | If you create software not governed by this License, and you want to 343 | create a new license for such software, you may create and use a 344 | modified version of this License if you rename the license and remove 345 | any references to the name of the license steward (except to note that 346 | such modified license differs from this License). 347 | 348 | 10.4. Distributing Source Code Form that is Incompatible With Secondary 349 | Licenses 350 | 351 | If You choose to distribute Source Code Form that is Incompatible With 352 | Secondary Licenses under the terms of this version of the License, the 353 | notice described in Exhibit B of this License must be attached. 354 | 355 | Exhibit A - Source Code Form License Notice 356 | ------------------------------------------- 357 | 358 | This Source Code Form is subject to the terms of the Mozilla Public 359 | License, v. 2.0. If a copy of the MPL was not distributed with this 360 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 361 | 362 | If it is not possible or desirable to put the notice in a particular 363 | file, then You may include the notice in a location (such as a LICENSE 364 | file in a relevant directory) where a recipient would be likely to look 365 | for such a notice. 366 | 367 | You may add additional accurate notices of copyright ownership. 368 | 369 | Exhibit B - "Incompatible With Secondary Licenses" Notice 370 | --------------------------------------------------------- 371 | 372 | This Source Code Form is "Incompatible With Secondary Licenses", as 373 | defined by the Mozilla Public License, v. 2.0. -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных_Тест/Forms/Форма/Module.bsl: -------------------------------------------------------------------------------- 1 | // ---------------------------------------------------------- 2 | // This Source Code Form is subject to the terms of the 3 | // Mozilla Public License, v.2.0. If a copy of the MPL 4 | // was not distributed with this file, You can obtain one 5 | // at http://mozilla.org/MPL/2.0/. 6 | // ---------------------------------------------------------- 7 | // Codebase: https://github.com/ArKuznetsov/SerLib1C/ 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 | РазмерПорции = 20; 35 | 36 | Настройки = ПолучитьНастройки(); 37 | 38 | ПроверитьСвойства(Настройки, "ПреобразованиеДанных", "Отсутствуют обязательные настройки: %1"); 39 | 40 | ПодключитьВнешнююОбработку("ПреобразованиеДанных", Настройки.ПреобразованиеДанных); 41 | 42 | Элементы.ВерсияБиблиотеки.Заголовок = "v. " + ВерсияБиблиотеки(); 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 | Если ВыбранныеФайлы.Количество() = 0 Тогда 74 | Возврат; 75 | КонецЕсли; 76 | 77 | КаталогВыгрузки = ВыбранныеФайлы[0]; 78 | 79 | КонецПроцедуры // КаталогВыгрузкиНачалоВыбораЗавершение() 80 | 81 | #КонецОбласти 82 | 83 | #Область ОбработкаКоманд 84 | 85 | // Функция - возращает массив ссылок на тестируемые объекты 86 | // 87 | // Возвращаемое значение: 88 | // Массив(Структура) - описание объекта для тестирования преобразования 89 | // *Ссылка - Ссылка, НаборЗаписей - ссылка на объект для тестирования или набор записей 90 | // *ПравилаВыгрузки - Массив(Структура) - описание правил дополнения результата выгрузки объекта 91 | // *ТипИсточника - Строка - имя типа источника, обрабатываемого правилом 92 | // *ФункцияДополнения - Строка - имя функции обработки результата выгрузки объекта 93 | &НаСервере 94 | Функция ПолучитьОбъектыДляТестированияНаСервере() 95 | 96 | МассивСсылок = Новый Массив(); 97 | 98 | Первые = ?(КоличествоВВыборке > 0, " ПЕРВЫЕ " + Формат(КоличествоВВыборке, "ЧГ=;"), ""); 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 | 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 | МассивСсылок.Добавить(СтруктураСсылки); 189 | КонецЦикла; 190 | КонецЦикла; 191 | 192 | Для Каждого ТекМетаОбъект Из Метаданные.ПланыОбмена Цикл 193 | 194 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые + 195 | " ТекТаб.Ссылка ИЗ ПланОбмена." + ТекМетаОбъект.Имя + 196 | " КАК ТекТаб"); 197 | 198 | Результат = Запрос.Выполнить(); 199 | Выборка = Результат.Выбрать(); 200 | Пока Выборка.Следующий() Цикл 201 | СтруктураСсылки = Новый Структура("Ссылка, ПравилаВыгрузки", Выборка.Ссылка, Новый Массив()); 202 | МассивСсылок.Добавить(СтруктураСсылки); 203 | КонецЦикла; 204 | КонецЦикла; 205 | 206 | Для Каждого ТекМетаОбъект Из Метаданные.Документы Цикл 207 | 208 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые + 209 | " ТекТаб.Ссылка ИЗ Документ." + ТекМетаОбъект.Имя + 210 | " КАК ТекТаб"); 211 | 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 | КонецЦикла; 238 | 239 | ПоказатьСообщение(СтрШаблон("Тестирование объекта ""%1"" (%2)...", 240 | ТекОписание.Ссылка, 241 | ТекОписание.Ссылка.Метаданные().ПолноеИмя())); 242 | 243 | Представление = Библиотека.ОбъектВСтруктуру(ТекОписание.Ссылка.ПолучитьОбъект()); 244 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 245 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1); 246 | Попытка 247 | СозданныйОбъект = Библиотека.СоздатьОбъектИзСтруктуры(Представление, Истина); 248 | Исключение 249 | ПоказатьСообщение(СтрШаблон("Ошибка создания объекта ""%1 (%2: %3)"": %4%5", 250 | ТекОписание.Ссылка, 251 | ТекОписание.Ссылка.Метаданные().ПолноеИмя(), 252 | СокрЛП(ТекОписание.Ссылка.УникальныйИдентификатор()), 253 | Символы.ПС, 254 | ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); 255 | Продолжить; 256 | КонецПопытки; 257 | 258 | Если ВыгрузитьРезультатыТеста Тогда 259 | Представление = Библиотека.ОбъектВСтруктуру(СозданныйОбъект); 260 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 261 | 262 | Хранилище = Новый Структура("Первый, Второй", 263 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор), 264 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор)); 265 | АдресаФайлов.Вставить(ТекОписание.Ссылка.Метаданные().ПолноеИмя() + "." + 266 | СокрЛП(ТекОписание.Ссылка.УникальныйИдентификатор()), Хранилище); 267 | КонецЕсли; 268 | 269 | КонецЦикла; 270 | 271 | КонецПроцедуры // ВыполнитьТестОбъектов() 272 | 273 | // Процедура - обработчик команды "Тест" формы 274 | // 275 | &НаКлиенте 276 | Процедура Тест(Команда) 277 | 278 | Если ВыгрузитьРезультатыТеста Тогда 279 | ОбеспечитьКаталог(КаталогВыгрузки + "\orig"); 280 | ОбеспечитьКаталог(КаталогВыгрузки + "\test"); 281 | КонецЕсли; 282 | 283 | ТестируемыеОбъекты = ПолучитьОбъектыДляТестированияНаСервере(); 284 | 285 | ОбъектыДляТестирования = Новый Массив(); 286 | 287 | й = 1; 288 | НачВремя = ТекущаяДата(); 289 | 290 | Для Каждого ТекЭлемент Из ТестируемыеОбъекты Цикл 291 | 292 | ОбъектыДляТестирования.Добавить(ТекЭлемент); 293 | 294 | й = й + 1; 295 | 296 | Если ОбъектыДляТестирования.Количество() < РазмерПорции 297 | И й < ТестируемыеОбъекты.Количество() - 1 Тогда 298 | Продолжить; 299 | КонецЕсли; 300 | 301 | Если ОбъектыДляТестирования.Количество() = 0 Тогда 302 | Продолжить; 303 | КонецЕсли; 304 | 305 | АдресаФайлов = Неопределено; 306 | ВыполнитьТестОбъектов(ОбъектыДляТестирования, АдресаФайлов); 307 | 308 | ОбъектыДляТестирования.Очистить(); 309 | 310 | Если НЕ ВыгрузитьРезультатыТеста Тогда 311 | Продолжить; 312 | КонецЕсли; 313 | 314 | Для Каждого ТекРезультат Из АдресаФайлов Цикл 315 | ВремФайл = Новый ТекстовыйДокумент(); 316 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекРезультат.Значение.Первый)); 317 | ВремФайл.Записать(КаталогВыгрузки + "\orig\" + ТекРезультат.Ключ + ".json"); 318 | 319 | ВремФайл = Новый ТекстовыйДокумент(); 320 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекРезультат.Значение.Второй)); 321 | ВремФайл.Записать(КаталогВыгрузки + "\test\" + ТекРезультат.Ключ + ".json"); 322 | КонецЦикла; 323 | 324 | КонецЦикла; 325 | 326 | КонВремя = ТекущаяДата(); 327 | 328 | ПоказатьСообщение("Всего объектов: " + Формат(й, "ЧН=; ЧГ=")); 329 | ПоказатьСообщение("Начало выполнения: " + Формат(НачВремя, "ЧН=; ЧГ=")); 330 | ПоказатьСообщение("Окончание выполнения: " + Формат(КонВремя, "ЧН=; ЧГ=")); 331 | ПоказатьСообщение("Время выполнения: " + Формат(КонВремя - НачВремя, "ЧН=; ЧГ=") + "с."); 332 | ПоказатьСообщение("Скорость всего: " + Формат(й / (КонВремя - НачВремя), "ЧН=; ЧГ=") + "об./с."); 333 | 334 | КонецПроцедуры // Тест() 335 | 336 | // // Процедура - обработчик команды "ТестКоллекций" на сервере 337 | // 338 | &НаСервере 339 | Процедура ТестКоллекцийНаСервере(АдресаФайлов = Неопределено) 340 | 341 | АдресаФайлов = Новый Соответствие(); 342 | 343 | Запрос = Новый Запрос("ВЫБРАТЬ 344 | | ИдентификаторыОбъектовМетаданных.Ссылка, 345 | | ИдентификаторыОбъектовМетаданных.Родитель КАК Группа, 346 | | ИдентификаторыОбъектовМетаданных.Имя, 347 | | ИдентификаторыОбъектовМетаданных.ПолноеИмя, 348 | | ИдентификаторыОбъектовМетаданных.НоваяСсылка 349 | |ИЗ 350 | | Справочник.ИдентификаторыОбъектовМетаданных КАК ИдентификаторыОбъектовМетаданных 351 | |ИТОГИ 352 | |ПО 353 | | Родитель"); 354 | 355 | Результат = Запрос.Выполнить(); 356 | 357 | ТестТаблица = Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой); 358 | ТестТаблица.Колонки.Добавить("ДвоичныеДанные", Новый ОписаниеТипов("ДвоичныеДанные")); 359 | ТестТаблица.Колонки.Добавить("ХранилищеЗначения", Новый ОписаниеТипов("ХранилищеЗначения")); 360 | ТестТаблица.Колонки.Добавить("Картинка", Новый ОписаниеТипов("Картинка")); 361 | 362 | Для Каждого ТекСтрока Из ТестТаблица Цикл 363 | ТекСтрока.Картинка = Новый Картинка(); 364 | ТекСтрока.ДвоичныеДанные = ТекСтрока.Картинка.ПолучитьДвоичныеДанные(); 365 | ТекСтрока.ХранилищеЗначения = Новый ХранилищеЗначения(ТекСтрока.ДвоичныеДанные, Новый СжатиеДанных(1)); 366 | КонецЦикла; 367 | 368 | ТестДерево = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам); 369 | 370 | ТестМассив = ТестТаблица.ВыгрузитьКолонку("Ссылка"); 371 | 372 | ТестСписок = Новый СписокЗначений(); 373 | 374 | ТестСписок.ЗагрузитьЗначения(ТестМассив); 375 | 376 | ТестСтруктура = Новый Структура(); 377 | 378 | ТестСоответствие = Новый Соответствие(); 379 | 380 | Для Каждого ТекСтрока Из ТестТаблица Цикл 381 | Если НЕ (ЗначениеЗаполнено(ТекСтрока.Имя) И ЗначениеЗаполнено(ТекСтрока.Ссылка)) Тогда 382 | Продолжить; 383 | КонецЕсли; 384 | Если Лев(ТекСтрока.Имя, 1) = "?" Тогда 385 | Продолжить; 386 | КонецЕсли; 387 | ТестСтруктура.Вставить(ТекСтрока.Имя, ТекСтрока.Ссылка); 388 | ТестСоответствие.Вставить(ТекСтрока.Ссылка, ТекСтрока.Группа); 389 | КонецЦикла; 390 | 391 | Библиотека = ПреобразованиеДанных(); 392 | 393 | Представление = Библиотека.ЗначениеВСтруктуру(ТестТаблица); 394 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 395 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1); 396 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление); 397 | 398 | Если ВыгрузитьРезультатыТеста Тогда 399 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект); 400 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 401 | 402 | Хранилище = Новый Структура("Первый, Второй", 403 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор), 404 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор)); 405 | АдресаФайлов.Вставить("Таблица", Хранилище); 406 | КонецЕсли; 407 | 408 | Представление = Библиотека.ЗначениеВСтруктуру(ТестМассив); 409 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 410 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1); 411 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление); 412 | 413 | Если ВыгрузитьРезультатыТеста Тогда 414 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект); 415 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 416 | 417 | Хранилище = Новый Структура("Первый, Второй", 418 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор), 419 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор)); 420 | АдресаФайлов.Вставить("Массив", Хранилище); 421 | КонецЕсли; 422 | 423 | Представление = Библиотека.ЗначениеВСтруктуру(ТестСписок); 424 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 425 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1); 426 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление); 427 | 428 | Если ВыгрузитьРезультатыТеста Тогда 429 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект); 430 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 431 | 432 | Хранилище = Новый Структура("Первый, Второй", 433 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор), 434 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор)); 435 | АдресаФайлов.Вставить("Список", Хранилище); 436 | КонецЕсли; 437 | 438 | Представление = Библиотека.ЗначениеВСтруктуру(ТестСтруктура); 439 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 440 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1); 441 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление); 442 | 443 | Если ВыгрузитьРезультатыТеста Тогда 444 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект); 445 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 446 | 447 | Хранилище = Новый Структура("Первый, Второй", 448 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор), 449 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор)); 450 | АдресаФайлов.Вставить("Структура", Хранилище); 451 | КонецЕсли; 452 | 453 | Представление = Библиотека.ЗначениеВСтруктуру(ТестСоответствие); 454 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 455 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1); 456 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление); 457 | 458 | Если ВыгрузитьРезультатыТеста Тогда 459 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект); 460 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 461 | 462 | Хранилище = Новый Структура("Первый, Второй", 463 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор), 464 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор)); 465 | АдресаФайлов.Вставить("Соответствие", Хранилище); 466 | КонецЕсли; 467 | 468 | Представление = Библиотека.ЗначениеВСтруктуру(ТестДерево); 469 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 470 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1); 471 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление); 472 | 473 | Если ВыгрузитьРезультатыТеста Тогда 474 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект); 475 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 476 | 477 | Хранилище = Новый Структура("Первый, Второй", 478 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор), 479 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор)); 480 | АдресаФайлов.Вставить("Дерево", Хранилище); 481 | КонецЕсли; 482 | 483 | КонецПроцедуры // ТестКоллекцийНаСервере() 484 | 485 | // Процедура - обработчик команды "ТестКоллекций" формы 486 | // 487 | &НаКлиенте 488 | Процедура ТестКоллекций(Команда) 489 | 490 | Если ВыгрузитьРезультатыТеста Тогда 491 | ОбеспечитьКаталог(КаталогВыгрузки + "\orig"); 492 | ОбеспечитьКаталог(КаталогВыгрузки + "\test"); 493 | КонецЕсли; 494 | 495 | АдресаФайлов = Неопределено; 496 | 497 | ТестКоллекцийНаСервере(АдресаФайлов); 498 | 499 | Если ВыгрузитьРезультатыТеста Тогда 500 | 501 | Для Каждого ТекРезультат Из АдресаФайлов Цикл 502 | ВремФайл = Новый ТекстовыйДокумент(); 503 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекРезультат.Значение.Первый)); 504 | ВремФайл.Записать(КаталогВыгрузки + "\orig\" + ТекРезультат.Ключ + ".json"); 505 | 506 | ВремФайл = Новый ТекстовыйДокумент(); 507 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекРезультат.Значение.Второй)); 508 | ВремФайл.Записать(КаталогВыгрузки + "\test\" + ТекРезультат.Ключ + ".json"); 509 | КонецЦикла; 510 | 511 | КонецЕсли; 512 | 513 | КонецПроцедуры // ТестКоллекций() 514 | 515 | // Процедура - обработчик команды "ТестСКД" формы на сервере 516 | // 517 | &НаСервере 518 | Процедура ТестСКДНаСервере(ОтчетыДляТестирования, АдресаФайлов = Неопределено) 519 | 520 | Библиотека = ПреобразованиеДанных(); 521 | 522 | АдресаФайлов = Новый Соответствие(); 523 | 524 | Для Каждого ТекИмяОтчета Из ОтчетыДляТестирования Цикл 525 | 526 | ТекОтчет = Метаданные.Отчеты[ТекИмяОтчета]; 527 | 528 | Для Каждого ТекМакет Из ТекОтчет.Макеты Цикл 529 | 530 | ТестируемыйОбъект = Отчеты[ТекОтчет.Имя].ПолучитьМакет(ТекМакет.Имя); 531 | Если НЕ ТипЗнч(ТестируемыйОбъект) = Тип("СхемаКомпоновкиДанных") Тогда 532 | Продолжить; 533 | КонецЕсли; 534 | 535 | Сообщить(СтрШаблон("Преобразование объекта ""%1"" (%2)...", "Отчет." + ТекОтчет.Имя + "." + ТекМакет.Имя, ТипЗнч(ТестируемыйОбъект))); 536 | 537 | Представление = Библиотека.СКДВСтруктуру(ТестируемыйОбъект); 538 | Попытка 539 | ТекстОбъекта = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 540 | Хранилище = Новый Структура("Первый", ПоместитьВоВременноеХранилище(ТекстОбъекта, ЭтотОбъект.УникальныйИдентификатор)); 541 | АдресаФайлов.Вставить(ТекОтчет.Имя + "." + ТекМакет.Имя, Хранилище); 542 | Исключение 543 | ПроверитьСовместимостьСJSON(Представление, "Отчет." + ТекОтчет.Имя + "." + ТекМакет.Имя); 544 | КонецПопытки; 545 | 546 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта); 547 | 548 | Попытка 549 | КопияСКД = Неопределено; 550 | Библиотека.СКДИзСтруктуры(КопияСКД, Представление); 551 | Исключение 552 | ТекстОшибки = СтрШаблон("Ошибка восстановления СКД: %1%2", Символы.ПС, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); 553 | Сообщить(ТекстОшибки); 554 | КонецПопытки; 555 | Представление = Библиотека.СКДВСтруктуру(КопияСКД); 556 | ТекстОбъекта = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление); 557 | АдресаФайлов[ТекОтчет.Имя + "." + ТекМакет.Имя].Вставить("Второй", ПоместитьВоВременноеХранилище(ТекстОбъекта, ЭтотОбъект.УникальныйИдентификатор)); 558 | КонецЦикла; 559 | КонецЦикла; 560 | 561 | КонецПроцедуры // ТестСКДНаСервере() 562 | 563 | // Процедура - обработчик команды "ТестСКД" формы 564 | // 565 | &НаКлиенте 566 | Процедура ТестСКД(Команда) 567 | 568 | Если ВыгрузитьРезультатыТеста Тогда 569 | ОбеспечитьКаталог(КаталогВыгрузки + "\orig"); 570 | ОбеспечитьКаталог(КаталогВыгрузки + "\test"); 571 | КонецЕсли; 572 | 573 | ОтчетыДляТестирования = Новый Массив(); 574 | 575 | Для Каждого ТекЭлемент Из ТестируемыеОтчеты Цикл 576 | 577 | Если ТекЭлемент.Пометка Тогда 578 | ОтчетыДляТестирования.Добавить(ТекЭлемент.Значение); 579 | КонецЕсли; 580 | 581 | Если ОтчетыДляТестирования.Количество() < РазмерПорции 582 | И ТестируемыеОтчеты.Индекс(ТекЭлемент) < ТестируемыеОтчеты.Количество() - 1 Тогда 583 | Продолжить; 584 | КонецЕсли; 585 | 586 | Если ОтчетыДляТестирования.Количество() = 0 Тогда 587 | Продолжить; 588 | КонецЕсли; 589 | 590 | АдресаФайлов = Неопределено; 591 | ТестСКДНаСервере(ОтчетыДляТестирования, АдресаФайлов); 592 | 593 | ОтчетыДляТестирования.Очистить(); 594 | 595 | Если НЕ ВыгрузитьРезультатыТеста Тогда 596 | Продолжить; 597 | КонецЕсли; 598 | 599 | Для Каждого ТекСКД Из АдресаФайлов Цикл 600 | ВремФайл = Новый ТекстовыйДокумент(); 601 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекСКД.Значение.Первый)); 602 | ВремФайл.Записать(КаталогВыгрузки + "\orig\" + ТекСкд.Ключ + ".json"); 603 | 604 | ВремФайл = Новый ТекстовыйДокумент(); 605 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекСКД.Значение.Второй)); 606 | ВремФайл.Записать(КаталогВыгрузки + "\test\" + ТекСкд.Ключ + ".json"); 607 | КонецЦикла; 608 | 609 | КонецЦикла; 610 | 611 | КонецПроцедуры // ТестСКД() 612 | 613 | &НаСервере 614 | Процедура ПроверитьСовместимостьСJSON(СтруктураОбъекта, Знач ИмяВИерархии = "") 615 | 616 | Библиотека = ПреобразованиеДанных(); 617 | 618 | Попытка 619 | //@skip-warning 620 | ТекстОбъекта = Библиотека.ЗаписатьОписаниеОбъектаВJSON(СтруктураОбъекта); 621 | Исключение 622 | ТекстОшибки = СтрШаблон("Ошибка преобразования в JSON ""%1"" (%2): %3%4", 623 | ИмяВИерархии, 624 | СокрЛП(ТипЗнч(СтруктураОбъекта)), 625 | Символы.ПС, 626 | ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); 627 | Сообщить(ТекстОшибки); 628 | КонецПопытки; 629 | 630 | Если ТипЗнч(СтруктураОбъекта) = Тип("Структура") ИЛИ ТипЗнч(СтруктураОбъекта) = Тип("Соответствие") Тогда 631 | Для Каждого ТекЭлемент Из СтруктураОбъекта Цикл 632 | ПроверитьСовместимостьСJSON(ТекЭлемент.Значение, ИмяВИерархии + "." + ТекЭлемент.Ключ); 633 | КонецЦикла; 634 | ИначеЕсли ТипЗнч(СтруктураОбъекта) = Тип("Массив") Тогда 635 | Для й = 0 По СтруктураОбъекта.ВГраница() Цикл 636 | ПроверитьСовместимостьСJSON(СтруктураОбъекта[й], ИмяВИерархии + "." + СокрЛП(й)); 637 | КонецЦикла; 638 | КонецЕсли; 639 | 640 | КонецПроцедуры 641 | 642 | #КонецОбласти 643 | 644 | #Область ОбработчикиВыгрузкиДанных 645 | 646 | // Процедура - добавляет в описание ссылки наименование 647 | // 648 | // Параметры: 649 | // ОписаниеЗначения - Структура - Структура значения для дополнения 650 | // Значение - Произвольный - Преобразуемое значение 651 | // 652 | &НаСервере 653 | Процедура ДобавитьНаименованиеОбъекта(ОписаниеЗначения, Значение) Экспорт 654 | 655 | ОписаниеЗначения.Вставить("Наименование", СокрЛП(Значение)); 656 | 657 | КонецПроцедуры // ДобавитьНаименованиеОбъекта() 658 | 659 | #КонецОбласти 660 | 661 | #Область СлужебныеПроцедурыИФункции 662 | 663 | // Функция - возвращает настройки из JSON-файла настроек 664 | // 665 | // Параметры: 666 | // АдресНастроек - Строка - адрес временного хранилища настроек 667 | // 668 | // Возвращаемое значение: 669 | // Структура - полученные настройки 670 | // 671 | &НаСервере 672 | Функция ПолучитьНастройкиНаСервере(Знач АдресНастроек) 673 | 674 | ДанныеНастроек = ПолучитьИзВременногоХранилища(АдресНастроек); 675 | 676 | ЧтениеНастроек = Новый ЧтениеJSON(); 677 | 678 | ЧтениеНастроек.ОткрытьПоток(ДанныеНастроек.ОткрытьПотокДляЧтения()); 679 | 680 | Возврат ПрочитатьJSON(ЧтениеНастроек, Ложь, , ФорматДатыJSON.ISO); 681 | 682 | КонецФункции // ПолучитьНастройкиНаСервере() 683 | 684 | // Функция - возвращает настройки из JSON-файла настроек 685 | // 686 | // Параметры: 687 | // ПутьКФайлуНастроек - Строка - путь к JSON-файлу настроек 688 | // 689 | // Возвращаемое значение: 690 | // Структура - полученные настройки 691 | // 692 | &НаКлиенте 693 | Функция ПолучитьНастройки(Знач ПутьКФайлуНастроек = "") 694 | 695 | Если НЕ ЗначениеЗаполнено(ПутьКФайлуНастроек) Тогда 696 | ПутьКФайлуНастроек = КаталогТекущейОбработки() + "settings.json"; 697 | КонецЕсли; 698 | 699 | ПроверитьДопустимостьТипа(ПутьКФайлуНастроек, 700 | "Строка, Файл", 701 | СтрШаблон("Некорректно указан файл настроек ""%1""", СокрЛП(ПутьКФайлуНастроек)) + 702 | ", тип ""%1"", ожидается тип %2!"); 703 | 704 | Если ТипЗнч(ПутьКФайлуНастроек) = Тип("Файл") Тогда 705 | ПутьКФайлуНастроек = ПутьКФайлуНастроек.ПолноеИмя; 706 | КонецЕсли; 707 | 708 | АдресНастроек = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьКФайлуНастроек), ЭтотОбъект.УникальныйИдентификатор); 709 | 710 | Попытка 711 | Возврат ПолучитьНастройкиНаСервере(АдресНастроек); 712 | Исключение 713 | ВызватьИсключение СтрШаблон("Ошибка чтения файла настроек ""%1"": %2%3", 714 | ПутьКФайлуНастроек, 715 | Символы.ПС, 716 | ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); 717 | КонецПопытки; 718 | 719 | КонецФункции // ПолучитьНастройки() 720 | 721 | // Функция - возвращает путь к каталогу текущей обработки 722 | // 723 | // Возвращаемое значение: 724 | // Строка - путь к каталогу текущей обработки 725 | // 726 | &НаСервере 727 | Функция КаталогТекущейОбработки() 728 | 729 | ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); 730 | 731 | ФайлЭтойОбработки = Новый Файл(ОбработкаОбъект.ИспользуемоеИмяФайла); 732 | 733 | Возврат ФайлЭтойОбработки.Путь; 734 | 735 | КонецФункции // КаталогТекущейОбработки() 736 | 737 | // Функция - Получает обработку сериализации значений 738 | // 739 | // Возвращаемое значение: 740 | // ВнешняяОбработкаОбъект - обработка преобразования данных 741 | // 742 | &НаСервере 743 | Функция ПреобразованиеДанных() 744 | 745 | Если Библиотека = Неопределено Тогда 746 | Библиотека = ВнешниеОбработки.Создать("ПреобразованиеДанных"); 747 | КонецЕсли; 748 | 749 | Возврат Библиотека; 750 | 751 | КонецФункции // ПреобразованиеДанных() 752 | 753 | // Функция - ищет внешнюю обработку по указанному имени и пути, подключает ее 754 | // и возвращает имя подключенной обработки 755 | // 756 | // Параметры: 757 | // ИмяОбработки - Строка - имя внешней обработки 758 | // 759 | // Возвращаемое значение: 760 | // ВнешняяОбработкаОбъект - внешняя обработка 761 | // 762 | &НаКлиенте 763 | Функция ПодключитьВнешнююОбработку(Знач ИмяОбработки, Знач ПутьКОбработке = "") 764 | 765 | Если ЗначениеЗаполнено(ПутьКОбработке) Тогда 766 | ПутьКОбработке = СтрЗаменить(ПутьКОбработке, "$thisRoot\", КаталогТекущейОбработки()); 767 | Иначе 768 | ПутьКОбработке = КаталогТекущейОбработки() + ИмяОбработки + ".epf"; 769 | КонецЕсли; 770 | 771 | АдресОбработки = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьКОбработке), ЭтотОбъект.УникальныйИдентификатор); 772 | 773 | Возврат ПодключитьВнешнююОбработкуНаСервере(АдресОбработки, ИмяОбработки); 774 | 775 | КонецФункции // ПодключитьВнешнююОбработкуПоИмени() 776 | 777 | // Функция - подключает внешнюю обработку из указанного хранилища с указанным именем 778 | // возвращает имя подключенной обработки 779 | // 780 | // Параметры: 781 | // ИмяОбработки - Строка - имя внешней обработки 782 | // 783 | // Возвращаемое значение: 784 | // ВнешняяОбработкаОбъект - внешняя обработка 785 | // 786 | &НаСервере 787 | Функция ПодключитьВнешнююОбработкуНаСервере(Знач АдресОбработки, Знач ИмяОбработки = "") 788 | 789 | ОписаниеЗащиты = Новый ОписаниеЗащитыОтОпасныхДействий(); 790 | ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь; 791 | 792 | Возврат ВнешниеОбработки.Подключить(АдресОбработки, ИмяОбработки, Ложь, ОписаниеЗащиты); 793 | 794 | КонецФункции // ПодключитьВнешнююОбработкуНаСервере() 795 | 796 | // Функция - проверяет тип значения на соответствие допустимым типам 797 | // 798 | // Параметры: 799 | // Значение - Произвольный - проверяемое значение 800 | // ДопустимыеТипы - Строка, Массив(Строка, Тип) - список допустимых типов 801 | // ШаблонТекстаОшибки - Строка - шаблон строки сообщения об ошибке 802 | // ("Некорректный тип значения ""%1"" ожидается тип %2") 803 | // 804 | // Возвращаемое значение: 805 | // Булево - Истина - проверка прошла успешно 806 | // 807 | Функция ПроверитьДопустимостьТипа(Знач Значение, Знач ДопустимыеТипы, Знач ШаблонТекстаОшибки = "") 808 | 809 | ТипЗначения = ТипЗнч(Значение); 810 | 811 | Если ТипЗнч(ДопустимыеТипы) = Тип("Строка") Тогда 812 | МассивДопустимыхТипов = СтрРазделить(ДопустимыеТипы, ","); 813 | ИначеЕсли ТипЗнч(ДопустимыеТипы) = Тип("Массив") Тогда 814 | МассивДопустимыхТипов = ДопустимыеТипы; 815 | Иначе 816 | ВызватьИсключение СтрШаблон("Некорректно указан список допустимых типов, тип ""%1"" ожидается тип %2!", 817 | Тип(ДопустимыеТипы), 818 | """Строка"" или ""Массив"""); 819 | КонецЕсли; 820 | 821 | Типы = Новый Соответствие(); 822 | 823 | СтрокаДопустимыхТипов = ""; 824 | 825 | Для Каждого ТекТип Из МассивДопустимыхТипов Цикл 826 | ВремТип = ?(ТипЗнч(ТекТип) = Тип("Строка"), Тип(СокрЛП(ТекТип)), ТекТип); 827 | Типы.Вставить(ВремТип, СокрЛП(ТекТип)); 828 | Если НЕ СтрокаДопустимыхТипов = "" Тогда 829 | СтрокаДопустимыхТипов = СтрокаДопустимыхТипов + 830 | ?(МассивДопустимыхТипов.Найти(ТекТип) = МассивДопустимыхТипов.ВГраница(), " или ", ", "); 831 | КонецЕсли; 832 | КонецЦикла; 833 | 834 | Если ШаблонТекстаОшибки = "" Тогда 835 | ШаблонТекстаОшибки = "Некорректный тип значения ""%1"" ожидается тип %2!"; 836 | КонецЕсли; 837 | 838 | Если Типы[ТипЗначения] = Неопределено Тогда 839 | ВызватьИсключение СтрШаблон(ШаблонТекстаОшибки, СокрЛП(ТипЗначения), СтрокаДопустимыхТипов); 840 | КонецЕсли; 841 | 842 | Возврат Истина; 843 | 844 | КонецФункции // ПроверитьДопустимостьТипа() 845 | 846 | // Функция - Проверить свойства 847 | // 848 | // Параметры: 849 | // ПроверяемаяСтруктура - Структура - проверяемая структура 850 | // ОбязательныеСвойства - Строка, Массив(Строка) - список обязательных свойств 851 | // ШаблонТекстаОшибки - Строка - шаблон строки сообщения об ошибке 852 | // ("Отсутствуют обязательные свойства: %1") 853 | // 854 | // Возвращаемое значение: 855 | // Булево - Истина - проверка прошла успешно 856 | // 857 | Функция ПроверитьСвойства(Знач ПроверяемаяСтруктура, Знач ОбязательныеСвойства, Знач ШаблонТекстаОшибки = "") 858 | 859 | ПроверитьДопустимостьТипа(ОбязательныеСвойства, 860 | "Строка, Массив", 861 | "Некорректно указан список обязательных свойств, тип ""%1"", ожидается тип %2!"); 862 | 863 | Если ТипЗнч(ОбязательныеСвойства) = Тип("Строка") Тогда 864 | МассивСвойств = СтрРазделить(ОбязательныеСвойства, ","); 865 | ИначеЕсли ТипЗнч(ОбязательныеСвойства) = Тип("Массив") Тогда 866 | МассивСвойств = ОбязательныеСвойства; 867 | КонецЕсли; 868 | 869 | СтрокаСвойств = ""; 870 | 871 | Для Каждого ТекСвойство Из МассивСвойств Цикл 872 | 873 | Если ПроверяемаяСтруктура.Свойство(СокрЛП(ТекСвойство)) Тогда 874 | Продолжить; 875 | КонецЕсли; 876 | 877 | СтрокаСвойств = СтрокаСвойств 878 | + ?(СтрокаСвойств = "", Символы.ПС, ", " + Символы.ПС) 879 | + """" + СокрЛП(ТекСвойство) + """"; 880 | КонецЦикла; 881 | 882 | Если ШаблонТекстаОшибки = "" Тогда 883 | ШаблонТекстаОшибки = "Отсутствуют обязательные свойства: %1"; 884 | КонецЕсли; 885 | 886 | Если НЕ СтрокаСвойств = "" Тогда 887 | ВызватьИсключение СтрШаблон(ШаблонТекстаОшибки, СтрокаСвойств); 888 | КонецЕсли; 889 | 890 | Возврат Истина; 891 | 892 | КонецФункции // ПроверитьСвойства() 893 | 894 | 895 | // Функция проверяет существование каталога по указанному пути 896 | // и при необходимости создает отсутствующие каталоги 897 | // 898 | // Параметры: 899 | // Путь - Строка - путь к каталогу 900 | // 901 | // Возвращаемое значение: 902 | // Булево - Истина - указанный путь существует (был успешно создан) 903 | // Ложь - в противном случае 904 | // 905 | &НаКлиенте 906 | Функция ОбеспечитьКаталог(Знач Путь) 907 | 908 | ВремФайл = Новый Файл(Путь); 909 | 910 | Если НЕ ВремФайл.Существует() Тогда 911 | Если ОбеспечитьКаталог(Сред(ВремФайл.Путь, 1, СтрДлина(ВремФайл.Путь) - 1)) Тогда 912 | СоздатьКаталог(Путь); 913 | Иначе 914 | Возврат Ложь; 915 | КонецЕсли; 916 | КонецЕсли; 917 | 918 | Если НЕ ВремФайл.ЭтоКаталог() Тогда 919 | ВызватьИсключение СтрШаблон("По указанному пути ""%1"" не удалось создать каталог", Путь); 920 | КонецЕсли; 921 | 922 | Возврат Истина; 923 | 924 | КонецФункции // ОбеспечитьКаталог() 925 | 926 | // Процедура - выодит сообщение пользователю 927 | // 928 | // Параметры: 929 | // ТекстСообщения - Строка - Текст сообщения 930 | // ВызыватьИсключение - Булево - Истина - будет вызвано исключение 931 | // 932 | &НаСервере 933 | Процедура ПоказатьСообщение(ТекстСообщения, ВызыватьИсключение = Ложь) 934 | 935 | Сообщение = Новый СообщениеПользователю(); 936 | Сообщение.Текст = ТекстСообщения; 937 | Сообщение.Сообщить(); 938 | 939 | Если ВызыватьИсключение Тогда 940 | ВызватьИсключение ТекстСообщения; 941 | КонецЕсли; 942 | 943 | КонецПроцедуры // ПоказатьСообщение() 944 | 945 | // Функция - возвращает версию библиотеки преобразования данных 946 | // 947 | // Возвращаемое значение: 948 | // Строка - версия библиотеки преобразования данных 949 | // 950 | &НаСервере 951 | Функция ВерсияБиблиотеки() 952 | 953 | Возврат ПреобразованиеДанных().Версия(); 954 | 955 | КонецФункции // ВерсияБиблиотеки() 956 | 957 | #КонецОбласти 958 | -------------------------------------------------------------------------------- /dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных_Тест/Forms/Форма/Form.form: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ГруппаТесты 5 | 14 6 | 7 | ГруппаТестОбъектовИБ 8 | 20 9 | 10 | ФормаТест 11 | 4 12 | true 13 | true 14 | 15 | true 16 | 17 | 18 | ФормаТестРасширеннаяПодсказка 19 | 5 20 | true 21 | true 22 | 23 | true 24 | 25 | Label 26 | true 27 | true 28 | 29 | Left 30 | 31 | 32 | UsualButton 33 | Form.Command.Тест 34 | Auto 35 | true 36 | true 37 | UserCmds 38 | 39 | 40 | КоличествоВВыборке 41 | 1 42 | true 43 | true 44 | 45 | true 46 | 47 | 48 | 49 | КоличествоВВыборке 50 | 51 | 52 | 53 | КоличествоВВыборкеРасширеннаяПодсказка 54 | 3 55 | true 56 | true 57 | 58 | true 59 | 60 | Label 61 | true 62 | true 63 | 64 | Left 65 | 66 | 67 | 68 | КоличествоВВыборкеКонтекстноеМеню 69 | 2 70 | true 71 | true 72 | 73 | true 74 | 75 | true 76 | 77 | InputField 78 | Enter 79 | true 80 | Left 81 | true 82 | 83 | true 84 | true 85 | true 86 | true 87 | true 88 | true 89 | 90 | 91 | 92 | ТестКоллекций 93 | 52 94 | true 95 | true 96 | 97 | true 98 | 99 | 100 | ТестКоллекцийРасширеннаяПодсказка 101 | 53 102 | true 103 | true 104 | 105 | true 106 | 107 | Label 108 | true 109 | true 110 | 111 | Left 112 | 113 | 114 | UsualButton 115 | Form.Command.ТестКоллекций 116 | Auto 117 | true 118 | true 119 | UserCmds 120 | Auto 121 | 122 | true 123 | true 124 | 125 | true 126 | 127 | 128 | <key>ru</key> 129 | <value>Тест объектов ИБ</value> 130 | 131 | 132 | ГруппаТестОбъектовИБРасширеннаяПодсказка 133 | 21 134 | true 135 | true 136 | 137 | true 138 | 139 | Label 140 | true 141 | true 142 | 143 | Left 144 | 145 | 146 | Page 147 | 148 | Vertical 149 | true 150 | 151 | 152 | 153 | ГруппаТестСКД 154 | 22 155 | 156 | ТестируемыеОтчеты 157 | 24 158 | true 159 | true 160 | 161 | true 162 | 163 | 164 | ТестируемыеОтчеты 165 | 166 | None 167 | Pickup 168 | SortListDesc 169 | SortListAsc 170 | MoveDown 171 | MoveUp 172 | ShowRowRearrangement 173 | EndEdit 174 | Delete 175 | Change 176 | Copy 177 | Add 178 | 179 | ТестируемыеОтчетыПометка 180 | 40 181 | true 182 | true 183 | 184 | true 185 | 186 | 187 | ТестируемыеОтчеты.Пометка 188 | 189 | 190 | ТестируемыеОтчетыПометкаРасширеннаяПодсказка 191 | 42 192 | true 193 | true 194 | 195 | true 196 | 197 | Label 198 | true 199 | true 200 | 201 | Left 202 | 203 | 204 | 205 | ТестируемыеОтчетыПометкаКонтекстноеМеню 206 | 41 207 | true 208 | true 209 | 210 | true 211 | 212 | true 213 | 214 | CheckBoxField 215 | Enter 216 | true 217 | Left 218 | true 219 | 220 | 221 | 222 | ТестируемыеОтчетыЗначение 223 | 37 224 | true 225 | true 226 | 227 | true 228 | 229 | 230 | 231 | ТестируемыеОтчеты.Value 232 | 233 | 234 | ТестируемыеОтчеты.Значение 235 | 236 | 237 | 238 | ТестируемыеОтчетыЗначениеРасширеннаяПодсказка 239 | 39 240 | true 241 | true 242 | 243 | true 244 | 245 | Label 246 | true 247 | true 248 | 249 | Left 250 | 251 | 252 | 253 | ТестируемыеОтчетыЗначениеКонтекстноеМеню 254 | 38 255 | true 256 | true 257 | 258 | true 259 | 260 | true 261 | 262 | InputField 263 | true 264 | Enter 265 | true 266 | Left 267 | true 268 | 269 | true 270 | true 271 | true 272 | true 273 | true 274 | true 275 | 276 | 277 | 278 | ТестируемыеОтчетыКоманднаяПанель 279 | 25 280 | 281 | ТестируемыеОтчетыУстановитьФлажки 282 | 43 283 | true 284 | true 285 | 286 | true 287 | 288 | 289 | ТестируемыеОтчетыУстановитьФлажкиРасширеннаяПодсказка 290 | 44 291 | true 292 | true 293 | 294 | true 295 | 296 | Label 297 | true 298 | true 299 | 300 | Left 301 | 302 | 303 | Form.Item.ТестируемыеОтчеты.StandardCommand.CheckAll 304 | Auto 305 | false 306 | true 307 | true 308 | UserCmds 309 | 310 | 311 | ТестируемыеОтчетыСнятьФлажки 312 | 45 313 | true 314 | true 315 | 316 | true 317 | 318 | 319 | ТестируемыеОтчетыСнятьФлажкиРасширеннаяПодсказка 320 | 46 321 | true 322 | true 323 | 324 | true 325 | 326 | Label 327 | true 328 | true 329 | 330 | Left 331 | 332 | 333 | Form.Item.ТестируемыеОтчеты.StandardCommand.UncheckAll 334 | Auto 335 | false 336 | true 337 | true 338 | UserCmds 339 | 340 | 341 | ФормаТестСКД 342 | 6 343 | true 344 | true 345 | 346 | true 347 | 348 | 349 | ФормаТестСКДРасширеннаяПодсказка 350 | 7 351 | true 352 | true 353 | 354 | true 355 | 356 | Label 357 | true 358 | true 359 | 360 | Left 361 | 362 | 363 | Form.Command.ТестСКД 364 | Auto 365 | true 366 | true 367 | UserCmds 368 | 369 | true 370 | true 371 | 372 | true 373 | 374 | Left 375 | true 376 | 377 | 378 | true 379 | true 380 | 381 | true 382 | 383 | ТестируемыеОтчетыСтрокаПоиска 384 | 28 385 | 386 | ТестируемыеОтчетыСтрокаПоискаРасширеннаяПодсказка 387 | 30 388 | true 389 | true 390 | 391 | true 392 | 393 | Label 394 | true 395 | true 396 | 397 | Left 398 | 399 | 400 | 401 | ТестируемыеОтчетыСтрокаПоискаКонтекстноеМеню 402 | 29 403 | true 404 | true 405 | 406 | true 407 | 408 | true 409 | 410 | 411 | true 412 | 413 | 414 | 415 | true 416 | true 417 | 418 | true 419 | 420 | ТестируемыеОтчетыСостояниеПросмотра 421 | 34 422 | 423 | ТестируемыеОтчетыСостояниеПросмотраРасширеннаяПодсказка 424 | 36 425 | true 426 | true 427 | 428 | true 429 | 430 | Label 431 | true 432 | true 433 | 434 | Left 435 | 436 | 437 | 438 | ТестируемыеОтчетыСостояниеПросмотраКонтекстноеМеню 439 | 35 440 | true 441 | true 442 | 443 | true 444 | 445 | true 446 | 447 | ViewStatusAddition 448 | 449 | true 450 | Left 451 | 452 | 453 | 454 | true 455 | true 456 | 457 | true 458 | 459 | ТестируемыеОтчетыУправлениеПоиском 460 | 31 461 | 462 | ТестируемыеОтчетыУправлениеПоискомРасширеннаяПодсказка 463 | 33 464 | true 465 | true 466 | 467 | true 468 | 469 | Label 470 | true 471 | true 472 | 473 | Left 474 | 475 | 476 | 477 | ТестируемыеОтчетыУправлениеПоискомКонтекстноеМеню 478 | 32 479 | true 480 | true 481 | 482 | true 483 | 484 | true 485 | 486 | SearchControlAddition 487 | 488 | true 489 | 490 | 491 | 492 | ТестируемыеОтчетыРасширеннаяПодсказка 493 | 27 494 | true 495 | true 496 | 497 | true 498 | 499 | Label 500 | true 501 | true 502 | 503 | Left 504 | 505 | 506 | 507 | ТестируемыеОтчетыКонтекстноеМеню 508 | 26 509 | true 510 | true 511 | 512 | true 513 | 514 | true 515 | 516 | true 517 | true 518 | true 519 | MultiRow 520 | 1 521 | 1 522 | AutoUse 523 | AutoUse 524 | true 525 | true 526 | Auto 527 | Auto 528 | true 529 | true 530 | 531 | true 532 | true 533 | 534 | true 535 | 536 | 537 | <key>ru</key> 538 | <value>Тест СКД</value> 539 | 540 | 541 | ГруппаТестСКДРасширеннаяПодсказка 542 | 23 543 | true 544 | true 545 | 546 | true 547 | 548 | Label 549 | true 550 | true 551 | 552 | Left 553 | 554 | 555 | Page 556 | 557 | Vertical 558 | true 559 | 560 | 561 | true 562 | true 563 | 564 | true 565 | 566 | 567 | <key>ru</key> 568 | <value>Тесты</value> 569 | 570 | 571 | ГруппаТестыРасширеннаяПодсказка 572 | 15 573 | true 574 | true 575 | 576 | true 577 | 578 | Label 579 | true 580 | true 581 | 582 | Left 583 | 584 | 585 | Pages 586 | 587 | TabsOnTop 588 | DontUse 589 | 590 | 591 | 592 | ГруппаКаталогВыгрузки 593 | 47 594 | 595 | ВыгрузитьРезультатыТестаСКД 596 | 8 597 | 598 | <key>ru</key> 599 | <value>Выгрузить результаты в каталог:</value> 600 | 601 | true 602 | true 603 | 604 | true 605 | 606 | 607 | ВыгрузитьРезультатыТеста 608 | 609 | Right 610 | 611 | ВыгрузитьРезультатыТестаСКДРасширеннаяПодсказка 612 | 10 613 | true 614 | true 615 | 616 | true 617 | 618 | Label 619 | true 620 | true 621 | 622 | Left 623 | 624 | 625 | 626 | ВыгрузитьРезультатыТестаСКДКонтекстноеМеню 627 | 9 628 | true 629 | true 630 | 631 | true 632 | 633 | true 634 | 635 | CheckBoxField 636 | Enter 637 | true 638 | Left 639 | true 640 | 641 | 642 | 643 | КаталогВыгрузки 644 | 11 645 | true 646 | true 647 | 648 | true 649 | 650 | 651 | КаталогВыгрузки 652 | 653 | None 654 | 655 | КаталогВыгрузкиРасширеннаяПодсказка 656 | 13 657 | true 658 | true 659 | 660 | true 661 | 662 | Label 663 | true 664 | true 665 | 666 | Left 667 | 668 | 669 | 670 | КаталогВыгрузкиКонтекстноеМеню 671 | 12 672 | true 673 | true 674 | 675 | true 676 | 677 | true 678 | 679 | InputField 680 | Enter 681 | true 682 | Left 683 | true 684 | 685 | 686 | StartChoice 687 | КаталогВыгрузкиНачалоВыбора 688 | 689 | true 690 | true 691 | true 692 | true 693 | true 694 | true 695 | true 696 | 697 | 698 | 699 | ВерсияБиблиотеки 700 | 54 701 | 702 | <key>ru</key> 703 | <value>v</value> 704 | 705 | true 706 | true 707 | 708 | true 709 | 710 | 711 | ВерсияБиблиотекиРасширеннаяПодсказка 712 | 56 713 | true 714 | true 715 | 716 | true 717 | 718 | Label 719 | true 720 | true 721 | 722 | Left 723 | 724 | 725 | 726 | ВерсияБиблиотекиКонтекстноеМеню 727 | 55 728 | true 729 | true 730 | 731 | true 732 | 733 | true 734 | 735 | Label 736 | true 737 | true 738 | 739 | Style.FieldSelectionBackColor 740 | 741 | 742 | 10.0 743 | true 744 | 745 | Right 746 | 747 | Left 748 | 749 | 750 | true 751 | true 752 | 753 | true 754 | 755 | true 756 | 757 | ГруппаКаталогВыгрузкиРасширеннаяПодсказка 758 | 48 759 | true 760 | true 761 | 762 | true 763 | 764 | Label 765 | true 766 | true 767 | 768 | Left 769 | 770 | 771 | UsualGroup 772 | 773 | AlwaysHorizontal 774 | true 775 | true 776 | Auto 777 | DontUse 778 | 779 | 780 | 781 | РазмерПорции 782 | 49 783 | true 784 | true 785 | 786 | true 787 | 788 | 789 | РазмерПорции 790 | 791 | 792 | РазмерПорцииРасширеннаяПодсказка 793 | 51 794 | true 795 | true 796 | 797 | true 798 | 799 | Label 800 | true 801 | true 802 | 803 | Left 804 | 805 | 806 | 807 | РазмерПорцииКонтекстноеМеню 808 | 50 809 | true 810 | true 811 | 812 | true 813 | 814 | true 815 | 816 | InputField 817 | Enter 818 | true 819 | Left 820 | true 821 | 822 | true 823 | true 824 | true 825 | true 826 | true 827 | true 828 | 829 | 830 | None 831 | 832 | ФормаКоманднаяПанель 833 | -1 834 | true 835 | true 836 | 837 | true 838 | 839 | Left 840 | true 841 | 842 | 843 | OnOpen 844 | ПриОткрытии 845 | 846 | 847 | OnCreateAtServer 848 | ПриСозданииНаСервере 849 | 850 | true 851 | true 852 | Vertical 853 | true 854 | true 855 | true 856 | true 857 | true 858 | 859 | Объект 860 | 1 861 | 862 | ExternalDataProcessor.ктв_ПреобразованиеДанных_Тест 863 | 864 | 865 | true 866 | 867 | 868 | true 869 | 870 |
true
871 |
872 | 873 | КоличествоВВыборке 874 | 875 | <key>ru</key> 876 | <value>Количество объектов каждого типа в выборке</value> 877 | 878 | 2 879 | 880 | Number 881 | 882 | 10 883 | true 884 | 885 | 886 | 887 | true 888 | 889 | 890 | true 891 | 892 | 893 | 894 | ВыгрузитьРезультатыТеста 895 | 896 | <key>ru</key> 897 | <value>Выгрузить результаты теста</value> 898 | 899 | 3 900 | 901 | Boolean 902 | 903 | 904 | true 905 | 906 | 907 | true 908 | 909 | 910 | 911 | КаталогВыгрузки 912 | 913 | <key>ru</key> 914 | <value>Каталог выгрузки</value> 915 | 916 | 4 917 | 918 | String 919 | 920 | 921 | 922 | true 923 | 924 | 925 | true 926 | 927 | 928 | 929 | ТестируемыеОтчеты 930 | 931 | <key>ru</key> 932 | <value>Тестируемые отчеты</value> 933 | 934 | 7 935 | 936 | ValueList 937 | 938 | 939 | true 940 | 941 | 942 | true 943 | 944 | 945 | 946 | String 947 | 948 | 949 | 950 | 951 | 952 | РазмерПорции 953 | 954 | <key>ru</key> 955 | <value>Размер порции</value> 956 | 957 | 8 958 | 959 | Number 960 | 961 | 10 962 | true 963 | 964 | 965 | 966 | true 967 | 968 | 969 | true 970 | 971 | 972 | 973 | Тест 974 | 975 | <key>ru</key> 976 | <value>Тест</value> 977 | 978 | 1 979 | 980 | ru 981 | Тест 982 | 983 | 984 | true 985 | 986 | 987 | 988 | Тест 989 | 990 | 991 | Auto 992 | 993 | 994 | ТестСКД 995 | 996 | <key>ru</key> 997 | <value>Тест</value> 998 | 999 | 2 1000 | 1001 | true 1002 | 1003 | 1004 | 1005 | ТестСКД 1006 | 1007 | 1008 | Auto 1009 | 1010 | 1011 | ТестКоллекций 1012 | 1013 | <key>ru</key> 1014 | <value>Тест коллекций</value> 1015 | 1016 | 3 1017 | 1018 | true 1019 | 1020 | 1021 | 1022 | ТестКоллекций 1023 | 1024 | 1025 | Auto 1026 | 1027 | 1028 | 1029 | 1030 | 1031 |
1032 | --------------------------------------------------------------------------------