powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Вывод разных отчетов в один Табличный Документ (решение)
5 сообщений из 5, страница 1 из 1
Вывод разных отчетов в один Табличный Документ (решение)
    #37702482
LexaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
платформа 1С:Предприятие 8.2 (8.2.13.219) обычное приложение (на 8.1 не пробовал).
Тем кому это интересно или надо по работе, выводить разные отчеты в один ТабличныйДокумент. Тот способ который предлагает 1С в синтаксис-помошнике к описанию функции СоздатьФорматСтрок() работает неправильно, как только встречаются объединенные ячейки, все выводится криво.
вот другой вариант.

Кому интересно протестируйте, если будут какие замечания, предложения, улучшения - пишите. Многим интересна эта тема.

//как было раньше, выводится криво если отличаются форматы строк макетов
ДокументОбщий = новый ТабличныйДокумент;

Документ1 = ЛюбаяФункцияПечатиВозвращающаяТабличныйДокумент();

ДокументОбщий .Вывести(Документ1 );
ДокументОбщий .ВывестиГоризонтальныйРазделительСтраниц();

Документ2 = ЛюбаяФункцияПечатиВозвращающаяТабличныйДокумент();

ДокументОбщий .Вывести(Документ2 );
ДокументОбщий .ВывестиГоризонтальныйРазделительСтраниц();

ДокументОбщий .Показать();


//новое решение, выводится правильно даже если отличаются форматы строк макетов
ДокументОбщий = новый ТабличныйДокумент;

Документ1 = ЛюбаяФункцияПечатиВозвращающаяТабличныйДокумент();

ДокументОбщий .Вывести(Документ1 );
ДокументОбщий .ВывестиГоризонтальныйРазделительСтраниц();

Документ2 = ЛюбаяФункцияПечатиВозвращающаяТабличныйДокумент();
ЗадатьФорматСтрок(Документ2); //Новая процедура

ДокументОбщий .Вывести(Документ2 );
ДокументОбщий .ВывестиГоризонтальныйРазделительСтраниц();

ДокументОбщий .Показать();

///////////////////////////
Процедура ЗадатьФорматСтрок(прТаб)

лкКоличествоСтрок = прТаб.ВысотаТаблицы;
лкКоличествоКолонок = прТаб.ШиринаТаблицы;
лкШирина1 = "";
лкШирина2 = "";
лкСтрока1 = 0;
лкСтрока2 = 0;
Для лкСтр=1 По лкКоличествоСтрок Цикл

лкШирина2 = "";
Для лкКол=1 По лкКоличествоКолонок Цикл
лкШирина2 = лкШирина2 + "," + прТаб.Область(лкСтр,лкКол).ШиринаКолонки;
КонецЦикла;
Если лкШирина1 = лкШирина2 Тогда
лкСтрока2 = лкСтрока2 + 1;
Иначе
Если лкСтрока1 <> 0 Тогда
прТаб.Область(лкСтрока1,,лкСтрока2).СоздатьФорматСтрок();
КонецЕсли;
лкШирина1 = лкШирина2;
лкСтрока1 = лкСтр;
лкСтрока2 = лкСтр;
КонецЕсли;

КонецЦикла;

Если лкСтрока1 <> 0 Тогда
прТаб.Область(лкСтрока1,,лкСтрока2).СоздатьФорматСтрок();
КонецЕсли;

КонецПроцедуры
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Вывод разных отчетов в один Табличный Документ (решение)
    #39319904
ToTAmon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LexaK,
Привет!
Во первых, огромное спасибо, помогло.
Во вторых, есть мелкая проблема. Если ячейки объединены в высоту то таблица разъезжается. Попробую сам подшаманить.
...
Рейтинг: 0 / 0
Вывод разных отчетов в один Табличный Документ (решение)
    #39441614
Lelen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LexaK!
А как справится с такой проблемой!
Есть сформированный табличный документ, выводе его на экран нужно напечатать колонтитулы только на предпоследней странице.

Сформировала 2 табличных документа, первый с НижнийКолонтитул.НачальнаяСтраница = КоличествоСтраницВсего -1 , второй без колонтитулов. При выводе их на печать выводятся в 2 разных окна. Как вывести в один, чтобы пользователь сразу один документ отправлял на печать.
...
Рейтинг: 0 / 0
Вывод разных отчетов в один Табличный Документ (решение)
    #39443528
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelen,

ты... как-то не в тренде... в этой ветке принято отвечать не ранее, чем через год.
...
Рейтинг: 0 / 0
Вывод разных отчетов в один Табличный Документ (решение)
    #39443537
Фотография Владимир Лазурко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelenСформировала 2 табличных документа, первый с НижнийКолонтитул.НачальнаяСтраница = КоличествоСтраницВсего -1 , второй без колонтитулов. При выводе их на печать выводятся в 2 разных окна. Как вывести в один, чтобы пользователь сразу один документ отправлял на печать.
Код: plaintext
1.
2.
3.
4.
Страница1
Страница2
Страница3 -- здесь вывести колонтитулы
Страница4
так? А колонтитулы что собой представляют? Стандартные поля [количество страниц, номер страницы] и т.д?
Можно твой документ программно сформировать в отдельные
Код: plaintext
1.
2.
ТабДок1 = Страница1..СтраницаN-2,
ТабДок2 = СтраницаN-1 с колонтитулами
ТабДок3 = СтраницаN?
Если можно, то и сформируй, как ты и делала, а затем
Код: plaintext
1.
2.
3.
ТабДокОбщий.Вывести(ТабДок1);
ТабДокОбщий.Вывести(ТабДок2);
ТабДокОбщий.Вывести(ТабДок3);
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Вывод разных отчетов в один Табличный Документ (решение)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]