Skip to content

Commit 3e2763b

Browse files
committed
fix EvilBeaver#1580.7: неверное имя колонки в отборе для НайтиСтроки()
1 parent 665b2b4 commit 3e2763b

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/OneScript.StandardLibrary/Collections/ValueTable/ValueTable.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,9 @@ private MapImpl ColumnsMap(StructureImpl filter)
345345
foreach (var kv in filter)
346346
{
347347
var key = Columns.FindColumnByName(kv.Key.ToString());
348+
if (key == null)
349+
throw ColumnException.WrongColumnName(kv.Key.ToString());
350+
348351
result.Insert(key, kv.Value);
349352
}
350353

tests/valuetable.os

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@
6868
ВсеТесты.Добавить("ТестДолжен_ПроверитьИтогПоКолонкеСОписаниемТипов_СтрокаЧисло");
6969
ВсеТесты.Добавить("ТестДолжен_ПроверитьИтогПоКолонкеСОписаниемТипов_СтрокаДата");
7070

71+
ВсеТесты.Добавить("ТестДолжен_ПроверитьИсключениеПриНеверноИмениКолонкиВОтборе");
72+
7173
Возврат ВсеТесты;
7274

7375
КонецФункции
@@ -1117,3 +1119,20 @@
11171119
юТест.ПроверитьРавенство(ТЗ.Итог("Тест"), Неопределено);
11181120
КонецПроцедуры
11191121

1122+
Процедура ТестДолжен_ПроверитьИсключениеПриНеверноИмениКолонкиВОтборе() Экспорт
1123+
ТЗ = Новый ТаблицаЗначений();
1124+
ТЗ.Колонки.Добавить("Тест");
1125+
ТЗ.Добавить().Тест = -3;
1126+
ТЗ.Добавить().Тест = 7;
1127+
Фильтр = Новый Структура("Тест,Тест2",7,7);
1128+
1129+
Попытка
1130+
Рез = ТЗ.НайтиСтроки(Фильтр);
1131+
Исключение
1132+
юТест.ПроверитьРавенство(Найти(ИнформацияОбОшибке().Описание,"NullException"), 0, "ArgumentNull");
1133+
Возврат;
1134+
КонецПопытки;
1135+
1136+
ВызватьИсключение "Ожидали исключение, но его не было";
1137+
КонецПроцедуры
1138+

0 commit comments

Comments
 (0)