├── FormCodeGenerator ├── .project ├── .settings │ └── org.eclipse.core.resources.prefs ├── DT-INF │ └── PROJECT.PMF ├── bin │ ├── FormGenerator.epf │ ├── FormGenerator1.epf │ ├── FormGenerator2.epf │ ├── ДекомпиляцияУправляемыхФорм3.epf │ └── ТестФормы.epf └── src │ └── ExternalDataProcessors │ └── FormGenerator │ ├── FormGenerator.mdo │ ├── Forms │ ├── ФормаВыбораФормы │ │ ├── Form.form │ │ └── Module.bsl │ ├── ФормаКодогенерации │ │ ├── Form.form │ │ ├── Items │ │ │ └── ОбъектДеревоЭлементовКартинкаИндекс │ │ │ │ └── ValuesPicture.png │ │ └── Module.bsl │ ├── ФормаПалитра │ │ ├── Form.form │ │ └── Module.bsl │ └── ФормаПроверкиКода │ │ ├── Form.form │ │ └── Module.bsl │ └── ObjectModule.bsl ├── FormCodeGeneratorExtention ├── .project ├── .settings │ └── org.eclipse.core.resources.prefs ├── DT-INF │ └── PROJECT.PMF └── src │ ├── Configuration │ └── Configuration.mdo │ └── DataProcessors │ └── FormGenerator │ ├── FormGenerator.mdo │ ├── Forms │ ├── Форма │ │ ├── Form.form │ │ └── Module.bsl │ ├── ФормаВыбораФормы │ │ ├── Form.form │ │ └── Module.bsl │ ├── ФормаКодогенерации │ │ ├── Form.form │ │ ├── Items │ │ │ └── ОбъектДеревоЭлементовКартинкаИндекс │ │ │ │ └── ValuesPicture.png │ │ └── Module.bsl │ ├── ФормаПалитра │ │ ├── Form.form │ │ └── Module.bsl │ ├── ФормаПроверкиКода │ │ ├── Form.form │ │ └── Module.bsl │ ├── ФормаЭлемента │ │ ├── Form.form │ │ └── Module.bsl │ └── ФормаЭлемента1 │ │ ├── Form.form │ │ └── Module.bsl │ └── ObjectModule.bsl ├── LICENSE └── README.md /FormCodeGenerator/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | FormCodeGenerator 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 | -------------------------------------------------------------------------------- /FormCodeGenerator/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /FormCodeGenerator/DT-INF/PROJECT.PMF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Runtime-Version: 8.3.17 3 | Base-Project: FormEditor 4 | -------------------------------------------------------------------------------- /FormCodeGenerator/bin/FormGenerator.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/bin/FormGenerator.epf -------------------------------------------------------------------------------- /FormCodeGenerator/bin/FormGenerator1.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/bin/FormGenerator1.epf -------------------------------------------------------------------------------- /FormCodeGenerator/bin/FormGenerator2.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/bin/FormGenerator2.epf -------------------------------------------------------------------------------- /FormCodeGenerator/bin/ДекомпиляцияУправляемыхФорм3.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/bin/ДекомпиляцияУправляемыхФорм3.epf -------------------------------------------------------------------------------- /FormCodeGenerator/bin/ТестФормы.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/bin/ТестФормы.epf -------------------------------------------------------------------------------- /FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/FormGenerator.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | FormGenerator 7 | 8 | ru 9 | Form generator 10 | 11 | 1.0.0.4 12 | 13 | ExternalDataProcessor.FormGenerator.Form.ФормаКодогенерации 14 | 15 | ИмяМодуля 16 | 17 | ru 18 | Имя модуля 19 | 20 | 21 | String 22 | 23 | 200 24 | 25 | 26 | 27 | 28 | 29 | 30 | ТекстПрограммногоДобавления 31 | 32 | ru 33 | Текст программного добавления 34 | 35 | 36 | String 37 | 38 | 39 | 40 | 41 | 42 | 43 | ДеревоФорм 44 | 45 | ru 46 | Дерево форм 47 | 48 | 49 | ValueTree 50 | 51 | 52 | 53 | 54 | 55 | ДеревоРеквизитов 56 | 57 | ru 58 | Дерево реквизитов 59 | 60 | 61 | ValueTree 62 | 63 | 64 | 65 | 66 | 67 | АдресВоВременномХранилище 68 | 69 | ru 70 | Адрес во временном хранилище 71 | 72 | 73 | String 74 | 75 | 76 | 77 | 78 | 79 | 80 | ИмяПодключеннойОбработки 81 | 82 | ru 83 | Имя подключенной обработки 84 | 85 | 86 | String 87 | 88 | 89 | 90 | 91 | 92 | 93 | ИмяВременногоФайла 94 | 95 | ru 96 | Имя временного файла 97 | 98 | 99 | String 100 | 101 | 102 | 103 | 104 | 105 | 106 | ПолныйПутьКФорме 107 | 108 | ru 109 | Полный путь к форме 110 | 111 | 112 | String 113 | 114 | 115 | 116 | 117 | 118 | 119 | ДеревоЭлементов 120 | 121 | ru 122 | Дерево элементов 123 | 124 | 125 | ValueTree 126 | 127 | 128 | 129 | 130 | 131 | ТекстДобавленияРеквизитов 132 | 133 | ru 134 | Текст добавления реквизитов 135 | 136 | 137 | String 138 | 139 | 140 | 141 | 142 | ТекстДобавленияЭлементов 143 | 144 | ru 145 | Текст добавления элементов 146 | 147 | 148 | String 149 | 150 | 151 | 152 | 153 | ТекстДобавленияКоманд 154 | 155 | ru 156 | Текст добавления команд 157 | 158 | 159 | String 160 | 161 | 162 | 163 | 164 | ДеревоРеквизитовЭталон 165 | 166 | ru 167 | Дерево реквизитов эталон 168 | 169 | 170 | ValueTree 171 | 172 | 173 | 174 | 175 | 176 | ДеревоЭлементовЭталон 177 | 178 | ru 179 | Дерево элементов эталон 180 | 181 | 182 | ValueTree 183 | 184 | 185 | 186 | 187 | 188 | ЗапущенаКакВнешняя 189 | 190 | ru 191 | Запущена как внешняя 192 | 193 | 194 | Boolean 195 | 196 | 197 | 198 | ТекстШаблонаОкружения 199 | 200 | ru 201 | Текст шаблона окружения 202 | 203 | 204 | String 205 | 206 | 207 | 208 | 209 | ТекстОбслуживающихМетодов 210 | 211 | ru 212 | Текст обслуживающих методов 213 | 214 | 215 | String 216 | 217 | 218 | 219 | 220 | АдресДанныхФайлаВоВременномХранилище 221 | 222 | ru 223 | Адрес данных файла во временном хранилище 224 | 225 | 226 | String 227 | 228 | 229 | 230 | 231 | 232 | 233 | ИспользованиеСравнениеСЭталоном 234 | 235 | ru 236 | Использование сравнение с эталоном 237 | 238 | 239 | Boolean 240 | 241 | 242 | 243 | АдресВнешнейОбработкиВоВременномХранилище 244 | 245 | ru 246 | Адрес внешней обработки во временном хранилище 247 | 248 | 249 | String 250 | 251 | 252 | 253 | 254 | 255 | 256 | ИспользуемоеИмяФайла 257 | 258 | ru 259 | Используемое имя файла 260 | 261 | 262 | String 263 | 264 | 1000 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | ТаблицаКоманд 274 | 275 | ru 276 | Таблица команд 277 | 278 | 279 | Use 280 | LineNumber 281 | 282 | Use 283 | 284 | 285 | 286 | 287 | Выбран 288 | 289 | ru 290 | Выбран 291 | 292 | 293 | Boolean 294 | 295 | 296 | 297 | 298 | 299 | 300 | Имя 301 | 302 | ru 303 | Имя 304 | 305 | 306 | String 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | Заголовок 317 | 318 | ru 319 | Заголовок 320 | 321 | 322 | String 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | ТекстСоздания 333 | 334 | ru 335 | Текст создания 336 | 337 | 338 | String 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | ТекстСозданиеКонтекста 349 | 350 | ru 351 | Текст создание контекста 352 | 353 | 354 | String 355 | 356 | 357 | 358 | 359 | ТекстЗаполненияСвойств 360 | 361 | ru 362 | Текст заполнения свойств 363 | 364 | 365 | String 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | ТаблицаКомандЭталон 376 | 377 | ru 378 | Таблица команд эталон 379 | 380 | 381 | Use 382 | LineNumber 383 | 384 | Use 385 | 386 | 387 | 388 | 389 | Выбран 390 | 391 | ru 392 | Выбран 393 | 394 | 395 | Boolean 396 | 397 | 398 | 399 | 400 | 401 | 402 | Имя 403 | 404 | ru 405 | Имя 406 | 407 | 408 | String 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | Заголовок 419 | 420 | ru 421 | Заголовок 422 | 423 | 424 | String 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | ТекстСоздания 435 | 436 | ru 437 | Текст создания 438 | 439 | 440 | String 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | ТекстСозданиеКонтекста 451 | 452 | ru 453 | Текст создание контекста 454 | 455 | 456 | String 457 | 458 | 459 | 460 | 461 | ТекстЗаполненияСвойств 462 | 463 | ru 464 | Текст заполнения свойств 465 | 466 | 467 | String 468 | 469 | 470 | 471 | 472 | 473 | ФормаВыбораФормы 474 | 475 | ru 476 | Форма выбора формы 477 | 478 | PersonalComputer 479 | MobileDevice 480 | 481 | 482 | ФормаКодогенерации 483 | 484 | ru 485 | Форма кодогенерации 486 | 487 | PersonalComputer 488 | MobileDevice 489 | 490 | 491 | ФормаПалитра 492 | 493 | ru 494 | Форма палитры 495 | 496 | PersonalComputer 497 | MobileDevice 498 | 499 | 500 | ФормаПроверкиКода 501 | 502 | ru 503 | Форма проверки кода 504 | 505 | PersonalComputer 506 | MobileDevice 507 | 508 | 509 | -------------------------------------------------------------------------------- /FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаВыбораФормы/Form.form: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ОбъектДеревоФорм 5 | 14 6 | true 7 | true 8 | 9 | true 10 | 11 | 12 | Объект.ДеревоФорм 13 | 14 | None 15 | 16 | ОбъектДеревоФормИмя 17 | 27 18 | true 19 | true 20 | 21 | true 22 | 23 | 24 | 25 | Объект.ДеревоФорм.Имя 26 | 27 | 28 | Объект.ДеревоФорм.Имя 29 | 30 | 31 | 32 | ОбъектДеревоФормИмяРасширеннаяПодсказка 33 | 29 34 | true 35 | true 36 | 37 | true 38 | 39 | Label 40 | true 41 | true 42 | 43 | Left 44 | 45 | 46 | 47 | ОбъектДеревоФормИмяКонтекстноеМеню 48 | 28 49 | true 50 | true 51 | 52 | true 53 | 54 | true 55 | 56 | InputField 57 | Enter 58 | true 59 | Left 60 | true 61 | 62 | true 63 | true 64 | true 65 | true 66 | true 67 | true 68 | 69 | 70 | 71 | ОбъектДеревоФормПолныйПутьКФорме 72 | 30 73 | true 74 | true 75 | 76 | true 77 | 78 | 79 | 80 | Объект.ДеревоФорм.ПолныйПутьКФорме 81 | 82 | 83 | Объект.ДеревоФорм.ПолныйПутьКФорме 84 | 85 | 86 | 87 | ОбъектДеревоФормПолныйПутьКФормеРасширеннаяПодсказка 88 | 32 89 | true 90 | true 91 | 92 | true 93 | 94 | Label 95 | true 96 | true 97 | 98 | Left 99 | 100 | 101 | 102 | ОбъектДеревоФормПолныйПутьКФормеКонтекстноеМеню 103 | 31 104 | true 105 | true 106 | 107 | true 108 | 109 | true 110 | 111 | InputField 112 | Enter 113 | true 114 | Left 115 | true 116 | 117 | true 118 | true 119 | true 120 | true 121 | true 122 | true 123 | 124 | 125 | 126 | ОбъектДеревоФормКоманднаяПанель 127 | 15 128 | true 129 | true 130 | 131 | true 132 | 133 | Left 134 | true 135 | 136 | 137 | Selection 138 | ОбъектДеревоФормВыбор 139 | 140 | 141 | true 142 | true 143 | 144 | true 145 | 146 | ОбъектДеревоФормСтрокаПоиска 147 | 18 148 | 149 | ОбъектДеревоФормСтрокаПоискаРасширеннаяПодсказка 150 | 20 151 | true 152 | true 153 | 154 | true 155 | 156 | Label 157 | true 158 | true 159 | 160 | Left 161 | 162 | 163 | 164 | ОбъектДеревоФормСтрокаПоискаКонтекстноеМеню 165 | 19 166 | true 167 | true 168 | 169 | true 170 | 171 | true 172 | 173 | 174 | true 175 | 176 | 177 | 178 | true 179 | true 180 | 181 | true 182 | 183 | ОбъектДеревоФормСостояниеПросмотра 184 | 24 185 | 186 | ОбъектДеревоФормСостояниеПросмотраРасширеннаяПодсказка 187 | 26 188 | true 189 | true 190 | 191 | true 192 | 193 | Label 194 | true 195 | true 196 | 197 | Left 198 | 199 | 200 | 201 | ОбъектДеревоФормСостояниеПросмотраКонтекстноеМеню 202 | 25 203 | true 204 | true 205 | 206 | true 207 | 208 | true 209 | 210 | ViewStatusAddition 211 | 212 | true 213 | 214 | 215 | 216 | true 217 | true 218 | 219 | true 220 | 221 | ОбъектДеревоФормУправлениеПоиском 222 | 21 223 | 224 | ОбъектДеревоФормУправлениеПоискомРасширеннаяПодсказка 225 | 23 226 | true 227 | true 228 | 229 | true 230 | 231 | Label 232 | true 233 | true 234 | 235 | Left 236 | 237 | 238 | 239 | ОбъектДеревоФормУправлениеПоискомКонтекстноеМеню 240 | 22 241 | true 242 | true 243 | 244 | true 245 | 246 | true 247 | 248 | SearchControlAddition 249 | 250 | true 251 | 252 | 253 | 254 | ОбъектДеревоФормРасширеннаяПодсказка 255 | 17 256 | true 257 | true 258 | 259 | true 260 | 261 | Label 262 | true 263 | true 264 | 265 | Left 266 | 267 | 268 | 269 | ОбъектДеревоФормКонтекстноеМеню 270 | 16 271 | true 272 | true 273 | 274 | true 275 | 276 | true 277 | 278 | Tree 279 | true 280 | true 281 | true 282 | MultiRow 283 |
true
284 | 1 285 | 1 286 | AutoUse 287 | AutoUse 288 | true 289 | true 290 | Auto 291 | Auto 292 | true 293 | true 294 | AsFileRef 295 |
296 | 297 | ФормаКоманднаяПанель 298 | -1 299 | true 300 | true 301 | 302 | true 303 | 304 | Left 305 | true 306 | 307 | 308 | OnCreateAtServer 309 | ПриСозданииНаСервере 310 | 311 | 312 | OnOpen 313 | ПриОткрытии 314 | 315 | true 316 | true 317 | Vertical 318 | true 319 | true 320 | true 321 | true 322 | true 323 | 324 | Объект 325 | 326 | <key>ru</key> 327 | <value>Объект</value> 328 | 329 | 1 330 | 331 | ExternalDataProcessor.FormGenerator 332 | 333 | 334 | true 335 | 336 | 337 | true 338 | 339 | 340 | 341 | Объект.ДеревоФорм 342 | 343 | 344 | Имя 345 | 346 | <key>ru</key> 347 | <value>Имя</value> 348 | 349 | 2 350 | 351 | String 352 | 353 | 354 | 355 | true 356 | 357 | 358 | true 359 | 360 | 361 | 362 | ПолныйПутьКФорме 363 | 364 | <key>ru</key> 365 | <value>Полный путь к форме</value> 366 | 367 | 3 368 | 369 | String 370 | 371 | 372 | 373 | true 374 | 375 | 376 | true 377 | 378 | 379 | 380 | 381 | 382 | ФормаАнализируемая 383 | 384 | <key>ru</key> 385 | <value>Форма анализируемая</value> 386 | 387 | 4 388 | 389 | String 390 | 391 | 392 | 393 | true 394 | 395 | 396 | true 397 | 398 | 399 | ФормаАнализируемая 400 | 401 | 402 | 403 | ФормаИмяОбъекта 404 | 405 | <key>ru</key> 406 | <value>Форма имя объекта</value> 407 | 408 | 5 409 | 410 | String 411 | 412 | 413 | 414 | true 415 | 416 | 417 | true 418 | 419 | 420 | 421 | ФормаИмяФормы 422 | 423 | <key>ru</key> 424 | <value>Форма имя формы</value> 425 | 426 | 6 427 | 428 | String 429 | 430 | 431 | 432 | true 433 | 434 | 435 | true 436 | 437 | 438 | 439 | ФормаТипОбъекта 440 | 441 | <key>ru</key> 442 | <value>Форма тип объекта</value> 443 | 444 | 7 445 | 446 | String 447 | 448 | 449 | 450 | true 451 | 452 | 453 | true 454 | 455 | 456 | 457 | 458 | 459 | 460 |
461 | -------------------------------------------------------------------------------- /FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаВыбораФормы/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОбработчикиСобытийФормы 2 | 3 | &НаСервере 4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 5 | 6 | Если Параметры.Свойство("ТекущаяСтрока") Тогда 7 | Если ЗначениеЗаполнено(Параметры.ТекущаяСтрока) Тогда 8 | ФормаАнализируемая = Параметры.ТекущаяСтрока; 9 | Параметры.Свойство("ФормаИмяОбъекта", ФормаИмяОбъекта); 10 | Параметры.Свойство("ФормаТипОбъекта", ФормаТипОбъекта); 11 | Параметры.Свойство("ФормаИмяФормы", ФормаИмяФормы); 12 | КонецЕсли; 13 | КонецЕсли; 14 | 15 | ЗаполнитьДеревоФорм(); 16 | 17 | КонецПроцедуры 18 | 19 | &НаКлиенте 20 | Процедура ПриОткрытии(Отказ) 21 | 22 | // Развернуть дерево 23 | Для Каждого Строка Из Объект.ДеревоФорм.ПолучитьЭлементы() Цикл 24 | Если Строка.Имя = ФормаТипОбъекта Тогда 25 | // Ищем объект 26 | Для Каждого СтрокаОбъект Из Строка.ПолучитьЭлементы() Цикл 27 | Если СтрокаОбъект.Имя = ФормаИмяОбъекта Тогда 28 | // Ищем форму 29 | Для Каждого СтрокаФормы Из СтрокаОбъект.ПолучитьЭлементы() Цикл 30 | Если СтрокаФормы.Имя = ФормаИмяФормы Тогда 31 | ИдентификаторСтроки = СтрокаФормы.ПолучитьИдентификатор(); 32 | Элементы.ОбъектДеревоФорм.ТекущаяСтрока = ИдентификаторСтроки; 33 | КонецЕсли; 34 | КонецЦикла; 35 | КонецЕсли; 36 | КонецЦикла; 37 | КонецЕсли; 38 | КонецЦикла; 39 | 40 | КонецПроцедуры 41 | 42 | #КонецОбласти 43 | 44 | #Область ОбработчикиСобытийЭлементов 45 | 46 | &НаКлиенте 47 | Процедура ОбъектДеревоФормВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) 48 | 49 | СтандартнаяОбработка = Ложь; 50 | 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 | #КонецОбласти -------------------------------------------------------------------------------- /FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаКодогенерации/Items/ОбъектДеревоЭлементовКартинкаИндекс/ValuesPicture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаКодогенерации/Items/ОбъектДеревоЭлементовКартинкаИндекс/ValuesPicture.png -------------------------------------------------------------------------------- /FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаПалитра/Form.form: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Реквизит3 5 | 63 6 | true 7 | true 8 | 9 | true 10 | 11 | 12 | Реквизит3 13 | 14 | 15 | Реквизит3РасширеннаяПодсказка 16 | 65 17 | true 18 | true 19 | 20 | true 21 | 22 | Label 23 | true 24 | true 25 | 26 | Left 27 | 28 | 29 | 30 | Реквизит3КонтекстноеМеню 31 | 64 32 | true 33 | true 34 | 35 | true 36 | 37 | true 38 | 39 | InputField 40 | Enter 41 | true 42 | Left 43 | true 44 | 45 | true 46 | true 47 | true 48 | true 49 | true 50 | true 51 | 52 | 53 | 54 | Группа1 55 | 72 56 | 57 | Реквизит2 58 | 69 59 | true 60 | true 61 | 62 | true 63 | 64 | 65 | Реквизит3 66 | 67 | 68 | Реквизит2РасширеннаяПодсказка 69 | 71 70 | true 71 | true 72 | 73 | true 74 | 75 | Label 76 | true 77 | true 78 | 79 | Left 80 | 81 | 82 | 83 | Реквизит2КонтекстноеМеню 84 | 70 85 | true 86 | true 87 | 88 | true 89 | 90 | true 91 | 92 | InputField 93 | Enter 94 | true 95 | Left 96 | true 97 | 98 | true 99 | true 100 | true 101 | true 102 | true 103 | true 104 | 105 | 106 | 107 | Реквизит1 108 | 66 109 | true 110 | true 111 | 112 | true 113 | 114 | 115 | Реквизит3 116 | 117 | 118 | Реквизит1РасширеннаяПодсказка 119 | 68 120 | true 121 | true 122 | 123 | true 124 | 125 | Label 126 | true 127 | true 128 | 129 | Left 130 | 131 | 132 | 133 | Реквизит1КонтекстноеМеню 134 | 67 135 | true 136 | true 137 | 138 | true 139 | 140 | true 141 | 142 | InputField 143 | Enter 144 | true 145 | Left 146 | true 147 | 148 | true 149 | true 150 | true 151 | true 152 | true 153 | true 154 | 155 | 156 | 157 | Группа2 158 | 74 159 | 160 | Группа3 161 | 76 162 | 163 | Реквизит6 164 | 84 165 | true 166 | true 167 | 168 | true 169 | 170 | 171 | Реквизит2 172 | 173 | 174 | Реквизит6РасширеннаяПодсказка 175 | 86 176 | true 177 | true 178 | 179 | true 180 | 181 | Label 182 | true 183 | true 184 | 185 | Left 186 | 187 | 188 | 189 | Реквизит6КонтекстноеМеню 190 | 85 191 | true 192 | true 193 | 194 | true 195 | 196 | true 197 | 198 | InputField 199 | Enter 200 | true 201 | Left 202 | true 203 | 204 | true 205 | true 206 | true 207 | true 208 | true 209 | true 210 | 211 | 212 | true 213 | true 214 | 215 | true 216 | 217 | 218 | Группа3РасширеннаяПодсказка 219 | 77 220 | true 221 | true 222 | 223 | true 224 | 225 | Label 226 | true 227 | true 228 | 229 | Left 230 | 231 | 232 | UsualGroup 233 | 234 | HorizontalIfPossible 235 | true 236 | true 237 | Auto 238 | Auto 239 | 240 | 241 | 242 | Реквизит4 243 | 78 244 | true 245 | true 246 | 247 | true 248 | 249 | 250 | Реквизит1 251 | 252 | 253 | Реквизит4РасширеннаяПодсказка 254 | 80 255 | true 256 | true 257 | 258 | true 259 | 260 | Label 261 | true 262 | true 263 | 264 | Left 265 | 266 | 267 | 268 | Реквизит4КонтекстноеМеню 269 | 79 270 | true 271 | true 272 | 273 | true 274 | 275 | true 276 | 277 | InputField 278 | Enter 279 | true 280 | Left 281 | true 282 | 283 | true 284 | true 285 | true 286 | true 287 | true 288 | true 289 | 290 | 291 | 292 | Реквизит5 293 | 81 294 | true 295 | true 296 | 297 | true 298 | 299 | 300 | Реквизит3 301 | 302 | 303 | Реквизит5РасширеннаяПодсказка 304 | 83 305 | true 306 | true 307 | 308 | true 309 | 310 | Label 311 | true 312 | true 313 | 314 | Left 315 | 316 | 317 | 318 | Реквизит5КонтекстноеМеню 319 | 82 320 | true 321 | true 322 | 323 | true 324 | 325 | true 326 | 327 | InputField 328 | Enter 329 | true 330 | Left 331 | true 332 | 333 | true 334 | true 335 | true 336 | true 337 | true 338 | true 339 | 340 | 341 | true 342 | true 343 | 344 | true 345 | 346 | 347 | Группа2РасширеннаяПодсказка 348 | 75 349 | true 350 | true 351 | 352 | true 353 | 354 | Label 355 | true 356 | true 357 | 358 | Left 359 | 360 | 361 | UsualGroup 362 | 363 | HorizontalIfPossible 364 | WeakSeparation 365 | true 366 | true 367 | true 368 | Auto 369 | Auto 370 | 371 | 372 | true 373 | true 374 | 375 | true 376 | 377 | 378 | Группа1РасширеннаяПодсказка 379 | 73 380 | true 381 | true 382 | 383 | true 384 | 385 | Label 386 | true 387 | true 388 | 389 | Left 390 | 391 | 392 | UsualGroup 393 | 394 | AlwaysHorizontal 395 | true 396 | true 397 | Auto 398 | Auto 399 | 400 | 401 | 402 | Реквизит7 403 | 87 404 | true 405 | true 406 | 407 | true 408 | 409 | 410 | Реквизит3 411 | 412 | 413 | Реквизит7РасширеннаяПодсказка 414 | 89 415 | true 416 | true 417 | 418 | true 419 | 420 | Label 421 | true 422 | true 423 | 424 | Left 425 | 426 | 427 | 428 | Реквизит7КонтекстноеМеню 429 | 88 430 | true 431 | true 432 | 433 | true 434 | 435 | true 436 | 437 | InputField 438 | Enter 439 | true 440 | Left 441 | true 442 | 443 | true 444 | true 445 | true 446 | true 447 | true 448 | true 449 | 450 | 451 | 452 | ФормаКоманднаяПанель 453 | -1 454 | true 455 | true 456 | 457 | true 458 | 459 | Left 460 | true 461 | 462 | 463 | OnCreateAtServer 464 | ПриСозданииНаСервере 465 | 466 | true 467 | true 468 | Vertical 469 | true 470 | true 471 | true 472 | true 473 | true 474 | 475 | Реквизит1 476 | 1 477 | 478 | String 479 | 480 | 481 | 482 | true 483 | 484 | 485 | true 486 | 487 | 488 | 489 | Реквизит2 490 | 2 491 | 492 | String 493 | 494 | 495 | 496 | true 497 | 498 | 499 | true 500 | 501 | 502 | 503 | Реквизит3 504 | 3 505 | 506 | String 507 | 508 | 509 | 510 | true 511 | 512 | 513 | true 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | -------------------------------------------------------------------------------- /FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаПалитра/Module.bsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | &НаСервере 4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 5 | 6 | Если ЭтаФорма.Параметры.Свойство("РедакторФорм") Тогда 7 | ИмяПодключеннойОбработки = ЭтаФорма.Параметры.РедакторФорм.ИмяПодключеннойОбработки; 8 | Если ЭтаФорма.Параметры.РедакторФорм.ЗапущенаКакВнешняя Тогда 9 | ВнешниеОбработки.Создать(ИмяПодключеннойОбработки, Ложь).ПодготовитьДанныеАнализируемойФормы(ЭтаФорма); 10 | Иначе 11 | Обработки[ИмяПодключеннойОбработки].Создать().ПодготовитьДанныеАнализируемойФормы(ЭтаФорма); 12 | КонецЕсли; 13 | КонецЕсли; 14 | 15 | КонецПроцедуры 16 | -------------------------------------------------------------------------------- /FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаПроверкиКода/Form.form: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ФормаКоманднаяПанель 5 | -1 6 | true 7 | true 8 | 9 | true 10 | 11 | Left 12 | true 13 | 14 | 15 | OnCreateAtServer 16 | ПриСозданииНаСервере 17 | 18 | true 19 | true 20 | Vertical 21 | true 22 | true 23 | true 24 | true 25 | true 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /FormCodeGenerator/src/ExternalDataProcessors/FormGenerator/Forms/ФормаПроверкиКода/Module.bsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | &НаСервере 4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 5 | 6 | Если ЭтаФорма.Параметры.Свойство("РедакторФорм") Тогда 7 | ТекстСозданияЭлементов = ЭтаФорма.Параметры.РедакторФорм.ТекстПодготовкиФормы; 8 | КонецЕсли; 9 | 10 | КонецПроцедуры 11 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | FormCodeGeneratorExtention 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.V8ExtensionNature 17 | 18 | 19 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding/=UTF-8 3 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/DT-INF/PROJECT.PMF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Runtime-Version: 8.3.17 3 | Base-Project: FormEditor 4 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/Configuration/Configuration.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | FormCodeGeneratorExtension 4 | 5 | ru 6 | Form code generator extension 7 | 8 | Adopted 9 | 10 | Checked 11 | Checked 12 | Checked 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | true 22 | FCG_ 23 | 8.3.14 24 | AddOn 25 | ManagedApplication 26 | PersonalComputer 27 | Russian 28 | https://github.com/huxuxuya 29 | 1.0.0.4 30 | Language.Русский 31 | 8.3.17 32 | 33 | Русский 34 | Adopted 35 | 36 | Checked 37 | 38 | ru 39 | 40 | DataProcessor.FormGenerator 41 | 42 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/FormGenerator.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | FormGenerator 8 | 9 | ru 10 | Form generator 11 | 12 | true 13 | DataProcessor.FormGenerator.Form.ФормаКодогенерации 14 | 15 | ИмяМодуля 16 | 17 | ru 18 | Имя модуля 19 | 20 | 21 | String 22 | 23 | 200 24 | 25 | 26 | 27 | 28 | 29 | 30 | ТекстПрограммногоДобавления 31 | 32 | ru 33 | Текст программного добавления 34 | 35 | 36 | String 37 | 38 | 39 | 40 | 41 | 42 | 43 | ДеревоФорм 44 | 45 | ru 46 | Дерево форм 47 | 48 | 49 | ValueTree 50 | 51 | 52 | 53 | 54 | 55 | ДеревоРеквизитов 56 | 57 | ru 58 | Дерево реквизитов 59 | 60 | 61 | ValueTree 62 | 63 | 64 | 65 | 66 | 67 | АдресВоВременномХранилище 68 | 69 | ru 70 | Адрес во временном хранилище 71 | 72 | 73 | String 74 | 75 | 76 | 77 | 78 | 79 | 80 | ИмяПодключеннойОбработки 81 | 82 | ru 83 | Имя подключенной обработки 84 | 85 | 86 | String 87 | 88 | 89 | 90 | 91 | 92 | 93 | ИмяВременногоФайла 94 | 95 | ru 96 | Имя временного файла 97 | 98 | 99 | String 100 | 101 | 102 | 103 | 104 | 105 | 106 | ПолныйПутьКФорме 107 | 108 | ru 109 | Полный путь к форме 110 | 111 | 112 | String 113 | 114 | 115 | 116 | 117 | 118 | 119 | ДеревоЭлементов 120 | 121 | ru 122 | Дерево элементов 123 | 124 | 125 | ValueTree 126 | 127 | 128 | 129 | 130 | 131 | ТекстДобавленияРеквизитов 132 | 133 | ru 134 | Текст добавления реквизитов 135 | 136 | 137 | String 138 | 139 | 140 | 141 | 142 | ТекстДобавленияЭлементов 143 | 144 | ru 145 | Текст добавления элементов 146 | 147 | 148 | String 149 | 150 | 151 | 152 | 153 | ТекстДобавленияКоманд 154 | 155 | ru 156 | Текст добавления команд 157 | 158 | 159 | String 160 | 161 | 162 | 163 | 164 | ДеревоРеквизитовЭталон 165 | 166 | ru 167 | Дерево реквизитов эталон 168 | 169 | 170 | ValueTree 171 | 172 | 173 | 174 | 175 | 176 | ДеревоЭлементовЭталон 177 | 178 | ru 179 | Дерево элементов эталон 180 | 181 | 182 | ValueTree 183 | 184 | 185 | 186 | 187 | 188 | ЗапущенаКакВнешняя 189 | 190 | ru 191 | Запущена как внешняя 192 | 193 | 194 | Boolean 195 | 196 | 197 | 198 | ТекстШаблонаОкружения 199 | 200 | ru 201 | Текст шаблона окружения 202 | 203 | 204 | String 205 | 206 | 207 | 208 | 209 | ТекстОбслуживающихМетодов 210 | 211 | ru 212 | Текст обслуживающих методов 213 | 214 | 215 | String 216 | 217 | 218 | 219 | 220 | АдресДанныхФайлаВоВременномХранилище 221 | 222 | ru 223 | Адрес данных файла во временном хранилище 224 | 225 | 226 | String 227 | 228 | 229 | 230 | 231 | 232 | 233 | ИспользованиеСравнениеСЭталоном 234 | 235 | ru 236 | Использование сравнение с эталоном 237 | 238 | 239 | Boolean 240 | 241 | 242 | 243 | АдресВнешнейОбработкиВоВременномХранилище 244 | 245 | ru 246 | Адрес внешней обработки во временном хранилище 247 | 248 | 249 | String 250 | 251 | 252 | 253 | 254 | 255 | 256 | ИспользуемоеИмяФайла 257 | 258 | ru 259 | Используемое имя файла 260 | 261 | 262 | String 263 | 264 | 1000 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | ТаблицаКоманд 274 | 275 | ru 276 | Таблица команд 277 | 278 | 279 | Use 280 | LineNumber 281 | 282 | Use 283 | 284 | 285 | 286 | 287 | Выбран 288 | 289 | ru 290 | Выбран 291 | 292 | 293 | Boolean 294 | 295 | 296 | 297 | 298 | 299 | 300 | Имя 301 | 302 | ru 303 | Имя 304 | 305 | 306 | String 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | Заголовок 317 | 318 | ru 319 | Заголовок 320 | 321 | 322 | String 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | ТекстСоздания 333 | 334 | ru 335 | Текст создания 336 | 337 | 338 | String 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | ТекстСозданиеКонтекста 349 | 350 | ru 351 | Текст создание контекста 352 | 353 | 354 | String 355 | 356 | 357 | 358 | 359 | ТекстЗаполненияСвойств 360 | 361 | ru 362 | Текст заполнения свойств 363 | 364 | 365 | String 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | ТаблицаКомандЭталон 376 | 377 | ru 378 | Таблица команд эталон 379 | 380 | 381 | Use 382 | LineNumber 383 | 384 | Use 385 | 386 | 387 | 388 | 389 | Выбран 390 | 391 | ru 392 | Выбран 393 | 394 | 395 | Boolean 396 | 397 | 398 | 399 | 400 | 401 | 402 | Имя 403 | 404 | ru 405 | Имя 406 | 407 | 408 | String 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | Заголовок 419 | 420 | ru 421 | Заголовок 422 | 423 | 424 | String 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | ТекстСоздания 435 | 436 | ru 437 | Текст создания 438 | 439 | 440 | String 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | ТекстСозданиеКонтекста 451 | 452 | ru 453 | Текст создание контекста 454 | 455 | 456 | String 457 | 458 | 459 | 460 | 461 | ТекстЗаполненияСвойств 462 | 463 | ru 464 | Текст заполнения свойств 465 | 466 | 467 | String 468 | 469 | 470 | 471 | 472 | 473 | ФормаВыбораФормы 474 | 475 | ru 476 | Форма выбора формы 477 | 478 | PersonalComputer 479 | MobileDevice 480 | 481 | 482 | ФормаКодогенерации 483 | 484 | ru 485 | Форма кодогенерации 486 | 487 | PersonalComputer 488 | MobileDevice 489 | 490 | 491 | ФормаПалитра 492 | 493 | ru 494 | Форма палитры 495 | 496 | PersonalComputer 497 | MobileDevice 498 | 499 | 500 | ФормаПроверкиКода 501 | 502 | ru 503 | Форма проверки кода 504 | 505 | PersonalComputer 506 | MobileDevice 507 | 508 | 509 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/Форма/Form.form: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ГруппаФормы 5 | 9 6 | 7 | ИмяФормыИсходная 8 | 11 9 | 10 | <key>ru</key> 11 | <value>Форма исходная</value> 12 | 13 | true 14 | true 15 | 16 | true 17 | 18 | 19 | 20 | ИмяФормыИсходная 21 | 22 | 23 | 24 | ИмяФормыИсходнаяРасширеннаяПодсказка 25 | 13 26 | true 27 | true 28 | 29 | true 30 | 31 | Label 32 | true 33 | true 34 | 35 | Left 36 | 37 | 38 | 39 | ИмяФормыИсходнаяКонтекстноеМеню 40 | 12 41 | true 42 | true 43 | 44 | true 45 | 46 | true 47 | 48 | InputField 49 | Enter 50 | true 51 | Left 52 | true 53 | 54 | true 55 | true 56 | true 57 | true 58 | true 59 | true 60 | true 61 | 62 | 63 | 64 | ИмяФормыНовая 65 | 14 66 | 67 | <key>ru</key> 68 | <value>Форма новая</value> 69 | 70 | true 71 | true 72 | 73 | true 74 | 75 | 76 | 77 | ИмяФормыНовая 78 | 79 | 80 | 81 | ИмяФормыНоваяРасширеннаяПодсказка 82 | 16 83 | true 84 | true 85 | 86 | true 87 | 88 | Label 89 | true 90 | true 91 | 92 | Left 93 | 94 | 95 | 96 | ИмяФормыНоваяКонтекстноеМеню 97 | 15 98 | true 99 | true 100 | 101 | true 102 | 103 | true 104 | 105 | InputField 106 | Enter 107 | true 108 | Left 109 | true 110 | 111 | true 112 | true 113 | true 114 | true 115 | true 116 | true 117 | true 118 | 119 | 120 | 121 | ИмяМодуля 122 | 1 123 | true 124 | true 125 | 126 | true 127 | 128 | 129 | ИмяМодуляРасширеннаяПодсказка 130 | 3 131 | true 132 | true 133 | 134 | true 135 | 136 | Label 137 | true 138 | true 139 | 140 | Left 141 | 142 | 143 | 144 | ИмяМодуляКонтекстноеМеню 145 | 2 146 | true 147 | true 148 | 149 | true 150 | 151 | true 152 | 153 | EnterOnInput 154 | true 155 | Left 156 | true 157 | 158 | true 159 | true 160 | 161 | true 162 | 163 | 164 | <key>ru</key> 165 | <value>Сравнение форм</value> 166 | 167 | 168 | ru 169 | Группа формы 170 | 171 | 172 | ГруппаФормыРасширеннаяПодсказка 173 | 10 174 | true 175 | true 176 | 177 | true 178 | 179 | Label 180 | true 181 | true 182 | 183 | Left 184 | 185 | 186 | UsualGroup 187 | 188 | AlwaysHorizontal 189 | WeakSeparation 190 | true 191 | true 192 | true 193 | Auto 194 | Auto 195 | 196 | 197 | 198 | ТекстПрограммногоДобавления 199 | 6 200 | true 201 | true 202 | 203 | true 204 | 205 | 206 | ТекстПрограммногоДобавленияРасширеннаяПодсказка 207 | 8 208 | true 209 | true 210 | 211 | true 212 | 213 | Label 214 | true 215 | true 216 | 217 | Left 218 | 219 | 220 | 221 | ТекстПрограммногоДобавленияКонтекстноеМеню 222 | 7 223 | true 224 | true 225 | 226 | true 227 | 228 | true 229 | 230 | Enter 231 | true 232 | Left 233 | true 234 | 235 | 236 | Сравнить 237 | 4 238 | true 239 | true 240 | 241 | true 242 | 243 | 244 | СравнитьРасширеннаяПодсказка 245 | 5 246 | true 247 | true 248 | 249 | true 250 | 251 | Label 252 | true 253 | true 254 | 255 | Left 256 | 257 | 258 | UsualButton 259 | Form.Command.Сравнить 260 | Auto 261 | true 262 | true 263 | UserCmds 264 | Auto 265 | 266 | 267 | ФормаКоманднаяПанель 268 | -1 269 | true 270 | true 271 | 272 | true 273 | 274 | Left 275 | true 276 | 277 | 278 | NotificationProcessing 279 | ОбработкаОповещения 280 | 281 | 282 | OnCreateAtServer 283 | ПриСозданииНаСервере 284 | 285 | true 286 | true 287 | Vertical 288 | true 289 | true 290 | true 291 | true 292 | true 293 | 294 | Объект 295 | 1 296 | 297 | DataProcessorObject.FormGenerator 298 | 299 | 300 | true 301 | 302 | 303 | true 304 | 305 |
true
306 |
307 | 308 | ТаблицаДобавляемыхГрупп 309 | 310 | <key>ru</key> 311 | <value>Таблица добавляемых групп</value> 312 | 313 | 2 314 | 315 | ValueTable 316 | 317 | 318 | true 319 | 320 | 321 | true 322 | 323 | 324 | Приоритет 325 | 326 | <key>ru</key> 327 | <value>Приоритет</value> 328 | 329 | 1 330 | 331 | Number 332 | 333 | 10 334 | 335 | 336 | 337 | true 338 | 339 | 340 | true 341 | 342 | 343 | 344 | ИмяГруппы 345 | 346 | <key>ru</key> 347 | <value>Имя группы</value> 348 | 349 | 2 350 | 351 | String 352 | 353 | 300 354 | 355 | 356 | 357 | true 358 | 359 | 360 | true 361 | 362 | 363 | 364 | ИмяРодитель 365 | 366 | <key>ru</key> 367 | <value>Имя родитель</value> 368 | 369 | 3 370 | 371 | String 372 | 373 | 200 374 | 375 | 376 | 377 | true 378 | 379 | 380 | true 381 | 382 | 383 | 384 | 385 | ИмяФормыИсходная 386 | 387 | <key>ru</key> 388 | <value>Имя формы исходная</value> 389 | 390 | 3 391 | 392 | String 393 | 394 | 100 395 | 396 | 397 | 398 | true 399 | 400 | 401 | true 402 | 403 | 404 | 405 | ИмяФормыНовая 406 | 407 | <key>ru</key> 408 | <value>Имя формы новая</value> 409 | 410 | 4 411 | 412 | String 413 | 414 | 100 415 | 416 | 417 | 418 | true 419 | 420 | 421 | true 422 | 423 | 424 | 425 | Сравнить 426 | 427 | <key>ru</key> 428 | <value>Сравнить</value> 429 | 430 | 1 431 | 432 | ru 433 | Сравнить 434 | 435 | 436 | true 437 | 438 | 439 | 440 | Сравнить 441 | 442 | 443 | Auto 444 | 445 | 446 | 447 | 448 | 449 | 450 |
451 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/Форма/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОбработчикиСобытийФормы 2 | 3 | &НаСервере 4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 5 | 6 | МассивИменФорм = Новый Массив; 7 | 8 | Формы = РеквизитФормыВЗначение("Объект").Метаданные().Формы; 9 | Для каждого Форма Из Формы Цикл 10 | Если Форма.Имя <> "Форма" Тогда 11 | Элементы.ИмяФормыНовая.СписокВыбора.Добавить(Форма.Имя); 12 | Элементы.ИмяФормыИсходная.СписокВыбора.Добавить(Форма.Имя); 13 | МассивИменФорм.Добавить(Форма.Имя); 14 | КонецЕсли; 15 | КонецЦикла; 16 | 17 | Для Каждого Эл Из МассивИменФорм Цикл 18 | ЭлПоиска = СокрЛП(Эл) + "1"; 19 | Если МассивИменФорм.Найти(ЭлПоиска) <> Неопределено Тогда 20 | ИмяФормыИсходная = Эл; 21 | ИмяФормыНовая = ЭлПоиска; 22 | КонецЕсли; 23 | КонецЦикла; 24 | 25 | КонецПроцедуры 26 | 27 | #КонецОбласти 28 | 29 | #Область СлужебныеПроцедурыИФункции 30 | 31 | &НаКлиенте 32 | Процедура Сравнить(Команда) 33 | 34 | ФормаОбработкиСтарая = ПолучитьФорму("ВнешняяОбработка.FormGenerator.Форма." + ИмяФормыИсходная, , ЭтотОбъект); 35 | РеквизитыСтарые = Неопределено; 36 | ЭлементыСтарые = Неопределено; 37 | РеквизитыЭлеиентыФормы(ФормаОбработкиСтарая, РеквизитыСтарые, ЭлементыСтарые); 38 | 39 | ФормаОбработкиНовая = ПолучитьФорму("ВнешняяОбработка.FormGenerator.Форма." + ИмяФормыНовая, , ЭтотОбъект); 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 | н = 0; 98 | Приоритет = 0; 99 | Пока МассивДобавленныхГрупп.Количество() <> 0 Цикл 100 | 101 | Элемент = МассивДобавленныхГрупп[н]; 102 | 103 | Если НайденРодительГруппы(Элемент, МассивКУдалению, ТаблицаДобавляемыхГрупп) Тогда 104 | МассивДобавленныхГрупп.Удалить(н); 105 | НоваяСтрока = ТаблицаДобавляемыхГрупп.Добавить(); 106 | НоваяСтрока.Приоритет = Приоритет; 107 | НоваяСтрока.ИмяГруппы = Элемент.Имя; 108 | 109 | Если ТипЗнч(Элемент.Родитель) <> Тип("ФормаКлиентскогоПриложения") Тогда 110 | НоваяСтрока.ИмяРодитель = Элемент.Родитель.Имя; 111 | КонецЕсли; 112 | 113 | СоответствиеДобавляемыхГрупп.Вставить(Элемент.Имя, Элемент); 114 | Приоритет = Приоритет + 1; 115 | Продолжить; 116 | КонецЕсли; 117 | 118 | Если н = МассивДобавленныхГрупп.Количество() - 1 Тогда 119 | Приоритет = Приоритет + 1; 120 | н = 0; 121 | Продолжить; 122 | КонецЕсли; 123 | н = н + 1; 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 | КонецФункции 240 | 241 | &НаКлиентеНаСервереБезКонтекста 242 | Функция ТекстДобавленияРеквизитов(СтруктураРеквизитов) 243 | 244 | ТекстНачало = "МассивДобавляемыхРеквизитов = Новый Массив; 245 | |"; 246 | СекцияРеквизита = " 247 | |НовыйРеквизит = Новый РеквизитФормы(""%ИмяРеквизита%"", Тип(""%Тип%""), ""%ПутьРеквизитов%""); 248 | |МассивДобавляемыхРеквизитов.Добавить(НовыйРеквизит); 249 | |"; 250 | ТекстКонец = " 251 | |Форма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);"; 252 | ТекстДобавления = ""; 253 | 254 | Если СтруктураРеквизитов.Количество() > 0 Тогда 255 | 256 | ТекстДобавления = ТекстНачало; 257 | 258 | Для Каждого Эл Из СтруктураРеквизитов Цикл 259 | 260 | ТекстЭлемент = СекцияРеквизита; 261 | ТекстЭлемент = СтрЗаменить(СекцияРеквизита, "%ИмяРеквизита%", Эл.Ключ); 262 | ТекстЭлемент = СтрЗаменить(ТекстЭлемент, "%Тип%", Эл.Значение.ТипЗначения); 263 | ТекстЭлемент = СтрЗаменить(ТекстЭлемент, "%ПутьРеквизитов%", Эл.Значение.Путь); 264 | 265 | ТекстДобавления = ТекстДобавления + ТекстЭлемент ; 266 | 267 | КонецЦикла; 268 | 269 | ТекстДобавления = ТекстДобавления + ТекстКонец; 270 | КонецЕсли; 271 | 272 | Возврат ТекстДобавления; 273 | 274 | КонецФункции 275 | 276 | #КонецОбласти 277 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаВыбораФормы/Form.form: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ОбъектДеревоФорм 5 | 14 6 | true 7 | true 8 | 9 | true 10 | 11 | 12 | Объект.ДеревоФорм 13 | 14 | None 15 | 16 | ОбъектДеревоФормИмя 17 | 27 18 | true 19 | true 20 | 21 | true 22 | 23 | 24 | 25 | Объект.ДеревоФорм.Имя 26 | 27 | 28 | Объект.ДеревоФорм.Имя 29 | 30 | 31 | 32 | ОбъектДеревоФормИмяРасширеннаяПодсказка 33 | 29 34 | true 35 | true 36 | 37 | true 38 | 39 | Label 40 | true 41 | true 42 | 43 | Left 44 | 45 | 46 | 47 | ОбъектДеревоФормИмяКонтекстноеМеню 48 | 28 49 | true 50 | true 51 | 52 | true 53 | 54 | true 55 | 56 | InputField 57 | Enter 58 | true 59 | Left 60 | true 61 | 62 | true 63 | true 64 | true 65 | true 66 | true 67 | true 68 | 69 | 70 | 71 | ОбъектДеревоФормПолныйПутьКФорме 72 | 30 73 | true 74 | true 75 | 76 | true 77 | 78 | 79 | 80 | Объект.ДеревоФорм.ПолныйПутьКФорме 81 | 82 | 83 | Объект.ДеревоФорм.ПолныйПутьКФорме 84 | 85 | 86 | 87 | ОбъектДеревоФормПолныйПутьКФормеРасширеннаяПодсказка 88 | 32 89 | true 90 | true 91 | 92 | true 93 | 94 | Label 95 | true 96 | true 97 | 98 | Left 99 | 100 | 101 | 102 | ОбъектДеревоФормПолныйПутьКФормеКонтекстноеМеню 103 | 31 104 | true 105 | true 106 | 107 | true 108 | 109 | true 110 | 111 | InputField 112 | Enter 113 | true 114 | Left 115 | true 116 | 117 | true 118 | true 119 | true 120 | true 121 | true 122 | true 123 | 124 | 125 | 126 | ОбъектДеревоФормКоманднаяПанель 127 | 15 128 | true 129 | true 130 | 131 | true 132 | 133 | Left 134 | true 135 | 136 | 137 | Selection 138 | ОбъектДеревоФормВыбор 139 | 140 | 141 | true 142 | true 143 | 144 | true 145 | 146 | ОбъектДеревоФормСтрокаПоиска 147 | 18 148 | 149 | ОбъектДеревоФормСтрокаПоискаРасширеннаяПодсказка 150 | 20 151 | true 152 | true 153 | 154 | true 155 | 156 | Label 157 | true 158 | true 159 | 160 | Left 161 | 162 | 163 | 164 | ОбъектДеревоФормСтрокаПоискаКонтекстноеМеню 165 | 19 166 | true 167 | true 168 | 169 | true 170 | 171 | true 172 | 173 | 174 | true 175 | 176 | 177 | 178 | true 179 | true 180 | 181 | true 182 | 183 | ОбъектДеревоФормСостояниеПросмотра 184 | 24 185 | 186 | ОбъектДеревоФормСостояниеПросмотраРасширеннаяПодсказка 187 | 26 188 | true 189 | true 190 | 191 | true 192 | 193 | Label 194 | true 195 | true 196 | 197 | Left 198 | 199 | 200 | 201 | ОбъектДеревоФормСостояниеПросмотраКонтекстноеМеню 202 | 25 203 | true 204 | true 205 | 206 | true 207 | 208 | true 209 | 210 | ViewStatusAddition 211 | 212 | true 213 | 214 | 215 | 216 | true 217 | true 218 | 219 | true 220 | 221 | ОбъектДеревоФормУправлениеПоиском 222 | 21 223 | 224 | ОбъектДеревоФормУправлениеПоискомРасширеннаяПодсказка 225 | 23 226 | true 227 | true 228 | 229 | true 230 | 231 | Label 232 | true 233 | true 234 | 235 | Left 236 | 237 | 238 | 239 | ОбъектДеревоФормУправлениеПоискомКонтекстноеМеню 240 | 22 241 | true 242 | true 243 | 244 | true 245 | 246 | true 247 | 248 | SearchControlAddition 249 | 250 | true 251 | 252 | 253 | 254 | ОбъектДеревоФормРасширеннаяПодсказка 255 | 17 256 | true 257 | true 258 | 259 | true 260 | 261 | Label 262 | true 263 | true 264 | 265 | Left 266 | 267 | 268 | 269 | ОбъектДеревоФормКонтекстноеМеню 270 | 16 271 | true 272 | true 273 | 274 | true 275 | 276 | true 277 | 278 | Tree 279 | true 280 | true 281 | true 282 | MultiRow 283 |
true
284 | 1 285 | 1 286 | AutoUse 287 | AutoUse 288 | true 289 | true 290 | Auto 291 | Auto 292 | true 293 | true 294 | AsFileRef 295 |
296 | 297 | ФормаКоманднаяПанель 298 | -1 299 | true 300 | true 301 | 302 | true 303 | 304 | Left 305 | true 306 | 307 | 308 | OnCreateAtServer 309 | ПриСозданииНаСервере 310 | 311 | 312 | OnOpen 313 | ПриОткрытии 314 | 315 | true 316 | true 317 | Vertical 318 | true 319 | true 320 | true 321 | true 322 | true 323 | 324 | Объект 325 | 326 | <key>ru</key> 327 | <value>Объект</value> 328 | 329 | 1 330 | 331 | DataProcessorObject.FormGenerator 332 | 333 | 334 | true 335 | 336 | 337 | true 338 | 339 | 340 | 341 | Объект.ДеревоФорм 342 | 343 | 344 | Имя 345 | 346 | <key>ru</key> 347 | <value>Имя</value> 348 | 349 | 2 350 | 351 | String 352 | 353 | 354 | 355 | true 356 | 357 | 358 | true 359 | 360 | 361 | 362 | ПолныйПутьКФорме 363 | 364 | <key>ru</key> 365 | <value>Полный путь к форме</value> 366 | 367 | 3 368 | 369 | String 370 | 371 | 372 | 373 | true 374 | 375 | 376 | true 377 | 378 | 379 | 380 | 381 | 382 | ФормаАнализируемая 383 | 384 | <key>ru</key> 385 | <value>Форма анализируемая</value> 386 | 387 | 4 388 | 389 | String 390 | 391 | 392 | 393 | true 394 | 395 | 396 | true 397 | 398 | 399 | ФормаАнализируемая 400 | 401 | 402 | 403 | ФормаИмяОбъекта 404 | 405 | <key>ru</key> 406 | <value>Форма имя объекта</value> 407 | 408 | 5 409 | 410 | String 411 | 412 | 413 | 414 | true 415 | 416 | 417 | true 418 | 419 | 420 | 421 | ФормаИмяФормы 422 | 423 | <key>ru</key> 424 | <value>Форма имя формы</value> 425 | 426 | 6 427 | 428 | String 429 | 430 | 431 | 432 | true 433 | 434 | 435 | true 436 | 437 | 438 | 439 | ФормаТипОбъекта 440 | 441 | <key>ru</key> 442 | <value>Форма тип объекта</value> 443 | 444 | 7 445 | 446 | String 447 | 448 | 449 | 450 | true 451 | 452 | 453 | true 454 | 455 | 456 | 457 | 458 | 459 | 460 |
461 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаВыбораФормы/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОбработчикиСобытийФормы 2 | 3 | &НаСервере 4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 5 | 6 | Если Параметры.Свойство("ТекущаяСтрока") Тогда 7 | Если ЗначениеЗаполнено(Параметры.ТекущаяСтрока) Тогда 8 | ФормаАнализируемая = Параметры.ТекущаяСтрока; 9 | Параметры.Свойство("ФормаИмяОбъекта", ФормаИмяОбъекта); 10 | Параметры.Свойство("ФормаТипОбъекта", ФормаТипОбъекта); 11 | Параметры.Свойство("ФормаИмяФормы", ФормаИмяФормы); 12 | КонецЕсли; 13 | КонецЕсли; 14 | 15 | ЗаполнитьДеревоФорм(); 16 | 17 | КонецПроцедуры 18 | 19 | &НаКлиенте 20 | Процедура ПриОткрытии(Отказ) 21 | 22 | // Развернуть дерево 23 | Для Каждого Строка Из Объект.ДеревоФорм.ПолучитьЭлементы() Цикл 24 | Если Строка.Имя = ФормаТипОбъекта Тогда 25 | // Ищем объект 26 | Для Каждого СтрокаОбъект Из Строка.ПолучитьЭлементы() Цикл 27 | Если СтрокаОбъект.Имя = ФормаИмяОбъекта Тогда 28 | // Ищем форму 29 | Для Каждого СтрокаФормы Из СтрокаОбъект.ПолучитьЭлементы() Цикл 30 | Если СтрокаФормы.Имя = ФормаИмяФормы Тогда 31 | ИдентификаторСтроки = СтрокаФормы.ПолучитьИдентификатор(); 32 | Элементы.ОбъектДеревоФорм.ТекущаяСтрока = ИдентификаторСтроки; 33 | КонецЕсли; 34 | КонецЦикла; 35 | КонецЕсли; 36 | КонецЦикла; 37 | КонецЕсли; 38 | КонецЦикла; 39 | 40 | КонецПроцедуры 41 | 42 | #КонецОбласти 43 | 44 | #Область ОбработчикиСобытийЭлементов 45 | 46 | &НаКлиенте 47 | Процедура ОбъектДеревоФормВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) 48 | 49 | СтандартнаяОбработка = Ложь; 50 | 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 | #КонецОбласти -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаКодогенерации/Items/ОбъектДеревоЭлементовКартинкаИндекс/ValuesPicture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/huxuxuya/FormCodeGenerator/222f598f15a970f9d839b5b172c10fc63f449067/FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаКодогенерации/Items/ОбъектДеревоЭлементовКартинкаИндекс/ValuesPicture.png -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаПалитра/Form.form: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Реквизит3 5 | 63 6 | true 7 | true 8 | 9 | true 10 | 11 | 12 | Реквизит3 13 | 14 | 15 | Реквизит3РасширеннаяПодсказка 16 | 65 17 | true 18 | true 19 | 20 | true 21 | 22 | Label 23 | true 24 | true 25 | 26 | Left 27 | 28 | 29 | 30 | Реквизит3КонтекстноеМеню 31 | 64 32 | true 33 | true 34 | 35 | true 36 | 37 | true 38 | 39 | InputField 40 | Enter 41 | true 42 | Left 43 | true 44 | 45 | true 46 | true 47 | true 48 | true 49 | true 50 | true 51 | 52 | 53 | 54 | Группа1 55 | 72 56 | 57 | Реквизит2 58 | 69 59 | true 60 | true 61 | 62 | true 63 | 64 | 65 | Реквизит3 66 | 67 | 68 | Реквизит2РасширеннаяПодсказка 69 | 71 70 | true 71 | true 72 | 73 | true 74 | 75 | Label 76 | true 77 | true 78 | 79 | Left 80 | 81 | 82 | 83 | Реквизит2КонтекстноеМеню 84 | 70 85 | true 86 | true 87 | 88 | true 89 | 90 | true 91 | 92 | InputField 93 | Enter 94 | true 95 | Left 96 | true 97 | 98 | true 99 | true 100 | true 101 | true 102 | true 103 | true 104 | 105 | 106 | 107 | Реквизит1 108 | 66 109 | true 110 | true 111 | 112 | true 113 | 114 | 115 | Реквизит3 116 | 117 | 118 | Реквизит1РасширеннаяПодсказка 119 | 68 120 | true 121 | true 122 | 123 | true 124 | 125 | Label 126 | true 127 | true 128 | 129 | Left 130 | 131 | 132 | 133 | Реквизит1КонтекстноеМеню 134 | 67 135 | true 136 | true 137 | 138 | true 139 | 140 | true 141 | 142 | InputField 143 | Enter 144 | true 145 | Left 146 | true 147 | 148 | true 149 | true 150 | true 151 | true 152 | true 153 | true 154 | 155 | 156 | 157 | Группа2 158 | 74 159 | 160 | Группа3 161 | 76 162 | 163 | Реквизит6 164 | 84 165 | true 166 | true 167 | 168 | true 169 | 170 | 171 | Реквизит2 172 | 173 | 174 | Реквизит6РасширеннаяПодсказка 175 | 86 176 | true 177 | true 178 | 179 | true 180 | 181 | Label 182 | true 183 | true 184 | 185 | Left 186 | 187 | 188 | 189 | Реквизит6КонтекстноеМеню 190 | 85 191 | true 192 | true 193 | 194 | true 195 | 196 | true 197 | 198 | InputField 199 | Enter 200 | true 201 | Left 202 | true 203 | 204 | true 205 | true 206 | true 207 | true 208 | true 209 | true 210 | 211 | 212 | true 213 | true 214 | 215 | true 216 | 217 | 218 | Группа3РасширеннаяПодсказка 219 | 77 220 | true 221 | true 222 | 223 | true 224 | 225 | Label 226 | true 227 | true 228 | 229 | Left 230 | 231 | 232 | UsualGroup 233 | 234 | HorizontalIfPossible 235 | true 236 | true 237 | Auto 238 | Auto 239 | 240 | 241 | 242 | Реквизит4 243 | 78 244 | true 245 | true 246 | 247 | true 248 | 249 | 250 | Реквизит1 251 | 252 | 253 | Реквизит4РасширеннаяПодсказка 254 | 80 255 | true 256 | true 257 | 258 | true 259 | 260 | Label 261 | true 262 | true 263 | 264 | Left 265 | 266 | 267 | 268 | Реквизит4КонтекстноеМеню 269 | 79 270 | true 271 | true 272 | 273 | true 274 | 275 | true 276 | 277 | InputField 278 | Enter 279 | true 280 | Left 281 | true 282 | 283 | true 284 | true 285 | true 286 | true 287 | true 288 | true 289 | 290 | 291 | 292 | Реквизит5 293 | 81 294 | true 295 | true 296 | 297 | true 298 | 299 | 300 | Реквизит3 301 | 302 | 303 | Реквизит5РасширеннаяПодсказка 304 | 83 305 | true 306 | true 307 | 308 | true 309 | 310 | Label 311 | true 312 | true 313 | 314 | Left 315 | 316 | 317 | 318 | Реквизит5КонтекстноеМеню 319 | 82 320 | true 321 | true 322 | 323 | true 324 | 325 | true 326 | 327 | InputField 328 | Enter 329 | true 330 | Left 331 | true 332 | 333 | true 334 | true 335 | true 336 | true 337 | true 338 | true 339 | 340 | 341 | true 342 | true 343 | 344 | true 345 | 346 | 347 | Группа2РасширеннаяПодсказка 348 | 75 349 | true 350 | true 351 | 352 | true 353 | 354 | Label 355 | true 356 | true 357 | 358 | Left 359 | 360 | 361 | UsualGroup 362 | 363 | HorizontalIfPossible 364 | WeakSeparation 365 | true 366 | true 367 | true 368 | Auto 369 | Auto 370 | 371 | 372 | true 373 | true 374 | 375 | true 376 | 377 | 378 | Группа1РасширеннаяПодсказка 379 | 73 380 | true 381 | true 382 | 383 | true 384 | 385 | Label 386 | true 387 | true 388 | 389 | Left 390 | 391 | 392 | UsualGroup 393 | 394 | AlwaysHorizontal 395 | true 396 | true 397 | Auto 398 | Auto 399 | 400 | 401 | 402 | Реквизит7 403 | 87 404 | true 405 | true 406 | 407 | true 408 | 409 | 410 | Реквизит3 411 | 412 | 413 | Реквизит7РасширеннаяПодсказка 414 | 89 415 | true 416 | true 417 | 418 | true 419 | 420 | Label 421 | true 422 | true 423 | 424 | Left 425 | 426 | 427 | 428 | Реквизит7КонтекстноеМеню 429 | 88 430 | true 431 | true 432 | 433 | true 434 | 435 | true 436 | 437 | InputField 438 | Enter 439 | true 440 | Left 441 | true 442 | 443 | true 444 | true 445 | true 446 | true 447 | true 448 | true 449 | 450 | 451 | 452 | ФормаКоманднаяПанель 453 | -1 454 | true 455 | true 456 | 457 | true 458 | 459 | Left 460 | true 461 | 462 | 463 | OnCreateAtServer 464 | ПриСозданииНаСервере 465 | 466 | true 467 | true 468 | Vertical 469 | true 470 | true 471 | true 472 | true 473 | true 474 | 475 | Реквизит1 476 | 1 477 | 478 | String 479 | 480 | 481 | 482 | true 483 | 484 | 485 | true 486 | 487 | 488 | 489 | Реквизит2 490 | 2 491 | 492 | String 493 | 494 | 495 | 496 | true 497 | 498 | 499 | true 500 | 501 | 502 | 503 | Реквизит3 504 | 3 505 | 506 | String 507 | 508 | 509 | 510 | true 511 | 512 | 513 | true 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаПалитра/Module.bsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | &НаСервере 4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 5 | 6 | Если ЭтаФорма.Параметры.Свойство("РедакторФорм") Тогда 7 | ИмяПодключеннойОбработки = ЭтаФорма.Параметры.РедакторФорм.ИмяПодключеннойОбработки; 8 | Если ЭтаФорма.Параметры.РедакторФорм.ЗапущенаКакВнешняя Тогда 9 | ВнешниеОбработки.Создать(ИмяПодключеннойОбработки, Ложь).ПодготовитьДанныеАнализируемойФормы(ЭтаФорма); 10 | Иначе 11 | Обработки[ИмяПодключеннойОбработки].Создать().ПодготовитьДанныеАнализируемойФормы(ЭтаФорма); 12 | КонецЕсли; 13 | КонецЕсли; 14 | 15 | КонецПроцедуры 16 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаПроверкиКода/Form.form: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ФормаКоманднаяПанель 5 | -1 6 | true 7 | true 8 | 9 | true 10 | 11 | Left 12 | true 13 | 14 | 15 | OnCreateAtServer 16 | ПриСозданииНаСервере 17 | 18 | true 19 | true 20 | Vertical 21 | true 22 | true 23 | true 24 | true 25 | true 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаПроверкиКода/Module.bsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | &НаСервере 4 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 5 | 6 | Если ЭтаФорма.Параметры.Свойство("РедакторФорм") Тогда 7 | ТекстСозданияЭлементов = ЭтаФорма.Параметры.РедакторФорм.ТекстПодготовкиФормы; 8 | КонецЕсли; 9 | 10 | КонецПроцедуры 11 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаЭлемента/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОписаниеПеременных 2 | 3 | &НаКлиенте 4 | Перем ИмяРедактируемогоРеквизита; 5 | 6 | #КонецОбласти 7 | 8 | &НаКлиенте 9 | Функция ПолучитьРеквизитыФормы() Экспорт 10 | 11 | Результат = ПолучитьРеквизитыНаСервере(); 12 | 13 | Возврат Результат; 14 | КонецФункции 15 | 16 | &НаСервере 17 | Функция ПолучитьРеквизитыНаСервере() 18 | 19 | Реквизиты = ЭтаФорма.ПолучитьРеквизиты(); 20 | 21 | СтруктураРеквизитовФормы = Новый Структура; 22 | Для Каждого Эл Из Реквизиты Цикл 23 | Структура = Новый Структура; 24 | Структура.Вставить("Заголовок", Эл.Заголовок); 25 | Структура.Вставить("Имя", Эл.Имя); 26 | Структура.Вставить("Путь", Эл.Путь); 27 | Структура.Вставить("ТипЗначения", ОбщегоНазначения.СтроковоеПредставлениеТипа(Эл.ТипЗначения.Типы()[0])); 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 | НациональнаяВалюта = Справочники.Валюты.НайтиПоКоду("643"); 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 | 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 | ЗаписьОБанке = ""; 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 | Форма.Элементы.ГородБанка.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанка; 427 | Форма.Элементы.КоррСчетБанка.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанка; 428 | 429 | Форма.Элементы.НаименованиеБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов; 430 | Форма.Элементы.ГородБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов; 431 | Форма.Элементы.КоррСчетБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов; 432 | 433 | Форма.Элементы.СостояниеБанка.ТекущаяСтраница = 434 | ?(Форма.ДеятельностьБанкаПрекращена, Форма.Элементы.БанкЗакрыт, Форма.Элементы.БанкРаботает); 435 | 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 | СписокВариантовОтветовНаВопрос.Добавить("ВыбратьИзСписка", НСтр("ru = 'Выбрать из списка'")); 538 | СписокВариантовОтветовНаВопрос.Добавить("ПродолжитьВвод", НСтр("ru = 'Продолжить ввод'")); 539 | СписокВариантовОтветовНаВопрос.Добавить("ОтменитьВвод", НСтр("ru = 'Отменить ввод'")); 540 | 541 | ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Банк с БИК %1 не найден в классификаторе банков.'"), ЭтотОбъект[ИмяРедактируемогоРеквизита]); 542 | 543 | ОписаниеОповещения = Новый ОписаниеОповещения("РеквизитБанкаПриИзмененииЗавершение", ЭтотОбъект, Элемент); 544 | ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, СписокВариантовОтветовНаВопрос, 0, , НСтр("ru = 'Выбор банка из классификатора'")); 545 | 546 | КонецПроцедуры 547 | 548 | &НаКлиенте 549 | Процедура РеквизитБанкаПриИзмененииЗавершение(РезультатВопроса, Элемент) Экспорт 550 | 551 | ИмяРедактируемогоРеквизита = "БИКБанка"; 552 | Если СтрНачинаетсяС(Элемент.Имя, "БИКБанкаДляРасчетов") Тогда 553 | ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов"; 554 | КонецЕсли; 555 | 556 | Если РезультатВопроса = "ОтменитьВвод" Тогда 557 | ЭтотОбъект[ИмяРедактируемогоРеквизита] = ""; 558 | ИначеЕсли РезультатВопроса = "ПродолжитьВвод" Тогда 559 | Если ИмяРедактируемогоРеквизита = "БИКБанка" Тогда 560 | Объект.РучноеИзменениеРеквизитовБанка = Истина; 561 | ИначеЕсли ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов" Тогда 562 | Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов = Истина; 563 | КонецЕсли; 564 | Объект[ИмяРедактируемогоРеквизита] = ЭтотОбъект[ИмяРедактируемогоРеквизита]; 565 | ИначеЕсли РезультатВопроса = "ВыбратьИзСписка" Тогда 566 | СтруктураПараметров = Новый Структура; 567 | СтруктураПараметров.Вставить("Реквизит", ИмяРедактируемогоРеквизита); 568 | ОткрытьФорму("Справочник.КлассификаторБанковРФ.Форма.ФормаВыбора", СтруктураПараметров, ЭтотОбъект); 569 | КонецЕсли; 570 | 571 | УправлениеЭлементамиФормы(ЭтотОбъект); 572 | 573 | КонецПроцедуры 574 | 575 | &НаСервереБезКонтекста 576 | Функция ДеятельностьБанкаПрекращена(БИК) 577 | 578 | Результат = Ложь; 579 | 580 | ТекстЗапроса = 581 | "ВЫБРАТЬ 582 | | КлассификаторБанковРФ.ДеятельностьПрекращена 583 | |ИЗ 584 | | Справочник.КлассификаторБанковРФ КАК КлассификаторБанковРФ 585 | |ГДЕ 586 | | КлассификаторБанковРФ.Код = &БИК 587 | | И КлассификаторБанковРФ.ЭтоГруппа = ЛОЖЬ"; 588 | 589 | Запрос = Новый Запрос; 590 | Запрос.Текст = ТекстЗапроса; 591 | Запрос.УстановитьПараметр("БИК", БИК); 592 | 593 | Выборка = Запрос.Выполнить().Выбрать(); 594 | Если Выборка.Следующий() Тогда 595 | Результат = Выборка.ДеятельностьПрекращена; 596 | КонецЕсли; 597 | 598 | Возврат Результат; 599 | 600 | КонецФункции 601 | 602 | &НаСервере 603 | Процедура ОбновитьТекстПоясненияНедействительностиБанка() 604 | Элементы.НадписьДеятельностьБанкаПрекращена.Заголовок = РаботаСБанками.ПояснениеНедействительногоБанка(Объект.Банк); 605 | Элементы.НадписьДеятельностьБанкаРасчетовПрекращена.Заголовок =РаботаСБанками.ПояснениеНедействительногоБанка(Объект.БанкДляРасчетов); 606 | КонецПроцедуры 607 | 608 | #КонецОбласти 609 | -------------------------------------------------------------------------------- /FormCodeGeneratorExtention/src/DataProcessors/FormGenerator/Forms/ФормаЭлемента1/Module.bsl: -------------------------------------------------------------------------------- 1 | #Область ОписаниеПеременных 2 | 3 | &НаКлиенте 4 | Перем ИмяРедактируемогоРеквизита; 5 | 6 | #КонецОбласти 7 | 8 | &НаКлиенте 9 | Функция ПолучитьРеквизитыФормы() Экспорт 10 | 11 | Результат = ПолучитьРеквизитыНаСервере(); 12 | 13 | Возврат Результат; 14 | КонецФункции 15 | 16 | &НаСервере 17 | Функция ПолучитьРеквизитыНаСервере() 18 | 19 | Реквизиты = ЭтаФорма.ПолучитьРеквизиты(); 20 | 21 | СтруктураРеквизитовФормы = Новый Структура; 22 | Для Каждого Эл Из Реквизиты Цикл 23 | Структура = Новый Структура; 24 | Структура.Вставить("Заголовок", Эл.Заголовок); 25 | Структура.Вставить("Имя", Эл.Имя); 26 | Структура.Вставить("Путь", Эл.Путь); 27 | Структура.Вставить("ТипЗначения", ОбщегоНазначения.СтроковоеПредставлениеТипа(Эл.ТипЗначения.Типы()[0])); 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 | НациональнаяВалюта = Справочники.Валюты.НайтиПоКоду("643"); 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 | 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 | ЗаписьОБанке = ""; 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 | Форма.Элементы.ГородБанка.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанка; 427 | Форма.Элементы.КоррСчетБанка.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанка; 428 | 429 | Форма.Элементы.НаименованиеБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов; 430 | Форма.Элементы.ГородБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов; 431 | Форма.Элементы.КоррСчетБанкаДляРасчетов.Доступность = Форма.Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов; 432 | 433 | Форма.Элементы.СостояниеБанка.ТекущаяСтраница = 434 | ?(Форма.ДеятельностьБанкаПрекращена, Форма.Элементы.БанкЗакрыт, Форма.Элементы.БанкРаботает); 435 | 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 | СписокВариантовОтветовНаВопрос.Добавить("ВыбратьИзСписка", НСтр("ru = 'Выбрать из списка'")); 538 | СписокВариантовОтветовНаВопрос.Добавить("ПродолжитьВвод", НСтр("ru = 'Продолжить ввод'")); 539 | СписокВариантовОтветовНаВопрос.Добавить("ОтменитьВвод", НСтр("ru = 'Отменить ввод'")); 540 | 541 | ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Банк с БИК %1 не найден в классификаторе банков.'"), ЭтотОбъект[ИмяРедактируемогоРеквизита]); 542 | 543 | ОписаниеОповещения = Новый ОписаниеОповещения("РеквизитБанкаПриИзмененииЗавершение", ЭтотОбъект, Элемент); 544 | ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, СписокВариантовОтветовНаВопрос, 0, , НСтр("ru = 'Выбор банка из классификатора'")); 545 | 546 | КонецПроцедуры 547 | 548 | &НаКлиенте 549 | Процедура РеквизитБанкаПриИзмененииЗавершение(РезультатВопроса, Элемент) Экспорт 550 | 551 | ИмяРедактируемогоРеквизита = "БИКБанка"; 552 | Если СтрНачинаетсяС(Элемент.Имя, "БИКБанкаДляРасчетов") Тогда 553 | ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов"; 554 | КонецЕсли; 555 | 556 | Если РезультатВопроса = "ОтменитьВвод" Тогда 557 | ЭтотОбъект[ИмяРедактируемогоРеквизита] = ""; 558 | ИначеЕсли РезультатВопроса = "ПродолжитьВвод" Тогда 559 | Если ИмяРедактируемогоРеквизита = "БИКБанка" Тогда 560 | Объект.РучноеИзменениеРеквизитовБанка = Истина; 561 | ИначеЕсли ИмяРедактируемогоРеквизита = "БИКБанкаДляРасчетов" Тогда 562 | Объект.РучноеИзменениеРеквизитовБанкаДляРасчетов = Истина; 563 | КонецЕсли; 564 | Объект[ИмяРедактируемогоРеквизита] = ЭтотОбъект[ИмяРедактируемогоРеквизита]; 565 | ИначеЕсли РезультатВопроса = "ВыбратьИзСписка" Тогда 566 | СтруктураПараметров = Новый Структура; 567 | СтруктураПараметров.Вставить("Реквизит", ИмяРедактируемогоРеквизита); 568 | ОткрытьФорму("Справочник.КлассификаторБанковРФ.Форма.ФормаВыбора", СтруктураПараметров, ЭтотОбъект); 569 | КонецЕсли; 570 | 571 | УправлениеЭлементамиФормы(ЭтотОбъект); 572 | 573 | КонецПроцедуры 574 | 575 | &НаСервереБезКонтекста 576 | Функция ДеятельностьБанкаПрекращена(БИК) 577 | 578 | Результат = Ложь; 579 | 580 | ТекстЗапроса = 581 | "ВЫБРАТЬ 582 | | КлассификаторБанковРФ.ДеятельностьПрекращена 583 | |ИЗ 584 | | Справочник.КлассификаторБанковРФ КАК КлассификаторБанковРФ 585 | |ГДЕ 586 | | КлассификаторБанковРФ.Код = &БИК 587 | | И КлассификаторБанковРФ.ЭтоГруппа = ЛОЖЬ"; 588 | 589 | Запрос = Новый Запрос; 590 | Запрос.Текст = ТекстЗапроса; 591 | Запрос.УстановитьПараметр("БИК", БИК); 592 | 593 | Выборка = Запрос.Выполнить().Выбрать(); 594 | Если Выборка.Следующий() Тогда 595 | Результат = Выборка.ДеятельностьПрекращена; 596 | КонецЕсли; 597 | 598 | Возврат Результат; 599 | 600 | КонецФункции 601 | 602 | &НаСервере 603 | Процедура ОбновитьТекстПоясненияНедействительностиБанка() 604 | Элементы.НадписьДеятельностьБанкаПрекращена.Заголовок = РаботаСБанками.ПояснениеНедействительногоБанка(Объект.Банк); 605 | Элементы.НадписьДеятельностьБанкаРасчетовПрекращена.Заголовок =РаботаСБанками.ПояснениеНедействительногоБанка(Объект.БанкДляРасчетов); 606 | КонецПроцедуры 607 | 608 | #КонецОбласти 609 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Fedor Timokhov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Release](https://img.shields.io/github/tag/huxuxuya/FormCodeGenerator.svg?label=Last%20release&a)](https://github.com/huxuxuya/FormCodeGenerator/releases) 2 | 3 | # Обработка генерации кода для программной доработки форм 4 | 5 | При доработке типовых конфигураций, для уменьшения издержек на сопровождение конфигурации при ее обновлении, доработка форм должна производиться с максимальным приоритетом программной доработки. 6 | 7 | Данная обработка создана для увеличения скорости программного добавления реквизитов формы. 8 | 9 | Определение элементов, для которых необходимо сгенерировать код , реализуется через сравнение эталонной формы и формы, в которую реквизиты добавлены интерактивно. 10 | 11 | # Зависимости: 12 | Код, генерируемый обработкой использует [модуль программной доработки форм](https://github.com/huxuxuya/1cFormEditor). 13 | 14 | ## Установка модуля программной доработки форм: 15 | Скачать последнюю [поставку модулья из релизов](https://github.com/huxuxuya/1cFormEditor/releases). 16 | 17 | В дорабатываемой конфигурации: 18 | 1. Выбрать "Сравнить объединить с конфигурацией из файла". 19 | 2. Согласиться поставить конфигурацию на поддержку. 20 | 3. В сравнении/объединении выбрать только общий модуль "Редактор форм". 21 | 4. Выполнить объединение. 22 | 23 | 24 | # Roadmap: 25 | 26 | | Метод | Статус | Дата | 27 | |----------|:-------------:|------:| 28 | | НовоеПолеФормы | Never | - | 29 | | НовоеПолеРеквизитаФормы | Yep | - | 30 | | НоваяГруппаФормы | Yep | - | 31 | | НоваяГруппаКолонкиЛевоПраво | Never | - | 32 | | НоваяГруппаОбычная | Yep | - | 33 | | НоваяТаблицаФормы | - | - | 34 | | НовоеПолеТабличнойЧастиформы | - | - | 35 | | НоваяКнопкаФормы | Never | - | 36 | | НоваяКомандаИГиперссылкаФормы | - | - | 37 | | НоваяКомандаИКнопкаКоманднойПанели | - | - | 38 | | НоваяКомандаИКнопкаФормы | In prgrs | - | 39 | | НоваяКомандаФормы | - | - | 40 | | НовыйРеквизитОбъектаФормы | Yep | - | 41 | | НовоеПолеФормыРеквизитОбъекта | - | - | 42 | | НовоеПолеШапкиФормыРеквизитОбъекта | Yep | - | 43 | | НовоеМногострочноеПолеРеквизитОбъекта | Yep | - | 44 | | НовоеПолеФлажокФормыРеквизитОбъекта | Yep | - | 45 | | НоваяГруппаКнопок | - | - | 46 | | НоваяДекорацияНадпись | Yep | - | 47 | 48 | 49 | 50 | --------------------------------------------------------------------------------