Внешняя обработка, кнопки печати... помогите обойти ошибку #636281


#0 by shock3r
Взял код для установок кнопок печати макетов из документа командировочные удостоверения. Всё хорошо, но код написан для Документа, а у меня внешняя обработка, кнопки выводятся но при нажатии на Печать, вызывается след процедура: Процедура ОсновныеДействияФормыПечатьПоУмолчанию(Кнопка) в функции ПечатьПоДополнительнойКнопке получаю ошибку: {ОбщийМодуль.РаботаСДиалогами.Модуль(3016)}: Поле объекта не обнаружено (Ссылка)
#1 by hunter76
вместо "ЭтотОбъект" надо документ передавать
#2 by Cube
"ДеревоМакетовПечати = ПолучитьДеревоМакетовПечати(Объект.Ссылка, СтруктураВнутреннихПечатныхФорм);" У обработки есть ссылка?
#3 by Ayvengo
в отладчике глянь, от куда он хочет брать ссылку и правильно передавай. Если тонкий клиент, тогда ЭтотОбъект - такого нет в модулях форм.
#4 by shock3r
т.е. для внешней обработки этот код никак не подойдет? я не знаю есть ли у внешней обработки ссылка, поэтому и спрашиваю у более опытных программистов на форуме
#5 by Ayvengo
внешняя обработка печати ... должен быть реквизит СсылкаНаОбъект, попробуй ее и передавать.
#6 by hunter76
если у тебя на форме выбирается документ, то можно передать ЭтотОбъект.МойВыбранныйДокумент
#7 by Cube
"я не знаю есть ли у внешней обработки ссылка" - НЕТУ. Рисуй кнопки вручную, не мудри.
#8 by Ayvengo
совет китайского кода? :) Зачем рисовать кнопки, если есть внешние печатные формы?
#9 by shock3r
можно немного подробнее, если вас не затруднит, использовать другую функцию? Для внешних обработок своя функция печати?
#10 by shock3r
макетов может быть от 4 до overмного... так что вручную не вариант
#11 by Ayvengo
Если я правильно понял, тебе нужно подключить внешнюю печатную форму? Если так, тогда читай: Внешняя печатная форма. Внешняя обработка, содержащая: Необязательный реквизит «ДополнительныеПараметры» произвольного типа, которому будут передаваться дополнительные параметры примитивного типа в виде структуры. Реквизит «СсылкаНаОбъект», в который при вызове будет передана ссылка на объект, для которого необходимо выполнить печать. Функция «Печать» - без параметров,  возвращающая табличный документ. Также обработка может иметь в своем составе макет «Параметры_Авторегистрации», используемый для автоматического заполнения принадлежности печатной формы в справочнике «Внешние обработки» и состоящий из 2-х колонок («полное имя метаданного» и «имя табличной части»).
#12 by shock3r
да у меня есть поле ввода, в котором выбирается документ.. Поле называется Документ, в нем стоит ссылка на Документы.ОтчетПроизводстваЗаСмену
#13 by Cube
и Вы, видимо не догоняете: ему надо прикрутить печатную форму к обработке. Что там в обработке происходит - никто не знает, но стандартный код в чистом виде не отработает. Это факт.
#14 by Ayvengo
а вообще, хорошо бы знать что за конфигурация у тебя и платформа :)
#15 by Ayvengo
т.е. это что-то вроде печати пакет документов?
#16 by Cube
Хз что там у него, он же не говорит :)
#17 by shock3r
не прокатило. Выдает сообщение: "Печать недоступна. Изменился набор реквизитов"
#18 by Ayvengo
что у тебя за платформа, конфигурация, под какой клиент делаешь обработку? :)
#19 by Ayvengo
ты хочешь сделать что-то вроде печати пакета документов или как?
#20 by hunter76
надо сделать по образу и подобию внеш.печатной формы
#21 by shock3r
Мне нужно на внешнюю обработку, повесить кнопки печати, которые будут печатать макеты этой обработки... Сейчас при нажатии на кнопку печать по умолчанию, должен вызываться макет1, в котором написано hello word, но пока этого не происходит из-за косяка со "Ссылкой"
#22 by shock3r
платформа 8.2, конфигурация: бухгалтерия для беларуси 1.6
#23 by shock3r
Толстый клиент
#24 by shock3r
нет, я хочу сделать печать этикеток, данные берутся из документа ОтчетПроизводстваЗаСмену. У меня уже обработка забивает табличную часть нужными данными осталось только реализовать вывод макета
#25 by Ayvengo
а от куда хочешь печатать? Из самого документа или открывать обработку?
#26 by Ayvengo
на сколько я вижу, тебе нужно сделать 2 обработку. Одна заполнения, далее запись документа. После записи печать внешней формы. Используй внешние обработки. Нажми на кнопку справка в окне, где добавляются внешние обработки и почитай что необходимо сделать.
#27 by Cube
И зачем ты всю эту фигню мутишь тогда? Делаешь на форме обработки кнопку, а процедура этой кнопки выглядеть должна, примерно, так:
#28 by shock3r
а если макетов будет 10 штук? 10 кнопок делать?
#29 by shock3r
в той реализации которую я видел - вылазит менюшка, которая легко программируется при добавлении макетов
#30 by Cube
Подменю печати и вперде...
#31 by Ayvengo
а визуально это будет 10 кнопок или 1 кнопка, которая фиг знает по каким параметрам выбирать макет? :)
#32 by shock3r
печатать из самой обработки. Т.е. в обработке открывается документ: отчет производства за смену, в него копируются данные, и по его макетам печатаются этикетки
#33 by Ayvengo
проще сделать свою реализацию построения менюшки, чем использовать этот перегруженный механизм.
#34 by Cube
Тот типовой механизм не трогай. С твоими знаниями - не взлетит. Сделай просто, для начала. А потом будешь думать, надо сделать по-другому или нет.
#35 by shock3r
Понял, вообщем не буду лезть в этот механизм, буду делать через кнопки, как вы и советуете
#36 by shock3r
а сделать свою реализацию очень сложно? В какую сторону копать? разбирать тот код, который для документов реализован?
#37 by Cube
"а сделать свою реализацию очень сложно?" См. . Всё просто.
#38 by Ayvengo
так а этот механизм и делает кнопки :) Просто ты сам можешь написать легкий код на те макеты, которые тебе нужны. Зачем обращаться в эту жуткую среду стандартных подсистем :D берешь массив или список значений или тз своих печатных форм и добавляешь кнопки перед открытием формы :) На кнопку назначаешь процедуру, которая будет вызывать функцию печать из модуля объекта и передавать туда имя макета, а в процедуре печати будешь проверять если имя макета, то возвращать табдок такой-то и т.д. А далее можешь воспользоваться стандартной формой вывода печатных форм, что бы не настраивать все самому :)
#39 by shock3r
спасибо, не буду тогда время тратить на реализованный в 1С механизм подменю
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С