Имя: Пароль:
1C
1С v8
СКД, тип отчета Таблица: проблема с расшифровкой ресурса
0 fjay69
 
14.08.23
12:05
Добрый день! Столкнулся с проблемой, которую не могу решить. Покажу на примере, не имеющем никакой практической ценности и нужным лишь для демонстрации проблемы. Создадим пустой внешний отчёт и в качестве источника данных укажем следующий запрос:

ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(ПеремещениеТоваров.Дата, ДЕНЬ) КАК День,
    ПеремещениеТоваров.СкладПолучатель,
    ПеремещениеТоваров.Ссылка
ИЗ
    Документ.ПеремещениеТоваров КАК ПеремещениеТоваров


Добавим поле Ссылка в ресурсы (выражение Максимум(Ссылка)). Во вкладке Настройки добавим таблицу: Строки - СкладПолучатель, Колонки - День, выбранные поля - Ссылка. Данный отчёт выдаёт результат примерно следующего содержания:

          01.06.2023
Мой склад Перемещение товаров КС000000003 от 01.06.2023 12:00:01

Для компактности отчёта я хочу, чтобы вместо полного представления документа выводился только его номер. Вот так:

          01.06.2023
Мой склад КС000000003

И чтобы при этом я мог открыть документ с помощью двойного клика на пересечении строки и колонки. И у меня никак не получается соблюсти эти два условия. Я знаю, что во вкладке Наборы данных есть поле "Выражение представления", но 1С не даёт мне выбрать реквизиты поля, которое добавлено в ресурсы. Тогда я решил пойти по другому пути: вместо ссылки выбирать номер, а сам документ получать по номеру, то есть мне нужно реализовать собственную обработку расшифровки. Примерно так:

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    НомерДок = ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля()[0].Значение;    
    ОткрытьЗначение(Документы.ПеремещениеТоваров.НайтиПоНомеру(НомерДок, ТекущаяДата()));    
КонецПроцедуры


Но это не работает. Открываю под отладчиком ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля() и вижу у поля "Номер" значение "Null".
Скажите, пожалуйста, как мне правильно сделать то, что я хочу?
Платформа 8.3.13.1690, обычные формы.
1 fjay69
 
14.08.23
12:17
Вроде получилось сделать задуманное через условное оформление: Текст = поле компоновки данных Номер, оформляемые поля - Ссылка. Чтобы это сработало, оба поля Ссылка и Номер должны быть в ресурсах, плюс в запросе нужно заранее сгруппировать документы по нужным группировкам, чтобы Максимум(Ссылка) совпал с Максимум(Номер).