Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Плагин Данные / Метод Реквизит() не проверяет существование реквизита #824

Closed
kuntashov opened this issue Dec 16, 2020 · 2 comments

Comments

@kuntashov
Copy link
Contributor

Описание ошибки

При использовании плагина Данные если первым аргументом метода Реквизит() указать имя несуществующего у объекта реквизита, то он просто игнорируется.

Ожидаю, что будет вызвано исключение, т.к. иначе сложно отлавливать ошибки.

Дано: конфигурация со справочником Номенклатура, у которого есть единственный реквизит "СтавкаНДС", число(2,0) (для примера не играет роли).

В тесте пишу вот такой код:

	Номенклатура = Данные.НачатьСоздание("Справочник.Номенклатура")
		.Реквизит("СтакаНДС", 20)
		.Создать();

Сейчас такой код выполняется без ошибки, тест ломается из-за незаполненного реквизита "СтавкаНДС" и не сразу понятно, почему.

Ожидаемое поведение, если бы ошибки не было

Ожидаю, что такой код упадет с исключением: "У объекта метаданных <Справочник.Номенклатура> отсутствует реквизит <СтакаНДС>".

@artbear
Copy link
Collaborator

artbear commented Dec 18, 2020

Что-то не подтверждается такой сценарий

написал тест для проверки, он проходит

Процедура Тест_НесуществующийРеквизит() Экспорт
	
	ИмяРеквизита = "НесуществующийРеквизит";
	
	ОбъектДанных = Данные.НачатьСоздание("Справочники.Справочник1")
		.Реквизит(ИмяРеквизита);
		
	Утверждения.ПроверитьМетодНеВыполнился(ОбъектДанных, "Создать", 
		СтрШаблон("Поле объекта не обнаружено (%1)", ИмяРеквизита));
	
КонецПроцедуры 

@kuntashov Выдай больше информации. Можно в личном чате

@artbear artbear added this to the 6.7.0 milestone Dec 18, 2020
@artbear
Copy link
Collaborator

artbear commented Dec 18, 2020

Интересно, падает именно при указании 2го параметра
.Реквизит("СтакаНДС", 20)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants