Печатная форма в Word (БСП) и параметры страницы #625691


#0 by andrewks
сварганил печатную форму с макетом в Word (БСП), всё, вроде, хорошо, и колонтитулы, и форматирование. но осталась одна проблемка: в выходном документе параметры страницы устанавливаются в стандартные, а не берутся из макета. из-за этого вся красота документа, естественно, портится. как побороть?
#1 by andrewks
ап, что-ли
#2 by andrewks
мдэ, с OpenOffice дела ещё хуже - слетают не только параметры страницы, но ещё шрифты и выравнивание некоторых строк
#3 by andrewks
итак, настройки от макета-шаблона нужно передавать так: для опенофиса параметры страницы перекочёвывают нормально, но проблема с шрифтами и выравниванием некоторых строк так и не побеждена. для ms-офиса параметры не устанавливаются. как показала отладка, из-за того, что самые нужные параметры приходят из Word'а некорректно. например, имеем такой тестовый код: часть настроек приходит нормально, но некоторые, например, так: при этом, если открытие документа заменить на создание нового: COMОбъект.Documents.Add; то все настройки приходят нормально: TopMargin = 56,70000076293945 куда рыть?
#4 by andrewks
проверил БСП вплоть до 2.1.1.14 - везде настройки запрашиваются через ActiveDocument.  однако эксперименты на моём офисе (Office XP SP3/2002) показали, что правильные настройки после Documents.Open нужно искать через COMОбъект.Documents.Item.PageSetup[ИмяНастройки] если у кого есть возможность потестить на офисах 2003 и выше, отпишитесь, пожалуйста, о поведении при стандартном БСП-шном доступе через ActiveDocument
#5 by andrewks
Documents.Item - сторно, не всегда отрабатывает. теперь тяну через Sections. я, конечно, исправил посредством патча модуля УправлениеПечатьюMSWordКлиент, но хотелось бы мнений других товарищей по этому вопросу
#6 by andrewks
- доктор, мне кажется, что меня все игнорируют... - следующий!
#7 by IamAlexy
долго долго всячески разные формы делал в итоге пришел к выводу что форма в ворде имеет смысл только в том случае, если макет будут делать сами пользователи. когда программист делает печатную форму - на 8ке вообще похрен в чем выводится ибо простой табличный документ можно сохранить в 100500 различных форматов соответственно возня с вордом, опенофисом и их глюками/особенностями просто напросто теряет смысл. а как правило пользователи тупы и никто не хочет заморачиваться с шаблонами.
#8 by andrewks
итак, дальнейшие наблюдения показали: 1. слетающее форматирование в шаблоне ODT наблюдалось в OOo 3.3, но в LO 3.4-3.5  ничего не слетает, всё выводится корректно безо всякого "допила" 2. по поводу Word'а с его параметрами "9999999", всё-таки, хотел бы услышать мнения и опыт личного применения
#9 by andrewks
типа, ап
#10 by andrewks
граждане, не будьте равнодушными, не проходите мимо
#11 by Karambol
Не знаю, поможет ли, но я подобную проблему решал так: в шаблоне выделял весь текст, потом Изменить стили - По умолчанию и сохранял.
#12 by andrewks
со стилями, как раз, сейчас все проблемы решил. осталась проблема с установкой параметров страницы при печати в Word при использовании стандартного кода БСП. из-за этого прихшлось делать патч в УправлениеПечатьюMSWordКлиент.ПолучитьМакетMSWord: т.е. на любую конфу внешку уже не накатишь - надо или патч делать, или смириться с расползающимися полями. вот этот момент хочу, чтобы потестили форумчане, особенно тестовый код из - у кого как и на каких версиях MSoffice выводятся параметры страницы
#13 by andrewks
^ ^
#14 by andrewks
ок, зайдём с другой стороны. вот готовая обработка для тестирования (1с 8.2 УФ):   просьба, у кого есть установленные MS Office версий 2003 и выше, и кому не жалко потратить лишних 3-5 минут, - проверьте, пожалуйста, как у вас будут выводится значения настроек страницы больше всего интересуют: TopMargin/BottomMargin/LeftMargin/RightMargin просьба указать версию MS Office, и в каком из способов чтения настроек были получены реальные значения (нереальные - это если много девяток: TopMargin = 9 999 999  ) я рассчитываю на вашу помощь!
#15 by pumbaEO
ща заценим.
#16 by andrewks
спасибо, друг! а то уже думал, что тема так и затухнет в одиночестве
#17 by pumbaEO
, office 2007
#18 by andrewks
вот жешь чёрт, а на office xp глючит через ActiveDocument.PageSetup. спасибо за помощь! у кого есть другие версии (2003, 2010, 2012) - хотелось бы тоже узнать, как дела обстоят на этих версиях
#19 by pumbaEO
2003 нормально.  9999999999 - не было.
#20 by dk
хз, у меня вообще зависает в конфигураторе на попытке маке тпоглядеть
#21 by dk
маке = макет
#22 by andrewks
а зачем ты хочешь смотреть макет в конфигураторе? =)  там двоичные данные, вообще-то
#23 by andrewks
ага, спасибо огроменное. будем считать это глюком конкретно office xp. хоть будет обозначен проблемный круг на будущее
#24 by dk
любопытно же виснет просто если список макетов раскрыть
#25 by andrewks
какой релиз платформы?
#26 by andrewks
сохранял на 8.2.15.319
#27 by dk
1С:Предприятие 8.2 (8.2.15.318)
#28 by andrewks
странно. возможно, следует почистить кэш, из-за него, порой, очень интересные эффекты бывают
#29 by dk
MS Word 2010 - нормально открыл все
#30 by andrewks
спасибо!
#31 by andrewks
придётся апать. внезапно(!) выяснилось, что проблема в конкретном шаблоне (корректный ворд-файл, открывается корректно, поля показываются правильно, но при доступе через ActiveDocument.PageSetup - девятки) пробовал создавать новый док, копировать в него содержимое и сохранял - всё равно глючит. у кого есть немного свободного времечка, гляньте, как этот файл ведёт себя на других версиях MS Office. новая версия обработки: сам файл-виновник: если вдруг у кого возникнут догадки, от чего такое может быть - буду благодарен
#32 by zladenuw
помогу. результат напишу
#33 by andrewks
9999999 - это wdUndefined. вопрос - почему в этом доке оно wdUndefined? и почему через Секцию всё показывается нормально?
#34 by andrewks
а тема-то бородатая только причина неясна
#35 by andrewks
я - Д'Артаньян, 1совцы - сами знаете, кто. всё-таки у них глюк в коде, и нужен патч
#36 by zladenuw
в 1с ? вроде борода 2008 года
#37 by andrewks
ответ спеца от мелкософта: If a document contains more than one section with differing settings and/or it's very long, querying on the entire document will return the value "indeterminate" (9999999). перевожу: Если документ содержит более одной секции с разными настройками и/или он очень большой, запрос к всему документу возвращает значение "неопределено" (9999999). и советует использовать .Sections.PageSetup
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям