Имя: Пароль:
1C
 
СКД и гиперссылка
,
0 wmzdeadman
 
08.06.15
16:35
Добрый день!
Делаю отчет на СКД с программным выводом, т.к. внешний набор данных, хочу вместо текстового поля "выдать купон" отображалась гиперссылка, обработку расшифровки уже написал по двойному клику на это поле.
1 DomanM
 
08.06.15
16:40
молодец
2 wmzdeadman
 
08.06.15
16:45
3 wmzdeadman
 
08.06.15
16:46
(1) Спасибо. Может по существу что скажете?
4 wmzdeadman
 
08.06.15
16:49
Хочется чтобы колонка купон с надписью выдать купон выглядела как гиперссылка, имхо нагляднее, что тудой надо тыкать чтобы выдать купон покупателю
5 Web00001
 
08.06.15
16:52
Ну подчеркни текст, а что в табличном документе, можно вставлять гиперссылки?
6 wmzdeadman
 
08.06.15
16:56
(5) а разве нет? Двойной клик хотелось на одинарный по гиперссылке хотелось сделать всёж-таки...
7 Web00001
 
08.06.15
17:00
(6)То есть ты тоже не знаешь? Я просто думал, что нельзя, до этого не видел просто, может не обращал внимания... но вроде как не было.
8 Classic
 
08.06.15
17:00
(6)
Обойди получившийся табличный документ и проставь галочку Гиперссылка
9 wmzdeadman
 
08.06.15
17:09
(8) Тоже думал об этом. Но в какой момент обходить?
10 DexterMorgan
 
08.06.15
17:14
(8) Лучше кажись вручную вывод прописать и там менять
11 DexterMorgan
 
08.06.15
17:14
(9) ПриКомпоновкеРезультата
12 wmzdeadman
 
08.06.15
17:15
(10) Вывод итак вручную - стандартный вывод скд программно
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
        ВнешниеНаборыДанных = Новый Структура;
        ВнешниеНаборыДанных.Вставить("ТабОстатки", Таб);
        Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
        Если НастройкаОтчета <> Неопределено Тогда
            Настройки = НастройкаОтчета;
        КонецЕсли;    
        Если ОтборОтчета <> Неопределено Тогда
            Настройки.Отбор.Элементы.Очистить();
            Для Каждого ТекЭлементОтбора Из ОтборОтчета.Элементы Цикл
                НовСтрокаОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
                ЗаполнитьЗначенияСвойств(НовСтрокаОтбора, ТекЭлементОтбора);
            КонецЦикла;    
        КонецЕсли;    
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
        //ДанныеРасшифровки = Неопределено; //Новый ДанныеРасшифровкиКомпоновкиДанных;        
        МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
        
        Форма.ЭлементыФормы.Результат.Очистить();
        
        ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки, Истина);
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(Форма.ЭлементыФормы.Результат);
        ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
13 DexterMorgan
 
08.06.15
17:16
(12) ну вот после вывода и обходи Форма.ЭлементыФормы.Результат
14 wmzdeadman
 
08.06.15
17:18
(13) Я бы и не против, но Форма.ЭлементыФормы.Результат - ПолеТабличногоДокумента, его вроде как обойти нельзя
15 ДенисЧ
 
08.06.15
17:27
(14) давно?
16 Timon1405
 
08.06.15
17:29
(12) Можно попробовать так
вместо //ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

ПроцессорВывода.НачатьВывод();
Пока истина Цикл
    ЭлементРезультата = ПроцессорКомпоновки.Следующий();
    Если ЭлементРезультата = Неопределено Тогда
        прервать;
    КонецЕсли;    
    //Тут можно что-нибудь поймать
    ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
17 DexterMorgan
 
08.06.15
17:30
(16) +1 во-во я в (10) про это и писал, всяко лучше чем два раза вывод делать
18 DexterMorgan
 
08.06.15
17:31
(14) А че не получается?
19 wmzdeadman
 
08.06.15
17:50
(15)(18) Итератор не задан как бэ ругается
20 wmzdeadman
 
09.06.15
09:49
Получилось так (немного не так как хотелось но все же)
КолСтрок = Форма.ЭлементыФормы.Результат.ВысотаТаблицы;
        Обл = Форма.ЭлементыФормы.Результат.Область(1,3,КолСтрок,3);
        Обл.ГиперСсылка = Истина;

Ну и оформление в СКД поставил цвет синий и подчеркивание - теперь форма с выдачей купона открывается по одному клику
21 Classic
 
09.06.15
11:22
(20)
Будет работать, пока вариант отчета не поменяют :)
22 wmzdeadman
 
09.06.15
14:13
(21) да я знаю) поэтому его никто и не будет менять - все варианты выбора отчета сделаны и заточено под них)))