Имя: Пароль:
1C
1С v8
Можно ли скрыть форму?
,
0 AugustBlack
 
09.04.13
09:23
Если Не Форма = Неопределено Тогда
       Форма.Открыть();
Иначе
       Сообщить("Форма открываемой обработки или отчета не определена.", СтатусСообщения.БезСтатуса);
   КонецЕсли;

Как сделать так чтобы форма открывалась, но юзер ее не видел?:) что-нибудь типа Видимость = Ложь;
1 Галахад
 
гуру
09.04.13
09:24
Гм. А что он с ней будет делать?
2 AugustBlack
 
09.04.13
09:25
мне нужно показывать ее только по событию :)
3 Рэйв
 
09.04.13
09:25
(0)Просто не открывай и все. Программно сможешь работтаь, а юзер не увидит:-)
4 Рэйв
 
09.04.13
09:25
(2)Открывай только по событию тогда
5 AugustBlack
 
09.04.13
09:27
дело в том что пакетно формирую тонну отчетов, сливаю с них данные в табличный документ.
а для формирования отчета нужно открыть форму...
все ок работает, но я хочу сделать так чтобы при формировании отчеты юзер не видел, а видел только по клику на расшифровку ячейки в таб. документе:)
6 AugustBlack
 
09.04.13
09:28
*при формировании отчетов юзер не видел их*
7 AugustBlack
 
09.04.13
09:28
т.е в расшифровку засунуть ссылку на форму, методом открыть показать юзверу ее
8 cw014
 
09.04.13
09:32
(7) Собирай свои формы в массив, присобачивай к своим расшифровку форму отчета, сами формы не открывай. Формирование делай процедурой "СформироватьОтчет" у объекта отчета
9 Рэйв
 
09.04.13
09:32
(7)А зачем для формирования открывать форму?
Формируй в фоне, а переменные с формами клади в расшифровку

как то так
10 Stim
 
09.04.13
09:37
Открыть и закрыть
11 cw014
 
09.04.13
09:38
(10) А лучше вообще не открывать
12 AugustBlack
 
09.04.13
09:39
(8)(9) наверное неправильно вызываю формирование,
в типовых регистрах ну в бп:

Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок, ВысотаЗаголовка, ТолькоЗаголовок = Ложь) Экспорт

текущий код пакетного формирования:
   СтандартнаяОбработка = Ложь;
                                         
   СсылкаНаОбъект = Справочники.ВнешниеОбработки.НайтиПоКоду(Код);
   
   ИмяФайла = ПолучитьИмяВременногоФайла();
   ДвоичныеДанные = СсылкаНаОбъект.ХранилищеВнешнейОбработки.Получить();
   ДвоичныеДанные.Записать(ИмяФайла);
   
   ВнешнийОтчет = ВнешниеОтчеты.Создать(ИмяФайла);
   ВнешнийОтчет.ДатаНач = НачПериода;
   ВнешнийОтчет.ДатаКон = КонПериода;
   ВнешнийОтчет.Организация = Организация;
   ВнешнийОтчет.ПараметрыПакетногоФормирования = РН_ПараметрыПакетногоФормирования;
   Форма = ВнешнийОтчет.ПолучитьФорму();
   
   Если Не Форма = Неопределено Тогда
       Форма.Открыть();
   Иначе
       Сообщить("Форма открываемой обработки или отчета не определена.", СтатусСообщения.БезСтатуса);
   КонецЕсли;
   
   ВнешнийОтчет.СформироватьОтчет(Форма.ЭлементыФормы.ДокументРезультат,,);
   
   //СтруктураВозвращаемогоЗначения = Новый Структура;
   //СтруктураВозвращаемогоЗначения.Вставить("ИтогСумма", ВнешнийОтчет.ВозвращаемоеЗначение);
   //СтруктураВозвращаемогоЗначения.Вставить("Расшифровка", Форма);

   
   Возврат ВнешнийОтчет.ВозвращаемоеЗначение;
13 AugustBlack
 
09.04.13
09:41
конктретно строка ВнешнийОтчет.СформироватьОтчет(Форма.ЭлементыФормы.ДокументРезультат,,); в ней передается Поле таб документа.....

мб ей ТабличныйДокумент попробовать передавать?
14 AugustBlack
 
09.04.13
09:48
ух разобрался - сработало без вызова формы, в качестве расшифровки возвращает табличный документ (8)(9)(10) (11) Большое Спасибо!

вот как надо:
ТабДок = Новый ТабличныйДокумент;
ВнешнийОтчет.СформироватьОтчет(ТабДок,,);
а не
ВнешнийОтчет.СформироватьОтчет(Форма.ЭлементыФормы.ДокументРезультат,,);
15 Stim
 
09.04.13
09:53
Это еще ладно. Объясните, зачем в экспортной процедуре загрузки кладра ушлые разработчики поставили предупреждение без таймаута? Руки бы им оторвать..
Ошибка? Это не ошибка, это системная функция.