|
510 | 510 | Возврат Различия; |
511 | 511 | КонецЕсли; |
512 | 512 |
|
513 | | - Для Каждого Различие Из РазличияИменКолонок(Таб1, Таб2, Ложь) Цикл |
514 | | - ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); |
515 | | - КонецЦикла; |
516 | | - |
517 | | - Для Каждого Различие Из РазличияИменКолонок(Таб2, Таб1, Истина) Цикл |
518 | | - ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); |
| 513 | + Для Кол = 0 По Таб1.Колонки.Количество() - 1 Цикл |
| 514 | + Колонки = КолонкиТаблицПоИндексу(Таб1, Таб2, Кол); |
| 515 | + Если Колонки[2] = Неопределено Или Не Колонки[1].Имя = Колонки[2].Имя Тогда |
| 516 | + Ожидание = ?(Колонки[2] = Неопределено, "<ОТСУТСТВУЕТ>", СтрШаблон("колонку ""%1""", Колонки[2].Имя)); |
| 517 | + Результат = СтрШаблон("колонку ""%1""", Колонки[1].Имя); |
| 518 | + Различие = РазличиеТаблиц("ПРОВЕРЯЕМОЕ значение", "КОЛОНКИ", Ожидание, Результат); |
| 519 | + ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); |
| 520 | + КонецЕсли; |
519 | 521 | КонецЦикла; |
520 | 522 |
|
521 | 523 | Возврат Различия; |
522 | 524 | КонецФункции |
523 | 525 |
|
524 | | -Функция РазличияИменКолонок(Знач Таб1, Знач Таб2, Знач ПоменятьМестами) |
| 526 | +Функция КолонкиТаблицПоИндексу(Знач Таб1, Знач Таб2, Знач ИндексКолонки) |
525 | 527 |
|
526 | | - Различия = ПустаяТаблицаРазличийТаблиц(); |
| 528 | + КолонкаТаб1 = Таб1.Колонки[ИндексКолонки]; |
| 529 | + Если ПоискКолонкиПоИмени() Тогда |
| 530 | + КолонкаТаб2 = Таб2.Колонки.Найти(КолонкаТаб1.Имя); |
| 531 | + Иначе |
| 532 | + КолонкаТаб2 = ?(ИндексКолонки < Таб2.Колонки.Количество(), Таб2.Колонки[ИндексКолонки], Неопределено); |
| 533 | + КонецЕсли; |
527 | 534 |
|
528 | | - Сообщение = ?(ПоменятьМестами, "ОЖИДАЕМОЕ значение", "ПРОВЕРЯЕМОЕ значение"); |
| 535 | + Колонки = Новый Массив; |
| 536 | + Колонки.Добавить("Для нумерации с 1"); |
| 537 | + Колонки.Добавить(КолонкаТаб1); |
| 538 | + Колонки.Добавить(КолонкаТаб2); |
529 | 539 |
|
530 | | - Для Кол = 0 По Таб1.Колонки.Количество() - 1 Цикл |
531 | | - КолонкаТаб1 = Таб1.Колонки[Кол]; |
532 | | - КолонкаТаб2 = ?(ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок, |
533 | | - Таб2.Колонки[Кол], |
534 | | - Таб2.Колонки.Найти(КолонкаТаб1.Имя)); |
535 | | - Если КолонкаТаб2 = Неопределено Или Не КолонкаТаб1.Имя = КолонкаТаб2.Имя Тогда |
536 | | - Ожидание = ?(КолонкаТаб2 = Неопределено, "<ОТСУТСТВУЕТ>", СтрШаблон("колонку ""%1""", КолонкаТаб2.Имя)); |
537 | | - Результат = СтрШаблон("колонку ""%1""", КолонкаТаб1.Имя); |
538 | | - Различие = РазличиеТаблиц(Сообщение, |
539 | | - "Колонки", |
540 | | - ?(ПоменятьМестами, Результат, Ожидание), |
541 | | - ?(ПоменятьМестами, Ожидание, Результат)); |
542 | | - ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); |
543 | | - КонецЕсли; |
544 | | - КонецЦикла; |
| 540 | + Возврат Колонки; |
| 541 | +КонецФункции |
545 | 542 |
|
546 | | - Возврат Различия; |
| 543 | +Функция ПоискКолонкиПоИмени() |
| 544 | + Возврат ПараметрыСравненияТаблиц.УчитыватьИменаКолонок И Не ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок; |
547 | 545 | КонецФункции |
548 | 546 |
|
549 | 547 | Функция РазличияСтрокТаблиц(Знач ПроверяемоеЗначение, Знач ОжидаемоеЗначение) |
|
573 | 571 | Для Стр = 0 По Таб1.Количество() - 1 Цикл |
574 | 572 | Для Кол = 0 По Таб1.Колонки.Количество() - 1 Цикл |
575 | 573 | Результат = Таб1[Стр][Кол]; |
576 | | - Если ПараметрыСравненияТаблиц.УчитыватьИменаКолонок |
577 | | - И Не ПараметрыСравненияТаблиц.УчитыватьПорядокКолонок |
578 | | - Тогда |
579 | | - КолонкаТаб1 = Таб1.Колонки[Кол]; |
580 | | - КолонкаТаб2 = Таб2.Колонки.Найти(КолонкаТаб1.Имя); |
581 | | - Ожидание = ?(КолонкаТаб2 = Неопределено, "<НЕТ КОЛОНКИ>", Таб2[Стр][КолонкаТаб2]); |
582 | | - Иначе |
583 | | - Ожидание = Таб2[Стр][Кол]; |
584 | | - КонецЕсли; |
| 574 | + Колонки = КолонкиТаблицПоИндексу(Таб1, Таб2, Кол); |
| 575 | + Ожидание = ?(Колонки[2] = Неопределено, "<НЕТ КОЛОНКИ>", Таб2[Стр][Колонки[2]]); |
585 | 576 | Если Не Ожидание = Результат Тогда |
586 | 577 | Различие = РазличиеТаблиц(Стр, Кол, Ожидание, Результат); |
587 | 578 | ЗаполнитьЗначенияСвойств(Различия.Добавить(), Различие); |
|
622 | 613 | Возврат "Ожидали, что проверяемое значение (" + ПроверяемоеЗначение + ")" + ?(ФлагОтрицанияДляСообщения, " НЕ ", " ") + Ожидание + ФорматДСО(ДопСообщениеОшибки); |
623 | 614 | КонецФункции |
624 | 615 |
|
625 | | -// Процедура ЕстьПодстрока(Знач Строка, Знач ПроверяемаяСтрока) |
626 | | -// Если СтрЧислоСтрок(ПроверяемаяСтрока) = 1 Тогда |
627 | | -// ЭтотОбъект.Что(Строка, "Проверяем одиночную строку").Содержит(ПроверяемаяСтрока); |
628 | | -// Иначе |
629 | | -// ПроверитьЧтоМногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Строка, ПроверяемаяСтрока); |
630 | | -// КонецЕсли; |
631 | | -// КонецПроцедуры |
632 | | - |
633 | 616 | Процедура ПроверитьЧтоМногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Знач Строка, Знач Подстрока, ДопСообщениеОшибки = "") |
634 | 617 | СообщениеОшибки = ""; |
635 | 618 | Нашли = МногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Строка, Подстрока, СообщениеОшибки); |
|
0 commit comments