Имя: Пароль:
1C
1С v8
Очень тупит, или, возможно, я не так понимаю веб/тонкий-клиент?
, ,
0 rotting
 
24.09.12
23:45
При активации строки вызываю событие:


&НаКлиенте
Процедура ЗаказыДляСнабженцаПриАктивизацииСтроки(Элемент)
   ПодключитьОбработчикОжидания("ОбработкаОжиданияСнабжение", 0.2, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаОжиданияСнабжение()
   Если Элементы.Страницы2.ТекущаяСтраница.Имя = "Снабжение" Тогда
       ЗаполнитьДанныеЗаказаСнабжение(Элементы.ЗаказыДляСнабженца.ТекущиеДанные.Ссылка);
       ЗаполнитьСписокНужныхТоваров(Элементы.ЗаказыДляСнабженца.ТекущиеДанные.Ссылка);
       СписокПоставок.Параметры.УстановитьЗначениеПараметра("ЗаказПокупателя", Элементы.ЗаказыДляСнабженца.ТекущиеДанные.Ссылка);
       СписокЗапросКП.Параметры.УстановитьЗначениеПараметра("ЗаказПокупателя", Элементы.ЗаказыДляСнабженца.ТекущиеДанные.Ссылка);
   КонецЕсли;    
КонецПроцедуры



&НаСервере
Процедура ЗаполнитьСписокНужныхТоваров(Заказ)
   Запрос = Новый Запрос();
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ЗаявкаНаТовар.Ссылка
   |ИЗ
   |    Документ.ЗаявкаНаТовар КАК ЗаявкаНаТовар
   |ГДЕ
   |    ЗаявкаНаТовар.ЗаказПокупателя = &ЗаказПокупателя";
   Запрос.УстановитьПараметр("ЗаказПокупателя",Заказ);
   Выборка = Запрос.Выполнить().Выбрать();
   Заявка = Неопределено;
   Пока Выборка.Следующий() Цикл
       Заявка = Выборка.Ссылка;
   КонецЦикла;
   СписокНужныхТоваров.Очистить();
   Если Не Заявка = Неопределено Тогда
       Для Каждого Стр Из Заявка.Товары Цикл
           СтрДанные = СписокНужныхТоваров.Добавить();
           СтрДанные.Товар = Стр.Номенклатура;
           СтрДанные.Количество = Стр.Количество;
       КонецЦикла;
   КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьДанныеЗаказаСнабжение(Заказ)
   ТЧСнабжение.Очистить();
   Для Каждого Стр Из Заказ.Товары Цикл
       СтрДанные = ТЧСнабжение.Добавить();
       СтрДанные.ЕдИзм = Стр.ЕдиницаИзмерения;
       СтрДанные.Количество = Стр.Количество;
       СтрДанные.Номенклатура = Стр.Номенклатура;
       СтрДанные.Вес = Стр.ЕдиницаИзмерения.Вес * Стр.Количество;
   КонецЦикла;
КонецПроцедуры




СписокПоставок и СписокЗапросКП - это динамические списки, с произвольным запросом к списку документов, запросы очень простые, нужны для того, чтоб наложить отбор по одному из полей.

Все происходит очень медленно в тонком клиенте, в веб - вообще можно сходить покурить.....

Всегда так писал в 8.1, работало быстро. Возможно я не понимаю методологию УФ????

Научите как правильно.
1 DrShad
 
24.09.12
23:51
ну не на ночь глядя такие запросы учить переписывать
2 rotting
 
24.09.12
23:52
(1) в принципиально неправильные вещи можно носом ткнуть?
3 H A D G E H O G s
 
24.09.12
23:54
(2) Можно.

1) Запрос делать к табличной части сразу.
2) Сменить профессию.
4 0xFFFFFF
 
24.09.12
23:54
Этож надо так долбить сервер каждые 2 сек...
5 IamAlexy
 
24.09.12
23:54
6 rotting
 
24.09.12
23:55
(4) ты где там 2 сек увидел?
7 H A D G E H O G s
 
24.09.12
23:55
(4) Однократно. И через 0.2 секунды. Учите СП.
8 H A D G E H O G s
 
24.09.12
23:56
(6) И ЗаполнитьДанныеЗаказаСнабжение - тоже через запрос делать.
9 H A D G E H O G s
 
24.09.12
23:57
(5) Он бы у него завис. 0.2 секунды - это мелко, Хоботов ©
10 H A D G E H O G s
 
24.09.12
23:57
(5) Хотя надо проверить.
11 Goggy
 
24.09.12
23:57
(0)Ёш твою за ногу...
Мнеж теперь кошмары неделю сниться будут...
12 rotting
 
25.09.12
00:00
(5) там про зацикливание вроде, не?
13 rotting
 
25.09.12
00:02
(9) да на самом деле "на глаз" это аж никак не 0.2 секунды, по мне так в веб клиенте все 2, потом идут запросы к серверу, вроде не долгие, но возврат данных на клиент очень долго происходит, опять таки "на глаз".
14 DrShad
 
25.09.12
00:03
что-то в последнее время старожилы форума на простых задачах сыпятся :(
15 IamAlexy
 
25.09.12
00:04
кстати, злоупотребление контекстными вызовами сервера там где можно обойтись бесконтекстными  - зло.
16 H A D G E H O G s
 
25.09.12
00:05
(13) Скинь формочку в обработке
17 IamAlexy
 
25.09.12
00:05
у меня так форма была одна - адски тупила..
я все думал что за фигня, а оказалось что простенькая функция серверная хреначила контекст формы с перестроением.. а на форме тыща элементов..
вот оно и тупило адски.
а заменил на насерверебезконтекста - взлетело
18 rotting
 
25.09.12
00:05
еще вопрос, динамические списки - это самый быстрый способ отбора на форме, или может запрос на сервере выполнить и заполнить реквизит формы с типом ТаблицаЗначений, или монопенисуально?
19 Goggy
 
25.09.12
00:09
(18) динамический список это даже не способ отбора...
20 rotting
 
25.09.12
00:11
21 rotting
 
25.09.12
00:11
(19) ок, как отобразить на форме список нужных документов?
22 rotting
 
25.09.12
00:12
(17) спс, счас буду пробовать
23 H A D G E H O G s
 
25.09.12
00:15
Писец. Я бы тоже тупил бы гонять такую шаблу на сервер и обратно.
24 H A D G E H O G s
 
25.09.12
00:16
Делай безконтекстный.
Например МассивомСтруктур
25 rotting
 
25.09.12
00:18
(24) ну вот за подобными советами я сюда и написал, а то сразу профессию менять)))
26 IamAlexy
 
25.09.12
00:19
буаа гаа га..
(23) +100500