ОпределитьОшибочныеРеквизиты (БСП)

Автор: 1С
ОбщийМодуль.ШаблоныСообщенийСлужебный
БСП

Определить ошибочные реквизиты.

Процедура ОпределитьОшибочныеРеквизиты(ПараметрыТекстаСообщения, ОшибочныеРеквизиты, СведенияОШаблоне, Префикс = "") Экспорт
	
	ИмяУзлаОбщихРеквизитов = ИмяУзлаОбщихРеквизитов();
	Для каждого Реквизит Из ПараметрыТекстаСообщения Цикл
		Если ТипЗнч(Реквизит.Значение) = Тип("Соответствие") Тогда
			ОпределитьОшибочныеРеквизиты(Реквизит.Значение, ОшибочныеРеквизиты, СведенияОШаблоне, Префикс + Реквизит.Ключ + ".");
		Иначе
			ПозицияФорматТекст = СтрНайти(Реквизит.Ключ, "{", НаправлениеПоиска.СКонца);
			Если ПозицияФорматТекст > 0 Тогда 
				ИмяПараметра = Префикс + Лев(Реквизит.Ключ, ПозицияФорматТекст - 1);
			Иначе
				ИмяПараметра = Префикс + Реквизит.Ключ;
			КонецЕсли;
			Если СтрНачинаетсяС(Префикс, ИмяУзлаОбщихРеквизитов) Тогда
				НайденныйРеквизит = СведенияОШаблоне.ОбщиеРеквизиты.Строки.Найти(ИмяПараметра, "Имя", Истина);
			Иначе
				НайденныйРеквизит = СведенияОШаблоне.Реквизиты.Строки.Найти(ИмяПараметра, "Имя", Истина);
			КонецЕсли;
			Если НайденныйРеквизит = Неопределено Тогда 
				ОшибочныеРеквизиты.Добавить(ИмяПараметра);
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ОпределитьОбщиеРеквизиты (БСП)

ЕстьРеквизитОбъекта (БСП)

РезультатАнализаОшибочныхПолучателей (БСП)

ПриОпределенииОбъектовСРедактируемымиРеквизитами (БСП)

ТекстНеОпределено (БСП)

Определить это Linux или Windows

ОпределитьИдентификаторыАдреса (БСП)

ОпределитьНастройкиФормы (БСП)

Синтакс-помощник БСП с нейросетевым ассистентом