Имя: Пароль:
1C
1С v8
Азы работы с отчетами
, ,
0 Новичёк123123
 
04.08.11
10:26
Добрый день) буквально первый день всерьёз принялся за 1с 8, сразу после того как более или менее разобрался в 1с 7. Задача в 8 довольно таки проста(составить отчет по амортизации, с помощью конструктора разобрался и составил что то похожее на отчет, но хотелось бы ручками сделать) но ни как не могу понять как точно работать с макетами. Нашёл кучу информации по запросам составил примитивный запрос, но насчет макетов информация очень скудна и хаотична. Буду очень признателен если кто нибудь ткнет пальцем на источник информации или разжуёт как приблизительно оно работает. И корнкретно сам вопрос если у нас в отчете есть макет как указать что именно с ним мы будем рабоать (я так понял это должен быть аналог ИсходнаяТаблица)
сам примитивный код который составил:


Процедура КнопкаСформироватьНажатие(Кнопка)
   Запрос=Новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
   |ПараметрыАмортизацииОСБухгалтерскийУчет.ОсновноеСредство КАК ОсновноеСредство,
   |ПараметрыАмортизацииОСБухгалтерскийУчет.Организация,
   |ПараметрыАмортизацииОСБухгалтерскийУчет.Активность,
   |ПараметрыАмортизацииОСБухгалтерскийУчет.ЛиквидационнаяСтоимость,
   |ПараметрыАмортизацииОСБухгалтерскийУчет.СтоимостьДляВычисленияАмортизации,
   |ПараметрыАмортизацииОСБухгалтерскийУчет.СрокИспользованияДляВычисленияАмортизации
|ИЗ
   |РегистрСведений.ПараметрыАмортизацииОСБухгалтерскийУчет КАК ПараметрыАмортизацииОСБухгалтерскийУчет
|СГРУППИРОВАТЬ ПО
   |ПараметрыАмортизацииОСБухгалтерскийУчет.ОсновноеСредство,
   //|ПараметрыАмортизацииОСБухгалтерскийУчет.Организация,
   //|ПараметрыАмортизацииОСБухгалтерскийУчет.Активность,
   //|ПараметрыАмортизацииОСБухгалтерскийУчет.ЛиквидационнаяСтоимость,
   //|ПараметрыАмортизацииОСБухгалтерскийУчет.СтоимостьДляВычисленияАмортизации,
   //|ПараметрыАмортизацииОСБухгалтерскийУчет.СрокИспользованияДляВычисленияАмортизации
|УПОРЯДОЧИТЬ ПО
   |ОсновноеСредство";
   Результат=Запрос.Выполнить().Выбрать();
   ТабДок=Новый ТабличныйДокумент;
   Пока Результат.Следующий()=1 Цикл
       Область=Макет.ПолучитьОбласть(Строка);
       Область.Параметры.ОсновноеСредство=Результат.ОсновноеСредство;
   КонецЦикла;
КонецПроцедуры
1 lxs
 
04.08.11
10:27
Нович"ё"==>"о"к, следовательно, бросай это дело, доверься профессионалам.
2 Новичёк123123
 
04.08.11
10:29
спасибо за совет) но раз начал нужно уже идти до конца)
3 0xFFFFFF
 
04.08.11
10:29
(0) открываешь любую типовую конфу и...
4 0xFFFFFF
 
04.08.11
10:30
(0) А лучше купить книжку Хрусталевой и забыть про макеты в отчетах.
5 lxs
 
04.08.11
10:30
(3) ...нихрена там не понимаешь..
6 0xFFFFFF
 
04.08.11
10:30
:)
7 Новичёк123123
 
04.08.11
10:31
открывал но там везде указываются макеты из общих макетов. и нигде не указывался макет созданный в самом отчете
8 0xFFFFFF
 
04.08.11
10:31
(0) Короч забудь про макеты. Нормальные пацаны макеты для отчетов не рисуют в 8. Это вам не 7.7.
Тут есть СКД. Больше ниче не надо.
9 Xapac
 
04.08.11
10:32
(5)Смотришь дооолго, еще дольше не понимаешь, а потом Фигаг, и "левел ап". После чего становится все понятно и комфортно.
10 salvator
 
04.08.11
10:32
(0) Прежде всего
Макет = ПолучитьМакет("ИмяМакета");
11 lxs
 
04.08.11
10:32
(8) не всегда и не везде СКД спасает, поверь.
12 unregistered
 
04.08.11
10:33
(0) >> всерьёз принялся за 1с 8, сразу после того как разобрался в 1с 7

Начни с того, что ЗАБУДЬ обо всём, что было в 7-ке.

Для начала ЗАБУДЬ про макеты.
Если забыть не удается, воспользуйся конструктором выходной формы. Он тебе и запрос соберет и макет табличного документа сделает и процедуру заполнения и вывода макета напишет. получится желаемый тобою простейший пример.
13 salvator
 
04.08.11
10:33
+10 И область нафига в цикле получать??
14 lxs
 
04.08.11
10:33
(9) нович"ё"к может смотреть до опупения.. но них не понять.. какой там "левел ап"?
15 Новичёк123123
 
04.08.11
10:34
Салватор огромное спасибо)
16 0xFFFFFF
 
04.08.11
10:34
(11) Его спасет
17 Xapac
 
04.08.11
10:34
(16)+10
18 Новичёк123123
 
04.08.11
10:36
ЛКС спасибо тебе тоже, только подстегнул к тому что бы тем более разобраться в этом)
19 golden-pack
 
04.08.11
10:36
(11) не верю
20 lxs
 
04.08.11
10:37
(15) ТОгда лови в догонку:
ТабличныйДокумент = Новый ТабличныйДокумент;
...
Потом (10)
...
ОбластьПечати = Макет.ПолучитьОбласть("Шапка");
ОбластьПечати.Параметры.Организация = "Рога и Копыта";
или
ОбластьПечати.Параметры.Заполнить(<Какая-нибудь выборка псевдонимы полей которой совпадают с именами параметров>);

ТабличныйДокумент.Вывести(ОбластьПечати);
ТабличныйДокумент.Показать("Hello world!");
21 lxs
 
04.08.11
10:38
(19) Твое право, значит не сталкивался с заказчиками с буйной фантазией.
22 golden-pack
 
04.08.11
10:39
(21) конкретный пример
23 Новичёк123123
 
04.08.11
10:39
LXS Спасибо сейчас буду вникать и получать лвл ап)
24 golden-pack
 
04.08.11
10:42
(23) изучай сразу СКД, 99% отчетов можно сделать на СКД
25 0xFFFFFF
 
04.08.11
10:42
(22) я вот тоже не пойму. И подтягивание из внешних источников есть, и извращаться с формой отчета можно, извращаться с формой макета тоже как угодно. В чем трабл...
26 golden-pack
 
04.08.11
10:43
(25) Не все удобно, кое где через попу, но в целом все можно сделать на СКД
27 lxs
 
04.08.11
10:50
(22) на мисте ищи.
28 lxs
 
04.08.11
10:51
(25) Да нагнется новичок с макетом в скд, не парьте ему мозг. Заодно ВПФ научится рисовать.
29 golden-pack
 
04.08.11
10:56
(27) сам ищи - это твое утверждение
30 Новичёк123123
 
04.08.11
12:53
Урааа зароботало, конечно все примитивно до безобразия но оно уже работает, уже есть от чего отталкиваться, уже хотя бы просто выводит все основные средства. Я понимаю что радоваться особенно то и нечему не такая уж и сложная задача. Но все равно радости полные штаны
Программист всегда исправляет последнюю ошибку.