Имя: Пароль:
1C
1С v8
Зависает веб-клиент при заполнении таблицы
0 hardsign
 
15.04.13
13:32
1С 8.2.17, УФ
В тонком клиенте абсолютно нормально отрабатывает довольно простая процедура -
Объект.Таблица.Очистить();
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
            |    РасходныйОрдер.Ссылка как Документ
            |ИЗ
            |    Документ.РасходныйОрдер КАК РасходныйОрдер
            |ГДЕ
            |    РасходныйОрдер.Проведен = Ложь
            |    И РасходныйОрдер.Отделение = &Отделение
            |    И РасходныйОрдер.Валюта = &Валюта";
           
Запрос.УстановитьПараметр("Отделение", Объект.Отделение);
Запрос.УстановитьПараметр("Валюта", Объект.Валюта);
Результат=Запрос.Выполнить();
ВыборкаРезультата=Результат.Выбрать();
Пока ВыборкаРезультата.Следующий() Цикл
НоваяСтрока=Объект.Таблица.Добавить();
НоваяСтрока.Документ=ВыборкаРезультата.Документ;
КонецЦикла;

Но при запуске этой обработки на веб-клиенте - намертво виснет. Повторюсь, тонкий клиент отрабатывает на ура:( Со скоростью все ок, сеть 100Мб. Пишет - нет отклика от сервера. Поля отбора индексированы.

Что с ним сделать то?:( Может, есть ошибочные методы именно для веб-клиента, переписать как-то обработку?
1 H A D G E H O G s
 
15.04.13
13:37
ТаблицаНаСервере=РеквизитФормыВЗначение("Таблица");
Пока ВыборкаРезультата.Следующий() Цикл
НоваяСтрока=ТаблицаНаСервере.Добавить();
НоваяСтрока.Документ=ВыборкаРезультата.Документ;
КонецЦикла;
ЗначениеВРеквизитФормы(ТаблицаНаСервере,"Таблица");
2 hardsign
 
15.04.13
13:45
Примечание:

Нельзя преобразовать в объект типа Табличная часть.
3 H A D G E H O G s
 
15.04.13
13:46
ЭтотОбъект=РеквизитФормыВЗначение("Объект");
Пока ВыборкаРезультата.Следующий() Цикл
НоваяСтрока=ЭтотОбъект.Таблица.Добавить();
НоваяСтрока.Документ=ВыборкаРезультата.Документ;
КонецЦикла;
ЗначениеВРеквизитФормы(ЭтотОбъект,"Объект");
4 hardsign
 
15.04.13
13:51
(3) Так в тонком клиенте работает. В вебе опять виснет:(
5 НЕА123
 
15.04.13
13:51
(2)
где это написано?
6 hardsign
 
15.04.13
13:53
(5) В синтаксис-помощнике
7 hardsign
 
15.04.13
13:54
(5) И в любом случае форма-в-объект и обратно не помогло - все равно виснет.
8 ИсчадиеADO
 
15.04.13
13:56
на стороне клиента код приведи?
9 НЕА123
 
15.04.13
13:56
(6)
ДанныеФормыВЗначение - да, написано.
РеквизитФормыВЗначение - не написано, но может оно так и есть.
но (3) должно работать, но - хз.
10 hardsign
 
15.04.13
13:58
(8)
&НаКлиенте
Процедура Заполнить(Команда)
ЗаполнитьТаблицуОрдерами();    
КонецПроцедуры
11 H A D G E H O G s
 
15.04.13
14:01
Давай подключусь, гляну.
12 hardsign
 
15.04.13
14:04
(11) Не подключишься - банк, все закрыто:(
13 H A D G E H O G s
 
15.04.13
14:05
ВЫБРАТЬ заменить на
ВЫБРАТЬ ПЕРВЫЕ 10

и посмотреть
14 hardsign
 
15.04.13
14:10
(13)
База тестовая, расходных ордеров 3 шт. Но попробую:)
Сейчас вроде с подключением получается, тимвьювер пойдет?
15 H A D G E H O G s
 
15.04.13
14:11
(14)
16 H A D G E H O G s
 
15.04.13
14:11
Да
17 H A D G E H O G s
 
15.04.13
14:11
ICQ#: 374-881-272
18 ИсчадиеADO
 
15.04.13
14:21
ну че там?
19 H A D G E H O G s
 
15.04.13
14:31
Походу баг платформы.
В таблице есть колонка, источником данных которой есть поле через несколько точек.

Документ.Валюта.Код
20 hardsign
 
15.04.13
14:32
(17) Спасибо огромное. В такой мелочи такая проблема:)

Ошибка была не в выборке, не в таблице, а в ссылочных значениях в таблице. Я выводил в таблицу из справочника валют не валюту, а ее код, через валюта.ссылка.код. Она и вешала.
21 H A D G E H O G s
 
15.04.13
14:33
После обеда проверю, счаст надо сходить с Другая, пообедать, а то она нервничает :-)
22 hardsign
 
15.04.13
14:40
(21) Приятного!:) И еще раз спасибо - перенес уже на живую базу, все работает:) справочник.Валюта.код просто изменил на справочник.валюта.

Уже как-то была у меня проблема с многоуровневыми ссылками. Не, теперь зарекся - лучше еще один реквизит завести и присваивать значение. 1С по многоуровневым глючит:(