|
55 | 55 | Если Команда.ЗначениеОпции("debug") Тогда |
56 | 56 | _лог.УстановитьУровень(УровниЛога.Отладка); |
57 | 57 | КонецЕсли; |
58 | | - |
| 58 | + |
59 | 59 | результатПроверки = Команда.ЗначениеАргумента("EDT_VALIDATION_RESULT"); |
60 | 60 | _лог.Отладка("EDT_VALIDATION_RESULT = " + результатПроверки); |
61 | | - |
| 61 | + |
62 | 62 | путьКРезультату = Команда.ЗначениеАргумента("EDT_VALIDATION_JSON"); |
63 | 63 | _лог.Отладка("EDT_VALIDATION_JSON = " + путьКРезультату); |
64 | | - |
| 64 | + |
65 | 65 | путьККаталогуИсходников = Команда.ЗначениеАргумента("SRC"); |
66 | 66 | _лог.Отладка("SRC = " + путьККаталогуИсходников); |
67 | 67 |
|
68 | 68 | _РезультатПроверки = ОбщегоНазначения.АбсолютныйПуть(результатПроверки); |
69 | 69 | _лог.Отладка("Файл с результатом проверки EDT = " + _РезультатПроверки); |
70 | 70 |
|
71 | | - Если Не ОбщегоНазначения.ФайлСуществует(_РезультатПроверки) Тогда |
| 71 | + Если НЕ ОбщегоНазначения.ФайлСуществует(_РезультатПроверки) Тогда |
72 | 72 |
|
73 | 73 | _лог.Ошибка(СтрШаблон("Файл с результатом проверки <%1> не существует.", результатПроверки)); |
74 | 74 | ЗавершитьРаботу(1); |
|
82 | 82 | _ИспользоватьОтносительныеПути = Команда.ЗначениеОпции("UseRelativePaths"); |
83 | 83 |
|
84 | 84 | ИнициализироватьКаталогиПоПроектам(путьККаталогуИсходников); |
85 | | - |
| 85 | + |
86 | 86 | КонецПроцедуры |
87 | 87 |
|
88 | 88 | Процедура ИнициализироватьКаталогиПоПроектам(Знач ПутьККаталогуИсходников) |
89 | | - |
90 | | - стрКаталоги = СтрЗаменить(ПутьККаталогуИсходников, ";", ","); |
91 | | - каталоги = СтрРазделить(стрКаталоги, ","); |
| 89 | + |
| 90 | + каталоги = ОбщегоНазначения.КаталогиСИсходниками(ПутьККаталогуИсходников, _лог); |
92 | 91 |
|
93 | 92 | Если каталоги.Количество() = 0 Тогда |
94 | | - |
| 93 | + |
95 | 94 | _лог.Ошибка("Каталог исходников SRC не указан. Продолжение невозможно."); |
96 | 95 | ЗавершитьРаботу(1); |
97 | | - |
| 96 | + |
98 | 97 | КонецЕсли; |
99 | | - |
| 98 | + |
100 | 99 | КаталогИсходниковПоПроекту = Новый Соответствие; |
101 | | - |
| 100 | + |
102 | 101 | Для Каждого цКаталог Из каталоги Цикл |
| 102 | + |
| 103 | + каталогПроекта = Новый Файл(цКаталог.Путь); |
| 104 | + имяПроекта = каталогПроекта.Имя; |
| 105 | + |
| 106 | + КаталогИсходниковПоПроекту.Вставить(имяПроекта, цКаталог.ПолноеИмя); |
103 | 107 |
|
104 | | - каталогИсходников = Новый Файл(СокрЛП(цКаталог)); |
105 | | - каталогПроекта = Новый Файл(каталогИсходников.Путь); |
106 | | - |
107 | | - файлПроекта = Новый Файл(ОбъединитьПути(каталогПроекта.ПолноеИмя, ".project")); |
| 108 | + _лог.Отладка("Каталог исходников для проекта %1 = %2", имяПроекта, цКаталог.ПолноеИмя); |
108 | 109 |
|
109 | | - Если файлПроекта.Существует() |
110 | | - И каталогИсходников.Существует() |
111 | | - И каталогИсходников.ЭтоКаталог() Тогда |
112 | | - |
113 | | - имяПроекта = каталогПроекта.Имя; |
114 | | - |
115 | | - КаталогИсходниковПоПроекту.Вставить(имяПроекта, каталогИсходников.ПолноеИмя); |
116 | | - |
117 | | - _лог.Отладка("Каталог исходников для проекта %1 = %2", имяПроекта, каталогИсходников.ПолноеИмя); |
118 | | - |
119 | | - КонецЕсли; |
120 | | - |
121 | 110 | КонецЦикла; |
122 | 111 |
|
123 | 112 | Если КаталогИсходниковПоПроекту.Количество() = 0 Тогда |
124 | 113 |
|
125 | 114 | _лог.Ошибка("Не удалось заполнить соответствие проектов исходникам для SRC = <%1>", ПутьККаталогуИсходников); |
126 | 115 | _лог.Ошибка("Возможно используется формат конфигуратора. Будет использован единый каталог: <%1>", каталоги[0]); |
127 | | - |
| 116 | + |
128 | 117 | КаталогИсходниковПоПроекту.Вставить("", каталоги[0]); |
129 | | - |
| 118 | + |
130 | 119 | КонецЕсли; |
131 | 120 |
|
132 | 121 | ГенераторПутейПоПроекту = Новый Соответствие; |
133 | | - |
| 122 | + |
134 | 123 | Для Каждого цПроектИКаталог Из КаталогИсходниковПоПроекту Цикл |
135 | 124 |
|
136 | 125 | ГенераторПутейПоПроекту.Вставить(цПроектИКаталог.Ключ, Новый Путь1СПоМетаданным(цПроектИКаталог.Значение)); |
137 | 126 |
|
138 | 127 | КонецЦикла; |
139 | | - |
| 128 | + |
140 | 129 | КонецПроцедуры |
141 | 130 |
|
142 | 131 | Функция ТаблицаПоФайлуРезультата() |
|
174 | 163 |
|
175 | 164 | именаПолей = ИменаПолей(данныеФайла); |
176 | 165 |
|
177 | | - Для каждого цПоля Из данныеФайла Цикл |
| 166 | + Для Каждого цПоля Из данныеФайла Цикл |
178 | 167 |
|
179 | 168 | Если цПоля.Количество() = 0 Тогда |
180 | 169 | Продолжить; |
|
184 | 173 |
|
185 | 174 | положение = цПоля[именаПолей.Положение]; |
186 | 175 |
|
187 | | - Если Не _ВыгружатьОшибкиОбъектов |
188 | | - И (Не ЗначениеЗаполнено(положение) |
189 | | - ИЛИ Не СтрНачинаетсяС(ВРег(положение), "СТРОКА")) Тогда |
| 176 | + Если НЕ _ВыгружатьОшибкиОбъектов |
| 177 | + И (НЕ ЗначениеЗаполнено(положение) |
| 178 | + ИЛИ НЕ СтрНачинаетсяС(ВРег(положение), "СТРОКА")) Тогда |
190 | 179 |
|
191 | 180 | // Нас интересуют только ошибки в модулях, а у них есть положение. |
192 | 181 | Продолжить; |
|
255 | 244 |
|
256 | 245 | новСтрока = тз.Добавить(); |
257 | 246 |
|
258 | | - Для каждого цКлючИЗначение Из именаПолей Цикл |
| 247 | + Для Каждого цКлючИЗначение Из именаПолей Цикл |
259 | 248 |
|
260 | 249 | новСтрока[цКлючИЗначение.Ключ] = СтрокаДанных[цКлючИЗначение.Значение]; |
261 | 250 |
|
262 | 251 | КонецЦикла; |
263 | 252 |
|
264 | | - Если Не ЗначениеЗаполнено(новСтрока.Серьезность) Тогда |
| 253 | + Если НЕ ЗначениеЗаполнено(новСтрока.Серьезность) Тогда |
265 | 254 |
|
266 | 255 | новСтрока.Серьезность = "Ошибка"; |
267 | 256 |
|
|
273 | 262 |
|
274 | 263 | Процедура ПереопределитьПути(СтрокаТаблицы) |
275 | 264 |
|
276 | | - Если Не _ВыгружатьОшибкиОбъектов Тогда |
| 265 | + Если НЕ _ВыгружатьОшибкиОбъектов Тогда |
277 | 266 |
|
278 | 267 | Возврат; |
279 | 268 |
|
|
348 | 337 | Для Каждого цСтрока Из таблицаРезультатов Цикл |
349 | 338 |
|
350 | 339 | генераторПутей = ГенераторПутейПоИмениПроекта(цСтрока.Проект); |
351 | | - |
| 340 | + |
352 | 341 | цСтрока.Путь = генераторПутей.Путь(цСтрока.Метаданные); |
353 | 342 |
|
354 | | - Если Не ПроверитьПуть(цСтрока.Путь, цСтрока.Метаданные) Тогда |
| 343 | + Если НЕ ПроверитьПуть(цСтрока.Путь, цСтрока.Метаданные) Тогда |
355 | 344 |
|
356 | 345 | цСтрока.Путь = ""; |
357 | 346 |
|
|
361 | 350 |
|
362 | 351 | поискСтрокКУдалению = Новый Структура("Путь", ""); |
363 | 352 |
|
364 | | - Для каждого цСтрокаКУдалению Из таблицаРезультатов.НайтиСтроки(поискСтрокКУдалению) Цикл |
| 353 | + Для Каждого цСтрокаКУдалению Из таблицаРезультатов.НайтиСтроки(поискСтрокКУдалению) Цикл |
365 | 354 |
|
366 | 355 | таблицаРезультатов.Удалить(цСтрокаКУдалению); |
367 | 356 |
|
|
373 | 362 |
|
374 | 363 | таблицаРезультатов.Колонки.Добавить("НомерСтроки"); |
375 | 364 |
|
376 | | - Для каждого цСтрока Из таблицаРезультатов Цикл |
| 365 | + Для Каждого цСтрока Из таблицаРезультатов Цикл |
377 | 366 |
|
378 | 367 | цСтрока.НомерСтроки = СтрЗаменить(ВРег(цСтрока.Положение), "СТРОКА ", ""); |
379 | 368 |
|
|
393 | 382 | КонецЕсли; |
394 | 383 |
|
395 | 384 | Возврат генераторПутей; |
396 | | - |
| 385 | + |
397 | 386 | КонецФункции |
398 | 387 |
|
399 | 388 | #Область ПереопределениеИдентификаторов |
|
407 | 396 | // переопределение в основной таблице |
408 | 397 | новыеСинонимы = Новый Соответствие(); |
409 | 398 |
|
410 | | - Для каждого Стр Из таблицаРезультатов Цикл |
| 399 | + Для Каждого Стр Из таблицаРезультатов Цикл |
411 | 400 |
|
412 | 401 | Если ПустаяСтрока(Стр.Правило) Тогда |
413 | 402 | Продолжить; |
|
420 | 409 | Стр.Правило = АвтоСиноним(НовыеСинонимы, Стр.Правило, ДанныеПереопределения); |
421 | 410 |
|
422 | 411 | Иначе |
423 | | - |
| 412 | + |
424 | 413 | Стр.Правило = ИмяПравила; |
425 | | - |
| 414 | + |
426 | 415 | КонецЕсли; |
427 | 416 |
|
428 | 417 | КонецЦикла; |
|
436 | 425 | имяФайла = ОбъединитьПути("dict", "ruleID_edt.json"); |
437 | 426 |
|
438 | 427 | Файл = Новый Файл(ОбъединитьПути(ТекущийСценарий().Каталог, "..", "..", имяФайла)); |
439 | | - Если Не Файл.Существует() Тогда |
| 428 | + Если НЕ Файл.Существует() Тогда |
440 | 429 | _Лог.Предупреждение("Файл %1 для переопределния идентификаторов не найден", имяФайла); |
441 | 430 | Возврат Неопределено; |
442 | 431 | КонецЕсли; |
|
457 | 446 | СловарьПравил = Данные["rulename"]; |
458 | 447 |
|
459 | 448 | Если ТипЗнч(ИсточникПравил) <> Тип("Соответствие") |
460 | | - Или ТипЗнч(СловарьПравил) <> Тип("Соответствие") Тогда |
| 449 | + ИЛИ ТипЗнч(СловарьПравил) <> Тип("Соответствие") Тогда |
461 | 450 | _Лог.Предупреждение("Неверная структура словаря правил в файле %1", ИмяСловаряИдентификаторовПравил); |
462 | 451 | Возврат Неопределено; |
463 | 452 | КонецЕсли; |
|
474 | 463 | // Дополним имена правил префиксами |
475 | 464 | _соотвКЗаполнению = Новый Соответствие(); |
476 | 465 |
|
477 | | - Для каждого КЗсловарь Из СловарьПравил Цикл |
478 | | - Для каждого КЗисточник Из ИсточникПравил Цикл |
| 466 | + Для Каждого КЗсловарь Из СловарьПравил Цикл |
| 467 | + Для Каждого КЗисточник Из ИсточникПравил Цикл |
479 | 468 |
|
480 | | - Если Не СтрНачинаетсяС(КЗсловарь.Ключ, КЗисточник.Ключ) Тогда |
| 469 | + Если НЕ СтрНачинаетсяС(КЗсловарь.Ключ, КЗисточник.Ключ) Тогда |
481 | 470 | Продолжить; |
482 | 471 | КонецЕсли; |
483 | 472 |
|
|
496 | 485 | КонецЦикла; |
497 | 486 | КонецЦикла; |
498 | 487 |
|
499 | | - Для каждого КЗ Из _соотвКЗаполнению Цикл |
| 488 | + Для Каждого КЗ Из _соотвКЗаполнению Цикл |
500 | 489 | СловарьПравил[КЗ.Ключ] = КЗ.Значение; |
501 | 490 | КонецЦикла; |
502 | 491 |
|
|
506 | 495 |
|
507 | 496 | Функция АвтоСиноним(НовыеСинонимы, Знач Правило, Знач ДанныеПереопределения) |
508 | 497 |
|
509 | | - Если Не новыеСинонимы[Правило] = Неопределено Тогда |
| 498 | + Если НЕ новыеСинонимы[Правило] = Неопределено Тогда |
510 | 499 | Возврат новыеСинонимы[Правило]; |
511 | 500 | КонецЕсли; |
512 | 501 |
|
513 | 502 | ИсточникПравил = ДанныеПереопределения["rulespaces"]; |
514 | 503 |
|
515 | 504 | новыйСиноним = Правило; |
516 | 505 |
|
517 | | - Для каждого КЗ Из ИсточникПравил Цикл |
| 506 | + Для Каждого КЗ Из ИсточникПравил Цикл |
518 | 507 |
|
519 | | - Если Не СтрНачинаетсяС(Правило, КЗ.Ключ) Тогда |
| 508 | + Если НЕ СтрНачинаетсяС(Правило, КЗ.Ключ) Тогда |
520 | 509 | Продолжить; |
521 | 510 | КонецЕсли; |
522 | | - |
| 511 | + |
523 | 512 | // для однотипности для правил без синонима для заданных плагинов заменим имя плагина на синоним |
524 | 513 | Если ПустаяСтрока(КЗ.Значение) Тогда |
525 | 514 | новыйСиноним = СтрЗаменить(Правило, КЗ.Ключ + ".", ""); |
526 | 515 | Иначе |
527 | 516 | новыйСиноним = СтрЗаменить(Правило, КЗ.Ключ, КЗ.Значение); |
528 | 517 | КонецЕсли; |
529 | | - |
| 518 | + |
530 | 519 | Прервать; |
531 | 520 |
|
532 | 521 | КонецЦикла; |
533 | 522 |
|
534 | 523 | НовыеСинонимы[Правило] = новыйСиноним; |
535 | 524 |
|
536 | 525 | Возврат новыйСиноним; |
537 | | - |
| 526 | + |
538 | 527 | КонецФункции |
539 | 528 |
|
540 | 529 | Процедура СообщитьОНовыхИдентификаторах(Знач НовыеСинонимы) |
|
545 | 534 |
|
546 | 535 | сообщения = Новый СписокЗначений(); |
547 | 536 |
|
548 | | - Для каждого КЗ Из НовыеСинонимы Цикл |
| 537 | + Для Каждого КЗ Из НовыеСинонимы Цикл |
549 | 538 | Если ЗначениеЗаполнено(КЗ.Значение) Тогда |
550 | 539 | сообщения.Добавить(" - " + КЗ.Ключ); |
551 | 540 | КонецЕсли; |
|
563 | 552 | Функция ПутьКМетаданнымСуществует(Знач Проект, Знач пМетаданные) |
564 | 553 |
|
565 | 554 | генераторПутей = ГенераторПутейПоИмениПроекта(Проект); |
566 | | - |
| 555 | + |
567 | 556 | Путь = генераторПутей.Путь(пМетаданные); |
568 | 557 |
|
569 | 558 | Возврат ПроверитьПуть(Путь, пМетаданные, Ложь); |
|
572 | 561 |
|
573 | 562 | Функция ПроверитьПуть(Знач пПуть, Знач пМетаданные = "", Знач пСообщать = Истина) |
574 | 563 |
|
575 | | - Если Не ЗначениеЗаполнено(пПуть) Тогда |
| 564 | + Если НЕ ЗначениеЗаполнено(пПуть) Тогда |
576 | 565 |
|
577 | 566 | Если пСообщать Тогда |
578 | 567 |
|
|
582 | 571 |
|
583 | 572 | Возврат Ложь; |
584 | 573 |
|
585 | | - ИначеЕсли Не ОбщегоНазначения.ФайлСуществует(пПуть) Тогда |
| 574 | + ИначеЕсли НЕ ОбщегоНазначения.ФайлСуществует(пПуть) Тогда |
586 | 575 |
|
587 | 576 | Если пСообщать Тогда |
588 | 577 |
|
|
0 commit comments