Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не получается зафиксировать на внешней ПФ сверху 3 строки
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Stemesseder
Здравствуйте
1С:Предприятие 8.3 (8.3.10.2580) "Управление торговым предприятием для Украины", редакция 1.2.

На внешней печатной форме не получается зафиксировать сверху шапку таблицы, в модуле внешней объекта обработки функция

Функция Печать() Экспорт
ТабДок = Новый ТабличныйДокумент;
        ТабДок.ТолькоПросмотр = Истина;
        Макет = ПолучитьМакет("Макет");
        ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
        ТабДок.Вывести(ШапкаТаблицы);
        СтрокаТаблицы=Макет.ПолучитьОбласть("Строка");
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
                |    ЗаказПоставщикуТовары.Номенклатура КАК Описание,
                // пропускаю текст как не важное

        РезультатЗапроса = Запрос.Выполнить();
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
        Номер = 0;
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            Номер = Номер + 1;
            СтрокаТаблицы.Параметры.Номер=Номер;
            ТабДок.Вывести(СтрокаТаблицы);
        КонецЦикла;

ТабДок.ФиксацияСверху = 3; // Это не фиксирует
Возврат ТабДок;
КонецФункции;


Подскажите как закрепить сверху печатной формы 3 строки (первая пустая, 2 и 3 - это как раз область "Шапка таблицы"
Prospero
Stemesseder @ 09.06.18, 21:27 необходимо зарегистрироваться для просмотра ссылки ,
Имхо, итоговый табдок выводится общей формой.
А фиксация действительно туда почему-то не передаётся, печалька...
Как вариант, в форме регистрации внешней формы добавьте
дополнительный параметр.
И придетса добавить строку принудительной установки фиксации
В самой общей форме ( ПриОткрытии)
Пока только так получилось.
Может можно как-то еще без правки конфы.
Делал, как описал, работает.
Если надо, напишу подробно, что и куда...
Stemesseder
Prospero @ Сегодня, 16:56 необходимо зарегистрироваться для просмотра ссылки ,

Поправить конфу не проблема, пожалуйста немного подробнее опишите что и куда
Prospero
Stemesseder @ Сегодня, 17:25 необходимо зарегистрироваться для просмотра ссылки ,
Итак...
Создал простенькую ВПФ, стандартно,
1. В реквизитах добавил еще реквизит "ДополнительныеПараметры" (Тип = Произвольный)
2. Перед возвратом ТабДок дописал
Если ЗначениеЗаполнено(ДополнительныеПараметры) Тогда
        ТабДок.ФиксацияСверху = ДополнительныеПараметры.Фиксация;
    КонецЕсли;

Далее, "Сервис-ВПФ и обработки - ВПФ"
Дополнительные ВПФ - Добавить.
Выбираем ВПФ, Принадлежность - добавить.
3. Ваш документ (я брал документ "Реализация товаров и услуг").
4. В Параметрах Обработки - Задать параметры
Имя = Фиксация", Тип Число, Значение = 5
5. В модуле общей формы "ПечатьДокументов" Процедура "ПриОткрытии" добавил
ЭлементыФормы.ПолеТабличногоДокумента.ФиксацияСверху = ПечатныйДокумент.ФиксацияСверху;

т.к. именно переданный в строке
ЭлементыФормы.ПолеТабличногоДокумента.ВставитьОбласть(ПечатныйДокумент.Область());

ПечДок и есть Ваш ТабДок.
На картинке специально стопанул отладчик на этой строке. Размер фиксации передается.
Как-то так...
6. Печатная форма в списке.
7. Как загрузилось...
8. Прокрутил...
Скрины добавил
1.
2.
3.
4.
5.
6.
7.
8.

В Вашем случае: Фиксация=3 smile.gif
Может, поможет smile.gif
sava1
Охренеть - сколько можно наворотить "умеючи" ...

в модуле впф

Функция Печать() Экспорт
    ТабДокумент = ПечатьРезультата();    
    
    ФормаПечати = ПолучитьОбщуюФорму("ПечатьДокументов",, Новый УникальныйИдентификатор);
    ФормаПечати.ОбъектПечати     = СсылкаНаОбъект;
    ФормаПечати.ПечатныйДокумент = ТабДокумент;
    ФормаПечати.Заголовок        = "Результат инвентаризации";
    ФормаПечати.Защита           = УправлениеДопПравамиПользователей.ЗащитаТаблиц();
    
    ФормаПечати.Открыть();
    
    
    
    ФормаПечати.ЭлементыФормы.ПолеТабличногоДокумента.ФиксацияСверху = 5;
    
    Возврат Неопределено;
КонецФункции

Stemesseder
sava1 @ Сегодня, 8:02 необходимо зарегистрироваться для просмотра ссылки ,

Спасибо огромное, работает. Ваш вариант проще гораздо и не требует менять конфигурацию. Думаю будет полезно и для Prospero. Вопрос закрыт. Еще раз спасибо.

Prospero @ Вчера, 23:41 необходимо зарегистрироваться для просмотра ссылки ,

Вам спасибо за подробное пояснение, правда проверить работу не успел, появился следующий ответ. Но в любом случае спасибо что не прошли мимо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.