Имя: Пароль:
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
Это еще ладно. Объясните, зачем в экспортной процедуре загрузки кладра ушлые разработчики поставили предупреждение без таймаута? Руки бы им оторвать..
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn