|
Как корректней/правильней получить значение реквизита? |
☑ |
0
ARumshin
08.01.21
✎
17:50
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СчетНаОплатуПокупателю.ДоговорКонтрагента.бит_стр_Строительство.бит_стр_Проект КАК Проект
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
|ГДЕ
| СчетНаОплатуПокупателю.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Основание);
|
|
1
Ненавижу 1С
гуру
08.01.21
✎
18:00
|
в чем вопрос?
|
|
2
ARumshin
08.01.21
✎
18:03
|
Мне нужно получить значение реквизита из одно справочника, который доступен по ссылке. Если я через точку в запросе буду обращать это корректно будет?
В счете покупателей есть договор, в договоре указана номенклатурная группа (это реквизит "бит_стр_Строительство"), в номенклатурной группе указан проект (это реквизит "бит_стр_Проект").
|
|
3
ДенисЧ
08.01.21
✎
18:10
|
Если у тебя все реквизиты определённого типа (нет составных) - никакого криминала тут нет.
|
|
4
ARumshin
08.01.21
✎
18:17
|
В данному (3) случае не составные. А если составные здесь хватит функции Выразить()? Почему-то предполагал, что правильней через связи это делать, т.е. делать связи через справочники. Или это одно и тоже?
|
|
5
Ненавижу 1С
гуру
08.01.21
✎
18:41
|
(4) в случае простого типа - одно и тоже. В случае составного "выразить" эквивалентно конкретной связи
|
|
6
ildary
08.01.21
✎
22:48
|
(0) а почему не используется ОбщегоНазначения.ЗначениеРеквизитовОбъекта()? Там тоже можно поля через точку получать.
|
|
7
whitedi
08.01.21
✎
22:57
|
Если получение реквизита не часто и не в цикле используется, а например при проведении 20-30 документов в день, то и составной тип через точку не вижу криминала получать. Иначе в погоней за совершенством кода можно потерять что-то другое.
|
|