Имя: Пароль:
1C
1С v8
Помогите настроить переход к отчету из документа ЗаявкиНаРасход
0 demous
 
20.03.12
09:07
УПП 8.2
Документ "ЗаявкаНаРасходованиеДенежныхСредств", есть отчет "ЗаявкиНаРасходованиеСредств"
Надо добавить кнопку перехода к этому отчету, из формы заявки, но так что бы отчет показывался именно по этой заявке из которой переходим, помогите пожалуйста с процедурой для кнопки
Заранее благодарен
1 Рэйв
 
20.03.12
09:11
Объект=Отчеты.МойОтчет.Создать();

Потом заполняй фильтры как хочешь и запускай процедуру формирования
2 demous
 
20.03.12
09:21
первый раз с этим сталкиваюсь просто
вытягивать фильтры из универсального отчета?
3 demous
 
20.03.12
09:37
Процедура отчетНажатие(Элемент)
   Объект=Отчеты.ЗаявкиНаРасходованиеСредств.Создать();
   Объект=УстановитьНачальныеНастройки();
   
   Объект.УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки.Очистить();
   Объект.УниверсальныйОтчет.ПостроительОтчета.ИзмеренияКолонки.Очистить();
   Объект.УниверсальныйОтчет.ПостроительОтчета.ВыбранныеПоля.Очистить();
   Объект.УниверсальныйОтчет.ПостроительОтчета.Порядок.Очистить();
   
   Объект.УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Контрагент");
   Объект.УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ЗаявкаНаРасходование");

   ЭлементОтбора = Объект.УниверсальныйОтчет.ПостроительОтчета.Отбор["ЗаявкаНаРасходование"];
   ЭлементОтбора.Использование = Истина;
   ЭлементОтбора.ВидСравнения = ?(Ссылка.ЭтотОбъект, ВидСравнения.ВИерархии, ВидСравнения.Равно);
   ЭлементОтбора.Значение = Ссылка;
   
   Объект.УниверсальныйОтчет.ДобавитьДополнительноеПоле("Период");
   Объект.УниверсальныйОтчет.ДобавитьДополнительноеПоле("Регистратор");
       
   Объект.УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;
   
   Объект.УниверсальныйОтчет.мВосстанавливатьНастройкиПриОткрытии = Ложь;
       
   ФормаОтчета = Объект.ПолучитьФорму();
   ФормаОтчета.Открыть();
   ФормаОтчета.ОбновитьОтчет();

   
КонецПроцедуры


вот так получилось, будет ли работать?
4 el-gamberro
 
20.03.12
09:41
(3) ето что за жестяка?
ИМХАется что в упр. формах такой код работать не должон!
5 demous
 
20.03.12
09:42
Как исправить? говорю же такое впервый раз делаю
6 demous
 
20.03.12
09:43
только это не в управляемую форму, а в форму документа основную
7 el-gamberro
 
20.03.12
09:47
форма упр. или нет?

   ПараметрыОткрытияФормы = Новый Структура();
   ФормаОтчета = ПолучитьФорму("Отчет.ЗаявкиНаРасходованиеСредств.Форма.ФормаОтчета",ПараметрыОткрытияФормы);
8 pessok
 
20.03.12
09:48
(6) шо ты творишь?
   Отчет = Отчеты.ЗаявкиНаРасходованиеСредств.Создать();
   Форма = Отчет.ПолучитьФорму("Форма");
   Форма.Открыть();
   Отчет.УстановитьНачальныеНастройки();
Отчет.СформироватьОтчет(Форма.ЭлементыФормы.Результат);
9 demous
 
20.03.12
09:49
форма не управляемая
10 demous
 
20.03.12
09:53
(8) Поле "Результат" Не обнаружено
начальные настройки, что мне забить туда?
11 demous
 
20.03.12
09:55
(7) {Документ.ЗаявкаНаРасходованиеСредств.Форма.ФормаДокумента.Форма(2158)}: Ошибка при вызове метода контекста (ПолучитьФорму)
  ФормаОтчета = ПолучитьФорму("Отчет.ЗаявкиНаРасходованиеСредств.Форма.ФормаОтчета",ПараметрыОткрытияФормы);
по причине:

по причине:
Неизвестное имя формы. Имя: "Отчет.ЗаявкиНаРасходованиеСредств.Форма.ФормаОтчета"
12 pessok
 
20.03.12
09:55
ЭлементыФормы.ПолеТабличногоДокументаРезультат вместо Результат
13 pessok
 
20.03.12
09:57
Отчет.СформироватьОтчет(Форма.ЭлементыФормы.ПолеТабличногоДокументаРезультат);
вот так, короче говоря. если хочешь проставить периоды - пиши тоже в элементыформы
14 demous
 
20.03.12
09:59
Спасибо, а с настройками что бы отчет выводило конкретно по той заявке с которой вызываем отчет?
15 pessok
 
20.03.12
09:59
другой вариант - действитель сделать так, как ты начал - через универсальный отчет и задать параметры уже ему. все зависит от того, какие надо в очтет запихнуть отборы
16 demous
 
20.03.12
10:00
по вашему варианту он открывает отчет и формирует его по всем заявкам
17 demous
 
20.03.12
10:02
строки Контрагент и заявка на расход
а отбор ЗаявкаНаРасходование Равно этому объекту, как это правильно мне реализовать?
18 demous
 
20.03.12
10:08
не подскажите?
19 pessok
 
20.03.12
10:12
(18) 5 минут
20 demous
 
20.03.12
10:13
Благодарю)))
21 pessok
 
20.03.12
10:17
УниверсальныйОтчет = Отчеты.УниверсальныйОтчет.Создать();
   
   УниверсальныйОтчет.мНазваниеОтчета = СокрЛП("Отчет по заявке");
   
   УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
   
   УниверсальныйОтчет.ИмяРегистра = "ЗаявкиНаРасходованиеСредств";
   
   УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
       
   УниверсальныйОтчет.ДобавитьПолеГруппировка("ФормаОплаты",           "ЗаявкаНаРасходование", "ФормаОплаты",         "Наличные, безналичные");
   УниверсальныйОтчет.ДобавитьПолеГруппировка("ВалютаДенежныхСредств", "ЗаявкаНаРасходование", "ВалютаДокумента",     "Валюта денежных средств");
   УниверсальныйОтчет.ДобавитьПолеГруппировка("БанковскийСчетКасса",   "ЗаявкаНаРасходование", "БанковскийСчетКасса", "Банковский счет, касса");
   УниверсальныйОтчет.ДобавитьПолеГруппировка("Ответственный",         "ЗаявкаНаРасходование", "Ответственный",       "Ответственный");
   УниверсальныйОтчет.ДобавитьПолеГруппировка("Подразделение",         "ЗаявкаНаРасходование", "ЦФО",                 "Подразделение");
   
       УниверсальныйОтчет.УстановитьНачальныеНастройки(Истина);
   
   УниверсальныйОтчет.ДобавитьПоказатель("СуммаВзаиморасчетовОборот",, Ложь,, "СуммаВзаиморасчетов");
   УниверсальныйОтчет.ДобавитьПоказатель("СуммаУпрОборот",,            Ложь,, "СуммаУпр");
   УниверсальныйОтчет.ДобавитьПоказатель("СуммаОборот",,               Ложь,, "Сумма");
   
   УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ФормаОплаты");
   УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ВалютаДенежныхСредств");
   УниверсальныйОтчет.ДобавитьИзмерениеСтроки("БанковскийСчетКасса");
   УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ЗаявкаНаРасходование");
   
   УниверсальныйОтчет.ДобавитьОтбор("ФормаОплаты");
   УниверсальныйОтчет.ДобавитьОтбор("ВалютаДенежныхСредств");
   УниверсальныйОтчет.ДобавитьОтбор("БанковскийСчетКасса");
   УниверсальныйОтчет.ДобавитьОтбор("Ответственный");
   УниверсальныйОтчет.ДобавитьОтбор("Контрагент");
   УниверсальныйОтчет.ДобавитьОтбор("СтатьяДвиженияДенежныхСредств");
   УниверсальныйОтчет.ДобавитьОтбор("Подразделение");
   УниверсальныйОтчет.ДобавитьОтбор("Проект");
   УниверсальныйОтчет.ДобавитьОтбор("ЗаявкаНаРасходование");
   ОтборЗаявка = УниверсальныйОтчет.ПостроительОтчета.Отбор["ЗаявкаНаРасходование"];
   ОтборЗаявка.Использование = Истина;
   ОтборЗаявка.Значение = Ссылка;
   ОтборЗаявка.Использование = Истина;
   ТабДок = Новый ТабличныйДокумент;
   УниверсальныйОтчет.СформироватьОтчет(ТабДок);
   ТабДок.Показать();

Вот, лови. Размялся хоть :)
22 demous
 
20.03.12
10:22
ухх ) спасибо, сейчас попробую)
23 pessok
 
20.03.12
10:24
(22) кстати говоря, практически полностью типовой код из отчета по заявкам. учись не изобретать велосипеды, а внимательно смотреть то, что за тебя написали программисты из 1С :)
24 demous
 
20.03.12
10:27
спасибо огромное за помощь и за совет) учту на будущее)))
25 pessok
 
20.03.12
10:36
(24) обращайся
26 demous
 
20.03.12
10:40
а что бы регистратор добавить,
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Документ движения");
Правильно?
27 demous
 
20.03.12
10:47
нет, не правильно(
28 pessok
 
20.03.12
10:47
(26) регистратором может быть и платежка, это неверно. смотреть надо по измерению "ЗаявкаНаРасходование"
29 demous
 
20.03.12
10:55
просто потребовалось вывести дату оплаты, а как вариант, это вывести платежку по которой была закрыта заявка, и будут видеть от какого числа платежка
30 pessok
 
20.03.12
10:56
ну тогда можно и регистратор взять, когда идет расход денег
31 demous
 
20.03.12
10:58
в строках есть регистратор, но как его прописать правильно?
32 demous
 
20.03.12
11:06
чтот не получается(((
33 FIXXXL
 
20.03.12
11:09
(32) посмотри как отчеты открываются из справочника Номенклатура
34 Ц_У
 
20.03.12
11:13
35 demous
 
20.03.12
11:29
а вот в вариант от Pessok - добавить поле Регистратор?
36 demous
 
20.03.12
11:59
?????????
37 demous
 
20.03.12
12:08
разобрался
38 demous
 
20.03.12
12:22
только последний вопрос, как от туда убрать СуммаУпрОборот и СуммаОборот