Вход | Регистрация
 

Вопрос по программной навигации по отчету

Вопрос по программной навигации по отчету
Я
   NaRaz
 
23.11.20 - 12:13
Всем привет.

Вопрос:
Есть отчет типа

СчетУчета
ПоказательУр2    ОборотУр2
ДетальныеЗаписи  ОборотДетЗаписи

Когда пользователь нажимает 2 раза на поле ОборотДетЗаписи нужно сделать расшифровку, нужно ОСВ по Счету, как понять в группировке какого счета делать расшифровку?
   RomanYS
 
1 - 23.11.20 - 12:15
(0) Нужно иметь нужные ключевые поля в значении расшифровки ячейки. Отчет кодом выводится(не СКД)?
   NaRaz
 
2 - 23.11.20 - 12:18
(1) Отчет на СКД, но кнопка сформировать уже не типовая.
   RomanYS
 
3 - 23.11.20 - 12:27
(2) По СКД отдельная тема, гугли "расшифровка в СКД". Там специальный объект есть типа "ДанныеРасшифровки" (не точно)
   NaRaz
 
4 - 24.11.20 - 10:43
Да, все верно, расшифровка скд есть, еще офигенная статья:
https://wiki.programstore.ru/obrabotka-rasshifrovki-v-skd/
   NaRaz
 
5 - 24.11.20 - 11:42
задача неного изменилась, теперь надо обратиться не только к счету учета, тут я сделал, как для родителя, а надо при нажатии на ОборотДетЗаписи и расшифровке обратиться к ДетальныеЗаписи.Поле1. Секс с мозгом приобретает 50 оттенков серого
   NaRaz
 
6 - 24.11.20 - 11:46
Что бы поменьше троллинга было:

СчетУчета
Поле 2                           ОборотУр2
Контрагент  Договор              ОборотДетЗаписи

Т.е. при расшифровке я получаю ОСВ по счету в группировке, это все ок, но мне надо еще выдернуть в отбор для ОСВ контрика и его договор. Кто сталкивался с этим или знает как это сделать?
   RomanYS
 
7 - 24.11.20 - 11:48
(6) разве этого в (4) нет?
   NaRaz
 
8 - 24.11.20 - 11:53
(7) вопрос филосовский, кажется, что есть, но если делать по ветке описанной в "Произвольная обработка расшифровки 1С СКД", то можно обратить внимание на:

Функция ПолучитьДоступноеПолеПоПолюКомпоновкиДанных(ПолеКомпоновкиДанных, ОбластьПоиска) Экспорт
 
    Если ТипЗнч(ПолеКомпоновкиДанных) = Тип("Строка") Тогда
 
        ПолеПоиска = Новый ПолеКомпоновкиДанных(ПолеКомпоновкиДанных);
 
    Иначе
 
        ПолеПоиска = ПолеКомпоновкиДанных;
 
    КонецЕсли;
 
    Если ТипЗнч(ОбластьПоиска) = Тип("КомпоновщикНастроекКомпоновкиДанных")
 
        ИЛИ ТипЗнч(ОбластьПоиска) = Тип("ДанныеРасшифровкиКомпоновкиДанных")
 
        ИЛИ ТипЗнч(ОбластьПоиска) = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
 
        Возврат ОбластьПоиска.Настройки.ДоступныеПоляВыбора.НайтиПоле(ПолеПоиска);
 
    Иначе
 
        Возврат ОбластьПоиска.НайтиПоле(ПолеПоиска);
 
    КонецЕсли;
 
КонецФункции
 
Функция ДобавитьРодителей(ЭлементРасшифровки, ТекущийОтчет, МассивПолейРасшифровки, ВключатьРесурсы = Ложь) Экспорт
 
    Если ТипЗнч(ЭлементРасшифровки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда
 
        Для каждого Поле Из ЭлементРасшифровки.ПолучитьПоля() Цикл
 
            ДоступноеПоле = ПолучитьДоступноеПолеПоПолюКомпоновкиДанных(Новый ПолеКомпоновкиДанных(Поле.Поле), ТекущийОтчет);
 
            Если ДоступноеПоле = Неопределено Тогда
 
                Продолжить;
 
            КонецЕсли;
 
            Если Не ВключатьРесурсы И ДоступноеПоле.Ресурс Тогда
 
                Продолжить;
 
            КонецЕсли;
 
            МассивПолейРасшифровки.Добавить(Поле);
 
        КонецЦикла;
 
    КонецЕсли;
 
    Для каждого Родитель Из ЭлементРасшифровки.ПолучитьРодителей() Цикл
 
        ДобавитьРодителей(Родитель, ТекущийОтчет, МассивПолейРасшифровки, ВключатьРесурсы);
 
    КонецЦикла;
 
КонецФункции

И тут мы видим, что оно развернет по полю, выбранном на форме отчете + его родителей, а вот то о чем я пишу в (6) нету
   NaRaz
 
9 - 24.11.20 - 12:25
тут косяк в том, что ЭлементРасшифровки.ПолучитьПоля() воозвращает только данные по ОборотДетЗаписи
   Вафель
 
10 - 24.11.20 - 12:26
ЭлементРасшифровки.ПолучитьРодителя() или что-то подобное
   NaRaz
 
11 - 24.11.20 - 12:28
ЭлементРасшифровки.ПолучитьРодителя() - возвращает Поле 2. Не могу до контрика достучаться. Как то надо поля элемента заполнить
   NaRaz
 
12 - 24.11.20 - 12:33
ЭлементРасшифровкиКомпоновкиДанныхПоля (DataCompositionFieldDetailsItem)
Свойства:
Идентификатор (ID)
ОсновноеДействие (MainAction)
Методы:
ПолучитьПоля (GetFields)
ПолучитьРодителей (GetParents)
Описание:
Элемент расшифровки, содержащий значения полей.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер).
Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data-composition-system/details}. Имя типа XDTO: DetailsItemFields.
Использование в версии:
Доступен, начиная с версии 8.1.
     Методическая информация

Но тут нет ничего про добавить. Блиииин, косяк
   NaRaz
 
13 - 24.11.20 - 12:45
Все? Блин неужели на мисте остались только ветки про украину и белорусь? Прогеры, ау?
   NaRaz
 
14 - 24.11.20 - 16:21
В общем, кто столкнется, пишите, zmb@list.ru за $$$ подскажу некрасивый рабочий вариант. А всем кто дал подсказку спасибо, кто знал и не подсказал, тому ваще респект, я теперь в СКД лучше разбираться стал.

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