Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 сен 2021, 05:15

Почему не работает цикл, если должен?

Автор Sergejj, 14 мая 2017, 18:38

0 Пользователей и 1 гость просматривают эту тему.

Sergejj

Здравствуйте! Я уже задавал подобный вопрос, и мне помогли, навели на мысль, за что всем большое спасибо, я научился. Но недавно у меня заказчик поменял требования, и прежде чем написать сюда, я очень много пробовал.
-----------------------------------------
Итак, есть регистр сведений, в котором хранятся цены за 1 литр продукции, его структуру можно увидеть в процедуре ЗаполнитьЦену(). В документе УчетЗаказов, в табличной части Заказ, заполняются сведения о заказе, и по нажатию кнопки цены должны быть взяты из регистра накопления по каждой продукции и заполниться. Я реализовал это так: серверной функцией я выгружаю все строки из табличной части Заказ и передаю эти строки в массиве в клиентскую процедуру нажатия кнопки. Потом применяю цикл, в котором прохожу все строки массива строк табличной части заказ, и процедурой ЗаполнитьЦену() устанавливаю их свойство Цена. Процедура рабочая 100%, тестировал на одной строке. Она именно меняет свойство входного аргумента Цена. Все прекрасно работает, в созданную в цикле переменную Строка прогружаются отлично все строки, как вы можете видеть на скриншотах - вычисленное в отладке выражение. Однако нажатие кнопки ничего не дает, и мне кажется, что косяк в цикле. Помогите пожалуйста определить, в чем косяк! Очень подробные скриншоты прикрепляю.

Oldman06

Во первых, не совсем понимаю, как ты возвращаешь с сервера на клиент таблицу значений. Насколько я знаю, она не сериализуется. Но даже если и так, то я не вижу как в строках этой таблицы появился реквизит "Название". Во вторых, вызов функции сервера в цикле, да еще с запросом - это жесть. Можно только представить сколько будет длиться обработка нескольких тысяч строк. Ну и еще кучка других непоняток.

DmitriyF

Цитата: Oldman06 от 15 мая 2017, 17:44
Во первых, не совсем понимаю, как ты возвращаешь с сервера на клиент таблицу значений. Насколько я знаю, она не сериализуется. Но даже если и так, то я не вижу как в строках этой таблицы появился реквизит "Название". Во вторых, вызов функции сервера в цикле, да еще с запросом - это жесть. Можно только представить сколько будет длиться обработка нескольких тысяч строк. Ну и еще кучка других непоняток.
ты прав таблицу значений нельзя возвращать, должна быть структура. но на сколько я понял у него обычная форма запускается, скорее всего из-за этого у него и прокатывает.  не совсем понятно для чего такой геморрой с заполнением если можно получить цену при изменении номенклатуры?  стоимость тоже наверно не правильно,  скорее сумма. И почему в запрос передается наименование, а не ссылка на номенклатуру.

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск