@Lolipop999

Как написать функцию, которая выводит тип параметра?

Здравствуйте, я только-только начал изучать 1С и не могу понять, как выполнить задачу, звучит она так:
Написать функцию, которая в зависимости от типа переданного параметра выводит сообщение. Если типы "число", "строка", "дата", то сообщение: "Данный параметр имеет тип " и далее название типа. Если тип "булево", то сообщение: "Данный параметр может принимать значение "истина" или "ложь"". Если другой тип, то сообщение: "тип не определен".
&НаКлиенте
Процедура Факториал(Команда)
	ИзначальноеЧисло = 6;   
	
	ИскомоеЧислоЦикл = ВычислитьФакториалЦиклом(ИзначальноеЧисло);      
	ИскомоеЦислоРекурсия = ВычислитьФакториалРекурсией(ИзначальноеЧисло);  
	
	Сообщить("Изначальное Число " + ИзначальноеЧисло); 
	Сообщить("Искомое Цисло Циклом " + ИскомоеЧислоЦикл);   
	Сообщить("Искомое Цисло Рекурсией " + ИскомоеЦислоРекурсия);



КонецПроцедуры  


&НаКлиенте
Функция ВычислитьФакториалЦиклом(ИзначальноеЧисло) 
	
	ИскомоеЧисло = 1;  
	
	Для Индекс = 1 по ИзначальноеЧисло Цикл  
		ИскомоеЧисло = ИскомоеЧисло * Индекс;  
 
	КонецЦикла;	 
	
	Возврат ИскомоеЧисло;  

КонецФункции    


Функция ВычислитьФакториалРекурсией(ИзначальноеЧисло)  
	
	Если ИзначальноеЧисло <= 1 Тогда 
		Возврат 1;  
	Иначе
		Возврат	ИзначальноеЧисло * ВычислитьФакториалРекурсией(ИзначальноеЧисло - 1);   
 	КонецЕсли;
	
КонецФункции
  • Вопрос задан
  • 2191 просмотр
Пригласить эксперта
Ответы на вопрос 2
@kalapanga
Тест = 123435;
Если ТипЗнч(Тест) = Тип("Число") Тогда
	Сообщить("Ок");
КонецЕсли;

Аналогично для других, определённых в 1С типов.
Ответ написан
@Jozik_lenusiko
Доброго времени суток, с задачей смогли справиться?
Функция ТипПереданногоПараметра(Тест)
Тест = 8;
Если ТипЗнч(Тест) = Тип("Число") Тогда
Сообщить("Данный параметр имеет тип Число");

ИначеЕсли ТипЗнч(Тест) = Тип("Строка") Тогда
Сообщить("Данный параметр имеет тип Строка");

ИначеЕсли ТипЗнч(Тест) = Тип("Дата") Тогда
Сообщить("Данный параметр имеет тип Дата");

ИначеЕсли ТипЗнч(Тест) = Тип("Булево") Тогда
Сообщить("Данный параметр может принимать значение истина или ложь");

ИначеЕсли ТипЗнч(Тест) = Тип("null") Тогда
Сообщить ("тип не определен");

КонецЕсли;

Возврат Тест

КонецФункции // ()
Написала функцию, но она не работает, не могу понять, что не так(
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект