Как сделать ссылку на договор в 1с

Обновлено: 06.07.2024

Ежедневно работающие в 1С коллеги не дадут соврать, что часто сталкиваемся с ситуацией, когда необходимо из браузера или почты быстро открыть документ в 1С и не в браузере, а именно в тонком или толстом клиенте. Например, согласовываем какой-то документ и хотим уведомить подписанта о том, что необходимо поставить автограф в соответствующем бланке. Следовательно, подписывающему сотруднику отправляем письмо на почту в виде напоминания. Получатель открывает уведомление и видит, что все ждут, когда появится его подпись на согласованном документе. Сразу приходится открывать тонкий клиент 1С, искать этот документ, в котором нужно поставить галочку, ставить и закрывать 1С.

Согласитесь, это очень неудобно и отнимает время, которого и так не хватает. Но хочу обрадовать читателей этой статьи, выход есть! Мы в компании используем собственно разработанную программу Управление IT-отделом 8 для решения задач клиентов. Зачастую программа находится в закрытом состоянии и дабы не столкнуться с ситуацией, описанной в примере, было принято решение облегчить процесс открывания объектов базы из электронной почты одним щелчком мыши. Как известно лень – это двигатель прогресса, а программисты люди ленивые и хотят жить проще. Поэтому перейдем к разбору и покажем, как мы открываем задания (тикеты) в тонком клиенте 1С, но не ищем их, когда приходит уведомление на почту, а щелкаем по на объект 1С.

Настройка конфигурации для открытия внешних ссылок

Сразу оговорюсь, что данный способ открытия внешних ссылок объектов базы в тонком клиенте можно использовать только в конфигурациях, работающих на платформе 1С:Предприятие 8.3.. Это связано с тем, что только в этой версии поддерживается возможность работы с командной строкой. Ближе к делу, первым делом настроим саму программу, для это запускаем конфигурацию и переходим в раздел «Администрирование» - «Общие настройки» и раскроем подраздел « Публикация информационной базы ». В данном подразделе доступны для заполнения два реквизита:

  • Адрес в интернете – это адрес, который используется для формирования ссылок на объекты информационной базы, доступных через публикацию в сети интернет. Другими словами, в данном реквизите указывается адрес публикации базы на веб-сервере;
  • Локальный адрес – это адрес, который используется для формирования ссылок на объекты информационной базы, доступных через публикацию в локальной сети.

Адрес файловой базы

Адрес серверной базы

Настройка Windows для открытия ссылок в тонком или толстом клиенте

Вариант реестрового файла для x86 программы.

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\e1c]
@="URL:e1c"
"URL Protocol"="e1c"
"EditFlags"=hex:02,00,00,00
[HKEY_CLASSES_ROOT\e1c\DefaultIcon]
@="C:\\Program Files (x86)\\1cv8\\common\\1ceunt.dll,17"
[HKEY_CLASSES_ROOT\e1c\shell] [HKEY_CLASSES_ROOT\e1c\shell\open]
[HKEY_CLASSES_ROOT\e1c\shell\open\command]
@="\"C:\\Program Files (x86)\\1cv8\\common\\1cestart.exe\" /URL \"%1\""

Вариант реестрового файла для x64 программы.

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\e1c]
@="URL:e1c"
"URL Protocol"="e1c"
"EditFlags"=hex:02,00,00,00
[HKEY_CLASSES_ROOT\e1c\DefaultIcon]
@="C:\\Program Files\\1cv8\\common\\1ceunt.dll,17"
[HKEY_CLASSES_ROOT\e1c\shell] [HKEY_CLASSES_ROOT\e1c\shell\open]
[HKEY_CLASSES_ROOT\e1c\shell\open\command]
@="\"C:\\Program Files\\1cv8\\common\\1cestart.exe\" /URL \"%1\""

Стоит отметить, перед добавлением данного файла в реестр Windows необходимо убедиться в том, что по указанному пути каталогов, находится исполняемый файл 1сestart.exe . После этого сохраняем как файл реестра. Следующий шаг, это добавление данного файла непосредственно в сам реестр Windows. Для этого запускаем редактор реестра от имени администратора, нажимаем кнопку «Файл» - «Импорт», выбираем созданный файл и нажимаем открыть (Готовые реестровый файл будет прикреплен к публикации для скачивания). В принципе настройка операционной системы Windows, да и всего механизма закончена. В завершении остается только оценить работу функционала. Спасибо за внимание, удачи и успехов.

ВНИМАНИЕ. Данный функционал будет доступен, начиная с версии 3.1.7.0.

Казалось бы, простая задача. но все равно вызывает вопросы у пользователей. Публикация для неопытных и начинающих программистов 1С8. Целью публикации можно считать попытку объяснения решения задачи обычным пользователям (не программистам), но и программистам тоже может быть полезна.

Задача: вызов из формы документа формы обработки, которая реализует на основе ссылки документа собственные функции.

Рассматривается открытие обработки встроенной в конфигурацию. Настройка на основе решения из публикации - формирование ссылки на оплату.

Управляемая форма

Для примера, используем конфигурацию "Управление нашей фирмой, редакция 1.6 (1.6.24.201)".

Как должно работать?

В документе "Заказ покупателя" будет команда, которая открывает форму обработки. Подойдёт любой способ - например, кнопка в шапке документа:


Выполнение команды должно приводить к автоматической подстановке документа в реквизит обработки:


Далее обработка решает свою задачу запрограммированным в неё способом.

Команда запуска обработки

Если обработка отсутствует в метаданных конфигурации, то сперва интегрируем её:


Есть много способов добавить команду вызова формы обработки. Рассмотрим пример:


Двойной клик по команде открывает модуль команды, в который добавим алгоритм запуска обработки:

Реализация команды основана на механизме типовых конфигураций платформы 1С8.

Помещение во временное хранилище структуры и элемента с ключом СсылкаНаДокумент будут нужны для открываемой формы обработки, в которой объявлен ключевой параметр АдресВХранилище:


В модуле формы обработки должна быть серверная процедура ПриСозданииНаСервере, в которой обрабатывается параметр АдресВХранилище:


Свойство СсылкаНаДокумент представлено типом данных ДокументСсылка, поэтому реквизит ДокументОснование объекта обработки должен быть того же типа.

В клиентской процедуре формы ПриОкрытии можно предусмотреть любые дополнительные операции для автоматической обработки реквизита ДокументОснование, например:

Далее можно перейти к тестированию.

Обычная форма

Для примера, используем конфигурацию "Управление производственным предприятием, редакция 1.3 (1.3.143.1)".

Как должно работать?

В документе "Заказ покупателя" будет команда, которая открывает форму обработки. Пункт меню в командной панели документа:


Выполнение команды должно приводить к автоматической подстановке документа в реквизит обработки ДокументОснование:


Далее обработка решает свою задачу запрограммированным в неё способом.

Команда запуска обработки

Если обработка отсутствует в метаданных конфигурации, то сперва интегрируем её в конфигурацию подобно примеру выше для управляемой формы.

Далее нужно добавить команду вызова формы обработки. Есть много разных способов. Например, добавим собственный пункт меню в командной панели формы документа ЗаказПокупателя:


В модуле формы документа будет добавлен метод ДействияФормыСбер, в котором нужно выполнить вызов формы обработки с отправкой ссылки документа через реквизит ДокументОбъект:

Для получения ссылки на документ со стороны обработки в модуле открываемой формы необходимо добавить экспортную переменную и алгоритм заполнения реквизита ДокументОснование в процедуре ПриОткрытии:



Далее нажимаем кнопку в правом верхнем окне программы (выделено красным).




или заходим через главное меню – Сервис – Получить ссылку:


Затем появляется ссылка на документ:


Мы ее копируем и отправляем коллеге письмом или другим способом, которым Вы общаетесь с коллегами.
Также получить ссылку на документ в программе можно с помощью горячих клавиш Ctrl+F11.


2. Открытие документа при помощи ссылки на документ:

После получения ссылки на документ, коллега может его открыть следующими способами:

1. В правом верхнем углу окна программы нажать кнопку «Перейти по ссылке» (см. ниже).


Далее в появившемся окне вставляем присланную ссылку на документ:


И нажимаем кнопку «Перейти», после чего откроется требуемый документ.


2. Перейти по ссылке можно и другими способами: через главное меню – сервис – перейти по ссылке.

3. С помощью горячих клавиш Shift+F11.

Для обмена между коллегами, работающими в одной информационной базе, данными по документам в программе 1С существует способ получения/передачи ссылки на документ.

Ниже приведены примеры, как можно получить ссылку на документ и открыть документ при помощи ссылки:


Открывая документ и нажимая на кнопку «Получить ссылку», копируем ссылку в появившейся форме и отправляем коллеге для просмотра.

Коллега, получая ссылку, нажимает кнопку «Перейти по ссылке», в открывшейся форме вводит полученную ссылку и открывает документ по кнопке «Перейти».

Сегодня мы поработаем с формой документа: научимся ее создавать и добавлять на нее новые реквизиты.

Откроем документ "ПриходДенежныхСредств" и добавим реквизит "Договор" (Рисунок 1).

Укажем у реквизита "Договор" ссылку на справочник "Договоры" (Рисунок 1).

Теперь зайдем в пользователя и проверим изменения (Рисунок 2)!

Теперь я хочу сделать таким образом, что бы при выборе контрагента "Поставщик 3" показывались только те договоры, которые относятся к этому контрагенту! У нас для этого уже есть заготовки и просто необходимо включить этот функционал.

До этого мы указывали, что справочник "Договоры" является подчиненным для справочника "Контрагенты" - является владельцем.

Посмотрите на рисунок 2, сейчас в этом окне показываются все договоры, которые относятся к этому контрагенту и которые не относятся, а мне необходимо лишние отфильтровать по владельцу (контрагенту).

Для этого нужно открыть свойства реквизита "Договор" и найти свойство "Связи параметров выбора" (Рисунок 3).

У этого свойства необходимо нажать на значок многоточия и откроется окно (Рисунок 4).

В этом окне нам необходимо перетащить реквизит, по которому будет делаться отбор - это Контрагент. Нужно выделить реквизит и нажать на значок стрелки вправо и он переместится в правое окно (Рисунок 5).

В правом окне необходимо установить значения, которые показаны на рисунке 5 и нажать "Ок".

Если поле (столбец) "Имя" не отображается как на рисунке, то необходимо по нему дважды щелкнуть и в выпадающем списке выбрать необходимое значение.

После этого нужно перейти в режим пользователя и проверить изменения (Рисунок 6).

На рисунке 6 видно, что реквизит сам добавился и на форму документа и на форму списка, а так же, отбор по владельцу работает.

Работает это так: как только вы выбрали в поле "Контрагент" какой-то элемент, так сразу для поля "Договор" срабатывает отбор и будет показываться только то, что относится к этому владельцу (контрагенту).

Давайте продолжим. Добавим реквизит "Договор" (Рисунок 8) в документ "РасходДенег" - он будет абсолютно таким же, как и в прошлом документе, то есть нужно в свойствах указать отбор по владельцу (если не помните как, то посмотрите выше, там это описано), но перед этим добавим форму документа на вкладке "Формы" (Рисунок 7), выберите необходимые реквизиты, которые будут отображаться на форме и нажмите "Готово".

Закройте форму, она пока нам не нужна и теперь перейдите на вкладку "Данные" и создадим реквизит "Договор" (Рисунок 8).

После этого запустить пользователя и проверить изменения (Рисунок 9).

Посмотрите на рисунок 9, на форме документа нет реквизита "Договор"! Как так и почему? Ведь мы же его создали, а он тут не отображается!

Но, если закрыть форму документа и посмотреть на форму списка (Рисунок 10), то мы увидим, что этот реквизит на этой форме есть!

Как так получается? Почему в одном месте его нет, а в другом есть?

Все очень просто, все точно так же как и в справочнике! Мы создали реквизит после того, как создали форму! А в этом случае платформа понимает: "как только создана форма, она уходит в сторону и все работу по добавлению чего-то нового на форму, отдает полностью пользователю"!

Мы создали форму документа, а потом только создали реквизит. Именно поэтому он не добавился на форму, так как нам нужно добавлять его на форму вручную, а форму списка мы не трогали и именно поэтому платформа сама его добавила!

Давайте добавим реквизит на форму! Для этого откроем объект на вкладке "Формы" и откроем форму документа (Рисунок 11).

Теперь необходимо в правой части окна раскрыть список "Объект" и там найти реквизит "Договор" (Договор 12).

Проверим изменения в пользовательском режиме (Рисунок 13).

Все так и работает: как только создаете какую-то форму, так сразу платформа перестает сама добавлять реквизиты на форму, но если вы до создания формы создали все реквизиты и потом создали форму, то автоматически все реквизиты появятся на форме.

Мало того, что реквизит появился на форме, так и отбор работает - показываются только те договоры, которые относятся к определенному контрагенту!

Теперь проверим изменения в пользователе и убедимся в том, что она не появилась на форме документа - значит, нужно переместить ее сначала на форму в режиме разработчика (Рисунок 15).

Теперь проверим пользователя и будет выглядеть вот так (Рисунок 16).

Как видим по рисунку 16, табличка появилась выше первых двух таблиц, а не стала после таблички "Услуги" как на рисунке 17.

Так, как на рисунке 16, программа тоже будет работать, но не удобно будет, слишком много места занимает одна таблица, а нужно так, как на рисунке 17 - для экономии места и удобности.

Для этого перейдем на форму в режиме разработчика и сделаем следующее:

3. Рисунок 20 - Переименовать новую группу (Имя и Синоним)

4. Рисунок 21 - Переместить в папку "Дополнительно" таблицу "Дополнительно"

5. Рисунок 22 - Запустить пользователя и проверить изменения .

Рисунок 22 - Отображение таблицы в пользовательском режиме Рисунок 22 - Отображение таблицы в пользовательском режиме

Теперь место сэкономлено, стало более удобнее работать!

При добавлении таблички в нужно место мы познакомились побольше с формой, а именно с созданием группировки (папки), которая помогает правильно отобразить элемент на форме. Более подробно с созданием группировки мы поработаем на следующем занятии и разберемся со всем.

На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том. что вам непонятно или вернуться к предыдущим урокам и посмотреть их - ссылки внизу!

В программе 1С:Бухгалтерия предприятия взаиморасчеты с контрагентами ведутся в разрезе договоров. Договоры указываются в различных документах. Рассмотрим, как создавать договоры в программе.

Как включить учет по договорам

Отметим, что учет по договорам может и не вестись. Это, конечно, редкость, но разберем, где включить и отключить договоры.

Зайдем в меню «Главное — Настройки — Функциональность». На закладке «Расчеты» есть флажок «Учет по договорам».

Если в программе уже заведены договоры, то отключить функционал уже не получится.


Как создать новый договор

Создать новый договор можно несколькими способами.

Первый способ — открыть справочник в разделе «Справочники — Покупки и продажи — Договоры». Откроется список всех договоров, новый создается по кнопке «Создать».


Второй способ — открыть карточку контрагента и создать договор на закладке «Договоры».


Получите понятные самоучители по 1С бесплатно:

И третий способ — создавать договор непосредственно в документах, после выбора контрагента.


Заполнение договора

Рассмотрим подробнее, как заполнить новый договор.

Для каждого договора указываются организация и контрагент.

Затем нужно указать вид договора: с покупателем, с поставщиком, с комитентом и так далее.


Некоторые поля доступны для заполнения всегда.

  • Наименование, номер, дата договора и срок его действия.
  • Вид расчетов — указывается в разделе «Дополнительная информация», используется для дополнительной аналитики.
  • Тип цен — тип цен номенклатуры для автоматической подстановки в документах.
  • Валюта. Для того чтобы выбрать валюту в договоре, нужно ее предварительно создать. По умолчанию доступна валюта «руб.».

Доступность остальных полей зависит от выбранного вида договора.


Разберем еще одну важную настройку — срок оплаты.

В программе можно задать общий срок оплаты по покупателям и поставщикам, после которого задолженность будет просроченной. Указывается это в настройках параметров учета. Но часто бывает необходимо для каждого договора установить свой индивидуальный срок оплаты. В этом случае в договоре ставится флажок «Установлен срок оплаты» и указывается его значение.


Дополнительные реквизиты договора

Для договора можно самостоятельно добавить дополнительные реквизиты. Для этого включим настройку. Зайдем в меню «Администрирование — Настройки программы — Общие настройки».


Установим флажок «Дополнительные реквизиты и сведения». Справа будут доступны две ссылки.

Отличие их в том, что реквизиты сразу видны в договоре, а сведения открываются по отдельной кнопке.


Откроем ссылку «Дополнительные реквизиты».

Найдем пункт «Договоры» и создадим новый реквизит.


Заполняем наименование, тип реквизита и другие поля при необходимости.


После сохранения в договоре появится новое поле.


Таким образом можно создать любое количество полей.

Настройка счетов расчетов с контрагентами в разрезе договоров

Счета расчетов с контрагентами используются для автоматической подстановки счетов учета в документы.

Счета могут задаваться в целом по организации, по группе контрагентов, по контрагентам, а также по договорам. То есть для одного контрагента для одного договора задаются свои шаблоны счетов, а для второго договора другие счета.

Для этого в договоре перейдем по ссылке «Счета расчетов с контрагентами».


Добавим новую запись.


Заполняем счета для договора.


Для другого договора создаем новую запись и также указываем нужные счета. Или, если отдельную запись не создавать, будут использоваться счета, заданные для контрагента или организации.

Печать договора

Договор можно распечатать. Для этого нажмем кнопку «Печать» и выберем пункт «Договор».


Выберем вариант для печати.


Откроется текст договора.


Шаблоны договоров

Печатную форму договора можно менять, а также добавлять новые шаблоны. Для этого зайдем в меню «Справочники — Покупки и продажи — Шаблоны договоров».


Здесь можем создать новый шаблон или изменить существующий.


Например, откроем для редактирования договор поставки.

Менять можно не только фиксированный текст, но и параметры, которые будут подставляться автоматически.

Для этого нажмем кнопку «Вставить в текст» и выберем подходящие реквизиты.


Таким образом можно самостоятельно без привлечения программистов изменить договор.

Читайте также: