|
Как правильно ПолучитьОбъект() ?
aka MIK, H A D G E H O G s, Chameleon1980, Сергиус, KJlag, program345, rbcvg, Tarlich, AlexKimp, Ватт, ldo6, Хряк, craxx, Terrixus, RVN, ndrv, Timon1405, lEvGl, Волшебник, reg0303, Prog_man, YaFedor, dubraver, PR, agres, vladko, Fedor-1971, Климов Сергей, Skylark, Anton1307, trdm, Sanchez_22, Мультук, Largo, Wern, maxab72, hikkeu, Ivanich, formista2000, Eiffil123, ptiz, eddy_n, Sabron, DimVad, Kigo_Kigo, denk32, Irbis, BOOL, Михаил_, JeHer, fyn, Trinitron, crotnn, tir654, mikecool, alexxx961503, kupec, Homer, kostik79, Вадим33, Gun47, Alex33, trad, Hawk_1c, RomanYS, zippygrill, Илья1С, ads55, Asmody, comp2006, spiller26, avkynev, vicof, arsik, zak555, saaken, DemonShinji2, dmt, Умный Слоненок, Кир Пластелинин, takefive, Kobol, Галахад, phabeZ, JohnGilbert, DimR_71, andryscha1c, InosDev, Eugene555, vv2304, Ботаник Гарден Меран, Garykom, eRik, Bad_Aleks, МаленькийВопросик, nick86, laeg, paramedic, okmail, elka302, Бычье сердце, alexela, evorle145, Ageres, b_ru, Gattuso, Lite777888, Zapal, Vstur, Раб 1С, obs191, Ненавижу 1С, DiMel_77, Silgis, s_newbi, vis, Олдж, Затейник, MM, Джордж1, KuznecovvIvan, Saval1986, p-soft, shuhard, U4Me2, toypaul, yanikolay, Чужой, АгентБезопаснойНацио, программистище, ReaLg, maxar, dergreche, kkkanjji, Amra, Mankubus, Lama12, Amfiaray, ИУБиПовиц, e053nk, Caesar, ADirks, K1RSAN, Гипервизор
| ☑ |
0
program345
07.10.25
✎
07:10
|
доброго времени суток!
Запросом получаю незакрытые заказы, потом по позициям делаю отмены строк (по условию). У меня получается в цикле
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
Насколько критично получение объекта для производительности, если я не изменяю данный объект(когда условие не выполнилось)?
|
|
1
Chameleon1980
07.10.25
✎
07:39
|
получай объект только когда нужно
|
|
2
Мультук
гуру
07.10.25
✎
07:39
|
(0)
Куча вопросов
1) Почему не используется типовой механизм закрытия ?
В УТ/ЕРП он есть (на форме заказа гиперссылка "Закрыть")
2) Почему заранее, в запросе, нельзя вычислить, нужно что-то делать со строками в заказе или нет
3) Допустим - критично. И что вы будете делать ?
|
|
3
dubraver
07.10.25
✎
08:17
|
1. Запросом нужно отбирать только те документы, которые будешь изменять.
2. "Насколько критично получение объекта для производительности" - ПолучитьОбъект() делает запрос к БД и вытягивает все реквизиты объекта. Если у тебя миллионы документов, то лишние дергать из БД не нужно. Отбирай незакрытые заказы за период.
|
|
4
Eiffil123
07.10.25
✎
08:19
|
(0) если нет проблем со временем работы механизма - то не критично. Странный вопрос конечно
|
|
5
Chameleon1980
07.10.25
✎
08:22
|
если автор хочет узнать много ли ресурсов тратится на получитьобъект - ответ - относительно да
|
|
6
program345
07.10.25
✎
08:27
|
(2)
2) в запросе написал, тестирую.
3) я бы обошел ТЧ в цикле, и если хоть в одной строчке условие выполнилось, устанавливал бы переменную Модифицированность = Истина;
Дальше условие
Если Модифицированность Тогда
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
КонецЕсли;
как то так.
|
|
7
Eiffil123
07.10.25
✎
08:40
|
(5) качественная оценка, не влияющая ни на что
(6) звучит логично
|
|
8
dubraver
07.10.25
✎
08:45
|
(6) "я бы обошел ТЧ в цикле" - если будешь через ссылку из документа получать реквизит, то получишь неявный запрос к БД.
Толку от такой оптимизации не будет. Будет куча лишних запросов к БД. Еще раз, напиши запрос который сразу вернет только те заказы, которые нужно модифицировать.
|
|
9
Eiffil123
07.10.25
✎
08:46
|
(8) ну может он ТЧ запросом получил отдельным
|
|
10
dubraver
07.10.25
✎
08:49
|
(9) Запрос не возвращает ТЧ. Почитай документацию.
|
|
11
Chameleon1980
07.10.25
✎
08:54
|
(7) отличная оценка
|
|
12
Мультук
гуру
07.10.25
✎
09:19
|
(10)
Гм-хм. Как это не возвращает ?
А это что ?
Программный код, который перебирает данные шапки, а потом данные таб.частей показать ?
ВЫБРАТЬ
ЧекККМ.Ссылка КАК Ссылка,
ЧекККМ.БезналичнаяОплата.(
ВидОплаты КАК ВидОплаты,
НомерСертификата КАК ПодарочныйСертификат,
СуммаПогашенияСертификата КАК СуммаВВалютеСертификата,
СуммаПогашенияСертификата КАК Сумма
) КАК ПодарочныеСертификаты
ИЗ
Документ.ЧекККМ КАК ЧекККМ
ГДЕ
ЧекККМ.Проведен = ИСТИНА
И ЧекККМ.Дата МЕЖДУ &Дата1 И &Дата2
И ЧекККМ.Архивный = Истина
|
|
13
dubraver
07.10.25
✎
09:24
|
(12) ТЧ- это табличная часть прикладных объектов. Запрос не возвращает часть объекта. Не путайте выборку и часть объекта.
|
|
14
Мультук
гуру
07.10.25
✎
09:28
|
(13)
А можно простой пример, когда данные
тзТовары = ПолучитьЗапросом(ссылка);
будут отличаться от ссылка.ПолучитьОбъект().Товары ?
|
|
15
Волшебник
07.10.25
✎
09:31
|
(14) У них даже методы разные:
|
|
16
dubraver
07.10.25
✎
09:33
|
(14) ТЗТовары - ТаблицаЗначений
ссылка.ПолучитьОбъект().Товары - ТабличнаяЧасть.
Это разные типы значений. Вы троллите?
|
|
17
Мультук
гуру
07.10.25
✎
09:36
|
(15)
P.S.
а) Я серьезно. Я изо всех сил не вижу разницы в данных.
И думаю, Мультук, может ты чего-то очевидного не понимаешь ?
б) Ужас какой.
А так ? Теперь вроде как с типами всё хорошо.
тзТовары = ПолучитьЗапросом(ссылка);
будут отличаться от
тзТовары =ссылка.ПолучитьОбъект().Товары.Выгрузить() ?
|
|
18
Волшебник
07.10.25
✎
09:38
|
(17) Ну данные одни и те же, конечно. Но в общем случае это разные объекты, потому что типы разные.
|
|
19
dubraver
07.10.25
✎
09:42
|
(17)
"Я изо всех сил не вижу разницы в данных." - ну лбом давится зачем, все вам понятно.
ссылка.ПолучитьОбъект().Товары.Выгрузить() - вытянешь из базы весь объект и создашь переменную с ТЗ Товары.
тзТовары = ПолучитьЗапросом(ссылка); - получишь только те данные, с которыми необходимо работать, не вытягивая лишние поля объекта.
|
|
20
PR
07.10.25
✎
09:50
|
Как ни ветка от ТС, так прогрессирующий тупизм какой-то
Притом, что сам ТС в (6) пишет, как нужно делать
Нахрена ветка, фиг пойми
|
|
21
PR
07.10.25
✎
09:51
|
(17) Для тебя вообще что ли нет разницы, получить копию данных из объекта или объект для редактирования?
Так-то ТС про изменение данных, если че
|
|
22
Eiffil123
07.10.25
✎
09:57
|
(13) какая же софистика вместо реального обсуждения вопроса
|
|
23
Мультук
гуру
07.10.25
✎
10:02
|
(21)
Для меня есть. А вот для ТС-а ?
Откуда он берёт ТЧ, если ДокОбъект получает несколько позже ?
(6)
3) я бы обошел ТЧ в цикле, и если хоть в одной строчке условие выполнилось, устанавливал бы переменную Модифицированность = Истина;
Дальше условие
Если Модифицированность Тогда
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
КонецЕсли;
|
|
24
dubraver
07.10.25
✎
10:06
|
(22) а какие ваши реальные предложения ТСу ? Я бы начал с прокачки базы у ментора.
|
|
25
PR
07.10.25
✎
10:14
|
(23) Это другой вопрос, насколько он грамотно получает данные для анализа
Если тупо получает ТЧ, которую потом анализирует, то в принципе можно и не париться с анализом, нужно ли менять объект, просто всегда получать объект, в случае необходимости менять
А вот если там какой-нибудь запрос, получающий сразу все необходимые данные, тогда другое дело
|
|
26
PR
07.10.25
✎
10:18
|
(24) И нахрен ментору нужно туловище из (0)?
Понаслушаются всяких западных волшебных словечек, ходят потом, бряцают ими к месте и не к месту, вместо того, чтобы матчасть учить
|
|
27
Eiffil123
07.10.25
✎
10:19
|
(24) в 4 ответил. пусть не занимается преждевременной оптимизацией
|
|
28
Eiffil123
07.10.25
✎
10:21
|
(26) ментор - это инфоцыганин, но с более благозвучным названием?
|
|
29
PR
07.10.25
✎
10:23
|
(28) Ментор — это человек, который помогает тебе принять правильное решение, наставник
|
|
30
Eiffil123
07.10.25
✎
10:27
|
(29) и как мы раньше кодили без этого. жуть просто
|
|
31
PR
07.10.25
✎
10:28
|
(30) Мы никогда не кодили без этого, у всех были свои наставники в свое время, у многих они и сейчас есть
|
|
32
dubraver
07.10.25
✎
10:32
|
(26) Ментор - в моем понимании это челик (коллега, начальник, платный чел) который будет тебя херачить головой об клавиатуру, за то что ты базу не усваиваешь и не впитываешь знания на рабочих задачах. Когда превратишься в собачку павлова и реакция будет соответствующая, значит все в порядке, отложилось в подкорку.
|
|
33
PR
07.10.25
✎
11:03
|
(32) К чему вот эта отсебятина?
Ментор — это более опытный наставник, который помогает тебе в сложных вопросах
Будет ли он в процессе помощи херачить тебя мордой об клаву — это вы сами разберетесь
|
|
34
PR
07.10.25
✎
11:05
|
Миста — классический ментор
Многих в процессе помощи херачат об клаву, кстати
|
|
35
Eiffil123
07.10.25
✎
11:14
|
(34) просто херачат. без помощи и смс
|
|
36
ldo6
07.10.25
✎
11:18
|
Менторы на Мисте есть? Почем час работы?
|
|
37
ldo6
07.10.25
✎
11:24
|
(0) ВыбратьПоССылкам надо использовать.
|
|
38
PR
07.10.25
✎
11:41
|
(35) Кому-то не в коня корм, да
Таким кажется, что их просто херачат
|
|
39
H A D G E H O G s
07.10.25
✎
12:32
|
(37) слышал звон...
|
|