Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как в СКД установить тип значения вместо текста - ссылку.

Как в СКД установить тип значения вместо текста - ссылку.
Я
   MAPATNK2
 
19.03.19 - 09:25
Как в СКД установить тип значения вместо текста - ссылку. Обычные формы УПП.
 
 
   MAPATNK2
 
1 - 19.03.19 - 09:36
Т.е в результате отработки отчета выводится список документов и кол-во. Но при нажатии на документ в процедуре обработки выбора я получаю просто текст "Заказ покупателя №.... дата", и чтобы не писать парсер для получения кода, поиска документа по номеру и дате, хотелось бы сразу , при двойном нажатии открывать документ. При программном открытии форма не реагирует на двойной нажатие. Но при открытие "Файл-Открыть" отрабатывается стандартная процедура расшифровки.
   MAPATNK2
 
2 - 19.03.19 - 09:36
Не понятно почему
   MAPATNK2
 
3 - 19.03.19 - 09:49
Либо мой вопрос настолько глупый, что никто не хочет ответить, либо никто не делал подобного, хотя это вряд ли.
   MAPATNK2
 
4 - 19.03.19 - 10:00
Может при программном открытии отчета необходимо какой-то параметр в истину переназначить, чтобы отрабатывалась стандартная обработка?
   mistеr
 
5 - 19.03.19 - 10:07
>Но при нажатии на документ в процедуре обработки выбора я получаю просто текст

Это где нажатие? В поле формы, в ячейке таб. документа, где-то еще?
   MAPATNK2
 
6 - 19.03.19 - 10:16
(5) При нажатии на ячейку в форме отчета.
   Вася Теркин
 
7 - 19.03.19 - 10:19
Тема называется "Как добавить расшифровку в СКД?". Есть такие прямоугольные, книги, вроде называются. Но не Митичкин. Хрусталёва, вроде.
   palsergeich
 
8 - 19.03.19 - 10:19
Ссылка в расшифровке лежит, кури гугл
   mistеr
 
9 - 19.03.19 - 10:19
(6) Используй ОбработкаРасшифровки, там все будет.
   MAPATNK2
 
10 - 19.03.19 - 10:20
(9) В обрработке расшифровки в параметре Расшифровка тупо лежит число. И что я с ним должен делать? Я уже искал про ОбработкаРасшифровки ничего не дало.
   mistеr
 
11 - 19.03.19 - 10:23
(10) Поищи еще про ДанныеРасшифровки.
   MAPATNK2
 
12 - 19.03.19 - 10:26
Есть како-то параметр, который отвечает за отработку стандартной процедуры ОбработкаРасшифровки ? Я же объясняю , через "Файл - открыть" все работает, а через 
СсылкаНаОбъект = Справочники.ВнешниеОбработки.НайтиПоКоду("000000072");
        
        ЭтоОбработка = ?(СсылкаНаОбъект.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка, Истина, Ложь);
        ЭтоОтчет = ?(СсылкаНаОбъект.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Отчет, Истина, Ложь);
        
        Если НЕ (ЭтоОбработка ИЛИ ЭтоОтчет) Тогда
            Возврат;
        КонецЕсли;
        
        ИмяФайла = ПолучитьИмяВременногоФайла();
        ДвоичныеДанные = СсылкаНаОбъект.ХранилищеВнешнейОбработки.Получить();
        ДвоичныеДанные.Записать(ИмяФайла);
        
        Попытка
            Если ЭтоОбработка Тогда
                Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
            Иначе
                Форма = ВнешниеОтчеты.ПолучитьФорму(ИмяФайла);
            КонецЕсли;
            
            Если Не Форма = Неопределено Тогда
                НастройкиКД = Форма.КомпоновщикНастроек.ПолучитьНастройки();
                ПолеНоменклатура  = Форма.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Номенклатура");
                НовыйОтбор = НастройкиКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
                НовыйОтбор.ЛевоеЗначение = ПолеНоменклатура.Поле;
                НовыйОтбор.ПравоеЗначение = ТекущаяНоменклатура;
                НовыйОтбор.Использование = Истина;
                
                Форма.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКД);
                Форма.РежимВыбора = Истина;
                //Форма = Форма.ПолучитьФорму("ФормаОтчета");

                Форма.СкомпоноватьРезультат(Форма.ЭлементыФормы.Результат);//таб док на форме

                Форма.Открыть();


                //Форма.Открыть(СтрПараметры);

            Иначе
                Сообщить("Форма открываемой обработки или отчета не определена.", СтатусСообщения.БезСтатуса);
            КонецЕсли;
        Исключение
            Если ЭтоОбработка Тогда
                Предупреждение("Выбранный файл не является внешней обработкой.
                |Либо, данная обработка не предназначена для
                |запуска в этой конфигурации.");
            Иначе
                Предупреждение("Выбранный файл не является внешним отчетом.
                |Либо, данный отчет не предназначена для
                |запуска в этой конфигурации.");
            КонецЕсли;
        КонецПопытки;
        
        УдалитьФайлы(ИмяФайла);




НЕ ПАШЕТ
   Вася Теркин
 
13 - 19.03.19 - 10:38
(10) Настрой уже СКД
   ДенисЧ
 
14 - 19.03.19 - 10:41
Если у тебя вылезает строка - значит, в запросе ты выбираешь представление, а не ссылку
   palsergeich
 
15 - 19.03.19 - 10:43
(12) это событие формы.
Если есть а конфигурации стандартная форма отчёта - добавь ее копированием в сам отчёт и модифицируй.
Или нарисуй форму сам, на ОФ это чуть посложнее чем на уф.
(14) СКД сам же добавляет представления ссылок в результирующий запрос и это нормально. В табдоке в ячейке всегда строка, и о текстячпйки имеет строковый тип
   Вафель
 
16 - 19.03.19 - 10:44
выводи поле заказ, но у него установи кастомное представление
   Вася Теркин
 
17 - 19.03.19 - 10:45
НЕ ПАШЕТ - вот тут ошибка. Получается ПАШЕТ - булево.
Если ПАШЕТ = Истина, то в результате ложь.
А если ПАШЕТ = Ложь, как у тебя, то все хорошо.
(14) У него там СКД...
(15) Он её из хранилища тягает, во внешних отчетах она.
(16) Ещё смешнее
   palsergeich
 
18 - 19.03.19 - 10:46
(17) ну и что что из хранилища, если форма обработки слинкована и код написан верно все будет работать
   palsergeich
 
19 - 19.03.19 - 10:47
А из кода без описания события формы да, не получится по человечьи.
   ДенисЧ
 
20 - 19.03.19 - 10:47
(15) Вот сейчас набросал примитивный запрос в скд по документам. В табдоке спокойно открывается документ (или справочник).
Без всяких обработчиков.
   palsergeich
 
21 - 19.03.19 - 10:49
Хотя вру.
В ячейке табдоке есть поле в котором хранится ИД расшифровки.
И есть сама расшифровка на поле.
То есть там, где получается текст ячейки всегда можно получить значение и самой расшифровки.
(20) за тебя это делает платформа. При двойном клике она получает ИД ячейки. Потом лезет в расшифровку получает значение. Потом смотрит какое стандартное действие произошло. Для ссылок это открытие и выполняет его.
   Вася Теркин
 
22 - 19.03.19 - 10:49
(18) Ну так и надо смотреть СКД, а не код.
   palsergeich
 
23 - 19.03.19 - 10:50
(20) но непосредственно в самой ячейке ссылки нет.
Для получения ссылки используются служебные механизмы.
   mistеr
 
24 - 19.03.19 - 10:52
Стоп. Все вышенаписанное не в кассу. Проблема у ТС на самом деле в другом: "При программном открытии форма не реагирует на двойной нажатие".

Либо открывается другая форма, либо у табдока ТолькоПросмотр=Ложь.

P.S. ТС конечно чемпион по запутыванию.
   palsergeich
 
25 - 19.03.19 - 10:54
(24) неизвестно что натворено в существующей форме отчёта, там стандартное действие могло быть переопределения, видел такое неоднократно. Я бы начал копать с этого.
   palsergeich
 
26 - 19.03.19 - 10:55
Или как вариант при компановке данные расшифровки не заполняются или на форме нет стандартного реквизита хранилища данных расшифровки.
Тоже обычная ситуация
   palsergeich
 
27 - 19.03.19 - 10:56
Я бы начал искать проблему с изучения формы.
   Вася Теркин
 
28 - 19.03.19 - 10:57
(26) Начинать лучше отсюда. Посмотреть что за колонки, какие в них значения и какие представления...
   mistеr
 
29 - 19.03.19 - 11:07
(26) При интерактивном открытии обработки из файла все работает. Значит форма в порядке.
   MAPATNK2
 
30 - 19.03.19 - 11:59
(24)Да, параметр это был Ложь, при изменении его на Истина, ничего не изменилось. Форма открывается, какая нужно.
 
 
   MAPATNK2
 
31 - 19.03.19 - 11:59
(24) Так что проблема не в этом.
   MAPATNK2
 
32 - 19.03.19 - 12:00
Мне просто нужна процедура для примера, как при обработкеРасшифровки получить необходимую мне ссылку на документ. Может кто нибудь помочь? т.к. в Интернете я ничего не нашел, иначе бы не писал сюда
   MAPATNK2
 
33 - 19.03.19 - 12:14
Находил вот такую вот процедуру.

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)    
    Перем ВыполненноеДействие;    
    СтандартнаяОбработка=Ложь;    
    ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));    
    ДоступныеДействия=Новый Массив;      // заполняем доступные действия, если параметр не указан, то будут доступны все действия    

    ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить);    
    ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);    
    ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить);    
    Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,ДоступныеДействия);    
    //МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);

    //ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, , ДанныеРасшифровки);

    Если Настройки<>Неопределено Тогда    // требуется сформировать отчет с новыми настройками        

        КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);        // загружаем настройки        

        ЭлементыФормы.Результат.Очистить();                                                // очищаем поле табличного документа        

        СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);            // выводим результат        

    КонецЕсли;        
КонецПроцедуры



Но она не помогает.
   Вася Теркин
 
34 - 19.03.19 - 12:26
Напиши
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)    
Возврат
.....
КонецПроцедуры

Вдруг поможет
   MAPATNK2
 
35 - 19.03.19 - 12:31
(34) Нет, не помогло
   MAPATNK2
 
36 - 19.03.19 - 12:32
Да я одно не пойму, почему в ручном режиме работает всё, а при открытии программно, ничего не пашет.
   LordCMEPTb
 
37 - 19.03.19 - 12:50
(12) По строке кода:
Форма.СкомпоноватьРезультат(Форма.ЭлементыФормы.Результат);//таб док на форме

могу сделать предположение, что речь об обычной форме.
А потому вызывается процедура модуля объекта, у которой следует указать 2й параметр, чтобы все хорошо работало.
   MAPATNK2
 
38 - 19.03.19 - 12:53
(37) Какой второй параметр?
   MAPATNK2
 
39 - 19.03.19 - 13:25
В общем, так и не решился вопрос. Если вдруг у кого то будут идеи, пожалуйста, напишите. Не хотелось бы добавлять отчет в саму конфигурацию, и заставлять пользователей вручную его открывать каждый раз, тоже не хочется.
   aleks_default
 
40 - 19.03.19 - 13:39
С даннымирасшифровки что-то напутал. У тебя программный вывод отчета?
   aleks_default
 
41 - 19.03.19 - 13:40
вот кстати в (37) все правильно написано
   MAPATNK2
 
42 - 19.03.19 - 14:27
(40) Нет. Стандартный отчет делал СКД.
   MAPATNK2
 
43 - 19.03.19 - 14:27
Ничего программно не вывожу. Только саму форму отчета открываю.Код выше
   MAPATNK2
 
44 - 19.03.19 - 14:57
(37) (41) Что во втором параметре то дожно быть, я в код неопределнное значение поставил в качетсве 2 параметра, теперь при нажатии на ячейку появляется окно с числом. Что дальше ? XD
   aleks_default
 
45 - 19.03.19 - 15:50
ДанныеРасшифровкиКомпоновки    = Новый ДанныеРасшифровкиКомпоновкиДанных;

Форма.СкомпоноватьРезультат(Форма.ЭлементыФормы.Результат, ДанныеРасшифровкиКомпоновки);
Форма.Данныерасшифровки = ДанныеРасшифровкиКомпоновки
Форма.Открыть();
   palsergeich
 
46 - 19.03.19 - 16:08
(44) ты уже близок, почти дошел до конца
   aleks_default
 
47 - 19.03.19 - 16:13
Чета я ступил
   MAPATNK2
 
48 - 20.03.19 - 08:12
(46) Близок, но что я могу передать в параметр? Я открываю форму из справочника номенклатуры.
   aleks_default
 
49 - 20.03.19 - 09:05
У тебя в форме есть все что нужно
   MAPATNK2
 
50 - 20.03.19 - 09:11
(49) Дак вы можете не загадками говорить. Я если бы знал что туда писать, давно бы сделал. Не первый день сижу с этой фигней. Если знаете, подскажите, что нужно сделать.
   aleks_default
 
51 - 20.03.19 - 09:50
Млять, я тебе уже кусок кода написал. Какие нахрен еще загадки
   aleks_default
 
52 - 20.03.19 - 09:53
Ты хотя бы анализируй то что тебе уже рассказали. Причем уже не один раз. Или сюда только за готовым ответом приходишь. Тогда вообще ничему никогда не научишься
   MAPATNK2
 
53 - 20.03.19 - 10:06
(52) Прошу прощения. Не увидел сообщение. Да, всё запустилось. Спасибо.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.