Печать строк табличной части документа.
Здравствуйте!
Конфигурация на УФ. Есть документ с ТЧ.
К этому документу сделана печатная форма. Подскажите, пожалуйста, как можно вывести на макет строки тч так:
<Строка1>
<Строка2>
<Строка3> и т.д., т.е. строки ТЧ на печать нужно выводить фиксированно, определенная строка ТЧ выводится в указанный параметр ПФ?
Простите за путанное объяснение.
Спасибо.
Конфигурация на УФ. Есть документ с ТЧ.
К этому документу сделана печатная форма. Подскажите, пожалуйста, как можно вывести на макет строки тч так:
<Строка1>
<Строка2>
<Строка3> и т.д., т.е. строки ТЧ на печать нужно выводить фиксированно, определенная строка ТЧ выводится в указанный параметр ПФ?
Простите за путанное объяснение.
Спасибо.
По теме из базы знаний
- Обработки для печати и исправления реквизитов табличных частей документов (унив.)
- Печать по шаблону Word
- Печать одной строки табличной части документа (Уведомление о времени начала отпуска) 1С: 8.3 (ЗУП 3.1, ERP 2.4)
- Быстрый просмотр табличной части "Товары" без открытия формы документа
- Внешние печатные формы, БСП 3.1.9, с формой отладки, серверный метод, клиентский целиком и по выделенным строкам табличной части
Найденные решения
(10) Лучше убрать из запроса табличную часть и получить ее отдельным запросом.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Номер КАК Номер,
| РеализацияТоваровУслуг.Дата КАК Дата
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &Ссылка
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
| РеализацияТоваровУслугТовары.КоличествоМест КАК КоличествоМест,
| РеализацияТоваровУслугТовары.Цена КАК Цена,
| РеализацияТоваровУслугТовары.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
| РеализацияТоваровУслугТовары.Ссылка = &Ссылка";
РезультатЗапроса = Запрос.ВыполнитьПакет();
ДанныеШапки = РезультатЗапроса[0].Выбрать;
ДанныеТЧ = РезультатЗапроса[1].Выгрузить;
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Доброе утро.
Самое простое воспользоваться конструктором запросов.
Если процедура будет в форме , то надо макет получать так:
Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
Самое простое воспользоваться конструктором запросов.
Макет = ВнешниеОбработки.ВнешняяОбработка1.ПолучитьМакет("Макет");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтроки,
| РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
| ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслугТовары.Номенклатура) КАК НоменклатураПредставление,
| РеализацияТоваровУслугТовары.КоличествоМест КАК КоличествоМест,
| РеализацияТоваровУслугТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары";
РезультатЗапроса = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
КонецЦикла;
ПоказатьЕсли процедура будет в форме , то надо макет получать так:
Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
Прикрепленные файлы:
(2) Есть ТЧ, в ней, например, строки:
1. Номенклатура 1
2. Номенклатура 2
3. Номенклатура 3
...
n. Номенклатура n
а в печатной форме сделано всего лишь 5 строк:
<Строка1>
<Строка2>
<Строка3>
<Строка4>
<Строка5>
Следовательно, остальные строки на печать попадать не должны.
Получается нужно вывести, например, первые пять позиций ТЧ.
Сомневаюсь, что конструктор такое сможет сделать.
1. Номенклатура 1
2. Номенклатура 2
3. Номенклатура 3
...
n. Номенклатура n
а в печатной форме сделано всего лишь 5 строк:
<Строка1>
<Строка2>
<Строка3>
<Строка4>
<Строка5>
Следовательно, остальные строки на печать попадать не должны.
Получается нужно вывести, например, первые пять позиций ТЧ.
Сомневаюсь, что конструктор такое сможет сделать.
Было бы нагляднее увидеть макет.
А так :
А так :
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 5
| РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтроки,
| РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
| ПРЕДСТАВЛЕНИЕ(РеализацияТоваровУслугТовары.Номенклатура) КАК НоменклатураПредставление,
| РеализацияТоваровУслугТовары.КоличествоМест КАК КоличествоМест,
| РеализацияТоваровУслугТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары";
РезультатЗапроса = Запрос.Выполнить();
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры["Номерклатура" + ВыборкаДетальныеЗаписи.НомерСтроки]
КонецЦикла;
ТабДок.Вывести(ОбластьДетальныхЗаписей);
Показать
Сам запрос:
//{{_КОНСТРУКТОР_ПЕЧАТИ(Грузовой)
Макет = Документы.ПутевойЛист.ПолучитьМакет("Грузовой");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПутевойЛист.Водитель1.Наименование КАК Наименование1,
| ПутевойЛист.Водитель1.Код КАК Код1,
| ПутевойЛист.Водитель2.Наименование КАК Наименование2,
| ПутевойЛист.Водитель2.Код КАК Код2,
| ПутевойЛист.ВозвращениеВГараж КАК ВозвращениеВГараж,
| ПутевойЛист.Врач КАК Врач,
| ПутевойЛист.ВыдалДиспетчер КАК ВыдалДиспетчер,
| ПутевойЛист.ВыездИзГаража КАК ВыездИзГаража,
| ПутевойЛист.ВыпустилМеханик КАК ВыпустилМеханик,
| ПутевойЛист.Дата КАК Дата,
| ПутевойЛист.ДействителенДо КАК ДействителенДо,
| ПутевойЛист.Задание,
| ПутевойЛист.Номер КАК Номер,
| ПутевойЛист.ПринялДиспетчер,
| ПутевойЛист.ПринялМеханик КАК ПринялМеханик,
| ПутевойЛист.ТС.Марка КАК ТСМарка,
| ПутевойЛист.ТС.ГосНомер КАК ТСГосНомер,
| ПутевойЛист.ГорючееОсновное КАК ГорючееОсновное,
| ПутевойЛист.ВыданоОсновное КАК ВыданоОсновное,
| ПутевойЛист.ОстатокВыездОсновное КАК ОстатокВыездОсновное,
| ПутевойЛист.ОстатокВозвращениеОсновное КАК ОстатокВозвращениеОсновное,
| ПутевойЛист.СданоОсновное КАК СданоОсновное,
| ПутевойЛист.ГорючееДополнительное КАК ГорючееДополнительное,
| ПутевойЛист.ВыданоДополнительное КАК ВыданоДополнительное,
| ПутевойЛист.ОстатокВыездДополнительное КАК ОстатокВыездДополнительное,
| ПутевойЛист.ОстатокВозвращениеДополнительное КАК ОстатокВозвращениеДополнительное,
| ПутевойЛист.СданоДополнительное КАК СданоДополнительное,
| ПутевойЛист.ОдометрВыезд КАК ОдометрВыезд,
| ПутевойЛист.ОдометрВозвращение КАК ОдометрВозвращение,
| ПутевойЛист.ЗаданиеВодителю.(
| НомерСтроки,
| Место,
| ВремяПрибытия,
| Погрузка,
| Разгрузка,
| Груз,
| КоличествоЕздок,
| Расстояние,
| Тоннаж
| )
|ИЗ
| Документ.ПутевойЛист КАК ПутевойЛист
|ГДЕ
| ПутевойЛист.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЛицевая = Макет.ПолучитьОбласть("Лицевая");
ОбластьОборотная = Макет.ПолучитьОбласть("Оборотная");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ОбластьЛицевая.Параметры.Номер = Выборка.Номер;
ОбластьЛицевая.Параметры.ДатаВыписки = Формат(Выборка.Дата, "ДЛФ=ДД");
ОбластьЛицевая.Параметры.ТекстДействителенДо = Формат(Выборка.ДействителенДо, "ДЛФ=ДД");
ОбластьЛицевая.Параметры.МодельТС = Выборка.ТСМарка;
ОбластьЛицевая.Параметры.ТранспортноеСредствоГосНомер = Выборка.ТСГосНомер;
ОбластьЛицевая.Параметры.Водитель1 = Выборка.Наименование1;
ОбластьЛицевая.Параметры.ВодительКод1 = Выборка.Код1;
ОбластьЛицевая.Параметры.Водитель2 = Выборка.Наименование2;
ОбластьЛицевая.Параметры.ВодительКод2 = Выборка.Код2;
ОбластьЛицевая.Параметры.ДатаВыезда_ДД = Формат(Выборка.ВыездИзГаража, "ДФ=дд");
ОбластьЛицевая.Параметры.ДатаВыезда_ММММ = Формат(Выборка.ВыездИзГаража, "ДФ=ММ");
ОбластьЛицевая.Параметры.ВремяВыезда_ЧЧ = Формат(Выборка.ВыездИзГаража, "ДФ=ЧЧ");
ОбластьЛицевая.Параметры.ВремяВыезда_ММ = Формат(Выборка.ВыездИзГаража, "ДФ=мм");
ОбластьЛицевая.Параметры.ДатаВозвращения_ДД = Формат(Выборка.ВозвращениеВГараж, "ДФ=дд");
ОбластьЛицевая.Параметры.ДатаВозвращения_ММММ = Формат(Выборка.ВозвращениеВГараж, "ДФ=ММ");
ОбластьЛицевая.Параметры.ВремяВозвращения_ЧЧ = Формат(Выборка.ВозвращениеВГараж, "ДФ=ЧЧ");
ОбластьЛицевая.Параметры.ВремяВозвращения_ММ = Формат(Выборка.ВозвращениеВГараж, "ДФ=мм");
ОбластьЛицевая.Параметры.ГСМ1 = Выборка.ГорючееОсновное;
ОбластьЛицевая.Параметры.ВыданоГСМ1 = Выборка.ВыданоОсновное;
ОбластьЛицевая.Параметры.ОстатокПриВыезде1 = Выборка.ОстатокВыездОсновное;
ОбластьЛицевая.Параметры.ОстатокПриВозвращении1 = Выборка.ОстатокВозвращениеОсновное;
ОбластьЛицевая.Параметры.СданоГСМ1 = Выборка.СданоОсновное;
ОбластьЛицевая.Параметры.ГСМ2 = Выборка.ГорючееДополнительное;
ОбластьЛицевая.Параметры.ВыданоГСМ2 = Выборка.ВыданоДополнительное;
ОбластьЛицевая.Параметры.ОстатокПриВыезде2 = Выборка.ОстатокВыездДополнительное;
ОбластьЛицевая.Параметры.ОстатокПриВозвращении2 = Выборка.ОстатокВозвращениеДополнительное;
ОбластьЛицевая.Параметры.СданоГСМ2 = Выборка.СданоДополнительное;
ОбластьЛицевая.Параметры.ВодительПринял = Выборка.Наименование1;
ОбластьЛицевая.Параметры.ВодительСдал = Выборка.Наименование1;
ОбластьЛицевая.Параметры.ОсмотрелВрач = Выборка.Врач;
ОбластьЛицевая.Параметры.ВыдалДиспетчер = Выборка.ВыдалДиспетчер;
ОбластьЛицевая.Параметры.ВыпустилМеханик = Выборка.ВыпустилМеханик;
ОбластьЛицевая.Параметры.ПринялМеханик = Выборка.ПринялМеханик;
Если ЗначениеЗаполнено(Выборка.ГорючееДополнительное) Тогда
ОбластьЛицевая.Параметры.ВыдатьГорючее = Строка(Выборка.ГорючееОсновное) + " " + "и" + " " + Строка(Выборка.ГорючееДополнительное);
Иначе
ОбластьЛицевая.Параметры.ВыдатьГорючее = Выборка.ГорючееОсновное;
КонецЕсли;
Если ЗначениеЗаполнено(Выборка.ВыданоДополнительное) Тогда
ОбластьЛицевая.Параметры.ВыдатьКоличествоГорючего = Строка(Выборка.ВыданоОсновное) + " " + "и" + " " + Строка(Выборка.ВыданоДополнительное);
Иначе
ОбластьЛицевая.Параметры.ВыдатьКоличествоГорючего = Выборка.ВыданоОсновное;
КонецЕсли;
ОбластьЛицевая.Параметры.СпидометрВыезда = Выборка.ОдометрВыезд;
ОбластьЛицевая.Параметры.СпидометрВозвращения = Выборка.ОдометрВозвращение;
//ОбластьЛицевая.Параметры.СтрокаЗВ1 = "Место";
ТабДок.Вывести(ОбластьЛицевая);
ТабДок.Вывести(ОбластьОборотная);
ВставлятьРазделительСтраниц = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДок.АвтоМасштаб = Истина;
КонецЦикла;
//}}
Показать
(10) Лучше убрать из запроса табличную часть и получить ее отдельным запросом.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Номер КАК Номер,
| РеализацияТоваровУслуг.Дата КАК Дата
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &Ссылка
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
| РеализацияТоваровУслугТовары.КоличествоМест КАК КоличествоМест,
| РеализацияТоваровУслугТовары.Цена КАК Цена,
| РеализацияТоваровУслугТовары.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
| РеализацияТоваровУслугТовары.Ссылка = &Ссылка";
РезультатЗапроса = Запрос.ВыполнитьПакет();
ДанныеШапки = РезультатЗапроса[0].Выбрать;
ДанныеТЧ = РезультатЗапроса[1].Выгрузить;
Показать
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)