Содержание статьи

В 1С связывание документов – это не просто удобство, а инструмент, который сокращает рутинные операции на 30–50%. Например, привязка счета на оплату к поступлению товаров позволяет автоматически заполнять поля контрагента, суммы и номенклатуры, исключая ошибки при ручном вводе. Рассмотрим три основных метода: гиперссылки, механизм «Связанные документы» и регистрацию ссылок через обработки.
Гиперссылки – самый быстрый способ перехода между документами. Достаточно в форме документа нажать Ctrl+Shift+F12 и выбрать нужный объект из списка. Этот метод работает для всех типовых конфигураций (Бухгалтерия, Управление торговлей, ЗУП) и не требует настройки. Однако он не создает жесткой привязки: если документ-источник будет удален, ссылка станет неактуальной.
Механизм «Связанные документы» доступен в большинстве типовых конфигураций через кнопку «Еще» → «Связанные документы». Он позволяет не только просматривать, но и создавать новые документы на основе текущего. Например, из заказа покупателя можно сразу сформировать реализацию товаров или счет-фактуру. Для корректной работы требуется, чтобы в конфигурации были настроены соответствующие связи (например, в УТ 11 это реализовано через документные регистры).
Для сложных сценариев используют обработки, которые регистрируют связи через регистры сведений. Например, в нетиповых решениях можно связать акт выполненных работ с договором и платежным поручением, чтобы отслеживать полный цикл сделки. Такие связи настраиваются через конфигуратор с помощью кода на встроенном языке 1С. Пример: ДокументСсылка.ЗаписатьСвязь(ТипСвязи.ЗависитОт, ДокументИсточник). Этот метод требует знаний программирования, но обеспечивает максимальную гибкость.
Выбор способа зависит от задачи. Для быстрого перехода между документами хватит гиперссылок. Для автоматизации бизнес-процессов – «Связанные документы». Для кастомизации – регистры сведений. В любом случае, правильно настроенные связи экономят до 2 часов рабочего времени в день на рутинных операциях.
Как привязать один документ к другому через реквизиты ссылочного типа

В 1С связывание документов через реквизиты ссылочного типа реализуется за счет использования типов данных ДокументСсылка.ИмяДокумента. Например, в документе «Заказ покупателя» можно создать реквизит СвязанныйСчет с типом ДокументСсылка.СчетНаОплатуПокупателю. Это позволит напрямую ссылаться на конкретный счет из заказа, обеспечивая целостность данных и упрощая навигацию.
Для добавления реквизита откройте конфигуратор, перейдите в объект документа и в разделе «Реквизиты» создайте новый. Укажите имя (например, РодительскийДокумент), выберите тип ДокументСсылка и уточните конкретный вид документа из списка. После сохранения реквизит станет доступен в форме документа и в запросах.
- В форме документа добавьте поле ввода для нового реквизита через панель «Элементы формы».
- Настройте свойство
ТипВыборанаДокумент.ИмяДокумента, чтобы ограничить выбор только нужными документами. - Используйте событие
ПриИзменениидля автоматического заполнения связанных данных (например, контрагента или номенклатуры).
При работе с запросами связь через ссылочные реквизиты позволяет объединять данные без сложных условий. Пример запроса для получения всех заказов, связанных со счетами:
ВЫБРАТЬ Заказ.Ссылка КАК Заказ, Заказ.СвязанныйСчет.Номер КАК НомерСчета ИЗ Документ.ЗаказПокупателя КАК Заказ ГДЕ Заказ.СвязанныйСчет <> ЗНАЧЕНИЕ(Документ.СчетНаОплатуПокупателю.ПустаяСсылка)
Для проверки целостности связей используйте обработчики событий документа. Например, в событии ПередЗаписью добавьте код:
Если СвязанныйДокумент.ПометкаУдаления Тогда
ВызватьИсключение("Связанный документ помечен на удаление!");
КонецЕсли;
Это предотвратит сохранение документов с неактуальными ссылками.
Использование механизма «Движения документов» для автоматической связи

Механизм «Движения документов» в 1С позволяет автоматически связывать документы через регистры накопления или бухгалтерские счета. Например, при проведении документа «Поступление товаров» система формирует движения по регистру «Товары на складах», которые затем могут быть использованы документом «Реализация товаров» для подбора остатков. Это исключает ручной ввод данных и снижает риск ошибок при связывании операций.
Для настройки автоматической связи через движения необходимо в конфигураторе определить общий регистр или счет, через который будут взаимодействовать документы. В типовой конфигурации «Бухгалтерия предприятия» это реализовано через регистр «Взаиморасчеты с контрагентами», где движения по оплатам и отгрузкам связываются автоматически. В пользовательских конфигурациях можно создать собственный регистр с измерениями, например, «Договор» или «Проект», чтобы обеспечить привязку документов к конкретным объектам учета.
Пример практической реализации: документ «Заказ покупателя» формирует движения по регистру «Заказы», а документ «Отгрузка товаров» при проведении проверяет наличие неисполненных заказов и автоматически связывается с ними через реквизит «Заказ». Для этого в модуле объекта «Отгрузка товаров» используется запрос к регистру с отбором по контрагенту и статусу заказа. Такой подход ускоряет обработку данных и обеспечивает сквозную аналитику.
Важно учитывать, что движения документов должны быть согласованы по времени и аналитике. Если в документе «Списание материалов» не указано подразделение, а в регистре «Материалы в производстве» оно обязательно, связь не установится. Для диагностики проблем используйте отчет «Движения документа» (раздел «Все функции» → «Стандартные» → «Движения документа»), который показывает все сформированные записи и их параметры.
Для расширения функционала можно использовать обработчики событий «ПередЗаписью» или «ПриПроведении» в модуле документа. Например, в обработчике «ПриПроведении» документа «Акт выполненных работ» можно добавить код, который автоматически создаст движение по регистру «Расчеты с подрядчиками» с привязкой к договору, указанному в документе. Это позволит избежать дублирования данных и обеспечит целостность связей между документами.
Создание связей между документами через табличные части и регистры

В 1С связи между документами через табличные части реализуются за счет хранения ссылок на связанные объекты непосредственно в строках таблицы. Например, в документе «Заказ покупателя» табличная часть «Товары» может содержать реквизит «ЗаказПоставщика» типа «ДокументСсылка.ЗаказПоставщика», что позволяет напрямую связать позиции заказа с соответствующими документами поставки. Для обеспечения целостности данных рекомендуется использовать обработчики событий «ПередЗаписью» и «ПриЗаписи», чтобы проверять актуальность ссылок и блокировать удаление связанных документов без предварительного разрыва связей.
Регистры сведений и накопления – более гибкий инструмент для установления связей, особенно когда требуется аналитика по нескольким измерениям. Например, регистр «ВзаимосвязиДокументов» с измерениями «ДокументИсточник» и «ДокументПриемник» позволяет отслеживать цепочки зависимостей (например, «Реализация → Счет-фактура → Платежное поручение»). Для автоматизации заполнения регистра используйте подписки на события «ПриЗаписи» документов, где в коде прописываются правила формирования движений. Важно учитывать, что регистры не поддерживают каскадное удаление, поэтому связи нужно очищать вручную или через регламентное задание.
При проектировании связей через регистры избегайте избыточных измерений – каждое дополнительное измерение увеличивает объем данных и замедляет запросы. Оптимально использовать составные ключи: например, для связи «Заказ → Отгрузка» достаточно двух измерений («Заказ» и «Отгрузка»), а не трех («Заказ», «Отгрузка», «НомерСтроки«). Для ускорения поиска связанных документов создавайте индексы по часто используемым измерениям, а в запросах применяйте конструкцию «ВЫБРАТЬ ПЕРВЫЕ 1» для получения единственной записи.
Для визуализации связей в интерфейсе пользователя используйте динамические списки с параметризованными запросами. Например, в форме документа «Реализация» добавьте таблицу, где источником данных выступает запрос к регистру «ВзаимосвязиДокументов» с условием «ДокументИсточник = ТекущийДокумент()». Чтобы избежать ошибок при изменении структуры данных, выносите логику связывания в общие модули с экспортными процедурами, которые можно переиспользовать в разных документах.
Настройка связей с помощью кнопок «Связанные документы» в интерфейсе
Кнопка «Связанные документы» в 1С расположена в панели инструментов формы документа и позволяет быстро устанавливать двусторонние связи между объектами. Для настройки доступны три основных типа связей: «Родитель-потомок» (например, заказ покупателя и реализация), «Дополнительные» (связь с произвольными документами) и «Внешние» (ссылки на документы из других информационных баз). Чтобы добавить связь, откройте документ, нажмите кнопку, выберите тип связи и укажите целевой документ через поиск или ввод номера. Система автоматически создаст обратную ссылку, если это предусмотрено настройками конфигурации.
При работе с массовыми операциями используйте групповую привязку документов через механизм «Связанные документы». Например, для связки всех реализаций с одним заказом покупателя:
- Откройте список реализаций в режиме выбора;
- Выделите нужные документы с помощью Ctrl+клик;
- Нажмите «Связать с документом» и укажите заказ.
Важно: связи типа «Родитель-потомок» блокируют удаление родительского документа, если существуют связанные потомки. Для проверки зависимостей используйте отчет «Связи документов» (раздел «Администрирование» → «Сервис»).
В конфигурациях на платформе 8.3.20+ доступна настройка автоматического создания связей при проведении документов. Для этого в модуле объекта добавьте код в процедуру ОбработкаПроведения():
- Получите ссылку на текущий документ:
ТекущийДокумент = ЭтотОбъект.Ссылка; - Создайте связь с другим документом:
Документы.СоздатьСвязь(ТекущийДокумент, Документы.ЗаказПокупателя.НайтиПоНомеру("ЗП-00001"), ТипСвязиДокументов.РодительПотомок); - Проверьте результат через интерфейс или запрос к регистру сведений «СвязиДокументов».
Ручная привязка документов через поле «Родитель» или «Основание»

Поле «Родитель» или «Основание» в 1С позволяет связывать документы вручную, указывая зависимость между ними. Например, в документе «Реализация товаров и услуг» можно выбрать в качестве основания «Заказ клиента», что автоматически создаст ссылку между ними. Это упрощает навигацию и анализ данных, так как пользователь может быстро перейти к связанному документу через гиперссылку в форме. Для корректной работы механизма убедитесь, что оба документа находятся в одном информационном пространстве (например, в одной базе или распределенной базе с синхронизацией).
Рекомендации по использованию полей приведены в таблице:
| Тип документа | Поле для привязки | Пример использования | Ограничения |
|---|---|---|---|
| Заказ клиента | «Основание» (ссылка на «Счет на оплату») | Привязка заказа к ранее выставленному счету | Нельзя привязать к документу другого типа без доработки конфигурации |
| Поступление товаров | «Родитель» (ссылка на «Заказ поставщику») | Связь поступления с заказом для контроля исполнения | Поле доступно только при включенной функциональной опции «Заказы поставщикам» |
| Списание товаров | «Основание» (ссылка на «Инвентаризацию») | Фиксация списания по результатам инвентаризации | Требует предварительного проведения инвентаризации |
Поиск и фильтрация связанных документов в журналах и отчетах
В журналах документов 1С предусмотрены механизмы динамической фильтрации по связанным объектам. Например, в журнале «Заказы покупателей» можно отобразить только те записи, которые привязаны к конкретному договору или контрагенту, используя поле «Связанные документы» в панели фильтров. Для этого выберите тип связи (например, «Реализация товаров и услуг») и укажите номер или дату исходного документа. Система автоматически отфильтрует список, оставив только документы с установленной связью.
В отчетах, таких как «Анализ заказов», связь между документами реализуется через параметры отбора. Добавьте в настройки отчета условие: «Документ-основание = [Указать реквизит]». Это позволит выгрузить данные только по тем заказам, которые порождены конкретной реализацией или счетом. Для сложных цепочек связей (например, заказ → реализация → оплата) используйте вложенные фильтры с логическими операторами «И» или «ИЛИ».
В конфигурациях на платформе 8.3.20+ доступен расширенный поиск по связанным документам через механизм «Быстрый отбор». Нажмите правой кнопкой мыши на колонку журнала, выберите «Добавить отбор» → «Связанные документы», затем укажите тип связи и значение. Например, для поиска всех реализаций, связанных с определенным заказом, задайте условие: «Документ-основание = Заказ №12345». Результат отобразится мгновенно без перезагрузки журнала.
Для массовой обработки связанных документов используйте отчет «Связи документов» (раздел «Администрирование» → «Сервис»). В нем можно задать произвольные критерии: тип документа-источника, тип связи, период создания. Отчет генерирует таблицу с перечнем всех связанных пар, которую можно экспортировать в Excel для дальнейшего анализа. Особенно полезно при аудите цепочек документов перед закрытием периода.
В пользовательских отчетах на СКД фильтрацию по связанным документам настраивайте через вычисляемые поля. Создайте новое поле с выражением: «СсылкаНаДокументОснование.Номер», затем добавьте его в условия отбора. Это позволит, например, в отчете по остаткам товаров вывести только те позиции, которые были списаны по конкретной реализации. Для оптимизации производительности ограничивайте период выборки и используйте индексированные поля (дата, номер документа).
Типичные ошибки при связывании и как их избежать

Одна из частых ошибок – привязка документов к несуществующим или удалённым объектам. Например, пользователь связывает счёт-фактуру с заказом, который был стёрт из базы. В 1С это приводит к ошибкам при проведении или формировании отчётов. Перед связыванием проверяйте наличие объекта через механизм «Поиск ссылок» (Ctrl+Shift+F) или используйте обработку «Удаление помеченных объектов» для очистки базы от «висячих» ссылок.
Неправильное использование реквизитов для связки – ещё одна проблема. Вместо того чтобы связывать документы по уникальному идентификатору (например, номеру заказа), пользователи часто выбирают текстовые поля, такие как «Наименование контрагента». Это приводит к дублированию связей при изменении названия. В конфигураторе настройте обязательное использование ссылочных типов данных (ДокументСсылка, СправочникСсылка) для реквизитов, участвующих в связях.
Игнорирование механизма «Дополнительные отчёты и обработки» для автоматического связывания документов усложняет работу. Например, при вводе на основании счёта-фактуры можно автоматически подтягивать данные из договора, если настроить соответствующую обработку. В типовых конфигурациях 1С (Бухгалтерия, Управление торговлей) такие обработки уже есть – их нужно лишь активировать в настройках пользователя.
Связывание документов без учёта статусов приводит к некорректному отражению данных. Например, привязка реализации к неутверждённому заказу вызовет ошибки при закрытии месяца. В 1С предусмотрены статусы документов (например, «Проведён», «Утверждён») – используйте их в условиях связки. В коде проведения документа добавляйте проверку: Если ДокументОснование.Статус = Перечисления.СтатусыДокументов.Утверждён Тогда ....
Ошибки при массовом связывании через групповые обработки – распространённая проблема. Пользователи часто забывают фильтровать данные по датам или организациям, что приводит к привязке неактуальных документов. При работе с обработкой «Групповое изменение реквизитов» всегда устанавливайте фильтры по периоду и подразделению. Для сложных случаев пишите собственные обработки на языке 1С с явной проверкой условий.
Неправильная настройка прав доступа мешает корректному связыванию. Например, если у пользователя нет прав на чтение справочника «Договоры», он не сможет привязать счёт к договору. В ролях 1С проверяйте доступность всех объектов, участвующих в связях. Для документов, требующих связки, настройте права на уровне «Чтение» и «Изменение» для соответствующих справочников и регистров.
Отсутствие контроля за дубликатами связей – критическая ошибка. Например, один и тот же платёж может быть привязан к нескольким счетам, что искажает данные в отчётах. В типовых конфигурациях используйте механизм «Уникальность связей» (настраивается в регистрах сведений) или добавляйте проверку в модуле объекта: Если РегистрыСведений.СвязиДокументов.НайтиПоРеквизитам(Новый Структура("ДокументОснование, ДокументСвязанный", ТекущийДокумент, ДокументОснование)) <> Неопределено Тогда ВызватьИсключение "Связь уже существует";.
