Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Обработка получения представления.

Обработка получения представления.
Я
   Puzyrevskiy
 
21.07.20 - 12:00
Здравствуйте, дорогие Мисчане! В обработке получения представления справочника, реализован запрос такого вида:
ВЫБРАТЬ
СегментыКлиентовСрезПоследних.Клиент КАК Клиент,
ПРЕДСТАВЛЕНИЕ(СегментыКлиентовСрезПоследних.Сегмент) КАК Сегмент
ИЗ
РегистрСведений.СегментыКлиентов.СрезПоследних(, Клиент = &Клиент) КАК СегментыКлиентовСрезПоследних

при больших объемах считываемых данных данный запрос дает нагрузку в 0,5-0,8 секунд, что собственно мне не нравится, да и вообще писать в данном обработчике какие-либо запросы некамельфо, ибо обращений сюда много.
Внимание вопрос! Как оптимальней получать данные по сегментам и выводить их в представление? Возможно (как вариант), завести реквизит, куда бы заранее писались данные представления, а потом бы из этого реквизита подхватывались, что думаете?
   D_E_S_131
 
1 - 21.07.20 - 12:20
Есть еще "ОбработкаПолученияПолейПредставления", если нужно вытащить какие-то данные, которых нет непосредственно в объекте.
   DTX 4th
 
2 - 21.07.20 - 12:25
Сейчас посмотрел типовые отчеты в РТ2. Там нигде нет представлений. Почему? СКД как-то разруливает это дело?
   lodger
 
3 - 21.07.20 - 12:31
система позволяет такие извращения, конечно. но зачем? просто "так хочет клиент"?
тут 2 основных пути - перевесить эту задачу на отчеты, который 1 раз для всего массива стянет срез последних, второй записать в элемент справочника.
есть дополнительные варианты - поставить этот запрос в модуль с повторновозвращаемыми данными, а где нужно дергать уже модуль. последние значения будут кешироваться.
   lodger
 
4 - 21.07.20 - 12:32
в обработке получения данных представления... ну можете скулю приделать объем оперативки превышающий объем рабочей базы.
   Йохохо
 
5 - 21.07.20 - 12:57
(2) потому что платформа по умолчанию всегда тащит запросом поля нужные для типового представления
   acht
 
6 - 21.07.20 - 13:00
(0) > Мисчане... некамельфо
Бесталковая идея, Пузырь.
   acht
 
7 - 21.07.20 - 13:02
Ты бярешь срес лефаго сначениа на дату, а претсавлениё ва перфых кышыруется, а ва втарых - по сцылке зправочника.
   fisher
 
8 - 21.07.20 - 13:09
Да, срез последних в получении представления - это слишком сурово. Но можешь включить для регистра сведений хранение итогов среза последних - станет значительно быстрее.
Но брать из реквизита - оптимально.
   fisher
 
9 - 21.07.20 - 13:13
(2) СКД грамотно разруливает получение представлений скопом. А вот если сам формируешь табличный документ с большим количеством ссылок и забыл про представления (выводишь ссылку вместо представления и платформа вынуждена сама получать представления), то можно удивиться разнице в быстродействии.
   Puzyrevskiy
 
10 - 21.07.20 - 13:16
(8) Да, тут даже идея была такая, завести реквизит, первоначально заполнить его значениями из регистра, а потом реализовать регламентное на обновление этих сегментов в ночное время.
   DTX 4th
 
11 - 21.07.20 - 13:50
(9) Что-то не думал об этом. Спасибо
В общем, слава СКД :)
   D_E_S_131
 
12 - 21.07.20 - 14:22
(10) Не "регламентное обновление" уж тогда, а подписку на событие записи набора записей (или где там эти сегменты хранятся).
   Йохохо
 
13 - 21.07.20 - 14:23
(9) платформа дополняет автоматом запросы к бд для получения типового представления
   Puzyrevskiy
 
14 - 21.07.20 - 14:54
(12) да, тоже отличная мысль :) Спасибо!
   Puzyrevskiy
 
15 - 21.07.20 - 14:55
Всем спасибо ребята!
   fisher
 
16 - 21.07.20 - 15:00
(13) Обычные запросы представлениями не дополняются. А про СКД уже написано.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.