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

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

Вопрос по программной навигации по отчету
Я
   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 за $$$ подскажу некрасивый рабочий вариант. А всем кто дал подсказку спасибо, кто знал и не подсказал, тому ваще респект, я теперь в СКД лучше разбираться стал.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.