Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2018, 23:20
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Работа с макетами,надо вывести простой макет на подобии ТТН  (Прочитано 225 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ruslan09609

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2018-07-24
  • Сайт: 
  • Профессия: Программист 1С
Добрый день мне нужно написать обработку которая будет выводит на печать пропуск который сделан на примере ТТН.
Сделал макет написал в модуле формы код,все поля в макете получилось заполнить кроме табличной части при выводи на печать в табличной части поподает одна строка только как сделать чтобы попадала вся номенклатура.
Скрин макета во вложении
Код с модуля формы вот
Процедура КнопкаВыполнитьНажатие(Кнопка)
   Номер            = ДанныеИзДокумент.Номер;
   Дата             = ДанныеИзДокумент.Дата;
   Грузополучатель  = ДанныеИзДокумент.Контрагент;
   
   
Для Каждого ТоварТ Из ДанныеИзДокумент.Товары Цикл
    ОбластьАртикул               =  ТоварТ.Номенклатура.Артикул;
   Количество                   =  ТоварТ.Количество;
   Цена                         =  ТоварТ.Цена;
   ТоварНаименование            =  ТоварТ.Номенклатура;
   БазоваяЕдиницаНаименование   =  ТоварТ.ЕдиницаИзмерения;
   Сумма                        =  ТоварТ.Сумма;
КонецЦикла;   
   
   
   ТабДок                                        = Новый ТабличныйДокумент;   
   Макет                                         = ПолучитьМакет("Макет");
   Макет.Параметры.Номер                         = Номер;
   Макет.Параметры.ДатаДоговора                  = Дата;
   Макет.Параметры.ГрузополучательПредставление  = Грузополучатель;
   //табличная часть
   Макет.Параметры.Артикул                       = ОбластьАртикул;
    Макет.Параметры.Количество                    = Количество;
   Макет.Параметры.Цена                          = Цена;
   Макет.Параметры.ТоварНаименование             = ТоварНаименование;
   Макет.Параметры.БазоваяЕдиницаНаименование    = БазоваяЕдиницаНаименование;
   Макет.Параметры.Сумма                         = Сумма;
   ТабДок.Вывести(Макет);   
   ТабДок.Показать("Пропуск");
    
КонецПроцедуры



Оффлайн alexandr_ll

  • *****
  • Сообщений: 801
  • РЕПУТАЦИЯ: 138
  • КПД: 17%
  • Регистрация: 2016-08-23
  • Сайт: 
  • Профессия: Программист 1С
Добрый день мне нужно написать обработку которая будет выводит на печать пропуск который сделан на примере ТТН.
Сделал макет написал в модуле формы код,все поля в макете получилось заполнить кроме табличной части при выводи на печать в табличной части поподает одна строка только как сделать чтобы попадала вся номенклатура.
Скрин макета во вложении
Код с модуля формы вот
Процедура КнопкаВыполнитьНажатие(Кнопка)
   Номер            = ДанныеИзДокумент.Номер;
   Дата             = ДанныеИзДокумент.Дата;
   Грузополучатель  = ДанныеИзДокумент.Контрагент;
   
   
Для Каждого ТоварТ Из ДанныеИзДокумент.Товары Цикл
    ОбластьАртикул               =  ТоварТ.Номенклатура.Артикул;
   Количество                   =  ТоварТ.Количество;
   Цена                         =  ТоварТ.Цена;
   ТоварНаименование            =  ТоварТ.Номенклатура;
   БазоваяЕдиницаНаименование   =  ТоварТ.ЕдиницаИзмерения;
   Сумма                        =  ТоварТ.Сумма;
КонецЦикла;   
   
   
   ТабДок                                        = Новый ТабличныйДокумент;   
   Макет                                         = ПолучитьМакет("Макет");
   Макет.Параметры.Номер                         = Номер;
   Макет.Параметры.ДатаДоговора                  = Дата;
   Макет.Параметры.ГрузополучательПредставление  = Грузополучатель;
   //табличная часть
   Макет.Параметры.Артикул                       = ОбластьАртикул;
    Макет.Параметры.Количество                    = Количество;
   Макет.Параметры.Цена                          = Цена;
   Макет.Параметры.ТоварНаименование             = ТоварНаименование;
   Макет.Параметры.БазоваяЕдиницаНаименование    = БазоваяЕдиницаНаименование;
   Макет.Параметры.Сумма                         = Сумма;
   ТабДок.Вывести(Макет);   
   ТабДок.Показать("Пропуск");
    
КонецПроцедуры
У вас цикл по табличной части документа не связан с выводом строк
Попробуйте так
Процедура КнопкаВыполнитьНажатие(Кнопка)
Номер            = ДанныеИзДокумент.Номер;
Дата             = ДанныеИзДокумент.Дата;
Грузополучатель  = ДанныеИзДокумент.Контрагент;
ТабДок                                        = Новый ТабличныйДокумент;
Макет                                         = ПолучитьМакет("Макет");
Макет.Параметры.Номер                         = Номер;
Макет.Параметры.ДатаДоговора                  = Дата;
Макет.Параметры.ГрузополучательПредставление  = Грузополучатель;

Для Каждого ТоварТ Из ДанныеИзДокумент.Товары Цикл
    ОбластьАртикул               =  ТоварТ.Номенклатура.Артикул;
Количество                   =  ТоварТ.Количество;
Цена                         =  ТоварТ.Цена;
ТоварНаименование            =  ТоварТ.Номенклатура;
БазоваяЕдиницаНаименование   =  ТоварТ.ЕдиницаИзмерения;
Сумма                        =  ТоварТ.Сумма;



//табличная часть
Макет.Параметры.Артикул                       = ОбластьАртикул;
    Макет.Параметры.Количество                    = Количество;
Макет.Параметры.Цена                          = Цена;
Макет.Параметры.ТоварНаименование             = ТоварНаименование;
Макет.Параметры.БазоваяЕдиницаНаименование    = БазоваяЕдиницаНаименование;
Макет.Параметры.Сумма                         = Сумма;
ТабДок.Вывести(Макет);
КонецЦикла;
ТабДок.Показать("Пропуск");
 
КонецПроцедуры

Оффлайн Ruslan09609

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2018-07-24
  • Сайт: 
  • Профессия: Программист 1С
Теперь продукция не выходит в табличной части друг за другом 1.
                                                             2.
                                                             3.
А на каждую продукцию создается новый пропуск.
Мне нужно чтобы пропуск был один а в табличной части он перечислялся.

Оффлайн alexandr_ll

  • *****
  • Сообщений: 801
  • РЕПУТАЦИЯ: 138
  • КПД: 17%
  • Регистрация: 2016-08-23
  • Сайт: 
  • Профессия: Программист 1С
Теперь продукция не выходит в табличной части друг за другом 1.
                                                             2.
                                                             3.
А на каждую продукцию создается новый пропуск.
Мне нужно чтобы пропуск был один а в табличной части он перечислялся.
Конечно.
У макета же есть горизонтальные секции, их и нужно выводить последовательно, а вы выводите весь макет.

как-то так:+
	ТД=Новый ТабличныйДокумент;

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


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
66 Сообщений
wise wise
42 Сообщений
alex0402
37 Сообщений
AIFrame AIFrame
36 Сообщений
alexandr_ll
32 Сообщений
byte777
29 Сообщений
LexaK
27 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
25 Сообщений
happynattion
22 Сообщений
antoneus
20 Сообщений

* Кто онлайн

  • Точка Гостей: 144
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal