|
Как выбрать реквизит из документа основания? |
☑ |
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) Если код выполняется в модуле объекта документа введенного на основании и реквизит этого документа, содержащий ссылку на документ-основание, называется "Основание", то:
Если Основание.НашРеквизитСТипомБулево Тогда
КонецЕсли
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший