Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Процедура с указанным именем не определена ФакториалР

Процедура  с указанным именем не определена ФакториалР
Я
   sergqwert
 
01.03.21 - 14:20
В обработке возникает ошибка. ВнешняяОбработка.ФакториалЧисла.Форма.Форма.Форма(26,16)}: Процедура или функция с указанным именем не определена (ФакториалР)
    Сообщить("" + <<?>>ФакториалР(Объект.ЗаданноеЧисло) + " - Рекурсия: " + (ТекущаяДата()-ВремяНачало) + " сек."); (Проверка: Сервер). Как избавиться от этого?

&НаСервере
Процедура ВычислитьНаСервере()
    РассчитатьФакториал();
КонецПроцедуры

&НаКлиенте
Процедура Вычислить1(Команда)
    ВычислитьНаСервере();
КонецПроцедуры

&НаСервере
Процедура РассчитатьФакториал()
    
    Если Цел(Объект.ЗаданноеЧисло) <> Объект.ЗаданноеЧисло Тогда
        Сообщить("Задано не целое число!");
        Возврат;
    КонецЕсли;
    
    Если Объект.ЗаданноеЧисло < 0 Тогда
        Сообщить("Задано отрицательное число!");
        Возврат;
    КонецЕсли;

    ВремяНачало = ТекущаяДата();
    Сообщить("" + ФакториалР(Объект.ЗаданноеЧисло) + " - Рекурсия: " + (ТекущаяДата()-ВремяНачало) + " сек.");
    
КонецПроцедуры


В модуле обработки такая функция:

Перем СоответствиеФакториал Экспорт;

//рекурсия
&НаКлиенте
Функция ФакториалР(ЧислоN) Экспорт
    
    Результат = СоответствиеФакториал.Получить(ЧислоN);
    Если Результат <> Неопределено Тогда
        Возврат Результат;    
    КонецЕсли;
    
    Возврат ?(ЧислоN = 0, 1, ЧислоN * ФакториалР(ЧислоN - 1));
    
КонецФункции

СоответствиеФакториал = Новый Соответствие;
СоответствиеФакториал.Вставить(1,1);
   ДенисЧ
 
1 - 01.03.21 - 14:23
А почему ты хочешь из формы вызвать модуль напрямую? Обычноформщик, чтоле?
   Галахад
 
2 - 01.03.21 - 14:25
Ну и ФакториалР на клиенте
   Вафель
 
3 - 01.03.21 - 14:33
зачем тут переход на сервер?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.