Имя: Пароль:
1C
1С v8
Как выбрать реквизит из документа основания?
0 sapravka
 
31.03.13
13:28
Здравствуйте!
Я новичок в программирование, поэтому прошу помощи зала:
Подскажите, пожалуйста – как выбрать реквизит документа, на основании которого делается другой документ?
Реквизит размещен на основной форме документа и имеет тип булево!
Пробую сделать как то так:

Если Документы.НужныйДокументОснование.Реквизиты.НашРеквизитСТипомБулево = Истина Тогда


Выдает ошибку - Поле объекта не обнаружено (Реквизиты)
И главное – как прописать что бы искался нужный мне реквизит в документе основания?
1 Живой Ископаемый
 
31.03.13
13:31
Если Документы.НужныйДокументОснование.НашРеквизитСТипомБулево = Истина Тогда

но говорят такой код .авно, потому что приводит к помещению в память всего объекта Документы.НужныйДокументОснование.
Поэтому нужно осторожно. Если это форма/модуль одного документа-объекта, то еще ладно (при условии что не идет обращение в цикле. например для каждой строки ТЧ), то в других местах - например на форме списка лучше такого не делать
2 sapravka
 
31.03.13
13:37
А как лучше - дайте пример?
И зачем цикл - в документе всего один результат данного реквизита - Да или НЕТ - так зачем тогда циклом перебирать?

Подскажите пожалуйста, как лучше реализовать  ображение к реквизиту документа, на основании которого делается другой документ?
3 unkairosed
 
31.03.13
13:38
Как правило, для документа, который может вводиться на основании другого документа, вводят реквизит, куда помещается при вводе на основании ссылка на документ-основание.
4 Живой Ископаемый
 
31.03.13
13:39
вот если задача звучит просто так, то можно как написано в ()1 но если вам например нужно обращаться к реквизитам документов которые сами являются значениями реквизитов табличной части текущего документа (ну вот просто представьте себе такое) то так лучше не делать, а делать лучше запросом.
5 sapravka
 
31.03.13
13:39
(3)
А пример можно в студию?
6 Живой Ископаемый
 
31.03.13
13:41
+(3)кстати, (вообще это не обязательно), этот код где выполняется?

2(5) примеры есть в каждой типовой
7 sapravka
 
31.03.13
13:44
(6) Код выполняется в модуле объекта документа

А пример всеже возможно увидеть?
8 unkairosed
 
31.03.13
13:49
(7) Если код выполняется в модуле объекта документа введенного на основании и реквизит этого документа, содержащий ссылку на документ-основание, называется "Основание", то:

Если Основание.НашРеквизитСТипомБулево Тогда

КонецЕсли
Ошибка? Это не ошибка, это системная функция.