Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как корректней/правильней получить значение реквизита?

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

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.