Форум программистов, компьютерный форум 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)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dethmontt
Модератор
 Аватар для Dethmontt
2276 / 2085 / 304
Регистрация: 10.03.2011
Сообщений: 7,363
Записей в блоге: 1
Завершенные тесты: 1
29.12.2016, 10:56     1с отчет скд по нажатию на строку открыть форму документа #21
Цитата Сообщение от Tatiana21 Посмотреть сообщение
но форму открывает пустую
Да что вы говорите???
А как это форма заполняется (если не из отчета)?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
29.12.2016, 11:07  [ТС]     1с отчет скд по нажатию на строку открыть форму документа #22
Даже, если жму по ячейки номер (которая Ссылка), форму создает, а не открывает с соответствующими данными

Добавлено через 1 минуту
Если в отчете в строке все данные заполнены, то должна открываться форма с этими данными

Добавлено через 5 минут
Если даже в отчете в строке те поля, которые содержатся на дополнительной форме, не заполнены, вызвав форму документа и записав ее, введенные данные не привязываются к документу и не попадают на основную форму. А должны!

Добавлено через 1 минуту
Я что-то вообще запуталась в кодах и как это сделать вообще не понимаю
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
29.12.2016, 11:13     1с отчет скд по нажатию на строку открыть форму документа #23
Цитата Сообщение от Tatiana21 Посмотреть сообщение
Это же не основная форма документа, почему ЗначениеВЯчейке должен быть тип Документ.Ссылка?
ЗначениеВЯчейке - это значение, хранимое в ячейке таб.дока. отчета - при чем тут форма документа? У вас вообще форма управляемая или обычная? Вы ж даже не написали, что за база у вас (если че "1С: Предприятие 8.3" - это не ответ на вопрос, какая у вас база).

Цитата Сообщение от Tatiana21 Посмотреть сообщение
Получается, что на основной форме документа есть все поля из отчета, на дополнительной только Номер разрешения на убытие товаров и Дата разрешения
Если это формы документа (т.е. при создании формы вы выбирали тип "Форма документа" и их основной реквизит - выделенный жирным в списке реквизитов - имеет тип ДокументОбъект), то, канеш, в контексте каждой из них доступны любые реквизиты документа, а не только те, о которых вы пишете.
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
29.12.2016, 11:16  [ТС]     1с отчет скд по нажатию на строку открыть форму документа #24
Управляемая форма
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
29.12.2016, 11:20     1с отчет скд по нажатию на строку открыть форму документа #25
скиньте скрин списка реквизитов - примерно такой:
Миниатюры
1с отчет скд по нажатию на строку открыть форму документа  
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
29.12.2016, 11:20  [ТС]     1с отчет скд по нажатию на строку открыть форму документа #26
Скрин какой формы скинуть, основной?
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
29.12.2016, 11:24     1с отчет скд по нажатию на строку открыть форму документа #27
Той, которую вы хотите открывать
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
29.12.2016, 11:29  [ТС]     1с отчет скд по нажатию на строку открыть форму документа #28
Там реквизит 1 - ДокументОбъект с типом ДокументОбъект.CMR

Добавлено через 4 минуты
Документ на обычной форме, отчет на управляемой
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
29.12.2016, 11:29     1с отчет скд по нажатию на строку открыть форму документа #29
ДанныеРасшифровки вот здесь имеют тип "Строка"? Это уже в форме отчета
Миниатюры
1с отчет скд по нажатию на строку открыть форму документа  
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
29.12.2016, 11:33  [ТС]     1с отчет скд по нажатию на строку открыть форму документа #30
Да, тип Строка

Добавлено через 2 минуты
В форме списка документа имеется кнопка, по нажатию на которую открывается дополнительная форма:
1C
1
2
3
4
5
Процедура ДействияФормыКнопкаТД(Кнопка)
    
    ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка.ПолучитьОбъект().ПолучитьФорму("ФормаТД",ЭтаФорма,).Открыть();
    
КонецПроцедуры
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
29.12.2016, 11:35     1с отчет скд по нажатию на строку открыть форму документа #31
если это толстый клиент, то в 5 раз проще - должно быть что-то типа
1C
1
2
3
4
5
6
7
8
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
    РасшифровкаДанные=ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
    ЗначениеВЯчейке=РасшифровкаДанные.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;
    ЗначениеВЯчейке.ПолучитьФорму("ВашаФорма");
    Форма.Открыть();
КонецПроцедуры
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
29.12.2016, 11:51  [ТС]     1с отчет скд по нажатию на строку открыть форму документа #32
Сейчас попробую

Добавлено через 2 минуты
Ошибка при вызове метода контекста (ПолучитьФорму)
{Отчет.ОтчетПоГрузоперевозкам.Форма.ФормаОтчета.Форма(6)}: Значение не является значением объектного типа (ПолучитьФорму)
Форма = ЗначениеВЯчейке.ПолучитьФорму("Документ.CMR.Форма.ФормаТД");

1C
1
2
3
4
5
6
7
8
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
    РасшифровкаДанные=ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
    ЗначениеВЯчейке=РасшифровкаДанные.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;
    Форма = ЗначениеВЯчейке.ПолучитьФорму("Документ.CMR.Форма.ФормаТД");
    Форма.Открыть();
КонецПроцедуры
Добавлено через 7 минут
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
    ЗначениеВЯчейке=ПолучитьЗначениеВЯчейке(Расшифровка);
    Форма = ПолучитьФорму("Документ.CMR.Форма.ФормаТД", ЗначениеВЯчейке);
    Форма.Открыть();
КонецПроцедуры
 
&НаСервере
Функция ПолучитьЗначениеВЯчейке(Расшифровка)
    РасшифровкаДанные=ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
    ЗначениеВЯчейке=РасшифровкаДанные.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;
    Возврат ЗначениеВЯчейке;
КонецФункции
Та же ошибка...
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
29.12.2016, 11:59     1с отчет скд по нажатию на строку открыть форму документа #33
ЗначениеВЯчейке какой тип имеет? ДокументСсылка должно быть - если нет, чё-то не то
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
29.12.2016, 12:15  [ТС]     1с отчет скд по нажатию на строку открыть форму документа #34
ДокументСсылка

Добавлено через 2 минуты
Тип CMR

Добавлено через 4 минуты
CMR - это мой документ. Но есть поля, с типом Дата, Строка, как в самом документе
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
29.12.2016, 12:34     1с отчет скд по нажатию на строку открыть форму документа #35
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну так канеш будет ошибка - вы путаете метод глобального контекста ПолучитьФорму и метод ссылки на документ Получить форму - они принимают разные параметры. Нужно написать так:
1C
1
2
3
4
5
6
7
8
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
    РасшифровкаДанные=ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
    ЗначениеВЯчейке=РасшифровкаДанные.Элементы[Расшифровка].ПолучитьПоля()[0].Значение;
    Форма = ЗначениеВЯчейке.ПолучитьФорму("ФормаТД");
    Форма.Открыть();
КонецПроцедуры
Если у вас действительно 1) толстый клиент, 2) у отчета УФ, отчет встроен в конфу, не внешний 3) у документа обычная форма, она имеет тип форма документа, тогда всё должно работать.
Tatiana21
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 82
29.12.2016, 16:49  [ТС]     1с отчет скд по нажатию на строку открыть форму документа #36
Все получилось, большое спасибо) да, я и вправду не так задавала параметры

Добавлено через 4 часа 12 минут
Возник вопрос. В отчете тип ДокументСсылка имеет только 1 ячейка - Номер. Можно ли реализовать такую возможность, чтобы при нажатии на любую другую ячейку, система обращалась бы к ячейке Номер в текущей строке и осуществляла расшифровку по ячейке Номер?
Dethmontt
Модератор
 Аватар для Dethmontt
2276 / 2085 / 304
Регистрация: 10.03.2011
Сообщений: 7,363
Записей в блоге: 1
Завершенные тесты: 1
29.12.2016, 17:20     1с отчет скд по нажатию на строку открыть форму документа #37
Tatiana21, А если пользователь зайдет в настройки отчета и отключит вывод документа (номера документа) и по другому сгруппирует данные (где в одной строке может быть больше 1-ого документа) то как быть тогда?
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
29.12.2016, 17:32     1с отчет скд по нажатию на строку открыть форму документа #38
Можно, например, выбрать ссылку в запросе несколько раз и у каждого из этих полей проставить нужное представление - нет нужды обращаться именно к полю номер.
Dethmontt
Модератор
 Аватар для Dethmontt
2276 / 2085 / 304
Регистрация: 10.03.2011
Сообщений: 7,363
Записей в блоге: 1
Завершенные тесты: 1
29.12.2016, 17:41     1с отчет скд по нажатию на строку открыть форму документа #39
Nath, А если я через плюсик добавлю еще одно поле в выбранные поля)))))? (я как пользователь отчета)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2016, 22:33     1с отчет скд по нажатию на строку открыть форму документа
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
29.12.2016, 22:33     1с отчет скд по нажатию на строку открыть форму документа #40
хаха - 1) берём и обрезаем пользователю возможность менять выбранные поля или 2) находим по имени среди имеющихся полей нужное или 3) убираем все поля, которые не являются ссылкой (но имеют другие представления) из доступных пользователю для выбора - тогда для расшифровки можно брать любое, например, первое )))

Но вообще, всё проще - пользователи обычно туповаты и поэтому 4) нет нужды чё-то делать, они не в курсе как вообще чё-то поменять )))
Yandex
Объявления
29.12.2016, 22:33     1с отчет скд по нажатию на строку открыть форму документа
Ответ Создать тему

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

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