|   |   | 
| 
 | v7: Можно ли оптимизировать функцию? | ☑ | ||
|---|---|---|---|---|
| 0
    
        AntiBuh 21.05.13✎ 09:23 | 
        навеяло http://www.forum.mista.ru/topic.php?upd&id=665565
  имеется функция: Функция ПолучитьЦенуПродажи(ПромТовар,ПромКатегория,НаДату) Экспорт ГлобальныйРегистрЦенПродажи.УстановитьФильтр(ПромТовар,ПромКатегория); ГлобальныйРегистрЦенПродажи.ОбратныйПорядок(1); ГлобальныйРегистрЦенПродажи.ВыбратьДвижения(,НаДату); ПромЦена=0; Если ГлобальныйРегистрЦенПродажи.ПолучитьДвижение()=1 Тогда ПромЦена=ГлобальныйРегистрЦенПродажи.Цена; КонецЕсли; Возврат ПромЦена; КонецФункции структура регистра: Оборотный измерения - Товар, Категория Реквизит - Цена функция используется в списке справочника Операторы стали жаловаться на лаги при перемещении по справочнику померял - вроде основные затраты при получении цены можно ли как-нибудь оптимизировать? или данный способ максимально быстрый? | |||
| 1
    
        ДенисЧ 21.05.13✎ 09:25 | 
        прямой запрос.     | |||
| 2
    
        Ёпрст гуру 21.05.13✎ 09:25 | 
        штатно - разве что индекс на отбор движений поставить в регистре     | |||
| 3
    
        Ковычки 21.05.13✎ 09:29 | 
        добавить периодический реквизит в справочник и заполнять ?     | |||
| 4
    
        Shaman100M 21.05.13✎ 09:30 | 
        выполняй обращение к функции один раз, в предопределенной
  ПриВыбореРодителя() , т.е. определять цены один раз запросом (или прямым запросом) или перебором регистров, рез-ты в ТЗ, а диалог обновлять другой функцией, с поиском в ТЗ | |||
| 5
    
        AntiBuh 21.05.13✎ 09:32 | 
        (2) отбор стоит
  а не совсем штатно? (3) а точно с реквизитом быстрее будет? | |||
| 6
    
        Ковычки 21.05.13✎ 09:33 | 
        Да, еще - добавьте любой ресурс в регистр.     | |||
| 7
    
        AntiBuh 21.05.13✎ 09:47 | 
        (6) наличие ресурса как-то влияет на скорость?     | |||
| 8
    
        Shaman100M 21.05.13✎ 09:53 | 
        (7) я бы не стал его добавлять  - много где придется переписывать модули. 
  вот, может пригодится: http://infostart.ru/public/22312/ http://forum.infostart.ru/forum24/topic27139/ | |||
| 9
    
        Shaman100M 21.05.13✎ 09:55 | 
        (5) да, должно быть быстрее. ))
  в модуле - ИспользоватьДату(); в диалоге - ссылка на реквизит с ценой. | |||
| 10
    
        Ковычки 21.05.13✎ 09:57 | 
        (8) ресурс нужен фиктивный иначе могут быть вылеты     | |||
| 11
    
        Ковычки 21.05.13✎ 10:04 | 
        в ВыбратьДвижения еще бы наверное не помешало задать начальную дату, иначе в скуле запрос будет с 1753 года, как это будет отрабатывать - хз     | |||
| 12
    
        Vlad_1717 21.05.13✎ 10:07 | 
        (4) +100. Так и сделал в своё время.     | |||
| 13
    
        AntiBuh 21.05.13✎ 10:08 | 
        (8) скачать стартманей нету :(
  (11) база файловая, и там вроде ж все равно обратный порядок | |||
| 14
    
        Shaman100M 21.05.13✎ 10:17 | 
        (13) отправил     | |||
| 15
    
        AntiBuh 21.05.13✎ 10:17 | 
        (9) спасибо     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |