Имя: Пароль:
1C
1С v8
открыть внешний отчет карточка счета с параметрами
0 pilot_iv
 
07.06.13
10:37
есть документ с реквизитами договор и контрагент
как через кнопку на форме документа открыть очтет Карточка счета и передать туда параметры счет,договор,контрагент

пробую как внешний  отчет Карточка счета
                ВнОбр=Справочники.ВнешниеОбработки.НайтиПоНаименованию("УК_КарточкаСчета62");
   Если  ВнОбр=Справочники.ВнешниеОбработки.ПустаяСсылка()  Тогда
       Сообщить(" Не удалось найти отчет УК_КарточкаСчета62 во внешних отчетах.", СтатусСообщения.Важное);
       Возврат;
   КонецЕСли;
   ДвоичныеДанные=ВнОбр.ХранилищеВнешнейОбработки.Получить();
   ИмяФайла = КаталогВременныхФайлов()+"workform2.tmp";
   ДвоичныеДанные.Записать(ИмяФайла);
   Попытка
       Карточка_62 = ВнешниеОтчеты.Создать(ИмяФайла);
   Исключение
       Сообщить(" Ошибка исполнения внешней обработки "+ ИмяФайла+Символы.ПС+ОписаниеОшибки(), СтатусСообщения.Важное);
       Возврат;
   КонецПопытки;

   
   ФормаПодбораЗатрат = Карточка_62.ПолучитьФорму();
   ОтборБУ = 3;//ПостроительОтчета.Отбор.Количество();
   КолЭл = ОтборБУ-1;
   //ТекущийОтбор = ПостроительОтчета.Отбор;
   Для  Сч = 0 по  1 Цикл
       ФормаПодбораЗатрат.ЭтотОбъект.ПостроительОтчета.Отбор[Сч].Значение = Контрагент;
       ФормаПодбораЗатрат.ЭтотОбъект.ПостроительОтчета.Отбор[Сч].Использование = Истина;
   КонецЦикла;
   ФормаПодбораЗатрат.ЭтотОбъект.СЧЕТ = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62");
   ФормаПодбораЗатрат.Открыть();
   ФормаПодбораЗатрат.ОбновитьОтчет();
1 pilot_iv
 
07.06.13
10:38
но доступ к отборам построителя получить не могу
2 fmrlex
 
07.06.13
10:46
(0) Сделай внешнюю печатную форму. Примеров написания в интернетах куча.
3 pilot_iv
 
07.06.13
11:34
ВнОбр=Справочники.ВнешниеОбработки.НайтиПоНаименованию("УК_КарточкаСчета62");
   Если  ВнОбр=Справочники.ВнешниеОбработки.ПустаяСсылка()  Тогда
       Сообщить(" Не удалось найти отчет УК_КарточкаСчета62 во внешних отчетах.", СтатусСообщения.Важное);
       Возврат;
   КонецЕСли;
   ДвоичныеДанные=ВнОбр.ХранилищеВнешнейОбработки.Получить();
   ИмяФайла = КаталогВременныхФайлов()+"workform2.tmp";
   ДвоичныеДанные.Записать(ИмяФайла);
   Попытка
       Карточка_62 = ВнешниеОтчеты.Создать(ИмяФайла);
   Исключение
       Сообщить(" Ошибка исполнения внешней обработки "+ ИмяФайла+Символы.ПС+ОписаниеОшибки(), СтатусСообщения.Важное);
       Возврат;
   КонецПопытки;
   ФормаПодбораЗатрат = Карточка_62.ПолучитьФорму();
   ФормаПодбораЗатрат.ЭтотОбъект.СЧЕТ = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62");
   ПолеКонтрагента=ФормаПодбораЗатрат.ЭтотОбъект.ПостроительОтчета.ДоступныеПоля;
   ПолеКонтрагента.Добавить("Контрагент","Контрагент",Новый ОписаниеТипов("СправочникСсылка.Контрагенты"));
   Отбор =  ФормаПодбораЗатрат.ЭтотОбъект.ПостроительОтчета.Отбор;
       Отбор.УстановитьДоступныеПоля(ПолеКонтрагента);
   Если Отбор.Найти("Контрагент") = Неопределено Тогда
       Отбор.Добавить("Контрагент");
   КонецЕсли;
   Отбор["Контрагент"].Использование = Истина;
   Отбор["Контрагент"].Значение      = Контрагент;
   Отбор["Контрагента"].ВидСравнения  =  
   ВидСравнения.Равно;
   ФормаПодбораЗатрат.Открыть();

достучаться до построителя удалось, но при попытке добавить ошибка
Отбор.Добавить("Контрагент");
по причине:
Недопустимое значение параметра (параметр номер '1')
4 pilot_iv
 
07.06.13
11:37
непонятно, почему не дает отбор добавить
5 Галахад
 
гуру
07.06.13
11:39
Вот годная статья.

http://infostart.ru/public/62223/
6 pilot_iv
 
07.06.13
11:40
тут про универсальный отчет, а мне нужно настроить ПостроительОтчета у вызываемого отчета
7 Grobik
 
07.06.13
11:43
(6) +5