Имя: Пароль:
1C
1С v8
Настройки в СКД
, , ,
0 Яна93
 
25.12.15
16:21
Всем привет! В моем отчете СКД есть кнопка Настройка.. при нажатии на которую выходит окно в котором написано "Не предусмотрено возможности настройки для этого варианта отчета". Отчет использует внешний источник данных.. Кнопка Сформировать работает, в общем модуле объекта прописано:

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




Как добавить функционал настроек, подскажите кто знает? Форма отчета УФ
1 Лефмихалыч
 
25.12.15
16:23
1. найти в коде строку "Не предусмотрено возможности настройки для этого варианта отчета"
2. удалить ее и все вокруг
3. написать свое, хорошее
2 Яна93
 
25.12.15
16:28
(1) В отчете точно нет такой строки в коде..а в конфигурации где такое находится?
3 Яна93
 
25.12.15
16:34
+(0) мне бы просто бы вывести поля для ввода ДатаНачала и ДатаОкончания..чтобы просто задавать нужный период...
4 Cyberhawk
 
25.12.15
16:36
Смотри форму настроек отчета в свойствах корня конфигурации - она открывается в БСП
5 Nuobu
 
25.12.15
16:36
(3) Так выведи

А в этой строке используй их:

ПроцессорКомпоновки.Инициализировать(Макет, Новый Структура("ТЗ", Результат()), ДанныеРасшифровки);
6 Яна93
 
25.12.15
16:46
(5) Пытаюсь найти в интернете как это сделать...пока добавила в основную схему ДатаНачала и ДатаОкончания..
7 Nuobu
 
25.12.15
16:47
(6) А есть функция "Результат()" в модуле отчета?
8 Яна93
 
25.12.15
16:49
Да, есть..там запросом я и получаю данные из внешнего источника и отправляю его в ТЗ.. параметры дат я забила в функции вручную..а хотелось бы на форме выбирать нужные даты..
9 Яна93
 
25.12.15
16:50
(8) точнее не параметры дат а просто даты забила вручную
10 Яна93
 
25.12.15
16:58
Ни чего похожего не нахожу
11 gSha
 
25.12.15
17:00
какие настройки - всего то надо фотку в купальнике в другую ветку.
12 Windyhead
 
25.12.15
17:01
(0)Чтобы бы БСП сьела твой отчет укажи, состав пользовательских настроек. на скрине пример
http://joxi.ru/l2ZYp5wF8EkO3m
13 rabbidX
 
25.12.15
17:04
(11) Джек-пот сорвала бы 100%, но не будем офтопить.
(8) создай реквизиты отчета ДатаНачала и ДатаОкончания, выведи на форму (лучше через стандартный период), там, где прописала даты в коде замени их на эти реквизиты.
(12) 404 ошибку выдает.
14 Windyhead
 
25.12.15
17:04
(12)Поправил ссылку http://joxi.ru/bmobjqlfM9o0Nr
15 Яна93
 
25.12.15
17:08
(14) Вышло) Появились настройки отбора..сейчас буду смотреть как параметры этих полей с датами передать в функцию..
16 Nuobu
 
25.12.15
17:25
(15) А не лучше ли в функции "Результат" воспользоваться ограничениями?
17 Яна93
 
25.12.15
17:26
(16) Это как?
18 Nuobu
 
25.12.15
17:27
(17) Ну, типа, заводишь два реквизита: начало и конец периода.
А в ф-и "Результат" ставишь в запросе отборы по ним?
19 Яна93
 
25.12.15
17:29
(18) Вот я завела в СКД параметры начало и конец периода, вывела ее на форму..а дальше туплю...(
20 Nuobu
 
25.12.15
17:31
(19) ЭтотОбъект.КомпоновщикНастроек.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение;
21 Яна93
 
25.12.15
17:35
(20) Это можно сразу в функции прописать? Или только в процедуре ПриКомпоновкеРезультата?
22 Яна93
 
25.12.15
17:36
(20) Не ругайся только) ни когда раньше не работала в скд с внешними данными)
23 Яна93
 
25.12.15
17:37
(20) до этого этот отчет должен был выводить результаты в он-лайн режиме..а теперь возникла неоходимость задавать определенную дату..
24 Nuobu
 
25.12.15
17:42
(23) Как хочешь, так и делай.
25 Яна93
 
25.12.15
17:49
в функцию добавила эту строку..может я делаю что-то не так:
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{ВнешнийОтчет.СостояниеРаботы.МодульОбъекта(23)}: Поле объекта не обнаружено (ПараметрыДанных)
     НачалоПериода = ЭтотОбъект.КомпоновщикНастроек.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение;
26 gSha
 
25.12.15
17:51
время 17-50, день пятница. Католическое рождество. Завязывай уже)
27 Яна93
 
25.12.15
17:52
(25) немного поправила..и все равно:

Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{ВнешнийОтчет.СостояниеРаботы.МодульОбъекта(23)}: Значение не является значением объектного типа (Значение)
     НачалоПериода = ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода").Значение;
28 Яна93
 
25.12.15
17:53
(26) да лучше сейчас это доделать....а то все выходные буду думать только об этом..
29 Яна93
 
25.12.15
18:02
Все) Разобралась, получилось)) Всем спасибо! Особенно   Nuobu!!! Не дал пропасть моим выходным)))
30 Nuobu
 
25.12.15
22:58
(29) С праздником и хороших выходных.
31 Яна93
 
26.12.15
11:45
(30) Спасибо!) Мне очень стыдно...но я вчера поторопилась закрывать тему.. Просто я увидела через точку останова что значение получает формат даты..и не обратила внимание, что дата не та которую я устанавливала, а пустая: Значение    01.01.0001 0:00:00    Дата.

Думала, что смогу разобраться..но ни чего не получилось..Вот как я получаю эту дату -  НачалоПериода = ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаНачала").Значение;

Кто знает почему дату я получаю пустую?
32 EugeniaK
 
26.12.15
11:51
(31) потому что дата заполнена в пользовательских настройках, а не в общих по отчету.
Бери из другой коллекции.
33 Яна93
 
26.12.15
11:53
(32) Из какой, другой?)
34 Web00001
 
26.12.15
11:59
35 Nuobu
 
26.12.15
12:40
(33) Смотря, как ты её заполняешь.
Если вытянула отбор и там устанавливаешь, то из отбора.
Если из пользовательских настроек, то ищи её там.
Нужно залезть в каждый и глянуть.
36 Яна93
 
26.12.15
14:34
(35) А вот и мой спаситель появился)) но я уже справилась)) (34)Спасибо) Помогло!)
37 Armando
 
27.12.15
23:17
Чтоб голова не болела по поводу в какой коллекции искать значение параметра и отбор, надо настройки собрать в кучу.
НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();
Далее искать только в НастройкиКомпоновки
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан