Здравствуйте
1С:Предприятие 8.3 (8.3.10.2580) "Управление торговым предприятием для Украины", редакция 1.2.
На внешней печатной форме не получается зафиксировать сверху шапку таблицы, в модуле внешней объекта обработки функция
Функция Печать() Экспорт
ТабДок = Новый ТабличныйДокумент;
ТабДок.ТолькоПросмотр = Истина;
Макет = ПолучитьМакет("Макет");
ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ТабДок.Вывести(ШапкаТаблицы);
СтрокаТаблицы=Макет.ПолучитьОбласть("Строка");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПоставщикуТовары.Номенклатура КАК Описание,
// пропускаю текст как не важное
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Номер = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Номер = Номер + 1;
СтрокаТаблицы.Параметры.Номер=Номер;
ТабДок.Вывести(СтрокаТаблицы);
КонецЦикла;
ТабДок.ФиксацияСверху = 3; // Это не фиксирует
Возврат ТабДок;
КонецФункции;
Stemesseder @ 09.06.18, 21:27
,
Имхо, итоговый табдок выводится общей формой.
А фиксация действительно туда почему-то не передаётся, печалька...
Как вариант, в форме регистрации внешней формы добавьте
дополнительный параметр.
И придетса добавить строку принудительной установки фиксации
В самой общей форме ( ПриОткрытии)
Пока только так получилось.
Может можно как-то еще без правки конфы.
Делал, как описал, работает.
Если надо, напишу подробно, что и куда...
Prospero @ Сегодня, 16:56
,
Поправить конфу не проблема, пожалуйста немного подробнее опишите что и куда
Stemesseder @ Сегодня, 17:25
,
Итак...
Создал простенькую ВПФ, стандартно,
1. В реквизитах добавил еще реквизит "ДополнительныеПараметры" (Тип = Произвольный)
2. Перед возвратом ТабДок дописал
Если ЗначениеЗаполнено(ДополнительныеПараметры) Тогда
ТабДок.ФиксацияСверху = ДополнительныеПараметры.Фиксация;
КонецЕсли;
ЭлементыФормы.ПолеТабличногоДокумента.ФиксацияСверху = ПечатныйДокумент.ФиксацияСверху;
ЭлементыФормы.ПолеТабличногоДокумента.ВставитьОбласть(ПечатныйДокумент.Область());
Охренеть - сколько можно наворотить "умеючи" ...
в модуле впф
Функция Печать() Экспорт
ТабДокумент = ПечатьРезультата();
ФормаПечати = ПолучитьОбщуюФорму("ПечатьДокументов",, Новый УникальныйИдентификатор);
ФормаПечати.ОбъектПечати = СсылкаНаОбъект;
ФормаПечати.ПечатныйДокумент = ТабДокумент;
ФормаПечати.Заголовок = "Результат инвентаризации";
ФормаПечати.Защита = УправлениеДопПравамиПользователей.ЗащитаТаблиц();
ФормаПечати.Открыть();
ФормаПечати.ЭлементыФормы.ПолеТабличногоДокумента.ФиксацияСверху = 5;
Возврат Неопределено;
КонецФункции
sava1 @ Сегодня, 8:02
,
Спасибо огромное, работает. Ваш вариант проще гораздо и не требует менять конфигурацию. Думаю будет полезно и для Prospero. Вопрос закрыт. Еще раз спасибо.
Prospero @ Вчера, 23:41
,
Вам спасибо за подробное пояснение, правда проверить работу не успел, появился следующий ответ. Но в любом случае спасибо что не прошли мимо.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua