|
зачем используют шапку документа? | ☑ | ||
---|---|---|---|---|
0
hatsher
16.03.12
✎
11:44
|
Любая типовая процедура печати документа:
ЗапросШапка = Новый Запрос; ЗапросШапка.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); ЗапросШапка.Текст = "ВЫБРАТЬ | Номер, | Дата, | ДоговорКонтрагента, | ДоговорКонтрагента.РасчетыВУсловныхЕдиницах КАК РасчетыВУсловныхЕдиницах, | Контрагент КАК Получатель, | Организация КАК Поставщик, | Организация, | СуммаДокумента, | ВалютаДокумента, | УчитыватьНДС, | СуммаВключаетНДС |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент"; Шапка = ЗапросШапка.Выполнить().Выбрать(); Шапка.Следующий(); А потом далее по тексту подставляется шапка.Получатель, шапка.Дата и пр. Зачем нужно так делать, почему не использовать просто организация, дата и пр ? ведь значения реквизитов Ссылка и Объект в этих процедурах всегда совпадают(незаписанный док нельзя вывести на печать)? Зачем нужно получать шапку, состоящую из значений реквизитов документа? |
|||
1
Господин ПЖ
16.03.12
✎
11:45
|
это меьше напрягает базу и сводит к 0 шанс получить рассогласованные данные
|
|||
2
hatsher
16.03.12
✎
11:49
|
(1) забавно. если бы можно было печатать модифицированные документы, то рассогласование данных было бы как раз в этом случае. А новые документы не печатались бы вообще. А напрягать базу - не думаю, что будет хоть какая-нибудь разница в проиводительности
|
|||
3
Ненавижу 1С
гуру
16.03.12
✎
11:50
|
(0) это кажется что совпадают, другой юзер смело может уже что-то изменить, пока вы чай пили с открытым документом
|
|||
4
France
16.03.12
✎
11:52
|
(2) и зря не думаешь. в случае запроса одно обращение к базе.. если использовать реквизиты прямо - обращения равны количеству реквизитов.. глянь в скл версии в профайлер..
|
|||
5
Ненавижу 1С
гуру
16.03.12
✎
11:54
|
(4) даже к реквизитам объекта? ))
|
|||
6
Kashemir
16.03.12
✎
11:55
|
(5) С объектом то все понятно, очевидно (4) имел ввиду обращение по ссылке.
|
|||
7
НЕА123
16.03.12
✎
12:38
|
(0)
при создании объекта нет данных. (кроме ссылки). если надо при создании объекта существующего его печатать, то только запросом к базе. непонятно, когда это нужно по-жизни... перестраховка, скорее, но нормально.. |
|||
8
okmail
16.03.12
✎
12:52
|
Немного не так. При обращении напрямую к реквизитам объекта в кэш читается весь объект целиком, вместе со всеми табличными частями.
При выборке данных запросом такой проблемы нет. Все дело в производительности и попытке ускорить проведение документа, чтобы избежать длительных блокировок данных (проведение осуществляется в транзакции и на время проведения блокируются нужные данные). |
|||
9
okmail
16.03.12
✎
12:53
|
(5) Если к реквизитам объекта то да, идет обращение к базе. Если к реквизитам формы, то обращения к базе не будет.
|
|||
10
Господин ПЖ
16.03.12
✎
15:42
|
печатать с реквизитов формы - такое кодируют по накурке обычно...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |