v8: СКД - выражение представления и эффективность его использования #594498


#0 by vladenoff
Доброе утро. В СКД запросом выбираю регистр остатков "ТОВАРЫ" (Измерение номенклатура и количество). У справочника номенклатура есть реквизит АРТИКУЛ. Хочу для пользователя выводить номенклатуру всегда с артикулом. Если я напишу напротив поля Номенклатура в представлении: Мне представление на сервере сформируется в одном запросе, либо система после получения данных будет для каждой строки запроса обращаться к базе формируя представления ??? Если да, то тогда как более оптимально сформировать мене нужное представление в СКД? И ещё "если да" :) В каких случаях вы используете представление? Спасибо.
#1 by vladenoff
пардон. Представление = "Выражение Представления"
#2 by Armando
Включить технологический журнал и посмотреть, не?
#3 by golden-pack
Я всегда думал что запрос выполняется на клиенте ...
#4 by vladenoff
тут обсудить как то проще :)
#5 by vladenoff
Это такая шутка?
#6 by golden-pack
нет. С чего ему выполнятся на сервере ? Если ты напишешь код в модуле объекта - где он будет выполняться ?
#7 by vladenoff
Как же запрос может исполняться на клиенте? Что он у клиента выбирать будет? В какой регистр обращаться? Ведь данные то все на сервере.
#8 by vladenoff
для СКД не дано писать код в модуле :) СКД очень полезная штука. Начал разбираться в деталях - советую :)
#9 by Armando
>> СКД очень полезная штука Мужики-то не знают...)
#10 by golden-pack
Так же вопрос параметры и отборы. Параметры - на уровне sql, а отборы видимо выборку запроса фильтруют уже на клиенте. да ты шо.
#11 by golden-pack
то что там код не нужно писать - это ты пока еще слишком простые отчетики пишешь. Пример отчет из двух баз по оле.
#12 by Armando
>> а отборы видимо выборку запроса фильтруют уже на клиенте Нет. Отборы тож в запрос подставляются, как параметры.
#13 by golden-pack
Интересно, но замечал что отборы работаю медленне параметров, мб показалось
#14 by vladenoff
да да... это понятно. а может кто ответить мне по теме? Пасиб.
#15 by Armando
Отборы надо тоже уметь правильно готовить. Там есть неочевидные на первый взгляд вещи.
#16 by vladenoff
Ребята, тема с параметрами и отборами очень интересная, но пожалуйста, можно в отдельной теме.
#17 by Armando
>> а может кто ответить мне по теме? Учитывая, что для ссылочных полей СКД автоматически получает представление с сервера в виде дополнительного поля в запросе, то что-то мне подсказывает, если заполнено выражение представления, то именно оно будет подставлено в результирующий запрос (дополнительным полем). Хотя могу ошибаться. Не проверял. Советую автору проверить. О результатах сообщить здесь). Ветку добавлю в базу знаний.
#18 by vladenoff
Да, однозначно. Но! Вопрос немного в другом. В какой период сформируется это представление? Непосредственно в запросе? Либо после обращения к базе по результату запроса будет мне формировать такие себе микро-запросы на каждую строку ?
#19 by vladenoff
попробую подсмотреть в результирующий макет СКД
#21 by vladenoff
Первичный запрос СКД (макет): .... <query>ВЫБРАТЬ    ТоварыНаСкладахОстатки.Склад, .... А вот запрос из макета для исполнения на сервере: .... <query>ВЫБРАТЬ    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, .... Таким образом, делаем вывод что все необходимые нам поля формирования представления у нас выбираются в одном запросе и при формировании такого представления на сервере больше нет необходимости обращаться к базе. Но стоит быть очень внимательным при описании представления с использованием самостоятельно написанными функциями. Они будут исполняться для каждой строки результата запроса. И следует следить чтоб там не было явных и неявных запросов к базе, типа "Товар.*", "перечисление.".... Всем удачи! ;)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С