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с. Передо мной сторит зада создать форму где будет кнопка добавить, нажимая на эту кнопу должен открываться справочник где будут ссылки на документы, выбирая любую они должны добавиться на форму.Как это осуществить
Судя по отсутствию знака вопроса, аффтар нам сейчас это будет все рассказывать в деталях. Ну давай, мы слушаем.
(0) На этом форуме принято девушкам сначала фотку в личную карточку вставлять, а потом уже спрашивать :)
(30) Просто у меня подозрение, что ты не совсем понимаешь чего хочешь :)
Открой любой список документов, оттуда можно открыть их. Состав колонок можно настроить.
у меня есть форма в ней кнопочка добавить должна быть, когда я сверху на эту кнопочку нажимаю должен окрыться справочник в котором есть поля наименование и ссылка на документ, выбрав любой из перечисленных документов должен попасть в виде гиперссылки в форму)))может так яснее станет))
(32) У тебя есть справочник (!) в котором есть ссылка на документ? Конфигурация типовая или самописная?
(55) Тогда тебе нужно сначала решить: ты эти файлы хочешь в базе 1С хранить или пусть они храняться на сервере где-нибудь, а в 1С просто ссылки на них?
(59) Я к тому, что нельзя сделать так, чтобы по кнопке "Добавить" открывалось бы окно выбора файла на жестком диске компьютера и пользователь бы выбирал нужный файл?
потрать время, прочитай какую-то книжку по 1с. хотя бы Радченко, хотя бы по диагонали, чтобы ты могла правильно вопросы задавать. и чаще поиском пользуйся, там 95% уже обсуждалось.
(76) Ну и что. Кстати, рисуют они так себе))
Делай как в (61), не нужно промежуточного справочника, т.к. функциональности он никакой не несет.
(80) Не, так дела не делаются. Ты, как специалист, должна говорить как нужно сделать, а не они.
Ну вот смотри:
1). Жмешь на кнопку "Добавить". Открывается твой справочник.
2). В справочнике нового файла нет, жмешь "Добавить" там.
3). Ищешь файл на диске, и выбираешь его.
4). Выбираешь только что добавленный файл в справочнике.
5). Файл добавился к сотруднику.
Если сделать без справочника, то пункты 2 и 4 можно выкинуть. Это же куда удобнее будет.
это как образец, код не идеален :)
по причине:
Произошла исключительная ситуация (Microsoft Word): Неверно указаны путь или имя документа.
Попробуйте выполнить следующие действия:
* Убедитесь, что путь введен правильно.
* Выберите команду ''Открыть'' в меню ''Файл'' и выберите нужный файл из списка.
(C:\Users\. \578227.doc)
Рассмотрим варианты размещения элементов на форме на примере вывода реквизитов документа на форму документа, состав документа представлен на рис. 1:
Рис. 1. Реквизиты документа
Добавляем форму документа, по умолчанию все элементы формы будут располагаться сверху вниз по порядку (рис. 2):
Рис. 2. Расположение элементов на форме по умолчанию
Сделаем форму более удобной для просмотра и ввода значений.
Поля Документ основание, Ответственный и Комментарий сдвинем вниз, для этого выделяем эти поля и нажимаем стрелку вниз (рис. 3):
Рис. 3. Перемещение полей
Поле Документ основание представим в виде ссылки, чтобы при нажатии открывалось значение реквизита Документ основание. Открываем свойства поля ДокументОснование правой кнопкой мыши Свойства или Alt Enter (рис. 4):
Рис. 4. Открытие свойств поля
В окне Свойства у свойства Вид устанавливаем значение Поле надписи, отмечаем галочкой свойство Гиперссылка (рис. 5). Можно убрать заголовок поля Документ основание:, если у свойства ПоложениеЗаголовка изменить значение на Нет.
Рис. 5. Настройка свойств поля-гиперссылки
Зададим обработку события нажатия гиперссылки: в окне Свойства в разделе События нажимаем на значок лупы у события Нажатие (рис. 6):
Рис. 6. Событие Нажатие
В открывшемся окне оставляем значение Создать на клиенте, нажимаем ОК. Откроется модуль формы документа с шаблоном процедуры ДокументОснованиеНажатие(), добавляем строку ПоказатьЗначение(,Объект.ДокументОснование); (рис. 7):
Рис. 7. Обработка нажатия на гиперссылку
Само значение реквизита ДокументОснование будет определяться при создании на основании, задаем это на вкладке Ввод на основании (рис. 9):
Рис. 9. Ввод на основании
и прописываем в процедуре ОбработкаЗаполнения() в модуле объекта документа (рис. 10, рис. 11):
Рис. 10. Открытие модуля объекта документа Рис. 11. Создание процедуры ОбработкаЗаполнения() в модуле объекта документа
В процедуру ОбработкаЗаполнения() в модуле объекта документа добавим строку ДокументОснование = ДанныеЗаполнения.Ссылка;.
Теперь в пользовательском режиме у созданного на основании документа поле Документ основание будет выглядеть так (рис. 12):
Рис. 12. Гиперссылка в пользовательском режиме
Вариант 1: ОкноКлиентскогоПриложения (ClientApplicationWindow)
ПолучитьНавигационнуюСсылку (GetURL)
Синтаксис:
Код 1C v 8.х
Возвращаемое значение:
Тип: Строка.
Описание: Получает навигационную ссылку в формате 1С:Предприятия на текущую форму.
Доступность: Тонкий клиент, веб-клиент, толстый клиент, внешнее соединение.
Вариант 2: Глобальный контекст (Global context)
ПолучитьНавигационнуюСсылку (GetURL)
Синтаксис:
Код 1C v 8.х
Параметры: (обязательный)
Тип: Ссылка на объект информационной базы. Ссылка на объект. (необязательный)
Тип: Строка. Имя реквизита объекта или ресурса Регистра сведений, для которого нужно выяснить ссылку. Если это реквизит табличной части объекта, то параметр указывается как ., то есть с разделителем "." (точка).
(необязательный)
Тип: Число. Индекс строки в табличной части, в том случае если объект является реквизитом табличной части. Первая строка имеет индекс равный 0.
Возвращаемое значение: Тип: Строка.
Описание: Получает текст ссылки на объект информационной базы или его реквизит в формате 1С:Предприятия.
В первом случае принимает в качестве параметра ссылку на объект (это может быть как ссылка, так и ключ записи регистра сведений). Объектом могут быть: справочник, документ, ключ записи регистра сведений, бизнес процессы, задачи.
Во втором, в качестве параметров принимает ключ объекта (это может быть как ссылка, так и ключ записи регистра сведений) и имя реквизита (ресурса). Если нужно получить ссылку на реквизит табличной части, перед именем реквизита необходимо добавить имя табличной части и точку ".".
Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание: Выполняет обращение к серверу только при получении ссылки на реквизит. При получении ссылки на объект информационной базы запрос на сервер не выполняется.
Код 1C v 8.2 УП
Получить навигационную ссылку для константы?
Вопрос: В конфигурации есть константа с типом ХранилищеЗначения для хранения изображения. Пытаюсь реализовать Загрузку и Выгрузку изображения: СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Константы.Логотип.Получить());
где СсылкаНаКартинку - реквизит формы с типом строка, а на форме есть элемент, у которого путь к данным = СсылкаНаКартинку
Возможно ли реализовать отображение картинки таким образом, или стоит хранить картинку где-либо еще?
Ответ:
Навигационную ссылку на константу получить не получится(
Получится только так:
Код 1C v 8.2 УП
т.е. в процедуру ПриСозданииНаСервере поместить картинку во временное хранилище и она там сидит пока закроете форму
Есть форма списка справочника "Сотрудники".
В нем есть реквизит "Фото", который имеет тип "СправочникСсылка.ХранилищеДополнительнойИнформации" (справочник "ХранилищеДополнительнойИнформации" по структуре полностью совпадает анологичным справочником в 1С 8.1).
В реквизиты формы списка добавил "АдресКартинки" тип "строка", в элементы добавил поле "Картинка" (вид - поле картинки) с путем к данным "АдресКартинки". Как вывести Картинку?
Ответ:
Код 1C v 8.2 УП
"Хранилище" - это "стандартный" реквизит справочника "ХранилищеДополнительнойИнформации".
Имеется регистр сведений с именем "Изображения" следующей структуры:
Измерения:
- ИдИзображения (тип - уникальный идентификатор);
Реквизиты:
- Изображение (тип - ХранилищеЗначений)
Реализовать возможность записи изображений в него, проблемы не составило. А застрял на получении навигационной ссылки на нужную запись регистра?
Ответ - Для регистра сведений первым параметром должен быть ключ записи, а не ссылка на объект.
Т.е. если есть регистр сведений ХранилищеКартинок с изменением Ном (тип справочник Ном) и ресурс Картинка (тип хранилище значений) - код для получения навигационной ссылки должен быть примерно таким:
Код 1C v 8.2 УП
Похожие FAQ
Еще в этой же категории
Полнотекстовый поиск в 1С (что это и пример использования) 23
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов Формат, функция форматирования значений 21
//Функция формирует удобное для чтения представление значений. // Примеры форматирования чисел ЗначФормат = Формат(123456.789, " ЧЦ=10; ЧДЦ=2" ); // ЗначФормат = " 123 456,79" ЗначФормат = Формат(123456.789, " ЧГ=0; ЧДЦ=2" ); // Знач Обработчики событий при записи объектов. Зачем и что за чем? 12
Программисту, имеющего немного опыта на платформе 1С 8.2, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта, а-а-а-а-аааа. Именно такое сложное чувство непонимания УстановитьСсылкуНового 11
Установить ссылку нового это специальный механизм программиста, который позволяет присваивать новому объекту нужную ссылку. В основном это задача обмена, во многих типовых обменах используется синхронизация по UID объекта. Рассмотрим этот метод на к МоментВремени, получение остатков до и после проведения 9
" Момент времени" - виртуальное поле, не хранится в базе данных. Содержит объект МоментВремени (который включает в себя дату и ССЫЛКУ НА ДОКУМЕНТ) В 7.7 было понятие ПозицияДокумента, а в 8.x Момент времени Для получения Остатков, Движений: М Посмотреть все в категории Встроенные Функции
программное добавление гиперссылки на форму 1С — УФ
Элемент = ЭтаФорма.Элементы.Добавить("Ссылка"+сс,Тип("ДекорацияФормы"), ЭтаФорма.Элементы.СсылкиНаВложения); // ("ЕдиницаДляПодбора", Тип("ПолеФормы"), ЭтаФорма.Элементы["Единицы"]);
Элемент.Гиперссылка =Истина;
Элемент.Заголовок = "ya.ru"; // сюда вставить имя вложения. будет видно на форме
Элемент.Подсказка = "ya.ru";
как теперь правильно сделать — чтоб оно отрабатывало нажатие на эту ссылку ?
т.е. если просто ддекорацию добавить — то у него есть процедура — ОбработкаНавигационнойСсылки
Как Гиперссылку Сделать Ссылкой На Документ?
Как глобально или локально получить гиперссылку на документ.
Необходимо дать пользователю по клику получит гипер-ссылку на д-т. Не лотусовую, а ту что в св-вах.
Как сделать гиперссылку?
Здравствуйте! Есть база данных с ссылками на сайты. Ссылки выведены с помощью DBText, как сделать.
Как сделать гиперссылку на форме
Как сделать гиперссылку, как показано на картинке?
Как сделать гиперссылку в Image?
Как сделать гиперссылку в Image?
У меня сделано так:
Код ( (Unknown Language)):
//———————————————————-
// Анализируем если произошло нажание не ссылку
Процедура СодержаниеПредыдущиеonclick(Элемент, pEvtObj)
htmlElement = НайтиСсылку(pEvtObj.srcElement);
Если htmlElement = Неопределено Тогда
Возврат;
КонецЕсли;
// Не отработали нажатие
pEvtObj.returnValue = Ложь;
// Если у ссылки есть идентификатор
СсылкаНаОбъект = htmlElement.id;
Если ЗначениеПустое(htmlElement.id) Тогда
Возврат;
КонецЕсли;
// Получаем адрес ссылки из атрибута id
Документы.Контакт.ПолучитьСсылку(Новый УникальныйИдентификатор(СсылкаНаОбъект)).ПолучитьФорму().Отк рыть();
КонецПроцедуры
v8: Работа с гиперссылками
: Ошибка при вызове метода контекста (Выполнить)
ВыборкаИзЗапроса = Запрос.Выполнить().Выбрать();
по причине:
Читайте также: