Документы и Печать · 9 мин
Как в 1С скопировать ссылку на документ
Как в 1С скопировать ссылку на документ: через «Ещё», горячие клавиши, кодом на встроенном языке. Отличия ссылки от копии документа и типичные ошибки.
В 1С термин «скопировать ссылку на документ» чаще всего означает одно из двух действий: получить навигационную ссылку, чтобы поделиться ею с коллегой или вставить в письмо, либо получить внутреннюю ссылку (GUID) для использования в коде и обработках. Это принципиально разные вещи, и путать их нельзя: навигационная ссылка открывает документ в интерфейсе, а внутренняя ссылка — это уникальный идентификатор объекта в базе данных.
Отдельно стоит вопрос копирования самого документа — создания нового документа на основании существующего с сохранением всех реквизитов и табличных частей. Пользователи часто смешивают «скопировать ссылку» и «скопировать документ», поэтому ниже разобраны оба сценария, а также программные способы для разработчиков.
Что такое ссылка на документ в 1С и зачем её копировать
Каждый документ в базе 1С имеет уникальный внутренний идентификатор — ссылку. Пока документ существует в базе, его ссылка неизменна, даже если поменять номер, дату или содержимое. Именно по ссылке другие объекты (проводки, движения, связанные документы) «знают», к какому документу они относятся.
Для работы пользователя существует навигационная ссылка — строка вида e1cib/data/Документ.РеализацияТоваровУслуг?ref=.... Её можно вставить в письмо, сообщение в мессенджере или задачу, и коллега, работающий в той же базе, откроет именно этот документ одним кликом.
Для разработчика важна внутренняя ссылка — значение типа «ДокументСсылка» и её строковое представление GUID. Она нужна при обмене данными, отладке, написании обработок и запросов.
Как скопировать навигационную ссылку через интерфейс
Самый простой способ доступен в любой типовой конфигурации на управляемых формах (1С:Бухгалтерия, УТ, ERP, ЗУП и другие). Откройте нужный документ и в правом верхнем углу нажмите кнопку «Ещё». В выпадающем меню выберите пункт «Получить ссылку» или «Скопировать навигационную ссылку» — название зависит от версии платформы.
В открывшемся окне появится строка со ссылкой и кнопка копирования. Нажмите её — ссылка попадёт в буфер обмена, после чего её можно вставить в письмо, чат или текстовое поле стандартным сочетанием Ctrl+V.
В веб-клиенте действия аналогичны: команда «Получить ссылку» также находится в меню «Ещё» формы документа. Учтите, что при работе через браузер копирование в буфер обмена может потребовать разрешения от браузера — при первом запросе подтвердите доступ.
- 1Откройте нужный документ в списке или по ссылке из другого объекта
- 2Нажмите кнопку «Ещё» в командной панели формы
- 3Выберите «Получить ссылку» или «Скопировать навигационную ссылку»
- 4В появившемся окне нажмите кнопку копирования
- 5Вставьте ссылку туда, где она нужна, и проверьте, что она открывает документ
Как вставить и использовать скопированную ссылку
Получателю ссылки достаточно вставить её в поле перехода: в 1С это делается через главное меню «Файл» → «Перейти по ссылке» (в ряде конфигураций — через меню «Ещё» в любой форме списка). После вставки строки и подтверждения откроется нужный документ.
Важное ограничение: навигационная ссылка работает только внутри той базы, где была получена. Если отправить её коллеге, работающему в копии базы или в другой организации на другом сервере, документ не откроется, даже если там есть документ с таким же номером.
Если документ после копирования ссылки был помечен на удаление или удалён физически, переход по ссылке покажет ошибку или пустую форму. Поэтому перед рассылкой ссылок убедитесь, что документ проведён или хотя бы записан и доступен пользователям по правам.
Как скопировать сам документ, а не ссылку
Если задача — создать новый документ по образцу существующего, используйте команду копирования. Выделите документ в списке и нажмите кнопку «Скопировать» на панели инструментов, клавишу F9 или выберите «Скопировать» в контекстном меню по правой кнопке мыши.
Программа создаст новый документ с теми же реквизитами, контрагентом, товарами и суммами, но с новой датой и номером. Документ не проводится автоматически — проверьте заполнение и нажмите «Провести» или «Провести и закрыть».
Копирование удобно для повторяющихся операций: ежемесячных счетов, типовых реализаций, одинаковых кассовых документов. При этом связанные объекты (например, основание-заказ) копируются как значения реквизитов, но сами подчинённые документы не дублируются.
Сравнение вариантов
Подходит, чтобы показать коллеге конкретный документ в той же базе. Не создаёт новых объектов
Подходит для создания нового документа по шаблону существующего. Создаёт независимый объект с новым номером
Подходит, когда нужен связанный документ другого вида, например счёт-фактура по реализации. Сохраняет связь между объектами
Как получить ссылку на документ программно
Во встроенном языке 1С ссылка на документ доступна через свойство Ссылка объекта. Если у вас есть объект документа (полученный, например, через ПолучитьОбъект() или заполненный в модуле), выражение ДокументОбъект.Ссылка вернёт значение типа «ДокументСсылка».
Для получения строкового представления GUID используют метод УникальныйИдентификатор(): Строка(ДокументСсылка.УникальныйИдентификатор()). Эта строка применяется при обмене с внешними системами, в веб-сервисах и при поиске документа по идентификатору.
Обратная задача — найти документ по GUID — решается через Документы.ИмяДокумента.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаGUID)). Программное копирование документа выполняется методом Скопировать() у объекта документа с последующим вызовом Записать().
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
КопияДокумента = ДокументОбъект.Скопировать();
КопияДокумента.Дата = ТекущаяДатаСеанса();
КопияДокумента.Записать(РежимЗаписиДокумента.Проведение);
GUID = Строка(ДокументСсылка.УникальныйИдентификатор());Типичные ошибки и ограничения
Частая ошибка — попытка использовать номер документа вместо ссылки. Номер не уникален: он повторяется в разных периодах, у разных организаций и видов документов. Передать коллеге «счёт № 125» недостаточно — нужна именно навигационная ссылка или хотя бы дата и организация в дополнение к номеру.
Вторая ошибка — ожидание, что навигационная ссылка откроет документ у внешнего контрагента или в личном кабинете. Ссылка работает только для пользователей с доступом к базе и с правами на чтение этого документа. Если у коллеги нет прав, он увидит сообщение о нарушении прав доступа.
Разработчики иногда хранят GUID в строковых реквизитах и теряют связь после загрузки данных через обмен, где документу присваивается новый идентификатор. Надёжнее хранить саму ссылку в реквизите соответствующего типа, а не её строковое представление.
Частые вопросы
Почему в меню «Ещё» нет пункта «Получить ссылку»?
Команда доступна только в форме открытого объекта, а не в списке. Откройте документ двойным щелчком и проверьте меню снова. В некоторых старых конфигурациях на обычных формах команда может отсутствовать — там ссылку получают программно или через специальные обработки.
Можно ли скопировать ссылку сразу из списка документов, не открывая документ?
В большинстве конфигураций — нет, команду нужно вызывать из формы самого документа. Обходной путь: открыть документ, скопировать ссылку и закрыть форму без изменений. Некоторые конфигурации добавляют команду копирования ссылки в меню «Ещё» формы списка — проверьте её наличие в вашей версии.
Откроется ли навигационная ссылка после обновления конфигурации?
Да, обновление конфигурации не меняет внутренние идентификаторы документов, поэтому ссылки остаются рабочими. Ссылки перестают действовать только при удалении документа или при переносе данных в другую базу с генерацией новых идентификаторов.
Чем копирование документа отличается от ввода на основании?
Копирование создаёт независимый документ того же вида без связи с оригиналом. Ввод на основании создаёт документ другого вида (например, счёт-фактуру по реализации) и сохраняет связь, которая видна в структуре подчинённости и используется в отчётах.
Как найти документ, если известен только GUID?
Если известен вид документа, используйте код: Документы.ИмяДокумента.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаGUID)), затем проверьте существование через получение объекта. Если вид неизвестен, потребуется перебор видов документов или специальная обработка поиска по GUID.
Что важно запомнить
Навигационная ссылка копируется через «Ещё» → «Получить ссылку» и работает только внутри своей базы. Копия документа создаётся командой «Скопировать» (F9) в списке. В коде используйте свойство Ссылка и метод УникальныйИдентификатор(), а для копирования — метод Скопировать() у объекта документа.