Теперь новые Будни - новый вид сайта Переходите на главную страницу! |
| 1C:F.A.Q. | Часто задаваемые вопросы по программам 1С. Конфигурирование. Администрирование. |
| С чего начать? | Где я? | Что дальше? |
| Как сделать один документ подчиненным другому? | |
| Диагноз: | Подчиненность документов - интересный механизм, который иногда бывает просто незаменим. |
| Анамнез: | Как правило путаница возникает из-за того, что у документов есть свойство "Ввод на основании", которое само по себе не обеспечивает подчиненности. Механизм "на основании" работает на уровне видов документов. Фактически, основное его назначение - обеспечить работу кнопки "Ввод на основании" на панели инструментов журнала документов: в зависимости от вида текущего доукмента в журнале формируется список возможных видов документов для ввода. При этом, после выбора отрабатывается предопределенная процедура ВводНаОсновании(>), в которую в качестве параметра передается активный на момент вызова документ. И все. Созданный таким образом документ не является подчиненным. |
| Рецепт: | Чтобы реализовать механизм подчиненности, надо чтобы в подчиненном документе был реквизит типа "Документ". При этом, если заранее известно, какой именно вид документов будет владельцем, лучше сразу конкретизировать тип реквизита. Это может быть реквизит шапки или табличной части документа. Если в документе несколько реквизитов типа "Документ", то он может быть подчинен сразу нескольким документам-владельцам. Например: в конфигурации есть документы Расходная накладная и Счет-фактура. Чтобы сделать возможным подчинение счета-фактуры накладной, надо чтобы в шапке Счет-фактуры был реквизит типа "Документ.РасходнаяНакладная". Остается только назначить этому реквизиту конкретный документ. В принципе, заполнить этот реквизит можно обычными способами. Однако чаще всего используется уже упомянутая предопределенная процедура ВводНаОсновании(>). Она должна быть размещена в модуле формы подчиненного документа. Как правило именно в ней и происходит присваивание реквизиту, отвечающему за подчиненность, значения, которое передается как параметр этой процедуре. Предположим, что спец. реквизит в Счет-фактуре называется у нас "ДокОснование".
Тогда в модуле формы Счета-фактуры должна быть такая процедура: Иными словами, документ является "хозяином" всех документов, в которых он фигурирует в качестве значения какого-либо реквизита вида "Документ". |
|