Как открыть ссылку в 1с
Ежедневно работающие в 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с открыть форму программно. Все описанное ниже, касается только управляемого приложения. Подробно рассмотрим метод глобального контекста ОткрытьФорму.
Также можете ознакомиться с более простыми, но менее гибкими способами открыть форму по ссылке: Как в 1с открыть ссылку.
Метод ОткрытьФорму по имени
Самый гибкий и настраиваемый способ программного открытия формы в 1с 8. Рассмотрим подробно его параметры, а также разберем несколько примеров его использования.
Следует заметить, что метод ОткрытьФорму является клиентским. Т.е его можно использовать либо в общих модулях с установленным флагом Клиент, либо в процедурах (функциях) форм с директивой &НаКлиенте.
Рассмотрим параметры метода и приведем необходимые примеры.
ИмяФормы
Содержит полный путь к форме. Можно указать, как путь к форме по умолчанию, так и путь к произвольной форме объекта метаданных. Имя формы указывается в следующих двух форматах:
- ТипОбъекта. Наименование типа объекта метаданных, например: Справочник, Документ, РегистрСведений и т. д.;
- ИмяОбъекта. Наименование объекта метаданных. Например для справочника: Пользователи, Номенклатура;
- ИмяФормыПоУмолчанию. Стандартное имя формы, набор имен по умолчанию различается для различных объектов метаданных. Например для документа: ФормаВыбора, ФормаОбъекта, ФормаСписка. Полный набор имен по умолчанию можно найти в синтаксис помощнике, в описании метода ОткрытьФорму;
- ИмяФормы. Произвольное имя формы, заданное при ее создании. Например у справочника Пользователи, форма СменаПочты.
Пример 1. Путь к форме выбора по умолчанию, справочника Номенклатура.
Пример 2. Путь к форме СменаПочты справочника Пользователи, по ее имени.
Параметры
Содержит Структуру параметров, которые передаются в открываемую форму. Для каждого типа формы, существует набор стандартных параметров, которые не нужно дополнительно обрабатывать в самой форме. Также набор параметров может различаться и для объектов метаданных. Например, параметр Ключ, для форм объектов. В него можно передать ссылку на открываемый объект (если его не передать, будет открыта форма нового объекта).
Подробнее прочитать описание всех возможных стандартных параметров можно в синтаксис помощнике, в ветке Интерфейс (управляемый) -> Форма клиентского приложения (в старых версиях платформы Управляемая форма). Далее в ветках Расширение объектов, Расширение справочника и т. д., можно найти Параметры формы. Там дается полный список возможных стандартных параметров с описаниями.
Также в структуру можно передавать произвольные параметры, которые можно обрабатывать программно, в открываемой форме. Например в обработчике события ПриСозданииНаСервере.
Рассмотрим примеры открытия различных форм с использованием параметров.
Пример 3. Открыть форму объекта справочника Пользователи, используя ссылку на объект.
Пример 4. Открыть форму списка справочника Номенклатура с отбором по реквизиту ВидНоменклатуры и по списку родителей.
Здесь Отбор — это стандартный параметр для форм, использующих в качестве основного реквизита Динамический список. Например, это формы списка и выбора. Он представляет из себя Структуру, в которую можно добавить значения элементов отбора. В Ключ — имя реквизита, в Значение — значение отбора.
Данным способом можно отобрать значения, используя вид сравнения Равно или ВСписке. Для отбора ВСписке следует добавить в структуру Массив, ФиксированныйМассив, либо СписокЗначений. Следует заметить, что отбор ВИерархии установить данным способом не выйдет.
Владелец
В данный параметр передается элемент формы или форма клиентского приложения (управляемая форма) полностью. Используется для указания подчинения открываемой формы.
Это может потребоваться для многих целей, например для:
- Анализа владельца и выполнения определенных действий в открываемой форме;
- Корректной работы события ОбработкаЗаписиНового, в форме владельце;
- Самостоятельной реализации выбора в поле формы.
Пример 5. Реализовать программный выбор элемента Номенклатура, в поле ввода.
В данном случае необходимо:
- Создать обработчик события НачалоВыбора, для поля ввода;
- Отменить стандартную обработку выбора;
- В параметр Владелец передать элемент формы (поле).
Параметр ТекущаяСтрока, позволяет выделять ранее выбранный элемент в форме выбора. Стоит заменить, что в обычной ситуации такой метод выбора значений не применяется. Его применяют только тогда, когда нет возможности настроить форму выбора под условия задачи.
Уникальность
В параметре можно задать ключ уникальности формы произвольного типа. При открытии формы, платформа будет анализировать, есть в текущем сеансе уже открытая форма, с таким же ключом уникальности. Если такая форма будет найдена, то она будет активизирована, а новая не откроется. Этот механизм работает только для одинаковых форм. Если вы будете открывать формы объекта разных документов с одинаковым ключом, то откроются обе.
По умолчанию, платформа сама генерирует ключ уникальности. Поэтому помимо использования собственного ключа, в параметре Уникальность, можно регулировать использование стандартного. Если передать в него значение Ложь, то будет использован стандартный ключ, если значение Истина, то ключ не будет использоваться совсем. Т.е. будет создаваться новая форма, при каждом использовании метода ОткрытьФорму. Значением по умолчанию является Ложь, поэтому специально задавать его не требуется.
Пример 6. Одновременно открыть две формы объекта справочника Пользователи, по одной и той же ссылке.
В параметре можно указать окно, в котором будет открыта новая форма. Тип параметра ОкноКлиентскогоПриложения.
Пример 7. Реализовать программный выбор элемента Номенклатура, в поле ввода. Реализовать выбор в окне формы, на которой расположено поле.
В этом примере мы получаем окно текущей формы и используем его для открытия формы выбора справочника.
НавигационнаяСсылка
Позволяет установить собственную навигационную ссылку для открываемой формы. Устанавливаемая навигационная ссылка должна иметь тип Строка. Значение по умолчанию: Неопределено, при использовании этого значения, навигационная ссылка задается автоматически.
ОписаниеОповещенияОЗакрытии
В параметр передается описание процедуры, которая будет вызвана после закрытия открываемой формы. Тип параметра: ОписаниеОповещения.
Пример 8. В 1с открыть форму программно. Использовать форму объекта справочника Пользователи. После ее закрытия сообщить, что карточка пользователя закрыта.
Используемые в примере параметры описания оповещения:
- Первый: имя процедуры;
- Второй: модуль, в котором она расположена (в данном случае текущая форма);
- Третий: структура дополнительных параметров, которая будет передана в процедуру;
Описанная процедура обязательно должна иметь два параметра:
- Результат. Значение, которое возвращает форма при закрытии. Форма объекта не возвращает значений (если это специально не прописать), поэтому в данном случае значение параметра будет Неопределено. А вот форма выбора, например, вернет массив выбранных значений.
- ДопПараметры. Структура параметров, созданная в описании оповещения.
Также описанная процедура должна быть экспортной.
РежимОткрытияОкна
Позволяет указать режим открытия управляемой формы. По умолчанию Неопределено, вручную можно задать одно из значений системного перечисления РежимОткрытияОкнаФормы:
- БлокироватьВеcьИнтерфейс;
- БлокироватьОкноВладельца;
- Независимый.
Метод ОткрытьФорму по форме
Существует еще один вариант синтаксиса метода ОткрытьФорму.
Используется, если вы уже получили форму, произвели с ней какие-то действия и теперь ее необходимо открыть.
Пример 9. Получить форму списка справочника Номенклатура, а затем в 1с открыть форму программно.
Условия 1С. Использование условного оператора
Как и в любом языке программирования, во встроенном языке 1С 8 присутствует условный оператор. Он позволяет выполнять определенный набор операторов, в зависимости от выполнения логического выражения. Использование условия в 1с позволяет организовать ветвление алгоритма, в зависимости от различных параметров работы системы. Синтаксис условий 1С В общем виде условный оператор выглядит
Циклы 1с 8 — описание с примерами
В статье будут описаны циклы 1с 8: их разновидности, назначение и применение. А также рассмотрены примеры их использования для конкретных задач. Цикл в 1с, как и в других языках программирования, предназначен для многократного повторения операторов, находящихся внутри него. В 1с существует три вида циклов: Вид цикла Описание Пока Цикл осуществляющий
1С html. Cоздание поля html документа
В статье на примере будут описаны все этапы создания поля html документа. В 1с html поле позволяет представить данные, которые не требуется редактировать, в более эстетичном виде. Разработчик может применить возможности html для создания и настройки формы справочника или бизнес-процесса (как делается в конфигурации Документооборот). Рассмотрим пример. Разработаем обработку, которая
Данные строки 1С — метод таблицы формы
ДанныеСтроки — метод таблицы формы, возвращающий структуру данных строки. Строка передается в параметр метода. Возвращает значение одного из трех типов (в зависимости от источника таблицы формы): ДанныеФормыСтруктура, ДанныеФормыЭлементКоллекции, ДанныеФормыЭлементДерева. В общем случае использование метода Данные строки 1с выглядит следующим образом: ДанныеСтроки = Элементы.ТаблицаФормы.ДанныеСтроки(ИдентификаторСтроки); Вся информация, представленная в статье, относится только к управляемому
Использование свойства Текущая строка 1С
ТекущаяСтрока — свойство таблицы формы, содержащее идентификатор текущей строки. Тип свойства может различаться в зависимости от источника таблицы. Для всех источников, кроме динамического списка текущая строка 1с — это числовой идентификатор. Для динамического списка возможны несколько вариантов Ссылка. Если у динамического списка задана основная таблица объектного типа данных (Справочник, Документ
Работа со свойством текущие данные 1С
ТекущиеДанные — свойство таблицы формы, предоставляющее доступ к данным текущей строки. Оно может быть представлено тремя типами данных (в зависимости от источника таблицы формы): ДанныеФормыСтруктура, ДанныеФормыЭлементКоллекции, ДанныеФормыЭлементДерева. По сути, в каждом из этих случаев, текущие данные 1с представляют из себя структуру текущей строки таблицы формы. Вся информация, представленная в статье, относится только
Формат даты 1С использование на примерах
В статье представлены способы задать формат даты 1с 8. Для этого необходимо использовать форматную строку. Редактировать ее можно либо вручную, либо при помощи специального конструктора. Форматные строки используются в: Программном коде, в функции Формат; Формат(, ) Свойствах полей формы, в свойстве ФорматРедактирования; Оформлении поля СКД. Схема компоновки -> вкладка Поля
Как в 1с открыть форму программно
В статье будет рассказано о том, как в 1с открыть форму программно. Все описанное ниже, касается только управляемого приложения. Подробно рассмотрим метод глобального контекста ОткрытьФорму. Также можете ознакомиться с более простыми, но менее гибкими способами открыть форму по ссылке: Как в 1с открыть ссылку. Метод ОткрытьФорму по имени Самый гибкий
Как в 1с открыть ссылку на документ
В статье будет описано, как в 1с открыть ссылку на документ, справочник и т.д. В данном случае имеется в виду открытие формы объекта, используя ссылку на него. Рассмотрим три способа решения поставленной задачи. Открыть ссылку используя ПоказатьЗначение Самый простой способ, использовать метод глобального контекста ПоказатьЗначение. Который показывает в диалоге значение
Пустая ссылка в запросе 1с проверка и использование
В статье вы узнаете, как применяется пустая ссылка в запросе 1с. Пустые ссылки можно использовать в различных конструкциях языка запросов: условиях раздела ГДЕ; в качестве значения поля запроса; конструкциях ВЫБОР КОГДА…; конструкциях ЕСТЬNULL; условиях связей таблиц. Пустая ссылка в условиях запросов 1с Для использования пустой ссылки ее необходимо передать ее
Очень часто в работе приходится делать рассылку оповещений с указанием в письме ссылки на какой-либо объект. Веб клиент работает не так стабильно как хотелось бы, поэтому иногда от него приходится отказаться. В данном случае есть альтернативное решение.
Очень часто в работе приходится делать рассылку оповещений с указанием в письме ссылки на какой-либо объект. Веб клиент работает не так стабильно как хотелось бы, поэтому иногда от него приходится отказаться. В данном случае есть альтернативное решение.
- Открытие тонкого клиента 1С по ссылке.
- Открытие заданного объекта при старте системы на стороне 1С.
Данным действием мы регистрируем в операционной системе собственный протокол e1cb, к которому можно получить доступ из браузера по ссылке вида e1cb://навигационная_ссылка. При переходе по данной ссылке будет вызвана команда запуска 1с с соответствующей переданной навигационной ссылкой.
Вариант 1, подходит для 8.2 и 8.3, требует в дальнейшем модификации конфигурации.
Для этого нужно зарегистрировать в операционной системе собственный протокол. Это делается с помощью файла реестра.
Запускаем с правами администратора и вносим изменения, заменив предварительно пути, адрес сервера, порт и имя базы.
Данный пример иллюстрирует соединение с базой в клиент-серверном варианте. Для файловой базы нужно использовать параметр /F"путь_до_каталога_с_файловой_базой" вместо /S.
Для большего удобства рекомендуется настроить доменную аутентификацию, чтобы пользователю не нужно было вводить логин и пароль.
Пример ссылки для данного варианта:
e1cb://e1cib/data/Документ.бит_ПроектДоговора?ref=80cc00505681538311e43a7255c2162a
Вариант 1, подходит только для 8.3, не требует в дальнейшем модификации конфигурации.
Текст файла реестра аналогичен за исключением последнего параметра.
В этом случае ссылка на стороне 1С будет обработана автоматически, однако этот параметр появился только в 8.3
Открытие заданного объекта при старте системы на стороне 1С.
Для того, чтобы в первом случае при старте 1С открылся заданный объект нужно внести небольшую правку в код конфигурации.
Открываем "Модуль управляемого приложения"
Находим функцию "ПриНачалеРаботыСистемы()" и в ее конец добавляем:
Все, теперь при старте системы будет проверяться передаваемый параметр и открываться соответствующий объект.
Ежедневно работающие в 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.
Читайте также: