0. SeiOkami 1133 18.11.12 15:21 Сейчас в теме

Конструктор внешних печатных форм NEW beta (обычные и управляемые приложения!)

Версия NEW beta=)
"Конструктор внешних печатных форм" максимально автоматизирует процесс создания внешних печатных форм на основе типовых. Создание внешней печатной формы займет от секунд до пары минут!
Теперь и на управляемых приложениях =)

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
90. antosha 20.11.13 15:29 Сейчас в теме
оното всё интересно но как с ней работать где брать инструкцию - нахрапом взять не получилось - валит неимоверное количество ошибок на каждом шаге...видимо я чтото не так делаю...
91. xenia_b 29.11.13 15:16 Сейчас в теме
Большое спасибо за обработку. Очень облегчает работу над внешними печатными формами.
92. NittenRenegade 81 18.12.13 08:42 Сейчас в теме
Шикартная штука! Автор, респектос за обработку.
93. Alex1Cnic 124 27.12.13 09:08 Сейчас в теме
94. Alex1Cnic 124 27.12.13 10:04 Сейчас в теме
Проверил на УПП и нашел баг: проблема с макетами на закладке "Макеты" в колонке "имя макета" пишет "мяМакет" а вколонке Расположение - "Документы.СправкаОЗаработкеДляРасчетаПособий.ПолучитьМакет("мяМакет")"
96. popov_i 4 03.02.14 00:37 Сейчас в теме
Обработка очень актуальна на данный момент. Очень жду развитие данной темы и функционала обработки.
98. sword444 150 04.02.14 20:53 Сейчас в теме
Вываливается такая ошибка, в чем косяк
{ВнешняяОбработка.Счет_ВнешняяПечатная.МодульОбъекта(22,14)}: Переменная не определена (Счет)
ИмяМакета = <<?>>Счет; (Проверка: Толстый клиент (обычное приложение))
100. Tomy82 19.02.14 13:20 Сейчас в теме
(98) sword444,
попробуй из-под управляемого запустить
99. Tomy82 19.02.14 13:18 Сейчас в теме
при создании ВПФ "ЗаказКлиента"

Ошибка инициализации модуля: ВнешняяОбработка.ЗаказКлиента_ВнешняяПечатная.МодульОбъекта
по причине:
{ВнешняяОбработка.ЗаказКлиента_ВнешняяПечатная.МодульОбъекта(16,196)}: Переменная не определена (ПараметрыПечати)
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ЗаказКлиента", "Заказ клиента", СформироватьПечатнуюФормуЗаказаКлиента(МассивОбъектов, ОбъектыПечати, Неопределено, <<?>>ПараметрыПечати));
{ВнешняяОбработка.ЗаказКлиента_ВнешняяПечатная.МодульОбъекта(23,52)}: Переменная не определена (ПараметрыПечати)
СформироватьКомплектПечатныхФорм(МассивОбъектов, <<?>>ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати);

куда копать? откуда берётся "ПараметрыПечати"
101. Bukaska 130 19.02.14 13:28 Сейчас в теме
(99) treblinka, Где открывали? В обычном приложении или в Управляемом приложении? Откройте в последнем
103. Tomy82 19.02.14 13:32 Сейчас в теме
(101) Bukaska,
при автоматическом формировании вместо
"Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт"
получается
"Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт"
добавил "ПараметрыПечати", вроде проскочило, но дальше отлавливаю стопы
104. Bukaska 130 19.02.14 13:50 Сейчас в теме
(103) treblinka, По мне так если вам не нужны параметры печати, можно убрать их из процедуры, и будет работать без них...
Самые как воздух нужные(это как раз остальные четверо)
А так у вас наверное функция формирования печатной формы идет с параметрами печати, вот и функция печать - тоже их требует.. все взаимосвязано))))
105. Tomy82 19.02.14 14:09 Сейчас в теме
(104) Bukaska,
логично, это я понял уже, спасибо
106. alxarz 29 20.02.14 12:22 Сейчас в теме
выдает ошибку при открытии

{Форма.ФормаУправляемая.Форма(320)}: Поле объекта недоступно для записи (ЭтотОбъект)
ЭтотОбъект = РеквизитФормыВЗначение("Объект");

Бухгалтерия предприятия, редакция 3.0 (3.0.29.6)
107. Alex_E 2052 23.02.14 13:19 Сейчас в теме
(106) alxarz, На платформе 8.3 Переменная ЭтотОбъект - не катит, надо заменить ЭтотОбъект - на любую другую "свою", хоть ЭтотОбъек везде где она используется - всё работает. После появления .3 уже несколько обработок отсюда таким образом заставлял работать :-)
108. 13jaguar 96 23.02.14 21:18 Сейчас в теме
При запуске в тонком клиенте УФ (БП 3.0) вываливается с ошибкой:
{Форма.ФормаУправляемая.Форма(320)}: Поле объекта недоступно для записи (ЭтотОбъект)
ЭтотОбъект = РеквизитФормыВЗначение("Объект");
В модуле формы везде заменил "ЭтотОбъект" на "ОбработкаОбъект". Заработало. Разбираюсь дальше.
109. DeniNikitin 33 24.02.14 11:27 Сейчас в теме
{ВнешняяОбработка.КонструкторВнешнихПечатныхФорм.МодульОбъекта(1314,9)}: Процедура или функция с указанным именем не определена (РазобратьСтрокуRegEx)
рез=<<?>>РазобратьСтрокуRegEx(НРег(ОбрабатываемаяПроцедураФункция.ТекстПроцедуры),"[\(\)\.\,\;\s=]"+имя+"[\(\)\.\,\;\s=]");

Выдаёт при запуске!!!
111. Cartman 12.03.14 08:15 Сейчас в теме
(109), открывайте обработку в файловой базе. В клиентсерверном варианте такая бяка. Выше писали уже.

(110), надо вставить туда текст модуля документа (открыть в конфигураторе и скопировать). Дальше понятно вроде бы все.

А я вот продолбался с формой универсальный передаточный документ для УТ 10.3, но так и не смог сделать ее внешней.
У кого получилось - поделитесь опытом. Ну или формой в личку.
112. arteast 100 18.03.14 22:47 Сейчас в теме
(111) Cartman, а в чём собственно возникла проблема?
114. Cartman 20.03.14 09:43 Сейчас в теме
(112) arteast, детально не разбирался. Судя по всему из за того что его печать почти полностью вынесена в общий модуль.

(113) Alex_E, ну не всегда. Например у документа счет-фактура выданный модуль менеджера вообще пустой (УТ). В УПП да там.
Почти все кадровые документы (УПП, ЗУП) печатаются из модуля документа.
Так что не все так однозначно :)
115. Alex_E 2052 20.03.14 18:05 Сейчас в теме
(114) Cartman, Точно! Уточню уточнение :-) :
В конфигурациях на обычном приложении модуль менеджера не использовался, процедуры печати в модуле объекта.
В Управляемом приложении - в модуле менеджера, но в последних релизах БП 3.0 например, в нем не полностью всё заполнение табличного документа - получение данных вынесено в общие модули, так что можно из модуля менеджера выдрать во внешнюю форму и сформировать файл, но если надо получить отличные от типовых данные придется "вынимать" из общих модулей запросы и переписывать под себя. Или в самой форме что то "дополучать" - тут уже надо смотреть как это в типовой реализовано.

P.S. Написал первый пост потому что как то не довелось использовать эту обработку в обычном приложении.....
116. Cartman 20.03.14 18:19 Сейчас в теме
(115) Alex_E, а, вот оно что :)
Я как раз только под обычные формы ее пользовал и вот собирался под управляемые попробовать.
Спасибо за уточнения.
113. Alex_E 2052 19.03.14 23:27 Сейчас в теме
(111) Cartman,
надо вставить туда текст модуля документа
- уточню - модуль менеджера, а не документа (объекта).
110. Bortkevich 49 04.03.14 07:42 Сейчас в теме
Спасибо конечно, но я не понял как её пользоваться. Открываю БП 2.0.54.1 Открываю обработку, выбираю документ "Реализация т и У" И что дальше. Активны только кнопка вставить и построить дерево. Нажимаем вставить, ничего не происходит, нажимаем построить дерево говорит вставьте текст.
117. AlexKoso 17 21.03.14 08:52 Сейчас в теме
Автор! Есть подозрения что ты не предусмотрел данную траблу: http://infostart.ru/public/263289/
из-за которой в последних релизах Бухгалтерии 3.0 выскакивает ошибка при запуске.

"...в новой версии конфигурации убрана совместимость с 8.2. А реквизит управляемой формы "ЭтотОбъект" появился как раз в 8.3. Так что советую все переменные "ЭтотОбъект" в модулях форм своих обработок переименовать..."
119. DuplexAlex 31.03.14 18:10 Сейчас в теме
Ну управляемом приложении УТ 11 не запускается?
120. SeiOkami 1133 01.04.14 14:03 Сейчас в теме
Прошу у всех прощения за то, что так давно не отзывался и не исправлял косяки обработки...
Думаю вернуться к разработке и построить все с нуля, но уже с заточенностью на последние релизы типовых и УФ. У меня такой вопрос. Есть ли кто-нить, кому бы пригодилось это? Стоит ли браться за разработку новой версии конструктора?
Brook; svbel85; Diamante; librefx; asterisk; kevlar; NittenRenegade; fiyona; maXon777; Светлый ум; enotik; nick_189; Frosja; +13 Ответить
121. Alex_E 2052 01.04.14 14:04 Сейчас в теме
122. Cartman 01.04.14 14:50 Сейчас в теме
(120) да конечно. И есть уже пожелание.
Хотелось бы чтобы печатную форму одного документа можно было использовать в другом. Ну, понятно, я не про авторегистрацию.
Ну и это, можно грабить корованы :)
123. AlexKoso 17 16.04.14 20:29 Сейчас в теме
(120) чувак, ты с ума сошел, такое спрашивать :) я кому показывал - все в шоке. Пусть сколь угодно скорострельные кодеры говорят о том что они и так делают минут за 5, незнаю. Бывают моменты когда уходит минут по 20, 30. С заменой всех переменных, отладкой и прочего.
P.S. И как феерично я на спор сделал с помощью нее ВПФ для управляемой БП 3.0, за минуту, незная на тот момент управляемого интерфейса.
125. the1 388 30.04.14 10:54 Сейчас в теме
(120) Конечно! Обработка очень полезная!
126. БизнесРешение 15.05.14 10:45 Сейчас в теме
(120) Да!!!! Одна из лучших обработок!!! Допилить под УФ и будет просто шикааарно!!!!!! Ты молодец!!!
133. craftytigra 04.02.15 11:36 Сейчас в теме
(120) БП ред 3.0.37.37 открывается только в обычном приложении. И когда создаю внешнюю не добавляет её. Не открывается макет. А так очень хорошая.
134. AlexO 127 04.02.15 15:31 Сейчас в теме
(120) Я вот не понял -
Версия NEW beta=)
(это с 2012-го года).
Ну ладно. Бета и бета, человек бросил заниматься.
Но это-то что такое?
Думаю вернуться к разработке и построить все с нуля, но уже с заточенностью на последние релизы типовых и УФ.
Т.е. недопиленное ломаем и заново переделывать? ))
И почему "с заточенностью на последние релизы типовых и УФ" - уж делать, так универсальный, что ли.
В общем, и сейчас много непонятного ))
148. DimD2 14.12.15 07:42 Сейчас в теме
Огромный респект ТС
Дальнейшая заточка под УФ, будет принята с восторгом!(120)
Светлый ум; +1 Ответить
127. evg_m 9 26.05.14 15:04 Сейчас в теме
Не создается код внешней печатной формы. В древе процедур выходит только процедура _РазделОператоров_!! и все!
128. Algiz 29.05.14 01:20 Сейчас в теме
129. sypata1 09.09.14 18:39 Сейчас в теме
Управление торговлей, редакция 11.1 (11.1.5.16)
130. AnryMc 720 11.09.14 17:25 Сейчас в теме
(129) sypata1,
Управление торговлей, редакция 11.1 (11.1.5.16)


А это к чему?
131. Quasar 23.12.14 11:23 Сейчас в теме
При попытке сохранить файл выдает ошибку:

{Форма.ФормаУправляемая.Форма(157)}: Ошибка при вызове конструктора (ДвоичныеДанные)
ДвоичныеДанныеОбработки = Новый ДвоичныеДанные(Объект.ИмяГотовогоФайла);
по причине:
Каталог не обнаружен 'C:\Users\Administrator.VVK\AppData\Local\Temp\SeiOkami\Temp\EPF\OK.epf'

Что с этим делать?
132. Alex1Cnic 124 22.01.15 09:57 Сейчас в теме
Буду очень рад новым версиям под УФ!!!!!
135. craftytigra 26.03.15 10:06 Сейчас в теме
При загрузке на 1С:Предприятие 8.3 (8.3.5.1460) Бухгалтерия предприятия, редакция 3.0 (3.0.39.50) Выходит Ошибка "{Форма.ФормаУправляемая.Форма(320)}: Поле объекта недоступно для записи (ЭтотОбъект)
ЭтотОбъект = РеквизитФормыВЗначение("Объект");"

Прикрепленные файлы:
137. NittenRenegade 81 28.05.15 14:05 Сейчас в теме
(135) craftytigra, поправил обработку немного, пробовал только в Бухгалтерия предприятия, редакция 3.0 (3.0.39.58). Кому нужно - пишите в личку, если обработку вы качали - отправлю правленую версию
145. ewmarisha 37 05.07.15 07:35 Сейчас в теме
(137) NittenRenegade, Можно мне исправленную версию. Сама я не исправлю, я не программист.
136. Agema 07.05.15 02:43 Сейчас в теме
Спасибо огромное!!!
Первый раз делал ВПФ. Сначала по шагам из статей, но в конфигурации ЗиКБУ не было типовой формы, а встроенная в документ, да еще и с кучей параметров передаваемых.
Помучился пару часов, но получилось так как требовалось.
138. ughunter 11.06.15 22:35 Сейчас в теме
ТП 8.3.6.2014 ERP 2.0.10.145
сразу же при открытии - Поле объекта недоступно для записи (ЭтотОбъект)
139. hanio 50 22.06.15 23:07 Сейчас в теме
У меня такая же ошибка в БП 3.0 что у 138 поста
140. Alex_E 2052 23.06.15 00:41 Сейчас в теме
138. ughunter, (139) hanio, Уже неколько раз говорили - переименуйте "ЭтотОбъект" во что то другое - назовите "ОбработкаОбъект" или ЭтаХрень. После этого увидите вторую ошибку - полистайте топик назад - там всё описано и ошибки и исправления...

Или просто зарегистрируйте ВПФ в базе и пробуйте штатно. Не работает форма для отлападки, сама печатаная форма должна работать...
NittenRenegade; +1 Ответить
141. NittenRenegade 81 23.06.15 15:02 Сейчас в теме
Учитесь пользоваться отладчиком, господа!
142. ewmarisha 37 04.07.15 16:21 Сейчас в теме
Не могу открыть обработку. Сразу выдает ошибку и не открывается.
{Форма.ФормаУправляемая.Форма(320)}: Поле объекта недоступно для записи (ЭтотОбъект)
ЭтотОбъект = РеквизитФормыВЗначение("Объект");
143. Alex_E 2052 04.07.15 22:00 Сейчас в теме
(142) ewmarisha, Вот прикол, только что спрашивали, причём с стотыщьдвацатьтретий раз, посмотрите (140)
144. progr-2008 118 04.07.15 22:27 Сейчас в теме
Для УПП 1.3 и БП 3.0 работает без проблем?
146. progr-2008 118 05.07.15 10:04 Сейчас в теме
Может, кто уже поработал с этим конструктором, выложит свою исправленную версию?
Было бы очень полезно многим.

147. Designer1C 315 12.10.15 13:47 Сейчас в теме
Удобная вещь ! Спасибо за помощь !
149. mort64ram 24 12.01.16 04:23 Сейчас в теме
Не смог проверить, на управляемых формах в УТ при открытии
{Форма.ФормаУправляемая.Форма(320)}: Поле объекта недоступно для записи (ЭтотОбъект)
ЭтотОбъект = РеквизитФормыВЗначение("Объект");

В обычных формах не заработала полученная ВПФ.
В общем проверить не удалось.
150. tdkintel 25.01.16 18:33 Сейчас в теме
В БП 3.0 при открытии выдает ошибку:
{Форма.ФормаУправляемая.Форма(320)}: Поле объекта недоступно для записи (ЭтотОбъект)
ЭтотОбъект = РеквизитФормыВЗначение("Объект");

Как быть !?
151. Alex_E 2052 25.01.16 18:39 Сейчас в теме
(150) tdkintel, Вместо ЭтотОбъект написать ЭО или ещё что нибудь, только и потом на эту же переменную заменить все вхождения
Дмитрий74Чел; +1 Ответить
152. tdkintel 25.01.16 18:42 Сейчас в теме
(151) Alex_E, Все понял. Спасибо за оперативность.
153. Alex_E 2052 25.01.16 18:44 Сейчас в теме
154. Adoms 150 30.03.16 13:30 Сейчас в теме
Метод объекта не обнаружен (ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработки­) Ребят, как эту ошибку поправить (Бух.3,0)? Обработка замечательная!!!
155. Alex_E 2052 30.03.16 13:44 Сейчас в теме
(154) Adoms,
	Попытка
        ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПодключенныеОбъектыМетаданных(ЭлементОбъект.Вид); //более свежие версии БСП
    Исключение
        ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.НазначаемыеОбъектыМетаданныхПоВидуВнешнегоОбъекта(ЭлементОбъект.Вид);//более старые версии БСП //ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработ­ки(дво.Вид);
    КонецПопытки;
156. Adoms 150 30.03.16 16:52 Сейчас в теме
(155) Alex_E, Спасибо большое!
Но всеравно бъет ошибку, на этой строчке затыкается
ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработки­(ВидОбработки);

Пытаюсь сделать внешнюю форму счета на оплату для Бух.3,0, свежую
Здесь поискал, многие не работают из за изменений фирмы 1С
157. Alex_E 2052 30.03.16 17:12 Сейчас в теме
(156) Adoms, Этот бблок для регистрации ВПФ кнопкой на форме, если не впротык совсем - комментарьте всё нафиг - и регистрируйте вручную
159. Adoms 150 31.03.16 08:24 Сейчас в теме
(157) Alex_E, Спасибо Огромное!!! Закоментировал все нафик и заработало!!!
Еще в форме вот эту процедуру тоже закоментировал Процедура УстановитьОграниченияТипа() тоже там спотыкалось
160. Alex_E 2052 31.03.16 08:30 Сейчас в теме
(159) Adoms, Про ограничения типа - я уже давно исправил конструктор, просто уже не помню, что там пришлось исправлять...
Процедура УстановитьОграниченияТипа()
	
	Попытка
		РегистрационныеДанные = ЭтотОбъект().СведенияОВнешнейОбработке();
	Исключение
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
				НСтр("ru = 'Возможно, обработка (отчет) устарела или не является дополнительной:'")
					+ КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
		Возврат;
	КонецПопытки;
	
	//Установим заголовок формы
	ЭтаФорма.Заголовок = "Отладка внешних печатных форм: " + РегистрационныеДанные.Наименование;
	
	ВидОбработки = Перечисления.ВидыДополнительныхОтчетовИОбработок[РегистрационныеДанные.Вид];
	ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПолучитьВидОбработкиПоСтроковомуПредставлениюВида(РегистрационныеДанные.Вид);
	
	СписокОграниченияТипа = Новый Массив;
	
	Если РегистрационныеДанные.Свойство("Назначение") Тогда
		Для Каждого ЭлементЗаданноеНазначение Из РегистрационныеДанные.Назначение Цикл
			РазделеннаяСтрока = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ЭлементЗаданноеНазначение, ".");
			Если РазделеннаяСтрока[1] = "*" Тогда
				НайденныеНазначения = ПолноеНазначениеЗначение.НайтиСтроки(Новый Структура("Класс", РазделеннаяСтрока[0]));
				Для Каждого ЭлементНайденноеНазначение Из НайденныеНазначения Цикл
					СписокОграниченияТипа.Добавить(ЭлементНайденноеНазначение.ПолноеИмяОбъектаМетаданных);
				КонецЦикла;
			Иначе
				СписокОграниченияТипа.Добавить(ЭлементЗаданноеНазначение);
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
	
	Если СписокОграниченияТипа.Количество() > 0 Тогда
		Для А = 0 По СписокОграниченияТипа.Количество() - 1 Цикл
			ЭлементМассива = СписокОграниченияТипа[А];
			ПозицияРазделителя = Найти(ЭлементМассива, ".");
			Если Лев(ЭлементМассива, ПозицияРазделителя - 1) = "Документ" Тогда
				ТипДокумента = Документы[Сред(ЭлементМассива, ПозицияРазделителя + 1)].ПустаяСсылка();
				ЭлементМассива = ТипЗнч(ТипДокумента);
			ИначеЕсли Лев(ЭлементМассива, ПозицияРазделителя - 1) = "Справочник" Тогда
				ТипСправочника = Справочники[Сред(ЭлементМассива, ПозицияРазделителя + 1)].ПустаяСсылка();
				ЭлементМассива = ТипЗнч(ТипСправочника);
			КонецЕсли;
			СписокОграниченияТипа[А] = ЭлементМассива;
		КонецЦикла;
		Элементы.СсылкаНаОбъект.ОграничениеТипа = Новый ОписаниеТипов(СписокОграниченияТипа);
	КонецЕсли; 
	
КонецПроцедуры
Показать

вот это вроде работает...
161. Adoms 150 31.03.16 09:16 Сейчас в теме
(160) Alex_E, Да, все работает!
Ребята, если делаете внешний счет на оплату для Бух.3.0 меняйте две процедуры на те, которые опубликовал Alex_E и рабочая внешняя форма счета у Вас. Спасибо!
158. Alex_E 2052 30.03.16 17:15 Сейчас в теме
(156) Adoms, + к (157), а так, исправленный полный код функции вот:
&НаСервере
Функция ЗарегистрироватьОбработкуВИнформационнойБазеНаСервере(РежимИспользования = "", СсылкаНаЭлемент = Неопределено)

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

		Запрос.УстановитьПараметр("Наименование", РегистрационныеДанные.Наименование);
		Запрос.УстановитьПараметр("Вид", Перечисления.ВидыДополнительныхОтчетовИОбработок[РегистрационныеДанные.Вид]);
		Результат = Запрос.Выполнить();
		Выборка = Результат.Выбрать();

		Если Выборка.Следующий() Тогда
			СсылкаНаЭлемент = Выборка.Ссылка; 
		Иначе
			СсылкаНаЭлемент = Справочники.ДополнительныеОтчетыИОбработки.ПустаяСсылка(); 
		КонецЕсли;
	КонецЕсли; 
	
	Если РежимИспользования = "Поиск" Тогда
		Если СсылкаНаЭлемент = Справочники.ДополнительныеОтчетыИОбработки.ПустаяСсылка() Тогда 
			РежимИспользования = "Обновить"; 
		Иначе
			Возврат РегистрационныеДанные.Наименование; 
		КонецЕсли;
	КонецЕсли;
	
	Если РежимИспользования = "Обновить" Тогда
		Если СсылкаНаЭлемент = Справочники.ДополнительныеОтчетыИОбработки.ПустаяСсылка() Тогда
			ЭлементОбъект = Справочники.ДополнительныеОтчетыИОбработки.СоздатьЭлемент();
		Иначе
			ЭлементОбъект = СсылкаНаЭлемент.ПолучитьОбъект(); 
		КонецЕсли; 
	КонецЕсли;
	
	ПолноеИмяИмяФайла = ОбъектЗн.ИспользуемоеИмяФайла;
	////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­///////////
	НаименованиеДВО = РегистрационныеДанные.Наименование;
	СсылкаНаЭлемент = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(НаименованиеДВО, Истина);
	МассивПодстрок = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПолноеИмяИмяФайла, "\");
	ИмяФайла = МассивПодстрок.Получить(МассивПодстрок.ВГраница());
	РасширениеФайла = Прав(ИмяФайла, 3);
	РеквизитТипХранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ПолноеИмяИмяФайла));
	ЭлементОбъект.ХранилищеОбработки = РеквизитТипХранилище;
	
	ЭлементОбъект.Назначение.Очистить();
	
	// Инициализация сведений об обработке
	ЭлементОбъект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок[РегистрационныеДанные.Вид];
	ЭлементОбъект.Наименование		= РегистрационныеДанные.Наименование;
	ЭлементОбъект.Версия			= РегистрационныеДанные.Версия;
	ЭлементОбъект.БезопасныйРежим	= РегистрационныеДанные.БезопасныйРежим;
	ЭлементОбъект.Информация		= РегистрационныеДанные.Информация;
	
	// Устанавливаем имя файла обработки
	ЭлементОбъект.ИмяФайла = ИмяФайла;
	
	ЭлементОбъект.ИспользоватьДляФормыОбъекта = Истина;
	ЭлементОбъект.ИспользоватьДляФормыСписка = Истина;
		
	Попытка
        ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПодключенныеОбъектыМетаданных(ЭлементОбъект.Вид); //более свежие версии БСП
    Исключение
        ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.НазначаемыеОбъектыМетаданныхПоВидуВнешнегоОбъекта(ЭлементОбъект.Вид);//более старые версии БСП //ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработ­ки(дво.Вид);
    КонецПопытки;
		
	Если РегистрационныеДанные.Свойство("Назначение") Тогда
			
		Для Каждого ЭлементЗаданноеНазначение Из РегистрационныеДанные.Назначение Цикл
				
			РазделеннаяСтрока = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ЭлементЗаданноеНазначение, ".");
				
			Если РазделеннаяСтрока[1] = "*" Тогда
				
				НайденныеНазначения = ПолноеНазначениеЗначение.НайтиСтроки(Новый Структура("Класс", РазделеннаяСтрока[0]));
					
				Для Каждого ЭлементНайденноеНазначение Из НайденныеНазначения Цикл
					НоваяСтрока = ЭлементОбъект.Назначение.Добавить();
					НоваяСтрока.ПолноеИмяОбъектаМетаданных = ЭлементНайденноеНазначение.ПолноеИмяОбъектаМетаданных;
				КонецЦикла;
					
			Иначе
					
                Попытка
                    усл = ПолноеНазначениеЗначение.НайтиСтроки(Новый Структура("ПолноеИмя", ЭлементЗаданноеНазначение)).Количество() > 0 //более свежие версии БСП
                Исключение
                    усл = ПолноеНазначениеЗначение.НайтиСтроки(Новый Структура("ПолноеИмяОбъектаМетаданных", ЭлементЗаданноеНазначение)).Количество() > 0; //более старые версии БСП
                КонецПопытки;
                Если усл Тогда
					НоваяСтрока = ЭлементОбъект.Назначение.Добавить();
					НоваяСтрока.ОбъектНазначения = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоРеквизиту("ПолноеИмя", ЭлементЗаданноеНазначение);
                КонецЕсли;
					
			КонецЕсли;
				
		КонецЦикла;
	КонецЕсли;
		
	ЭлементОбъект.Назначение.Свернуть("ОбъектНазначения");
	
	КомандыСохраненные = ЭлементОбъект.Команды.Выгрузить();
	
	ЭлементОбъект.Команды.Очистить();
	
	// Инициализация команд
	
	Для Каждого ЭлементОписаниеКоманды Из РегистрационныеДанные.Команды Цикл
		
		НоваяСтрока = ЭлементОбъект.Команды.Добавить();
		НоваяСтрока.Идентификатор	= ЭлементОписаниеКоманды.Идентификатор;
		НоваяСтрока.Представление	= ЭлементОписаниеКоманды.Представление;
		НоваяСтрока.Модификатор		= ЭлементОписаниеКоманды.Модификатор;
		НоваяСтрока.ПоказыватьОповещение = ЭлементОписаниеКоманды.ПоказыватьОповещение;
		
		Если ЭлементОписаниеКоманды.Использование = "ОткрытиеФормы" Тогда
			НоваяСтрока.ВариантЗапуска = Перечисления.СпособыВызоваДополнительныхОбработок.ОткрытиеФормы;
		ИначеЕсли ЭлементОписаниеКоманды.Использование = "ВызовКлиентскогоМетода" Тогда
			НоваяСтрока.ВариантЗапуска = Перечисления.СпособыВызоваДополнительныхОбработок.ВызовКлиентскогоМетода;
		ИначеЕсли ЭлементОписаниеКоманды.Использование = "ВызовСерверногоМетода" Тогда
			НоваяСтрока.ВариантЗапуска = Перечисления.СпособыВызоваДополнительныхОбработок.ВызовСерверногоМетода;
		Иначе
			ТекстСообщения = НСтр("ru = 'Для команды %1 не определен способ запуска.'");
			ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, ЭлементОписаниеКоманды.Представление);
			ВызватьИсключение ТекстСообщения;
		КонецЕсли;
		
	КонецЦикла;
	Попытка
		ЭлементОбъект.Ответственный = ОбщегоНазначения.ТекущийПользователь();
	ИСключение
		ЭлементОбъект.Ответственный = Пользователи.ТекущийПользователь();
	КонецПопытки;
	
	ЭлементОбъект.Публикация = Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Используется;
	
	Попытка
		ЭлементОбъект.Записать();
		СсылкаНаЭлемент = ЭлементОбъект.Ссылка;
	Исключение
		НСтрока = НСтр("ru = 'Произошла ошибка при записи обработки.
							|Подробное описание ошибки: %1'");
		ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтрока,
								КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
		ВызватьИсключение ТекстСообщения;
		Возврат Ложь;
	КонецПопытки;
	
	Возврат Истина;
	
КонецФункции
Показать
162. maks_20 62 22.06.16 14:07 Сейчас в теме
По поводу ошибки безопасного режима. Если используется конструкция типа ВнешниеОбработки.Подключить(мАдресХранилища), то нужно изменить на ВнешниеОбработки.Подключить(мАдресХранилища,,ложь); - тогда ошибка уйдет.
163. medved577 1 06.07.16 15:56 Сейчас в теме
Ошибка инициализации модуля: ВнешняяОбработка.РеализацияТоваровУслуг_ВнешняяПечатная.МодульОбъекта
по причине:
{ВнешняяОбработка.РеализацияТоваровУслуг_ВнешняяПечатная.МодульОбъекта(784,2)}: Пропущен оператор препроцессора Область (Region)
#<<?>>КонецОбласти

Конфигурация УТ 11.1.10.185
164. Alex_E 2052 06.07.16 19:03 Сейчас в теме
Вот блин, если автор позволит, выложу рабочую версию конструктора в этом варианте...
165. medved577 1 06.07.16 19:57 Сейчас в теме
(164) Alex_E, а что нужно поменять? Автор походу забросил совсем обработку
166. Agema 06.07.16 22:28 Сейчас в теме
(164) Alex_E, выкладывайте, думаю, автор не будет против.
167. Alex_E 2052 07.07.16 04:18 Сейчас в теме
(166) Agema,
выкладывайте, думаю, автор не будет против.
- думаю лучше получть разрешение от автора))) Мало ли что мы можем думать...
169. Agema 07.07.16 21:49 Сейчас в теме
(167) Alex_E, поделитесь на почту, если не трудно, на agema2010_mail.ru
170. SeiOkami 1133 09.07.16 11:32 Сейчас в теме
(167) Alex_E, буду рад, если выложите версию, потому что я, к сожалению, закопан (
171. Alex_E 2052 09.07.16 11:57 Сейчас в теме
(170) раз Вы не против - конечно выложу...
168. medved577 1 07.07.16 11:53 Сейчас в теме
Ну или хотя бы блоками

С ошибкой разобрался, теперь бы понять как свой макет подцепить
172. Alex_E 2052 10.07.16 09:59 Сейчас в теме
174. German_Tagil 6 22.08.16 14:12 Сейчас в теме
Вопрос можно - данный конструктор будет работать на 1С КА 1.1?
а то тыкаюсь тыкаюсь и ничего .....
175. Alex_E 2052 22.08.16 17:59 Сейчас в теме
(174) German_Tagil, можно - файл прилагаю. КА 1.1.58.4 платформа 8.2.19.130. Но сделал http://infostart.ru/public/535969/
Прикрепленные файлы:
АвансовыйОтчет КА1.1(внешняя).epf
182. Muhin555 14 02.10.18 16:26 Сейчас в теме
Идея хорошая. Несколько раз пробывал, не получалось сразу - откладывал, в очередной раз наткнулся и все же решил разобраться. Не с первого раза получилось, но разобрался в обработке. И сразу же нашел недостатки..... Конфигурация "Комплексная автоматизация, редакция 1.1" не совсем похожа на бухгалтерию и в ней встречаются моменты, пример документ "УвольнениеИзОрганизаций":

Функция ПолучитьСтруктуруПечатныхФорм() Экспорт
СтруктураМакетов = Новый Структура;
СтруктураМакетов.Вставить("Т8а_от_5_1_2004", "Форма Т-8а");
СтруктураМакетов.Вставить("Т8_от_5_1_2004", "Форма Т-8");
Возврат СтруктураМакетов;
КонецФункции // ПолучитьСтруктуруПечатныхФорм()

Функция Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт
// Получить экземпляр документа на печать
Если Лев(ИмяМакета,3) = "Т8_" Тогда
ТабДокумент = ПечатьТ8(ИмяМакета);
ИначеЕсли Лев(ИмяМакета,3) = "Т8а" тогда
ТабДокумент = ПечатьТ8а(ИмяМакета);
КонецЕсли;
Возврат УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект,"Увольнение из организации "));
КонецФункции // Печать()
Показать

Исходя из этого куска текста модуля обработка никак не сможет получить доступные макеты для печати при помощи
Координата = Найти(ОбрабатываемыйТекст, "ПолучитьМакет(");
и добавить их в ТЗ_ВыбранныеМакеты.
Думаю что для поиска макетов документа лучше использовать более стандартные методы типа
ДеревоМакетовПечати = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(Объект.Ссылка, СтруктураВнутреннихПечатныхФорм);
и не искать по модулю "ПолучитьМакет("
183. JohnConnor 34 30.10.18 06:19 Сейчас в теме
для УФ выдает кучу ошибок исправлять которые нет желания. Вот то же самое только без ошибок https://infostart.ru/public/535969/
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата до 160 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству