• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

7.7 Обращение К Реквизитам Через Точку

  • Автор темы olga13
  • Дата начала
O

olga13

Добрый день!
Имеется справочник, который является измерением регистра и содержит сведения о партии товара.
Как правильнее (и быстрее) получить значения реквизитов справочника - поместить в текст запроса
|УчетнаяЦена = Регистр.ОстаткиТоваров.Партия.УчетнаяЦена;
или в теле цикла
Пока Запрос.Группировка(1) = 1 Цикл
УчетнаяЦена = Запрос.Партия.УчетнаяЦена;
КонецЦикла;
Или нет никакой разницы?
 
L

lira89

Мне кажется второй вариант будет лучше работать. По крайней мере у меня было пару таких же ситуаций и второй вариант отрабатывал быстрее.
 
A

Allexei

Правильнее и вернее получать запросом. Почему? Существует два способа обращения к объектам базы данных, это объектный (через выбрать, например) и табличный (запрос). При обращении посредством объектного способа происходит считывание ВСЕХ реквизитов объекта, как то даты, числа, строки, представления реквизитов ссылочного типа. То есть 1С как бы собирает объект по кусочкам из туевой хучи таблиц. При обращении посредством табличного метода происходит только считывание тех полей которые Вы укажите в запросе. Единственный нюанс - это как 1С 7.7 работает с запросами :)
 
U

unknown181538

" Единственный нюанс - это как 1С 7.7 работает с запросами "
С 7.7 все забавнее. Например выборка работает обычно быстрее запроса по замерам)
 
O

olga13

Правильнее и вернее получать запросом. Почему? Существует два способа обращения к объектам базы данных, это объектный (через выбрать, например) и табличный (запрос). При обращении посредством объектного способа происходит считывание ВСЕХ реквизитов объекта, как то даты, числа, строки, представления реквизитов ссылочного типа. То есть 1С как бы собирает объект по кусочкам из туевой хучи таблиц. При обращении посредством табличного метода происходит только считывание тех полей которые Вы укажите в запросе. Единственный нюанс - это как 1С 7.7 работает с запросами :)

Думаю, самый верный способ - сделать замер производительности обоих вариантов.
 
A

Allexei

Думаю, самый верный способ - сделать замер производительности обоих вариантов.
Конечно, это будет один из самых верных вариантов. Я просто напомнил вам о том в чем отличия от метода "Выбрать" и "Запрос". Хотя, ИМНО, писать надо правильно и я бы делал запрос.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!