Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
1

Неправильное присоединение к таб. доку

20.03.2016, 17:19. Просмотров 1243. Ответов 14
Метки нет (Все метки)

БП 3.0. Нужно сделать внешнюю печатную форму для экономии бумаги - на одном листе 2 счета и 2 акта выполненных работ. Поначалу задача казалась очень простой. Я использую стандартные функции, с их помощью получаю готовые табличные документы счета и акта, потом вывожу/присоединяю их в итоговый документ. Всё получается, кроме 1 момента - на второй половинке счета не выводится табличная часть. Эта часть документа отличается тем, что в конце её разделитель. Ничего правее него не выводится. Попытка удалить разделитель (ОблКолонка.КонецСтраницы = Ложь) не получилась - в этом месте ширина колонок другая - не могу даже получить нужную область. Что исправить, чтоб вывелась таблица?

Неправильное присоединение к таб. доку


Код такой:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
    МассивОбъектов = Новый Массив;
    МассивОбъектов.Добавить(Объект.Ссылка);
    ОбъектыПечати = Новый СписокЗначений;
    МенеджерРеализации = Документы.РеализацияТоваровУслуг;
    ТаблицаСведенийАктаОбОказанииУслуг = МенеджерРеализации.ПолучитьТаблицуСведенийАктаОбОказанииУслуг(МассивОбъектов);
    СтруктураПараметровПечати = Новый Структура;
    СтруктураПараметровПечати.Вставить("ВидДокументаПечати",  "РеализацияТоваровУслуг");
    СтруктураПараметровПечати.Вставить("ИмяПараметровПечати", "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Акт");
    СтруктураПараметровПечати.Вставить("ИмяМакетаПечати",     "Документ.РеализацияТоваровУслуг.ПФ_MXL_Акт");
    ТабДокАкт = ПечатьТорговыхДокументов.ПечатьАктаОбОказанииУслуг(ТаблицаСведенийАктаОбОказанииУслуг, ОбъектыПечати, СтруктураПараметровПечати);
    
    МассивОбъектов.Очистить();
    МассивОбъектов.Добавить(Объект.Ссылка.СчетНаОплатуПокупателю);
    МенеджерСчета = Документы.СчетНаОплатуПокупателю;
    ТаблицаСведенийСчетНаОплату = МенеджерСчета.ПолучитьТаблицуСведенийСчетаНаОплату(МассивОбъектов);
    ТабДокСчет = ПечатьТорговыхДокументов.ПечатьСчетаНаОплату(ТаблицаСведенийСчетНаОплату, ОбъектыПечати);
 
    ТабДок = Новый ТабличныйДокумент;
    ТабДокКолонка = Новый ТабличныйДокумент;
    ТабДокКолонка.Вывести(ТабДокАкт);
    ТабДокКолонка.Вывести(ТабДокСчет);
    ТабДок.Присоединить(ТабДокКолонка);
    ТабДок.Присоединить(ТабДокКолонка);
    
    ТабДок.АвтоМасштаб=Истина;
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    Возврат ТабДок;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2016, 17:19
Ответы с готовыми решениями:

Пакетное Сканирование И Автоматический Ввод Информации С Бумажных Доку
Добрый день, господа эксперты!!! Не откажите в помощи. Руководству пришла безумная идея в голову,...

Лень лезть в доку.
Можно ли к полям СВОL делать like запрос.

Кто редектировал доку.
Привет всем вобщем документ делают 3 юзера. 1-вносит все дание, дальше дока идет к юзеру...

Ищу доку на драйвер электромотора на l293d от lart
Имеется платка, а вот доку посеял и не могу найти схему хотя бы :( Может кто знает, где доку...

Подскажите адресок скачать доку по программированию Access!
Поделитесь, пожалуйста ссылочкой, где можно скачать доку в электронном виде по программировонию в...

14
GreenkA
Форумчанин
Эксперт 1С
2994 / 1920 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
20.03.2016, 17:34 2
Nath, здесь можно сначала Вывести, потом Присоединить:
1C
1
2
3
4
5
6
    ТабДок = Новый ТабличныйДокумент;
    ТабДокКолонка = Новый ТабличныйДокумент;
    ТабДокКолонка.Вывести(ТабДокАкт);
    ТабДокКолонка.Вывести(ТабДокСчет);
    ТабДок.Вывести(ТабДокКолонка);
    ТабДок.Присоединить(ТабДокКолонка);
Но думаю дело не в этом, вы можете выложить внешнюю печатную форму с макетом?
0
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
20.03.2016, 18:31  [ТС] 3
Ссылка на впф - https://yadi.sk/d/DW2WwEBTqLPag
Хотя отладка удобнее в обычной внеш. обработке - https://yadi.sk/d/lnunrVJuqLQAb

Дело действительно не в этом. Вы правы, по логике сначала нужно Вывести(), потом Присоединить(), но так получается неправильно - Присоединить() работает как Вывести() и документы получаются один под другим, а не сбоку. Буду благодарен, если объясните такое поведение. Но более важно, канеш, как таблицу в правой части получить.
0
GreenkA
Форумчанин
Эксперт 1С
2994 / 1920 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
20.03.2016, 18:36 4
Nath, файлы необходимо прикреплять во вложении, предварительно заархивировав.
0
20.03.2016, 18:36
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
20.03.2016, 18:41  [ТС] 5
Бюрократы ) Готово.
СчетАкт.7z
0
GreenkA
Форумчанин
Эксперт 1С
2994 / 1920 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
20.03.2016, 19:54 6
Nath, к сожалению, во внешней печатной форме нет макета печати, он в документе Реализации товаров, а БП 3 у меня нет(
0
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
20.03.2016, 20:30  [ТС] 7
Дык там не только макета нет, но и процедур, которые формируют таб. док... Они в модулях менеджера документов. Ладно, я сейчас попробую что-то изобрести, вдруг вы разберётесь )
0
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
20.03.2016, 21:00  [ТС] 8
Кароч, вот обработка внешняя - она выводит кривой довольно документ, однако этого достаточно для иллюстрации проблемы ПечатьСчетАктТест.7z
На картинке видно, что в конце таблицы в левой колонке появляются горизонтальные разделители (может и не в них дело, однако, это то, чем отличается эта часть документа от всего остального. Также в этой части колонки имеют другую ширину.) А справа таблица не выводится (((
Неправильное присоединение к таб. доку
0
GreenkA
Форумчанин
Эксперт 1С
2994 / 1920 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
20.03.2016, 21:32 9
Nath, попробуйте заменить макет отсюда: перерисовала области таблицы.
0
Вложения
Тип файла: zip ПечатьСчетАктТест_изм.zip (8.4 Кб, 2 просмотров)
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
20.03.2016, 21:39  [ТС] 10
Нет никакой проблемы в перерисовке макета. Если перерисовывать макет, то нужно и выводить документ самому, а мне хотелось бы использовать уже имеющиеся функции для формирования документа. К тому же, задача в том, чтоб выводить таким образом ТИПОВЫЕ документы, которые, в принципе могут быть изменены разработчиками в последующих версиях БП. Если брать формируемые конфигурацией документы, то никогда не потребуется эту обработку дописывать, чтоб добавить эти изменения. В конфигурации макет тоже не изменить - она базовая.
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,793
Записей в блоге: 1
Завершенные тесты: 1
21.03.2016, 15:09 11
Nath, Ооооо еще одна жертва метода Присоеденить()

Было как то, помучился я с этим методом =))))
0
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
21.03.2016, 15:21  [ТС] 12
Ну так исправить-то это как? Или хоть из-за чего такая беда? Там у этого куска другой формат строк - как хоть выделить нужную колонку, именно этой области, чтоб у неё задать КонецСтраницы=Ложь?
0
GreenkA
Форумчанин
Эксперт 1С
2994 / 1920 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
21.03.2016, 16:01 13
Nath, так если вам надо вывести копию табдока рядом, может просто задать параметры печати, не используя Присоединить() вовсе:
1C
1
2
ТабДок.КоличествоЭкземпляров = 2;
ТабДок.ЭкземпляровНаСтранице =2;
0
Dethmontt
Модератор
Эксперт 1С
2672 / 2455 / 425
Регистрация: 10.03.2011
Сообщений: 8,793
Записей в блоге: 1
Завершенные тесты: 1
21.03.2016, 16:53 14
Nath, пробуй так:

выводишь в РАЗНЫЕ таб доки левую часть и правую части

Создаешь новый Пустой таб док и соединяешь их два полученных через ПРИСОЕДИНИТЬ
0
Nath
1 / 1 / 1
Регистрация: 03.12.2013
Сообщений: 38
02.04.2016, 16:41  [ТС] 15
С разными таб.доками не получилось. Так и не понял до конца почему ниче не выводилось в этом месте. Но решить получилось - пришлось взять эту область и выводить её программно по одной колонке в нужное место. Опять же - все колонки целиком если взять сразу, тогда выводятся какие-то огрызки, а по одной колонке - норм.
0
02.04.2016, 16:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2016, 16:41

Можно ли получить встроенную доку по параметрам атрибутов?
Всем привет. В программировании новичок. Сейчас изучаю доку матплотлиба и меня интересует методы...

Можно определить, файл прикреплен к доку или к Rtf?
Можно определить, файл прикреплен к доку или к RTF? вообщем проблема такова... Есть один файл,...

Где можно найти доку по дисплею от SGH-D830
Попался мне в ручки сабж. Хочется его к делу приспособить, а вот даташит на него гнусные гнусмасы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru