Добрый день, написал код, который должен выводить все числа от 20 до 40, но вывод хочу сделать непосредственно с клиента, не совсем понимаю, как мне передать этот расчет в [ Сообщить(Число); ] именно на клиента, при вызове сообщить на клиенте, выводит только последние число (40)
---
оизвести расчет в серверном вызове, а вывод информации должен быть осуществлён на клиенте, но теперь я в тупике и не могу понять, как это вообще б
&НаКлиенте

```1c
    Процедура Вход()
    Вывод(20, 40);
    конецпроцедуры

    &НаКлиенте
    Процедура Вывод(Число1, число2)
    Если Число1 < число2 Тогда
    Расчет(Число1);
    Сообщить(Число1);
    Вывод(Число1, число2)
    КонецЕсли;
    конецпроцедуры

    &НаСервере
    Процедура Расчет(Число1)
    число1=число1+1;
    конецпроцедуры
```

Не отлаживал но вижу так. попробуйте
---
похоже на тестовое задание.
Все расчеты нужно делать на сервере и выводить на клиента по мере выполнения расчетов.
Тупо каждый раз вызывать сервер для расчета в рекурсии это завалить тест.
Используйте вызов фонового задания (где и делать рекурсию с выполнением расчетов) с передачей сообщения пользователю.
---
у вас сейчас рекурсия сначала все считает. возвращает 40 и ее выводите в сообщения.
если хотите Сообщить на клиенте. а вычисление на сервере тут рекурсия не подойдет.
---
То-есть функция не может передавать данные расчета на клиент?
---
Серверные процедуры и функции не могут вызывать клиентские.
---
функция не может передавать данные расчета на клиент?
Может. но т.к. она вычисляет в рекурсии она возвращает 1 раз когда делаете Возврат
---
Метод Сообщить может сообщать и с сервера. По факту у Вас рекурсия работает только в функции ПолучаемЧислоОтИДоНаСервере. Клиентская функция ПолучаемЧислоОтИДо() вызывается лишь 1 раз при входе. Это 2 разные функции. Если даже перенести весь расчет на клиент, то у вас упадет платформа, т.к. рекурсия бесконечная. Ну а серверные бесконечные рекурсии обрушивают rphost'ы на которых могут работать другие пользователи, что гораздо страшнее.
---
о у вас упадет платформа, т.к. рекурсия бесконечная.
у него рекурсия не бесконечная. как только Число > число1 (41 > 40) происходит возврат
---
Возврат происходит лишь из одного уровня, затем срабатывает условие, что 41-1 опять равно 40 и выполняется вход в рекурсию заново. Проверьте на моей обработке, там код 1 в 1. В итоге получается 40, 41, 40, 41, 40, 41 .... и так до бесконечности.
---
происходит лишь из одного уровня, затем срабатывает условие, что 41-1 опять равно 40
да похоже на то) мой внутренний компилятор сбой дал)
---
Просто по условиям задачи нужно было сделать вызов процедуры/функции самой себя, не использовать циклы, произвести расчет в серверном вызове, а вывод информации должен быть осуществлён на клиенте, но теперь я в тупике и не могу понять, как это вообще будет осуществленно, то-есть расчет от 20 - 40, должен выводиться на клиенте
---
оизвести расчет в серверном вызове, а вывод информации должен быть осуществлён на клиенте, но теперь я в тупике и не могу понять, как это вообще б
&НаКлиенте

```1c
    Процедура Вход()
    Вывод(20, 40);
    конецпроцедуры

    &НаКлиенте
    Процедура Вывод(Число1, число2)
    Если Число1 < число2 Тогда
    Расчет(Число1);
    Сообщить(Число1);
    Вывод(Число1, число2)
    КонецЕсли;
    конецпроцедуры

    &НаСервере
    Процедура Расчет(Число1)
    число1=число1+1;
    конецпроцедуры
```

Не отлаживал но вижу так. попробуйте
---
число1=число1+1;

Работает, Благодарю, сейчас буду дальше разбираться)
---
Что за куча серверных вызовов? Надо прост рекурсию на сервере организовать таким образом, чтобы оператор Возврат срабатывал только один раз. Ничего сложного в этом нет.
---
за куча серверных вызовов? Надо прост рекурсию на сервере организовать таким образом, чтобы оператор Возврат срабатывал только один раз. Ничего сложного в этом нет.
может вы не вчитались в вопрос. надо выводить в сообщения 21,22,23,24 и т.д. а не просто 40
да куча. но так поставлена задача.
---
Зафигачте массив, который будет прошивать всю рекурсию, в него кладите необходимые числа, а потом на клиенте в цикле выводите. Это будет верно и с точки зрения клиент-серверной архитектуры, и условиям задачи не противоречит вообще.

Или вообще строку чисел через запятую. Про отдельную итерацию вывода для каждого числа в задаче нет ни слова.
---
рошивать всю рекурсию, а потом на клиенте в цикле выводите. Это будет верно и с точки зрения клиент-серверной архитектуры, и условиям задачи не противоречит вообще.
посмотрите 11 сообщение. там сказано. не используя циклы
---
Так то про расчет, а не про вывод результата. Опять же я предложил вывод в одну строку (можно даже не через запятую, а с переводом строки, чтобы создать видимость параллельности).
---
там не сказано для чего нельзя использовать цикл конкретно. т.ч. считаем что вовсе нельзя
согласен, в переменную накапливать 21 + символы.ПС + 22 и т.д. и результат будет похож на выходе. как вариант решения. будет оптимальнее. без кучи обращений к серверу.
---
Спасибо
---
Сообщение было скрыто модератором.
---
массив, который будет прошивать всю рекурсию, в него кладите необходимые числа, а потом на клиенте в цикле выводите. Это будет верно и с точки зрения клиент-серверной архитектуры, и условиям задачи не противоречит вообще.

Или вообще строку чисел через запятую. Про отдельную итерацию вывода для каждого числа в задаче нет ни слова.
---
Вы что-то хотели сказать?
---
Сообщение было скрыто модератором.