Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Двоится вывод данных на макет

Двоится вывод данных на макет
Я
   KoalaJustKoala
 
04.03.21 - 06:50
Доброго утречка!
Это снова, как не странно я)
Вот то что выводит:
http://pics.rsh.ru/img/_i60yvup3.png
Как можно заметить, сначала идет дефолтный макет, а только после него идет заполнение с "чистого" листа

Вот сам макет:
http://pics.rsh.ru/img/_1rtqph3g.png

Код с выводом:
http://pics.rsh.ru/img/_6wountl8.png
Остаток кода:
ОбластьИтого.Параметры.ИтУценкаНаценка = ИтУценкаНаценка;  
    ОбластьИтого.Параметры.ИтСкидка = ИтСкидка;
    ОбластьИтого.Параметры.ИтСуммаБезнал = ИтСуммаБезнал;
    
    Макет.Вывести(ОбластьИтого);
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    
    
    ОбластьПодвал.Параметры.КонПериода = Формат(КонПериода+60*60*24,"ДЛФ=DD");
    Если Остаток.Количество() > 0 Тогда
        ОбластьПодвал.Параметры.СуммаКонечныйОстаток = Остаток.КонечныйОстаток;
    КонецЕсли;
    
    Макет.Вывести(ОбластьПодвал);    
    Макет.Показать();

Вообщем, больше нигде макет не вызывается в данной обработке
Может кто сможет подсказать от чего такая двоякость ?
   Галахад
 
1 - 04.03.21 - 07:02
В чем прикол, кода в картинках?
   KoalaJustKoala
 
2 - 04.03.21 - 07:07
(1) да черт его знает, могу переслать весь полностью текстом
   KoalaJustKoala
 
3 - 04.03.21 - 07:08
Процедура ОсновныеДействияФормыПереместитьВПечать(Кнопка)
    Макет = ПолучитьМакет("Макет");
    
    ЗапросОстаток = Новый Запрос;
    ЗапросОстаток.Текст =
    "ВЫБРАТЬ
    |    СУММА(ВЫРАЗИТЬ(ВложенныйЗапрос.НачальныйОстаток КАК ЧИСЛО(15, 2))) КАК НачальныйОстаток,
    |    СУММА(ВЫРАЗИТЬ(ВложенныйЗапрос.КонечныйОстаток КАК ЧИСЛО(15, 2))) КАК КонечныйОстаток
    |ИЗ
    |    (ВЫБРАТЬ
    |        ТоварыНаСкладахВПродажныхЦенахОстаткиИОбороты.КоличествоНачальныйОстаток * ТоварыНаСкладахВПродажныхЦенахОстаткиИОбороты.Цена КАК НачальныйОстаток,
    |        ТоварыНаСкладахВПродажныхЦенахОстаткиИОбороты.КоличествоКонечныйОстаток * ТоварыНаСкладахВПродажныхЦенахОстаткиИОбороты.Цена КАК КонечныйОстаток
    |    ИЗ
    |        РегистрНакопления.ТоварыНаСкладахВПродажныхЦенах.ОстаткиИОбороты(&НачПериода, &КонПериода, , , Склад = &Склад) КАК ТоварыНаСкладахВПродажныхЦенахОстаткиИОбороты) КАК ВложенныйЗапрос";
    ЗапросОстаток.УстановитьПараметр("Склад",Склад)  ;
    ЗапросОстаток.УстановитьПараметр("НачПериода",НачалоДня(НачПериода))  ;
    ЗапросОстаток.УстановитьПараметр("КонПериода",КонецДня(КонПериода))  ;
    Остаток = ЗапросОстаток.Выполнить().Выбрать();    
    Если Остаток.Количество() > 0 Тогда
        Остаток.Следующий();
    КонецЕсли;
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьЗаголовок.Параметры.Склад = Склад.Магазин.Наименование;
    ОбластьЗаголовок.Параметры.НачПериода = Формат(НачПериода,"ДЛФ=DD");
    ОбластьЗаголовок.Параметры.КонПериода = Формат(КонПериода,"ДЛФ=DD");
    Если Остаток.Количество() > 0 Тогда
        ОбластьЗаголовок.Параметры.СуммаНачальныйОстаток=Остаток.НачальныйОстаток;
    КонецЕсли;    
    Макет.Вывести(ОбластьЗаголовок);
    
    ОбластьТовар = Макет.ПолучитьОбласть("Товар");
    Для Каждого ТекСтрока Из Таб Цикл 
        ОбластьТовар.Параметры.Заполнить(ТекСтрока);
        Макет.Вывести(ОбластьТовар);
    КонецЦикла;
    ОбластьИтого = Макет.ПолучитьОбласть("Итого");
    
    ОбластьИтого.Параметры.ИтСуммаПрих = ИтСуммаПрих;
    ОбластьИтого.Параметры.ИтВыручка = ИтВыручка;
    ОбластьИтого.Параметры.ИтСуммаВозвр = ИтСуммаВозвр;
    ОбластьИтого.Параметры.ИтУценкаНаценка = ИтУценкаНаценка;  
    ОбластьИтого.Параметры.ИтСкидка = ИтСкидка;
    ОбластьИтого.Параметры.ИтСуммаБезнал = ИтСуммаБезнал;
    
    Макет.Вывести(ОбластьИтого);
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    
    
    ОбластьПодвал.Параметры.КонПериода = Формат(КонПериода+60*60*24,"ДЛФ=DD");
    Если Остаток.Количество() > 0 Тогда
        ОбластьПодвал.Параметры.СуммаКонечныйОстаток = Остаток.КонечныйОстаток;
    КонецЕсли;
    
    Макет.Вывести(ОбластьПодвал);    
    Макет.Показать();
КонецПроцедуры
   PuhUfa
 
4 - 04.03.21 - 07:17
А зачем ты выводишь сам макет то?
   Почему 1С
 
5 - 04.03.21 - 07:20
(3) Создай табличный документ, и все операции типа Вывести , Показать производи с ним.
   KoalaJustKoala
 
6 - 04.03.21 - 07:40
(4) Потому что он нужен для конечного просмотра отчета и он полностью взят с оригинала
   KoalaJustKoala
 
7 - 04.03.21 - 07:41
(5) Так вроде на него же вывожу, разве нет?
Информацию он берет с формы
   ДенисЧ
 
8 - 04.03.21 - 07:42
Макет = ПолучитьМакет("Макет");
...
Макет.Вывести(ОбластьЗаголовок);

За такое канделябры уже не трогают... Тут сразу... Моментально... и в море.
   KoalaJustKoala
 
9 - 04.03.21 - 07:45
(8) мяф, косяк пошел из-за имени?
   ДенисЧ
 
10 - 04.03.21 - 07:50
(9) Шта?
Ты область макета в макет выводишь. Что ты ещё хотел получить?
Бери чистый табдок и туда гони всё.
   KoalaJustKoala
 
11 - 04.03.21 - 08:20
(10) ПолучитьМакет() - просто выводит весь макет, а не используется для заполнения?
   KoalaJustKoala
 
12 - 04.03.21 - 08:20
(10) Или я косячу с .Вывести()?
Я немного не догоняю
   ДенисЧ
 
13 - 04.03.21 - 08:27
(11) Получитьмает - даёт тебе макет в том виде, как он нарисован в конфигураторе.
И для вывода из него берутся области и выводятся в новый документ.

Почитай ты книжки, наконец. Начни с Митичкина, там такие примитивы есть
   KoalaJustKoala
 
14 - 04.03.21 - 08:32
(13) Так вон оно что....
Забавненько(

Да не успеваю я книжки читать, поспать бы хоть
   ДенисЧ
 
15 - 04.03.21 - 08:35
(14) Некогда заводить, ехать надо!
   KoalaJustKoala
 
16 - 04.03.21 - 08:37
(15) Я и не глушил! Не будь у меня запаса кофе, я бы уже спал((
   hhhh
 
17 - 04.03.21 - 17:38
(16) человек должен работать 8 часов в день. Потому что если сверх 8 часов, производительность у него падает в разы.
   KoalaJustKoala
 
18 - 05.03.21 - 14:17
(17) Я работаю 8 часов в день, но потом я засиживаюсь за обуч. материалом, статьями и прочим изучая всё что можно

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.