Форум программистов, компьютерный форум CyberForum.ru

1с отчет скд по нажатию на строку открыть форму документа - 1С

Восстановить пароль Регистрация
 
 
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
26.12.2016, 16:17     1с отчет скд по нажатию на строку открыть форму документа #1
Здравствуйте. Платформа 1С: Предприятие 8.3.
Столкнулась с такой проблемой. Имеется отчет "Отчет по грузоперевозкам", созданный с помощью СКД на основании данных документа "CMR", который выводит следующие поля за указываемый период:
Получатель | Грузополучатель | Разрешение | Заявление
Тип полей "Получатель" и "Грузополучатель" = СправочникСсылка.Контрагенты, тип полей "Разрешение" и "Заявление" = Дата.
Необходимо реализовать возможность открытия формы документа "CMR" по нажатию на строку. Я так понимаю, за это будет отвечать функция Расшифровать.
Подскажите, пожалуйста, можно ли реализовать эту возможность в СКД. Если да, то каким образом? Заранее спасибо!
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
30.12.2016, 09:07  [ТС]     1с отчет скд по нажатию на строку открыть форму документа #41
Сделать все поля ссылками - это самое простое. А я хочу попробовать найти по имени нужное поле.

Добавлено через 40 минут
Скажите, а можно ли сделать расшифровку не по ссылочному полю, а по всей строке?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dethmontt
Модератор
 Аватар для Dethmontt
2272 / 2081 / 302
Регистрация: 10.03.2011
Сообщений: 7,343
Записей в блоге: 1
Завершенные тесты: 1
30.12.2016, 10:33     1с отчет скд по нажатию на строку открыть форму документа #42
Цитата Сообщение от Nath Посмотреть сообщение
хаха - 1) берём и обрезаем пользователю возможность менять выбранные поля или 2) находим по имени среди имеющихся полей нужное или 3) убираем все поля, которые не являются ссылкой (но имеют другие представления) из доступных пользователю для выбора - тогда для расшифровки можно брать любое, например, первое )))
Все это костыли какие-то

Добавлено через 1 минуту
Цитата Сообщение от Tatiana21 Посмотреть сообщение
А я хочу попробовать найти по имени нужное поле.
По какому такому имени?
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
30.12.2016, 11:33     1с отчет скд по нажатию на строку открыть форму документа #43
Цитата Сообщение от Dethmontt Посмотреть сообщение
Все это костыли какие-то
Нормальные костыли, не хуже, чем у других )))

Цитата Сообщение от Tatiana21 Посмотреть сообщение
А я хочу попробовать найти по имени нужное поле.
Добавлено через 40 минут
Скажите, а можно ли сделать расшифровку не по ссылочному полю, а по всей строке?
Ну у коллекции полей расшифровки есть метод Найти() - подставляешь туда имя поля - он найдет - если, канеш, пользователь не удалит поле со ссылкой в настройке. По строке вроде как-то делают расшифровку, ток надо порыться, поискать - уж это самостоятельно можно найти - новогодние каникулы кажутся длинными )
Dethmontt
Модератор
 Аватар для Dethmontt
2272 / 2081 / 302
Регистрация: 10.03.2011
Сообщений: 7,343
Записей в блоге: 1
Завершенные тесты: 1
30.12.2016, 11:39     1с отчет скд по нажатию на строку открыть форму документа #44
Цитата Сообщение от Nath Посмотреть сообщение
Нормальные костыли, не хуже, чем у других )))
Nath, ну раз уж на то пошло)))

вот еще один вариант (как пример)
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    КолКолонок = КомпоновщикНастроек.Настройки.Выбор.Элементы.Количество();
    
    ВсегоСтрок = ДанныеРасшифровки.Элементы.Количество()/КолКолонок;
    
    Сообщить(Цел(ВсегоСтрок));
    Сообщить("Всего ячеек = "+ДанныеРасшифровки.Элементы.Количество());
    
    РасшифровкаЧисло = Число(Расшифровка);
    
    НомерСтроки = Цел((РасшифровкаЧисло-1+КолКолонок)/КолКолонок);
    
    ПерваяЯчейка = НомерСтроки*КолКолонок-КолКолонок+1;
    ПоследняяЯчейка = НомерСтроки*КолКолонок;
    
    Сообщить("ПерваяЯчейка = "+ПерваяЯчейка);
    Сообщить("ПоследняяЯчейка = "+ПоследняяЯчейка);
    
    Для н=ПерваяЯчейка По ПоследняяЯчейка Цикл
        Если ДанныеРасшифровки.Элементы[н].ПолучитьПоля()[0].Поле = "Ссылка" Тогда
            ОткрытьЗначение(ДанныеРасшифровки.Элементы[н].ПолучитьПоля()[0].Значение);
        КонецЕсли; 
    КонецЦикла; 
    
КонецПроцедуры
Добавлено через 1 минуту
З.Ы. код врядли будет работать с группировками с выбранными полями через точку и т.д. (это все нужно пилить и пилить))))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2016, 12:08     1с отчет скд по нажатию на строку открыть форму документа
Еще ссылки по теме:

1c СКД Цветной отчет 1С
Отчет СКД перекрестный 1С 1C 8.x (тонкий)
1С Отчет СКД. Пересчет значения поля табличного документа при изменении другого поля
Расчет только в группировке (отчет СКД) 1С
Отчет в СКД 1С

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
30.12.2016, 12:08  [ТС]     1с отчет скд по нажатию на строку открыть форму документа #45
Я вариант попроще все-таки сделала прописала параметры расшифровки на каждую ячейку в макете.
Yandex
Объявления
30.12.2016, 12:08     1с отчет скд по нажатию на строку открыть форму документа
Ответ Создать тему

Метки
, отчет, расшифровать, расшифровка, скд, форма
Опции темы

Текущее время: 23:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru