Имя: Пароль:
1C
1С v8
Гиперссылки
0 Singenor
 
17.07.12
10:35
столкнулся с проблемой, на форме у меня имеются 3 гиперссылки, нужно, чтобы вмесот гиперссылок выводилась информация, т.е.
1 гиперссылка вместо нее чтобы были данные из документа 1
2 гиперссылка данные документа 2
3 гиперссылка данные из документа 3
при нажатии на каждую из гиперссылок открывался соответствующий документ
Как сделать так?
1 Нуф-Нуф
 
17.07.12
10:35
обработка нажатия?
2 Cube
 
17.07.12
10:36
Выведи произвольную надпись, заполняй её как хошь, гиперссылки вешай на нее какие хошь.
3 ale-sarin
 
17.07.12
10:37
(0) А в типовых посмотреть? Например, СчетФактура в Реализации.
4 Singenor
 
17.07.12
11:12
(3) там из общего модуля работа с диалогами. а если я в этом же модуле, где порписаны эти гиперссылки создам процедуру, для вызов неоьходимых мне докуметов, как мне потом сделать ссылку на них?
5 Singenor
 
17.07.12
12:02
прописал код, для вызова данных, как мне тепеь сделаьт ак, тоб этот код прописывался на форму?
6 Cube
 
17.07.12
12:03
УФ?
7 Singenor
 
17.07.12
12:10
УПП+ СРМ
8 Singenor
 
17.07.12
12:10
(6) не, обычные
9 Singenor
 
17.07.12
12:13
Щас я нажимаю на гиперссылку, и ничего не происходит, а я хочу чтобы открывался документ, и чтобы у еня не просто был надпись типа
Договор
а был написан имеено сам договор с датой, ну как в тип реализации счет фактуры, тока там идет ссылка на общий модуль, а я его не особо хочу менять
10 Asmody
 
17.07.12
12:14
(9) у надписи есть обработчик события
11 Asmody
 
17.07.12
12:17
еще у надписи есть свойство заголовок, его можно менять программно
12 ale-sarin
 
17.07.12
12:17
(9) Никто же не говорит его менять. Надо посмотреть что там и как делается.
13 Singenor
 
17.07.12
12:18
Процедура ГиперСсылкаДоговорНаУслугиНажатие(Элемент)
   
   ЭтотОбъект.Контрагент.ОсновнойДоговорКонтрагента.ВидВзаиморасчетов.Наименование;

КонецПроцедуры
14 Singenor
 
17.07.12
12:19
этотобъект и т.д. это от, что должно отображаться, и при нажатии на него, откывается документ с этим договором, но у меня ничего не происходит
15 Cube
 
17.07.12
12:20
Да что там сложного-то?
На вот тебе простой пример: http://files.mail.ru/H6UKCM
16 Cube
 
17.07.12
12:21
+(15) вот весь код обработки:


Перем ТекОрганизация;

Процедура ПриОткрытии()
   
   Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1
                         |    Организации.Ссылка
                         |ИЗ
                         |    Справочник.Организации КАК Организации");
   Выборка = Запрос.Выполнить().Выбрать();
   Если Выборка.Следующий() Тогда
       ТекОрганизация = Выборка.Ссылка;
       ЭлементыФормы.Надпись1.Заголовок = "Жмякни, чтобы открыть организацию " + СокрЛП(Выборка.Ссылка.Наименование);
   КонецЕсли;
   
КонецПроцедуры //ПриОткрытии()

Процедура Надпись1Нажатие(Элемент)
   
   Если НЕ ТекОрганизация.Пустая() Тогда
       ОткрытьЗначение(ТекОрганизация);
   КонецЕсли;
   
КонецПроцедуры //Надпись1Нажатие()

ТекОрганизация = Справочники.Организации.ПустаяСсылка();
17 Singenor
 
17.07.12
12:41
(16) в принципе ясно, но теперь проблема с запросом

ВЫБРАТЬ
                         |    Сервис.Контрагент.ОсновнойДоговорКонтрагента.Родитель.ВидВзаиморасчетов.Наименование КАК Договор
                         |ИЗ
                         |    БизнесПроцесс.Сервис КАК Сервис



выдает мне Null, смтрел отладчиком там так же нулл, как мне вытащить наименование, которое находится по адресу:
тотОбъект.Контрагент.ОсновнойДоговорКонтрагента.ВидВзаиморасчетов.Наименование;
?
18 Cube
 
17.07.12
12:45
(17) Ну так ты весь запрос покажи...
19 Singenor
 
17.07.12
12:47
Запрос = Новый Запрос("ВЫБРАТЬ
                         |    Сервис.Контрагент.ОсновнойДоговорКонтрагента.Родитель.ВидВзаиморасчетов.Наименование КАК Договор
                         |ИЗ
                         |    БизнесПроцесс.Сервис КАК Сервис");
   Выборка = Запрос.Выполнить().Выбрать();
   Если Выборка.Следующий() Тогда
       ТекОрганизация = Выборка.Договор;
       ЭлементыФормы.ГиперСсылкаДоговорНаУслуги.Заголовок = "Договор" + СокрЛП(Выборка.Договор);
   КонецЕсли;
20 Cube
 
17.07.12
12:50
(19) Ну и? Ты выборку запроса-то смотрел? Ты выбираешь все бизнес-процессы из базы. А я протелепатироавав знаю, что тебе нужен только один конкретный безнес-процесс...
21 Cube
 
17.07.12
12:51
+(20) Просто первым в ыборке у тебя идет бизнес-процесс, в котором договор не выбран...
22 Singenor
 
17.07.12
12:52
(20) почему все? есьт бизнес процесс, называется Сервис, из него я и беру данные
23 Cube
 
17.07.12
12:53
(22) А у тебя все договора контрагентов распиханы по папкам? Зачем к родителю договора обращаешься?
24 Singenor
 
17.07.12
12:54
(23) по другому я н знаю как вытащить нужный мне договор(
25 Cube
 
17.07.12
12:55
(22) Я перефразирую тебя: есть справочник, называется "Номенклатура" из него я и беру данные...
26 Cube
 
17.07.12
12:56
+(25) А то что элементов номенклатуры в этом справочнике 100500 штук, ниче да?
27 Singenor
 
17.07.12
12:57
(26), ну да, порблема получается
28 Cube
 
17.07.12
12:58
(27) Давай так: ты зачем запрос-то делаешь?
29 Singenor
 
17.07.12
13:03
надпись формируется правильно, все круто, НО теперь пи нажатии на эту гиперссылку, онанеоткрывается, а просто пишется:
неопределено
30 Cube
 
17.07.12
13:04
(29) Код покажи, как надпись формируешь. Что-то мне подсказывает, что там совсем не круто...
31 Cube
 
17.07.12
13:05
+(30) И покажи код, отрабатываемый при нажатии.
32 Singenor
 
17.07.12
13:05
Запрос = Новый Запрос("ВЫБРАТЬ
                         |    Д_Сервис.Контрагент.ОсновнойДоговорКонтрагента.Наименование КАК Наименование
                         |ИЗ
                         |    БизнесПроцесс.Д_Сервис КАК Д_Сервис");
   Выборка = Запрос.Выполнить().Выбрать();
   Если Выборка.Следующий() Тогда
   КонецЕсли;
   
   ЭлементыФормы.ГиперСсылкаДоговорНаУслуги.Заголовок = СокрЛП(Выборка.Наименование);
33 Cube
 
17.07.12
13:08
(32) Авнокод! Работает только пока у тебя в базе 1 бизнес-процесс...
34 Cube
 
17.07.12
13:09
Ссылка ни бизнес-процесс у тебя есть где-нибудь или нет?
35 Singenor
 
17.07.12
15:32
как я понимаю: у меня есть бизнес процесс который называется Д_сервис к примеру, у него есть форма, на котоорй заданы реквизиты, ну и все в принцпе
36 Singenor
 
17.07.12
15:46
(31)
Процедура ГиперссыкаНажатие(Элемет)

ОткрытьЗначение(ТекДог)

конецпроцедуры

текДог это переменная



Запрос = Новый Запрос("ВЫБРАТЬ
                         |    Д_Сервис.Контрагент.ОсновнойДоговорКонтрагента.Наименование КАК Наименование
                         |ИЗ
                         |    БизнесПроцесс.Д_Сервис КАК Д_Сервис");
   Выборка = Запрос.Выполнить().Выбрать();
   Если Выборка.Следующий() Тогда
   КонецЕсли;
   
   ЭлементыФормы.ГиперСсылкаДоговорНаУслуги.Заголовок = СокрЛП(Выборка.Наименование);
   ТекДог =Выборка.Наименование;
37 Singenor
 
17.07.12
16:19
и сейчас он меняет надпись при открытии формы этого Бизнес процесса, ставлю код в ПРиизменении на контрагента, чтобы в случае измены контрагента брался его договр, и писался в нужную мне строку, но ничего не происходит
38 Singenor
 
17.07.12
16:29
{БизнесПроцесс.Д_Сервис.Форма.ФормаБизнесПроцесса.Форма(316)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
   Если Выборка.ДатаНач < ДоговорДата < Выборка.ДатаКон



ДоговорДата = ЭтотОбъект.Дата;
   Запрос = Новый Запрос("ВЫБРАТЬ
   |    Д_Сервис.Контрагент.ОсновнойДоговорКонтрагента.Наименование КАК Наименование,
   |    Д_Сервис.Контрагент.ОсновнойДоговорКонтрагента.Дата КАК ДатаНач,
   |    Д_Сервис.Контрагент.ОсновнойДоговорКонтрагента.СрокДействия КАК ДатаКон
   |ИЗ
   |    БизнесПроцесс.Д_Сервис КАК УЮ_Сервис");
   Выборка = Запрос.Выполнить().Выбрать();
   
   Если Выборка.ДатаНач < ДоговорДата < Выборка.ДатаКон
       Тогда
       ЭлементыФормы.ГиперСсылкаДоговорНаУслуги.ЦветТекста = WebЦвета.Зеленый;
   Иначе
       ЭлементыФормы.ГиперСсылкаДоговорНаУслуги.ЦветТекста = WebЦвета.Красный;
   КонецЕсли;
39 Singenor
 
17.07.12
16:30
почему не сравивает одинаковые типы данны?
40 Singenor
 
17.07.12
16:47
все, открывается, как теперь сделать, чтоб документ открывался при нажатии на гиперссылку?
41 Singenor
 
17.07.12
18:10
актуальна тема еще(
42 Singenor
 
17.07.12
18:14
все, справился