|
v7: этот код тормозит только SQL ? | ☑ | ||
---|---|---|---|---|
0
Maximysis
11.07.12
✎
08:44
|
На форме списка справочника "номенклатура" выводятся ее остаток.
ОстатокПоСчету =(БИ.СКД(Счет,"К",,ТекущийЭлемент()))-(БИ.СКК(Счет,"К",,ТекущийЭлемент())); В дбфной версии работает шустро, а в сиквеле тормазит. Что посоветуете... |
|||
1
ЧеловекДуши
11.07.12
✎
08:48
|
(0)Переписать на прямой запрос.
|
|||
2
ЧеловекДуши
11.07.12
✎
08:49
|
+ или вернуться обратно на ДБФ
+ Или убрать этот кусок коду из справочника. |
|||
3
andrewks
11.07.12
✎
08:49
|
какой скуль?
|
|||
4
Balabass
11.07.12
✎
08:57
|
Перед запросом поставь Запрос.ВключитьSQL(0)
|
|||
5
forforumandspam
11.07.12
✎
09:01
|
(0) Это изначально го_внокод. Зачем знать остатки по всем складам? Каждая строчка в форме списка - новый запрос к базе. Сколько элементов в справочнике? Оно тебе надо?
А вообще: http://forum.infostart.ru/forum26/topic60245/ |
|||
6
andrewks
11.07.12
✎
09:12
|
(4) где ты тут увидел Запрос?
|
|||
7
Maximysis
11.07.12
✎
10:14
|
(5) Знаю, код корявый. база самописная писалась кем попало(
Но в форме нужно получать остаток выбранного товара, так менеджеры привыкли работать. А сылка здесь не по теме. |
|||
8
Maximysis
11.07.12
✎
10:17
|
(3) SQL 2005 с понижением до 2000, но ИМХО это не важно.
|
|||
9
VladZ
11.07.12
✎
10:17
|
(0) Получай остатки при открытии формы списка номенклатуры. Сливай эту инфу в ТЗ и бери остаток из ТЗ.
|
|||
10
Maximysis
11.07.12
✎
10:18
|
(9) номенклатуры более 2 000 элементов. тормоза будут
|
|||
11
zak555
11.07.12
✎
10:18
|
(0) неправильная логика
делать надо так : 1. выполнить запрос по всей номенклатуре и с нужным фильтром 2. при наведении на строку вызывай функция, в которой будет что-то типа бухИт.ПолучитьСубконто(1,, ТекущийЭлемент) + количество |
|||
12
Ёпрст
11.07.12
✎
10:19
|
(8) это важно.
Верни совместимость как было + все библиотеки взад + используй секретный релиз платформы. |
|||
13
forforumandspam
11.07.12
✎
10:19
|
(7) Ссылка по теме. Сколько раз мусолилось, что SQL медленней файловой работает.
|
|||
14
Maximysis
11.07.12
✎
10:25
|
(12) Попробывал 90 2005 также тормозит. тормоза не из за сиквела а из за запросав к БИ.
|
|||
15
v4442
11.07.12
✎
10:28
|
Наверно потому в SQL постоянно делается запрос, а дбф один раз слела и потом полу
|
|||
16
v4442
11.07.12
✎
10:29
|
+15 а потом пользуйся.
|
|||
17
Maximysis
11.07.12
✎
10:29
|
(1) Я в прямых запросах не силен. Не подскажиш ...
|
|||
18
v4442
11.07.12
✎
10:31
|
(17) какая разница, дело не в этом. Может сделат поле с остатками и туда заносить остатки при их изменении.
|
|||
19
Maximysis
11.07.12
✎
10:31
|
попробую ка (11) посоветовал.
|
|||
20
zak555
11.07.12
✎
10:53
|
кстати, а как ты БИполучаешь у себ я?
|
|||
21
Maximysis
11.07.12
✎
11:47
|
(20) в "Тип" передаю строку счета на форме
Функция ОстатокТовара(Тип) БИ=СоздатьОбъект("БухгалтерскиеИтоги"); ОстатокПоСчету=0; Если (ТекущийЭлемент().Выбран() = 1) и (ТекущийЭлемент().ЭтоГруппа() = 0) Тогда Счет=СчетПоКоду(Тип,ПланыСчетов.Забалансовый); ОстатокПоСчету =(БИ.СКД(Счет,"К",,ТекущийЭлемент()))-(БИ.СКК(Счет,"К",,ТекущийЭлемент())); КонецЕсли; Возврат ОстатокПоСчету; КонецФункции |
|||
22
Попытка1С
11.07.12
✎
11:48
|
Тут нужен параметризированый скл запрос, самое то.
|
|||
23
Ёпрст
11.07.12
✎
12:00
|
(21) это не верно, первое, би создавать в цикле, второе, проверять на выбран - при этом тащится весь объект на клиента..ну и ЭтоГруппа - то же один из самых тормознутых методов справочника.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |