|
Как открыть в тонком клиенте 1С отчет СКД, заполнить параметры и сформировать? [решено] | ☑ | ||
---|---|---|---|---|
0
romix
23.05.15
✎
16:45
|
Есть структура: контрагент, договор и так далее.
Нужно по кнопке на клиенте вызвать отчет на СКД, где настройки автоматически заполняются по этой структуре и автоматически же выполняется формирование отчета. 1С:Предприятие 8.3 (8.3.5.1517), тонкий клиент. Пока сочинял вопрос - нашел на него ответ (пусть будет для поиска) http://v8.1c.ru/metod/faq2/answer.jsp?id=641 На клиенте сделал вот так - все работает, формирует, всё красиво.
Но в поля настроек СКД не передаются значения, и не ставятся галочки - они пустые... Это надо в модуле отчета, что ли, прописывать? |
|||
1
romix
23.05.15
✎
17:06
|
Вот еще пишут
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=617456&threadtype=0
|
|||
2
rphosts
23.05.15
✎
17:13
|
Можно а ПриОткрытии() анализировать параметры... можно создать форму, задать значения реквизитов потом сделать над формой Открыть() или ОткрытьМодально() (последнее не работает на самых последних версиях платформы)
|
|||
3
rphosts
23.05.15
✎
18:45
|
во, у меня оно вот так:
на форме (контекст клиента): ПараметрыОтчета = Новый Структура("СформироватьПриОткрытии, ПользовательскиеНастройки", Истина); ПараметрыОтчета.ПользовательскиеНастройки = ПолучитьПользовательскиеНастройкиОтчета(); УстановитьЗначениеПользовательскойНастройки(ПараметрыОтчета.ПользовательскиеНастройки, "ПараметрДоговор", Объект.Владелец); ОткрытьФорму("Отчет.КарточкаДоговора.Форма",ПараметрыОтчета); на той-же форме но на сервере: &НаСервереБезКонтекста Функция ПолучитьПользовательскиеНастройкиОтчета() Возврат Отчеты.КарточкаДоговора.Создать().КомпоновщикНастроек.ПользовательскиеНастройки; КонецФункции сам отчёт - голый СКД даже без формы, но у него есть параметр с именем ПараметрДоговор. |
|||
4
rphosts
23.05.15
✎
18:49
|
и вот это на форме
&НаСервере Процедура УстановитьЗначениеПользовательскойНастройки(Настройки, Имя, Значение) Для Каждого элемент Из Настройки.Элементы Цикл Если ТипЗнч(элемент) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда Если Строка(элемент.Параметр) = Имя Тогда элемент.Значение = Значение; элемент.Использование = Истина; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры немного коряво, но я тогда только учился СКД |
|||
5
Desna
23.05.15
✎
19:23
|
вот как раз вчерашняя тема
Как правильно передать параметр в запрос через СКД? Как правильно передать параметр в запрос через СКД? с параметрами надо сразу по гуиду искать |
|||
6
romix
23.05.15
✎
20:07
|
У меня заработало вот так:
На форме, из которой вызываю отчет:
На форме отчета СКД (там надо создать форму ФормаОтчета):
|
|||
7
romix
23.05.15
✎
20:09
|
Находить в отладчике, где чего в СКД, удобно через кнопку на форме.
|
|||
8
romix
24.05.15
✎
02:53
|
Для вызова не отдельного отчета, а его варианта, схема работы изменяется так:
|
|||
9
romix
28.05.15
✎
13:53
|
Сергей milanse рекомендует такой способ вызова (иначе на клиенте могут не выставляться галочки при не созданных настройках, также тут есть вызов вложенной схемы:
|
|||
10
romix
28.05.15
✎
18:09
|
Соответственно, в отчете (надо создать форму под названием ФормаОтчета):
|
|||
11
ssh2006
28.05.15
✎
18:28
|
Вроде бы расширение отчета поставляет в параметры упр формы такие параметры.
Вариант и Отбор Отбор: Расширение управляемой формы для отчета (Managed form extension for reports) Отбор (Filter) Описание: Тип: Структура. Используется для установки отбора и параметров данных в форме отчета. Ключ элемента структуры содержит имя поля или параметра, на которое нужно наложить отбор. Значение элемента структуры содержит значение отбора. Если имеется параметр системы компоновки данных с именем, соответствующим имени ключа структуры, то значение будет установлено ему. Если параметра нет, но есть поле, то будет добавлен отбор на это поле. Если значение является массивом или списком значений с не одним элементом, то отбор будет применяться с видом сравнения ВСписке. Думается, достаточно просто передать эти параметры. |
|||
12
romix
28.05.15
✎
18:37
|
(11) А тогда получаются пустые параметры (такие как период, контрагент и договор). Я хочу, чтобы пользователь мог их менять или снимать галочки для построения более широкого отчета.
|
|||
13
romix
08.06.15
✎
17:31
|
Если нет вложенных схем, то на форме отчета обработка выглядит так:
|
|||
14
DexterMorgan
08.06.15
✎
17:35
|
(0) Ты это, че, развязался что ли?
|
|||
15
romix
08.06.15
✎
17:45
|
(14) Решил улучшить отчеты.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |