Добрый день, написал код, который должен выводить все числа от 20 до 40, но вывод хочу сделать непосредственно с клиента, не совсем понимаю, как мне передать этот расчет в [ Сообщить(Число); ] именно на клиента, при вызове сообщить на клиенте, выводит только последние число (40)
Прикрепленные файлы:
По теме из базы знаний
- Рекурсия тестирования баз 1С. Когда однократного тестирования базы недостаточно
- Преобразование массива структур в дерево значений. Представление массива подчиненных друг другу "объектов" в иерархическом виде без использования рекурсии
- Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3
- Рекурсия для начинающих
- Глава 2. Как я написал (собрал с инфостарта) свой парсер сайта 1С Releases
Найденные решения
(11)
&НаКлиенте
Не отлаживал но вижу так. попробуйте
оизвести расчет в серверном вызове, а вывод информации должен быть осуществлён на клиенте, но теперь я в тупике и не могу понять, как это вообще б
&НаКлиенте
Процедура Вход()
Вывод(20, 40);
конецпроцедуры
&НаКлиенте
Процедура Вывод(Число1, число2)
Если Число1 < число2 Тогда
Расчет(Число1);
Сообщить(Число1);
Вывод(Число1, число2)
КонецЕсли;
конецпроцедуры
&НаСервере
Процедура Расчет(Число1)
число1=число1+1;
конецпроцедуры
ПоказатьНе отлаживал но вижу так. попробуйте
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) похоже на тестовое задание.
Все расчеты нужно делать на сервере и выводить на клиента по мере выполнения расчетов.
Тупо каждый раз вызывать сервер для расчета в рекурсии это завалить тест.
Используйте вызов фонового задания (где и делать рекурсию с выполнением расчетов) с передачей сообщения пользователю.
Все расчеты нужно делать на сервере и выводить на клиента по мере выполнения расчетов.
Тупо каждый раз вызывать сервер для расчета в рекурсии это завалить тест.
Используйте вызов фонового задания (где и делать рекурсию с выполнением расчетов) с передачей сообщения пользователю.
Метод Сообщить может сообщать и с сервера. По факту у Вас рекурсия работает только в функции ПолучаемЧислоОтИДоНаСервере. Клиентская функция ПолучаемЧислоОтИДо() вызывается лишь 1 раз при входе. Это 2 разные функции. Если даже перенести весь расчет на клиент, то у вас упадет платформа, т.к. рекурсия бесконечная. Ну а серверные бесконечные рекурсии обрушивают rphost'ы на которых могут работать другие пользователи, что гораздо страшнее.
Прикрепленные файлы:
Рекурсия.epf
(10)Просто по условиям задачи нужно было сделать вызов процедуры/функции самой себя, не использовать циклы, произвести расчет в серверном вызове, а вывод информации должен быть осуществлён на клиенте, но теперь я в тупике и не могу понять, как это вообще будет осуществленно, то-есть расчет от 20 - 40, должен выводиться на клиенте
(11)
&НаКлиенте
Не отлаживал но вижу так. попробуйте
оизвести расчет в серверном вызове, а вывод информации должен быть осуществлён на клиенте, но теперь я в тупике и не могу понять, как это вообще б
&НаКлиенте
Процедура Вход()
Вывод(20, 40);
конецпроцедуры
&НаКлиенте
Процедура Вывод(Число1, число2)
Если Число1 < число2 Тогда
Расчет(Число1);
Сообщить(Число1);
Вывод(Число1, число2)
КонецЕсли;
конецпроцедуры
&НаСервере
Процедура Расчет(Число1)
число1=число1+1;
конецпроцедуры
ПоказатьНе отлаживал но вижу так. попробуйте
(15)
может вы не вчитались в вопрос. надо выводить в сообщения 21,22,23,24 и т.д. а не просто 40
да куча. но так поставлена задача.
за куча серверных вызовов? Надо прост рекурсию на сервере организовать таким образом, чтобы оператор Возврат срабатывал только один раз. Ничего сложного в этом нет.
может вы не вчитались в вопрос. надо выводить в сообщения 21,22,23,24 и т.д. а не просто 40
да куча. но так поставлена задача.
(16) Зафигачте массив, который будет прошивать всю рекурсию, в него кладите необходимые числа, а потом на клиенте в цикле выводите. Это будет верно и с точки зрения клиент-серверной архитектуры, и условиям задачи не противоречит вообще.
Или вообще строку чисел через запятую. Про отдельную итерацию вывода для каждого числа в задаче нет ни слова.
Или вообще строку чисел через запятую. Про отдельную итерацию вывода для каждого числа в задаче нет ни слова.
(19) там не сказано для чего нельзя использовать цикл конкретно. т.ч. считаем что вовсе нельзя
согласен, в переменную накапливать 21 + символы.ПС + 22 и т.д. и результат будет похож на выходе. как вариант решения. будет оптимальнее. без кучи обращений к серверу.
согласен, в переменную накапливать 21 + символы.ПС + 22 и т.д. и результат будет похож на выходе. как вариант решения. будет оптимальнее. без кучи обращений к серверу.
массив, который будет прошивать всю рекурсию, в него кладите необходимые числа, а потом на клиенте в цикле выводите. Это будет верно и с точки зрения клиент-серверной архитектуры, и условиям задачи не противоречит вообще.
Или вообще строку чисел через запятую. Про отдельную итерацию вывода для каждого числа в задаче нет ни слова.
Или вообще строку чисел через запятую. Про отдельную итерацию вывода для каждого числа в задаче нет ни слова.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот