Имя: Пароль:
1C
 
Отчеты в 8.2
0 xReason
 
03.12.08
18:06
Как уронить 8.2 очень просто ;) В отчете это делается так

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
  СтандартнаяОбработка = Ложь;
КонецПроцедуры

Скажите,  а можно ли в 8.2 создавать отчеты руками. как выводит инфу в ТабличноеПоле?
метода Вывести нету
1 TitanLuchs
 
03.12.08
18:17
Можно, сделай так:

ПолеТабличногоДокумента = Новый ТабличныйДокумент;
ПолеТабличногоДокумента.Показать();
2 i-rek
 
03.12.08
18:19
Я кстати обнаружил что тонкий клиент реально часто падает. А веб и толстый - нормуль.
Ещё событие ОбработкаРасшифровки не работает
3 i-rek
 
03.12.08
18:20
Довольно крупная засада в веб-клиенте - он не печатает толком. Т.е. функции масштабирования и настройки параметров страниц толком не работают
4 TitanLuchs
 
03.12.08
18:22
(2)(3) Первый блин, что вы хотели
5 i-rek
 
03.12.08
18:22
(0) вообще табличное поле обычно связано с реквизитом типа таблица значений.
Вот у него-то и есть "вывести"
6 i-rek
 
03.12.08
18:23
(4) да я доволен всё равно.
Фактически уже эксплуатирую, до сих пор все багофичи удавалось обходить ))
7 i-rek
 
03.12.08
18:25
Почему-то на некоторых компах веб-клиент в ИЕ ну очень уж сильно тормозит.
Да, кстати, параметры командной строки веб клиента не работают. По крайней мере N и P
досадно
8 TitanLuchs
 
03.12.08
18:25
(5) Не прокатит, "Вывести()" работает только для ПоляТабличногоДокумента и еще для чего-то, не помню )) В общем ТаблицыЗначений там нет.
9 i-rek
 
03.12.08
18:26
не удаётся манипулировать объектом ДанныеРасшифровки на стороне сервере.
Т.е. удаётся, но он не передаётся на клиент
10 i-rek
 
03.12.08
18:26
(8) извиняюсь :)) конечно, не ТаблицаЗначений а ТабличныйДокумент
11 i-rek
 
03.12.08
18:27
В визуальном конструкторе компоновки вообще уж смешной глюк :) при каждом изменении схемы нужно удалить и заново заполнить выбранные поля на закладке компоновка, иначе кажет ошибку
ну и хер с ним
12 TitanLuchs
 
03.12.08
18:30
(10) Все равно не прокатит: метод "Вывести()" доступен только на сервере ))
13 TitanLuchs
 
03.12.08
18:31
+(12) Да и "ТабличныйДокумент" отсутствует в списке возможных типов реквизитов формы.
14 i-rek
 
03.12.08
18:31
(12) А.... точняк. Так и делал. Даже не пришло в голову на клиенте попробовать ))
15 i-rek
 
03.12.08
18:32
(13) а вот тут ты не прав. У меня на всех отчётах лежит реквизит Результат с типом ТабличныйДокумент. Кстати он сам генерится при создании отчёта
16 TitanLuchs
 
03.12.08
18:34
(15) На управляемой форме такой реквизит у тебя лежит?
17 i-rek
 
03.12.08
18:36
(16) да. Генерится автоматом при создании формы в отчёте с галкой "управляемая"
18 TitanLuchs
 
03.12.08
18:42
(17) Вот смотри. У меня есть отчет. Я в дереве конфигурации кликаю правой кнопкой по "Формы", выбираю "Добавить". В окне уже выделена галка "Управляемая форма". Жму "Готово". Форма есть, реквизита "Результат" нет. W.T.F.?
19 i-rek
 
03.12.08
18:51
(18) хм. А у меня галка по умолчанию не выделена и кроме этого реквизита создаётся ещё куча панелей и полей

в отчёте на этот момент уже есть схема компоновки
тип формы=форма отчёта
стоит галка "использовать систему компоновки данных" и "командная панель сверху"
20 TitanLuchs
 
03.12.08
18:57
(19) А, ну это да, но работает такой вариант только тогда, когда при создании отчеты ты ему выбираешь основную схему компоновки данных. А иначе не прокатит, и никакого "Результата" не будет.
21 xReason
 
03.12.08
20:07
Ух ты. Пока с работы до дома доехал, да покушал. Тут столько вариантов напредлагали.
Спасибо.
Сейчас начну пробовать :)

А вообще 8.2 нравится. Только надо начать чуть-чуть по другому думать. Но у меня есть опыт разработки web-приложений.

А еще не знаю как вызвать метод на модуле объекта из формы.
Раньше я процедуре давал Экспорт и на форме просто вызывал этот метод. Сейчас такой фокус не проходит. Хоть при директиве в процедуре(на форме) &НаКлиенте, хоть &НаСервере
23 xReason
 
04.12.08
12:54
Все хорошо, через новый ТабличныйДокумент получилось показать.
Но как тогда теперь повесить событие на него, что бы при двойном клике открывался нужный документ?

И как бы это все такие засунуть в табличныйДокумент который на форме, а то ясень пень, все это в новом окне
24 TitanLuchs
 
04.12.08
14:46
(23) Читай (19) и (20). При создании отчета выбери основную схему компоновки данных, тогда поле появится на форме.
25 B_Twins
 
06.12.08
00:24
(7) параметры N и P работают вполне исправно, но только в латинице
26 Злобный Фей
 
06.12.08
00:31
(24) А как ведет себя 8.2 в обычном (неуправляемом) режиме? Есть такой экспириенс?
27 TitanLuchs
 
08.12.08
12:50
(26) Честно скажу, что в режиме толстого клиента запускал 8.2 всего пару раз. Но поскольку 1С заявляет полную совместимость с 8.1 в режиме толстого клиента, то рискну утверждать, что работать будет так же, как и 8.1. Некоторые утверждают, что 8.2 в режиме толстого клиента работает быстрее 8.1. Про себя могу сказать, что обнаружил в 8.2 несколько новых объектов, например "ДокументHTML"  с возможностью работы с коллекциями всех элементов документа: ссылками, картинками и т.д., что радует. В итоге можно заключить, что 8.2 это тот же 8.1, но быстрее, с новыми возможностями и с тонким и веб-клиентом, которыми по дефолту пользоваться необязательно, но при желании можно.
28 i-rek
 
08.12.08
12:53
Я кстати на текущем релизе нашёл работоспособными толстый клиент и веб-клиент в файрфоксе.
Тонкий клиент слишком падучий, а веб-клиент в экплорере слишком тормозной
29 TitanLuchs
 
08.12.08
13:00
(28) Ты тонкий по сети гоняешь? У меня на локальной тачке в файловом варианте нормально работает.
30 xReason
 
09.12.08
21:42
Нашел конфигу 1С:Управление небольшой фирмой 8 для 8.2 и там нашел все ответы на свои вопросы. Может кому поможет

свой отчет (важные моменты) Что удивительно без префиксов &Наклиента или &Насервере. Все выводиться ТЧОтчета это реквизит ТабличныйДокумент, но не в объекте отчета, а на форме

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

А вот Расшифровка

&НаКлиенте
// Процедура - обработчик события ОбработкаРасшифровки элемента формы Результат.
//
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
   
   Перем ВыполненноеДействие;
   
   // Запретим стандартную обработку расшифровки
   СтандартнаяОбработка = Ложь;
   // Создадим и инициализируем обработчик расшифровки
   АдресВременногоХранилища = АдресКомпоновки();
   ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВременногоХранилища));
   
   ДополнительныеДействия = Новый СписокЗначений;
   ДополнительныеДействия.Добавить("Открыть карточку счета");
   ДополнительныеДействия.Добавить("Открыть ОСВ по счету");
   
   // Осуществим выбор действия расшифровки пользователем
   Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, , ДополнительныеДействия);
       
   Если ВыполненноеДействие = "Открыть карточку счета" ИЛИ ВыполненноеДействие = "Открыть ОСВ по счету" Тогда
       
       ИмяНастроек = ?(ВыполненноеДействие = "Открыть карточку счета", "КарточкаСчета", "ОборотноСальдоваяВедомостьПоСчету");
       
       ПолеСчет = Новый ПолеКомпоновкиДанных("Счет");
       ПолеОрганизация = Новый ПолеКомпоновкиДанных("Организация");        
       ПолеСценарий = Новый ПолеКомпоновкиДанных("Сценарий");
       СчетОтбор = Неопределено;
       ОрганизацияОтбор = Неопределено;
       СценарийОтбор = Неопределено;
       
       //Ищем счет        
       Для каждого СтрокаТЧ Из ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля() Цикл
                   
           Если СтрокаТЧ.Поле = ПолеСчет Тогда
               ЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(ПолеСчет);
               ЭлементОтбора.ПравоеЗначение = СтрокаТЧ.Значение;
               СчетОтбор = СтрокаТЧ.Значение;
           Иначе
               Родители=ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей();
               Для каждого СтрокаТЧ Из Родители Цикл
                   Для каждого Строка Из ДанныеРасшифровки.Элементы.Получить(СтрокаТЧ.идентификатор).ПолучитьПоля() Цикл
                       Если Строка.Поле = "Счет" Тогда
                           СчетОтбор = Строка.Значение;
                       КонецЕсли;
                   КонецЦикла
               КонецЦикла;                
           КонецЕсли;
       
       КонецЦикла;
       
       // Ищем организацию и сценарий
       Для каждого ЭлементОтбора из Этаформа.ДанныеРасшифровки.Настройки.Отбор.Элементы Цикл
           
           Если ЭлементОтбора.ЛевоеЗначение = ПолеОрганизация тогда
               ОрганизацияОтбор = ЭлементОтбора.ПравоеЗначение;
           ИначеЕсли ЭлементОтбора.ЛевоеЗначение = ПолеСценарий тогда
               СценарийОтбор = ЭлементОтбора.ПравоеЗначение;
           КонецЕсли;
           
       КонецЦикла;                                                                    
       
       //Открываем форму
       ФормаОтчета1 = ПолучитьФорму("Отчет." + ИмяНастроек + ".Форма");
   
       Настройки1 = ФормаОтчета1.Отчет.КомпоновщикНастроек.ПолучитьНастройки();
       Для каждого ЭлементОтбора из Настройки1.Отбор.Элементы Цикл            
           Если ЭлементОтбора.ЛевоеЗначение = ПолеОрганизация тогда
               ЭлементОтбора.ПравоеЗначение = ОрганизацияОтбор;
           ИначеЕсли ЭлементОтбора.ЛевоеЗначение = ПолеСценарий тогда
               ЭлементОтбора.ПравоеЗначение = СценарийОтбор;
           ИначеЕсли ЭлементОтбора.ЛевоеЗначение = ПолеСчет тогда
               ЭлементОтбора.ПравоеЗначение = СчетОтбор;
           КонецЕсли;        
       КонецЦикла;
       
       ФормаОтчета1.Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки1);
       ФормаОтчета1.Открыть();
         ФормаОтчета1.СкомпоноватьРезультат();

   КонецЕсли;

КонецПроцедуры
31 крутойкодер
 
09.12.08
21:53
(30)screamhome@mail.ru плс кинь это чудо
а тово франче заказал уже припарлся ждать
32 nbIx
 
09.12.08
21:53
Народ, где вы бета-версию брали??? На диске ИТС она есть??
33 JF_168
 
09.12.08
22:19
users.v8.1c.ru
34 Propeller
 
09.12.08
23:18
А я не поняла про настройку формы отчета в 8.2 в которой отчет формируется. Там можно, например, настроить чтобы командная панель с кнопочками была?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший