Имя: Пароль:
1C
1С v8
Тормозит вызов "ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;"
0 wowik
 
30.11.15
13:41
Задержка вызова в строке "ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;" примерно 10 секунд
С чем может быть связано?

Сама процедура:
&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
    
    //отобразить последние цены на дату документа по другим поставщикам    
    ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
    Если ТекущаяСтрока = Неопределено Тогда
        Возврат;
    КонецЕсли;
КонецПроцедуры

Конфигурация: УТ 11.1.10.193
Документ 1С: Заказ поставщику, форма документа
Платформа: 1С:Предприятие 8.3 (8.3.6.2299)
Вариант базы: клиент-серверный,
СУБД = postgresql-9.4.2-1.1C_x64(1)
1 ДенисЧ
 
30.11.15
13:41
СУБД = postgresql-9.4.2-1.1C_x64(1)

Начни отсюда.
2 wowik
 
30.11.15
13:44
(1) что начать, где копать?  восстановил копию в файловом варианте, все работает нормально.
3 ДенисЧ
 
30.11.15
13:46
(2) Вот и ответ.
Попробуй поднять тестовый вариант нормального скуля и на нём опробовать.
Должит результат
4 wowik
 
30.11.15
14:06
может еще какие варианты есть?
5 ДенисЧ
 
30.11.15
14:07
(4) Ещё вариант есть в (3)
6 John83
 
30.11.15
16:04
можно в файловой прогнать
7 D_E_S_131
 
30.11.15
17:05
(6) Он это уже в (2) делал.
8 kiruha
 
30.11.15
17:12
(0)
ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;

а почему не

ТекущаяСтрока =  Элемент.ТекущиеДанные
9 wowik
 
30.11.15
17:25
(8) ТекущаяСтрока = Элемент.ТекущиеДанные - так работает как нужно.
Хотел написать ответ вот только только...

"а почему не" - да всегда вроде так писал... надо исправляться.

Мне кажется это в самой платформе ошибка.
10 aleks_default
 
30.11.15
17:47
(9) ну куда ж без нее...
11 kiruha
 
30.11.15
18:44
(9)
Т.е. при Элемент.ТекущиеДанны - тормозов нет ?
12 Фрэнки
 
30.11.15
18:52
а ведь этот момент, что не желательно вставлять в одной строке много раз через точку, уже описывали где-то. Как минимум, особо обращали внимание, что это гарантированно будет тормозить в интерактивных процедурах.
13 Смотрящий
 
30.11.15
18:56
(3) твой "нормальный" скуль тормозит точно также как и постгри.
Только за бабки ТСа тормозить будет
14 kiruha
 
30.11.15
19:00
(12)
Через несколько точек (и другие процедуры ? ) могут тормозить, а через одну нет (в интерактивных)?
15 Фрэнки
 
30.11.15
19:26
(14) там получается "разыменование", которое в "точках" зависит полностью от свойств используемых объектов.
Это логически следует из того, что платформа на Си++ и в ней фактически ООП есть...

Если объектом является ограниченный набор данных, то проблем с быстродействием очевидно не возникает, за исключением того, что каждый объект перечитывается из БД или кэша данных. А там уж хз, насколько эффективно сработает кэш.

В случае с интерактивными объектами, которые размещены на интерактивных формах или называются динамическим списком, объем перечитываемых данных может быть не просто большой, но и обрабатываться по какому-то коду, помимо запроса к БД
16 Фрэнки
 
30.11.15
19:28
15+ В параметрах уже стоит готовый Элемент, что как бы намекает, что "считывать" его откуда еще, на другом боку, уже не желательно - вот он уже есть и бери его, пользуйся :)
17 ДенисЧ
 
30.11.15
19:55
(13) Если у тебя руки растут от os ischii, то у тебя будет тормозить
18 wowik
 
01.12.15
09:40
(11) все правильно, тормозов нет. Все работает как задумано.
При использовании первоначальной конструкции форма просто корежилась напрочь: стрелками переходишь на следующую строку, ждет.. ждет... далее курсор попадате в совсем другое поле   формы, например "Поставщик" или "Дата". Еле выжил вчера с этими ошибками... начну верить в чудеса.
Продолжаем использовать постгри, пока полет нормальный.
19 wowik
 
01.12.15
09:47
(16) первоначальный пример брался из типовых 1С. Тогда нужно разработчикам типовых рекомендовать писать правильно.
20 ЧеловекДуши
 
01.12.15
10:10
(0) Наверное в том, что у вас не пойми что и не пойми как напихано в форму :)
21 ЧеловекДуши
 
01.12.15
10:12
(19) Не нужно идти тупо за быдло кодингом от 1С...
Оно в первозданном варианте только для Демо баз пишется :)
22 wowik
 
01.12.15
10:44
(20) тупо взята типовая, добавлена процедура из первого поста
23 wowik
 
01.12.15
10:45
(21) а где тупо изволите брать примеры тогда?
24 kiruha
 
01.12.15
10:54
Лучше бы попытались разобраться - в чем причина, в каких еще случаях наблюдается при вызове через две точки, а не ху из ху