|
Как в СКД установить тип значения вместо текста - ссылку. | ☑ | ||
---|---|---|---|---|
0
MAPATNK2
naïve
19.03.19
✎
09:25
|
Как в СКД установить тип значения вместо текста - ссылку. Обычные формы УПП.
|
|||
1
MAPATNK2
naïve
19.03.19
✎
09:36
|
Т.е в результате отработки отчета выводится список документов и кол-во. Но при нажатии на документ в процедуре обработки выбора я получаю просто текст "Заказ покупателя №.... дата", и чтобы не писать парсер для получения кода, поиска документа по номеру и дате, хотелось бы сразу , при двойном нажатии открывать документ. При программном открытии форма не реагирует на двойной нажатие. Но при открытие "Файл-Открыть" отрабатывается стандартная процедура расшифровки.
|
|||
2
MAPATNK2
naïve
19.03.19
✎
09:36
|
Не понятно почему
|
|||
3
MAPATNK2
naïve
19.03.19
✎
09:49
|
Либо мой вопрос настолько глупый, что никто не хочет ответить, либо никто не делал подобного, хотя это вряд ли.
|
|||
4
MAPATNK2
naïve
19.03.19
✎
10:00
|
Может при программном открытии отчета необходимо какой-то параметр в истину переназначить, чтобы отрабатывалась стандартная обработка?
|
|||
5
mistеr
19.03.19
✎
10:07
|
>Но при нажатии на документ в процедуре обработки выбора я получаю просто текст
Это где нажатие? В поле формы, в ячейке таб. документа, где-то еще? |
|||
6
MAPATNK2
naïve
19.03.19
✎
10:16
|
(5) При нажатии на ячейку в форме отчета.
|
|||
7
Вася Теркин
19.03.19
✎
10:19
|
Тема называется "Как добавить расшифровку в СКД?". Есть такие прямоугольные, книги, вроде называются. Но не Митичкин. Хрусталёва, вроде.
|
|||
8
palsergeich
19.03.19
✎
10:19
|
Ссылка в расшифровке лежит, кури гугл
|
|||
9
mistеr
19.03.19
✎
10:19
|
(6) Используй ОбработкаРасшифровки, там все будет.
|
|||
10
MAPATNK2
naïve
19.03.19
✎
10:20
|
(9) В обрработке расшифровки в параметре Расшифровка тупо лежит число. И что я с ним должен делать? Я уже искал про ОбработкаРасшифровки ничего не дало.
|
|||
11
mistеr
19.03.19
✎
10:23
|
(10) Поищи еще про ДанныеРасшифровки.
|
|||
12
MAPATNK2
naïve
19.03.19
✎
10:26
|
Есть како-то параметр, который отвечает за отработку стандартной процедуры ОбработкаРасшифровки ? Я же объясняю , через "Файл - открыть" все работает, а через
СсылкаНаОбъект = Справочники.ВнешниеОбработки.НайтиПоКоду("000000072"); ЭтоОбработка = ?(СсылкаНаОбъект.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка, Истина, Ложь); ЭтоОтчет = ?(СсылкаНаОбъект.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Отчет, Истина, Ложь); Если НЕ (ЭтоОбработка ИЛИ ЭтоОтчет) Тогда Возврат; КонецЕсли; ИмяФайла = ПолучитьИмяВременногоФайла(); ДвоичныеДанные = СсылкаНаОбъект.ХранилищеВнешнейОбработки.Получить(); ДвоичныеДанные.Записать(ИмяФайла); Попытка Если ЭтоОбработка Тогда Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла); Иначе Форма = ВнешниеОтчеты.ПолучитьФорму(ИмяФайла); КонецЕсли; Если Не Форма = Неопределено Тогда НастройкиКД = Форма.КомпоновщикНастроек.ПолучитьНастройки(); ПолеНоменклатура = Форма.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Номенклатура"); НовыйОтбор = НастройкиКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйОтбор.ЛевоеЗначение = ПолеНоменклатура.Поле; НовыйОтбор.ПравоеЗначение = ТекущаяНоменклатура; НовыйОтбор.Использование = Истина; Форма.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКД); Форма.РежимВыбора = Истина; //Форма = Форма.ПолучитьФорму("ФормаОтчета"); Форма.СкомпоноватьРезультат(Форма.ЭлементыФормы.Результат); //таб док на форме Форма.Открыть(); //Форма.Открыть(СтрПараметры); Иначе Сообщить("Форма открываемой обработки или отчета не определена.", СтатусСообщения.БезСтатуса); КонецЕсли; Исключение Если ЭтоОбработка Тогда Предупреждение("Выбранный файл не является внешней обработкой. |Либо, данная обработка не предназначена для |запуска в этой конфигурации."); Иначе Предупреждение("Выбранный файл не является внешним отчетом. |Либо, данный отчет не предназначена для |запуска в этой конфигурации."); КонецЕсли; КонецПопытки; УдалитьФайлы(ИмяФайла); НЕ ПАШЕТ |
|||
13
Вася Теркин
19.03.19
✎
10:38
|
(10) Настрой уже СКД
|
|||
14
ДенисЧ
19.03.19
✎
10:41
|
Если у тебя вылезает строка - значит, в запросе ты выбираешь представление, а не ссылку
|
|||
15
palsergeich
19.03.19
✎
10:43
|
(12) это событие формы.
Если есть а конфигурации стандартная форма отчёта - добавь ее копированием в сам отчёт и модифицируй. Или нарисуй форму сам, на ОФ это чуть посложнее чем на уф. (14) СКД сам же добавляет представления ссылок в результирующий запрос и это нормально. В табдоке в ячейке всегда строка, и о текстячпйки имеет строковый тип |
|||
16
Вафель
19.03.19
✎
10:44
|
выводи поле заказ, но у него установи кастомное представление
|
|||
17
Вася Теркин
19.03.19
✎
10:45
|
НЕ ПАШЕТ - вот тут ошибка. Получается ПАШЕТ - булево.
Если ПАШЕТ = Истина, то в результате ложь. А если ПАШЕТ = Ложь, как у тебя, то все хорошо. (14) У него там СКД... (15) Он её из хранилища тягает, во внешних отчетах она. (16) Ещё смешнее |
|||
18
palsergeich
19.03.19
✎
10:46
|
(17) ну и что что из хранилища, если форма обработки слинкована и код написан верно все будет работать
|
|||
19
palsergeich
19.03.19
✎
10:47
|
А из кода без описания события формы да, не получится по человечьи.
|
|||
20
ДенисЧ
19.03.19
✎
10:47
|
(15) Вот сейчас набросал примитивный запрос в скд по документам. В табдоке спокойно открывается документ (или справочник).
Без всяких обработчиков. |
|||
21
palsergeich
19.03.19
✎
10:49
|
Хотя вру.
В ячейке табдоке есть поле в котором хранится ИД расшифровки. И есть сама расшифровка на поле. То есть там, где получается текст ячейки всегда можно получить значение и самой расшифровки. (20) за тебя это делает платформа. При двойном клике она получает ИД ячейки. Потом лезет в расшифровку получает значение. Потом смотрит какое стандартное действие произошло. Для ссылок это открытие и выполняет его. |
|||
22
Вася Теркин
19.03.19
✎
10:49
|
(18) Ну так и надо смотреть СКД, а не код.
|
|||
23
palsergeich
19.03.19
✎
10:50
|
(20) но непосредственно в самой ячейке ссылки нет.
Для получения ссылки используются служебные механизмы. |
|||
24
mistеr
19.03.19
✎
10:52
|
Стоп. Все вышенаписанное не в кассу. Проблема у ТС на самом деле в другом: "При программном открытии форма не реагирует на двойной нажатие".
Либо открывается другая форма, либо у табдока ТолькоПросмотр=Ложь. P.S. ТС конечно чемпион по запутыванию. |
|||
25
palsergeich
19.03.19
✎
10:54
|
(24) неизвестно что натворено в существующей форме отчёта, там стандартное действие могло быть переопределения, видел такое неоднократно. Я бы начал копать с этого.
|
|||
26
palsergeich
19.03.19
✎
10:55
|
Или как вариант при компановке данные расшифровки не заполняются или на форме нет стандартного реквизита хранилища данных расшифровки.
Тоже обычная ситуация |
|||
27
palsergeich
19.03.19
✎
10:56
|
Я бы начал искать проблему с изучения формы.
|
|||
28
Вася Теркин
19.03.19
✎
10:57
|
(26) Начинать лучше отсюда. Посмотреть что за колонки, какие в них значения и какие представления...
|
|||
29
mistеr
19.03.19
✎
11:07
|
(26) При интерактивном открытии обработки из файла все работает. Значит форма в порядке.
|
|||
30
MAPATNK2
naïve
19.03.19
✎
11:59
|
(24)Да, параметр это был Ложь, при изменении его на Истина, ничего не изменилось. Форма открывается, какая нужно.
|
|||
31
MAPATNK2
naïve
19.03.19
✎
11:59
|
(24) Так что проблема не в этом.
|
|||
32
MAPATNK2
naïve
19.03.19
✎
12:00
|
Мне просто нужна процедура для примера, как при обработкеРасшифровки получить необходимую мне ссылку на документ. Может кто нибудь помочь? т.к. в Интернете я ничего не нашел, иначе бы не писал сюда
|
|||
33
MAPATNK2
naïve
19.03.19
✎
12:14
|
Находил вот такую вот процедуру.
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыполненноеДействие; СтандартнаяОбработка=Ложь; ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); ДоступныеДействия=Новый Массив; // заполняем доступные действия, если параметр не указан, то будут доступны все действия ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Оформить); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.Упорядочить); Настройки=ОбработкаРасшифровки.Выполнить(Расшифровка,ВыполненноеДействие,ДоступныеДействия); //МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки); //ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, , ДанныеРасшифровки); Если Настройки<>Неопределено Тогда // требуется сформировать отчет с новыми настройками КомпоновщикНастроек.ЗагрузитьНастройки(Настройки); // загружаем настройки ЭлементыФормы.Результат.Очистить(); // очищаем поле табличного документа СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки); // выводим результат КонецЕсли; КонецПроцедуры Но она не помогает. |
|||
34
Вася Теркин
19.03.19
✎
12:26
|
Напиши
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Возврат ..... КонецПроцедуры Вдруг поможет |
|||
35
MAPATNK2
naïve
19.03.19
✎
12:31
|
(34) Нет, не помогло
|
|||
36
MAPATNK2
naïve
19.03.19
✎
12:32
|
Да я одно не пойму, почему в ручном режиме работает всё, а при открытии программно, ничего не пашет.
|
|||
37
LordCMEPTb
19.03.19
✎
12:50
|
(12) По строке кода:
Форма.СкомпоноватьРезультат(Форма.ЭлементыФормы.Результат);//таб док на форме
могу сделать предположение, что речь об обычной форме. А потому вызывается процедура модуля объекта, у которой следует указать 2й параметр, чтобы все хорошо работало. |
|||
38
MAPATNK2
naïve
19.03.19
✎
12:53
|
(37) Какой второй параметр?
|
|||
39
MAPATNK2
naïve
19.03.19
✎
13:25
|
В общем, так и не решился вопрос. Если вдруг у кого то будут идеи, пожалуйста, напишите. Не хотелось бы добавлять отчет в саму конфигурацию, и заставлять пользователей вручную его открывать каждый раз, тоже не хочется.
|
|||
40
aleks_default
19.03.19
✎
13:39
|
С даннымирасшифровки что-то напутал. У тебя программный вывод отчета?
|
|||
41
aleks_default
19.03.19
✎
13:40
|
вот кстати в (37) все правильно написано
|
|||
42
MAPATNK2
naïve
19.03.19
✎
14:27
|
(40) Нет. Стандартный отчет делал СКД.
|
|||
43
MAPATNK2
naïve
19.03.19
✎
14:27
|
Ничего программно не вывожу. Только саму форму отчета открываю.Код выше
|
|||
44
MAPATNK2
naïve
19.03.19
✎
14:57
|
(37) (41) Что во втором параметре то дожно быть, я в код неопределнное значение поставил в качетсве 2 параметра, теперь при нажатии на ячейку появляется окно с числом. Что дальше ? XD
|
|||
45
aleks_default
19.03.19
✎
15:50
|
ДанныеРасшифровкиКомпоновки = Новый ДанныеРасшифровкиКомпоновкиДанных;
Форма.СкомпоноватьРезультат(Форма.ЭлементыФормы.Результат, ДанныеРасшифровкиКомпоновки); Форма.Данныерасшифровки = ДанныеРасшифровкиКомпоновки Форма.Открыть(); |
|||
46
palsergeich
19.03.19
✎
16:08
|
(44) ты уже близок, почти дошел до конца
|
|||
47
aleks_default
19.03.19
✎
16:13
|
Чета я ступил
|
|||
48
MAPATNK2
naïve
20.03.19
✎
08:12
|
(46) Близок, но что я могу передать в параметр? Я открываю форму из справочника номенклатуры.
|
|||
49
aleks_default
20.03.19
✎
09:05
|
У тебя в форме есть все что нужно
|
|||
50
MAPATNK2
naïve
20.03.19
✎
09:11
|
(49) Дак вы можете не загадками говорить. Я если бы знал что туда писать, давно бы сделал. Не первый день сижу с этой фигней. Если знаете, подскажите, что нужно сделать.
|
|||
51
aleks_default
20.03.19
✎
09:50
|
Млять, я тебе уже кусок кода написал. Какие нахрен еще загадки
|
|||
52
aleks_default
20.03.19
✎
09:53
|
Ты хотя бы анализируй то что тебе уже рассказали. Причем уже не один раз. Или сюда только за готовым ответом приходишь. Тогда вообще ничему никогда не научишься
|
|||
53
MAPATNK2
naïve
20.03.19
✎
10:06
|
(52) Прошу прощения. Не увидел сообщение. Да, всё запустилось. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |