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

Печать - Универсальные печатные формы

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

Это новая версия Конструктора ВПФ. В ней исправлены старые косяки и добавлены новые =)

ВНИМАНИЕ: Это beta версия. Она на то и бета, чтобы работать через... в смысле плохо ^_^ Поэтому как только находите косяк (а вы его неприменно найдете ;) ), сообщайте, пожалуйста, в комментариях. И можно без нервов =)

Новое в версии NEW beta (05\01\2013):

Обычное приложение:
+ Немного переработан интерфейс и оптимизирован код
+ Добавлена возможность вручную выбрать нужна ли определенная функция или нет
+ Удобная работа с макетами... редактировать пока нельзя, но в планах
+ Переработан шаблон ВПФ. За основу взят шаблон из публикации //infostart.ru/public/67060/ от alexk-is
+ Добавлена возможность передачи во ВПФ СсылкиНаОбъект прямо из конструктора
+ Может чего-то ещё =)

Управляемое приложение:
+ Реализована работа, но ОЧЕНЬ не оптимизиованная. Всё будет переписываться, когда соберется список косяков =)
+ Не требуется выбор оновной процедуры печати. Она по умолчанию Печать(). Обработка сама определяет команды печати - пользователю остаётся только отметить нужную галочкой. Всё остальное обработка сделает сама... Наверное)
+ Все параметры прописываются в конструкторе. Вообще работа переноса печатной формы заметно легче, чем в обычном режиме, однако, пока плохо проработанная.
- Пока есть минус - обработка в УФ не вытягивает макеты. Это делать нужно вручную.
- И еще... я заколебался с неким "Безопасным режимом", ошибка о котором постоянно высвечивается при тесте ВПФ... И после нескольких "переоткрываний" пропадает... Если кто понял в чем дело, сообщите, плиз, в комментариях ^_^



//Описание изменений предыдущей версии
Исправленные ошибки:

+ Исправленна проверка зависимых процедур. Спасибо Жолтокнижнику за его обработку Редактор внешних печатных форм из которой я взял парочку функций :)

+ Исправлена мелкая ошибка замены строки "Печать" на "СтандартнаяПроцедураПечать"

+ МоментВремени() раньше выдавал ошибку, теперь все норм :)

+ присвоение переменных теперь происходит два раза. При открытии обработки и при вызове Печать(). Это, конечно, не есть красиво, однако исключает некоторые ошибки.

+ добавлена страница с таблицей всех процедур и функций модуля

+ теперь, перед тем как создать файл внешней печатной, обработка запрашивает название этой самой внешней печатной и прописывает название как синоним готового файла (для нормального добавления в базу)

+ после сохранения результата обработка может открыть готовую внешнюю печатную для проверки

+ Не закрывающиеся #Если теперь... комментируются )

 

Надеюсь, что кому-нить моя обработка будет полезна =)

355

Скачать файлы

Наименование Файл Версия Размер
КонструкторВнешнихПечатныхФорм_NEW_beta.epf
.epf 178,06Kb
05.01.13
1976
.epf 178,06Kb 1976 Скачать

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. vertkov2010 3 19.11.12 08:45 Сейчас в теме
Идея очень хорошая. Но на версии 8.2.16.352 управляемое приложение не работает обработка
2. SeiOkami 654 19.11.12 09:14 Сейчас в теме
Забыл подписать, что НЕ ДЛЯ УФ
=)
Ну УФ я сделаю обработку, но позже. я еще не в курсах даже как там внешняя печатная устроена)
3. yku 272 19.11.12 14:12 Сейчас в теме
(2) На управляемых в большинстве случаев хватит одного шаблона ВПФ. Процедуры практически готовы для копирования-вставки. И наверное, создание конструктора имеет чисто спортивный интерес.
4. SeiOkami 654 19.11.12 14:24 Сейчас в теме
(3) Ну почему же. Так же будет полезна, как и для обычных типовых конфигураций.
К примеру для печати ЗаказаКлиенту в УТ 11 используются:

+ СформироватьПечатнуюФормуЗаказаКлиента
+ ПолучитьДанныеДляПечатнойФормыЗаказаКлиента
+ ЗаполнитьТабличныйДокументЗаказаКлиента
+ может чего то ещё =)

Легче же, когда обработка за тебя определит, какие функции и процедуры нужны, сама их вытянет, достанет макет, пропишет СведенияОВнешнейОбработке и прочую лабуду, да потом еще все в файл внешней печатной упакует и откроет в режиме предприятия для проверки =)
176. AlexO 125 15.04.17 10:54 Сейчас в теме
(3)
3. Александр Гладких (yku) 260 19.11.12 14:12
(2) На управляемых в большинстве случаев хватит одного шаблона ВПФ. Процедуры практически готовы для копирования-вставки. И наверное, создание конструктора имеет чисто спортивный интерес.
Как же вы жутко ошибались в далеком 12-м году ))
Сейчас под каждую версию - нужно писать свою ВПФ, плюс - периодически актуализировать старые ВПФ под непрерывно меняющийся код БСП.
180. yku 272 17.04.17 18:59 Сейчас в теме
(176) В далёком 12-м году я был прав. А вот сейчас те слова потеряли актуальность :)
Да, порой смотришь на изменения в типовых и думаешь, это они специально усложняют использование всего нетипового.
181. AlexO 125 28.06.17 14:49 Сейчас в теме
(180) как раз усложняют использование типового кода, если речь о повторно используемом коде (типа БСП) )
И в 12-м году Вы были уже неправы, т.к. уже тогда было ясно, что из затеи сделать БСП и "модульный подход в коде" у 1С выйдет еще большая свалка и неразбериха :)
Потому как достаточно взять любую серьезную "нетленку", работающую годами, и сравнить с типовыми.
Ничего общего ни в подходе, ни в написании кода, ни в структуре объектов.
37. AlexO 125 10.12.12 23:34 Сейчас в теме
(2)
так ради чего столько труда затрачено впустую? :)
38. SeiOkami 654 10.12.12 23:52 Сейчас в теме
(37), обьяснять не имеет смысла. Коли она вам не пригодится - проходите мимо
39. AlexO 125 11.12.12 00:03 Сейчас в теме
(38)
вы затратили усилий не меньше (в эквиваленте выделенного тепла), чем на создание правильного партионного учета, но создали отнюдь не обработку и исправление партионного учета :)
44. ZhokhovM 27.12.12 00:29 Сейчас в теме
(38) когда будет готова обработка для управляемого приложения?
5. shatt 38 19.11.12 17:13 Сейчас в теме
Огромное спасибо за обработку! Довольно часто встречающаяся задача.
Хотя ее знаючи и так можно сделать за пару минут, теперь можно сделать за пару секунд :)
Это здорово! +
6. ZhokhovM 19.11.12 23:58 Сейчас в теме
(7) интересно, а сколько уйдёт времени на создание конструктора ВПФ на УФ? Хотел для себя сделать наподобие этого, хотя, нет, лучше подожду...
7. SeiOkami 654 20.11.12 09:17 Сейчас в теме
Хорошенько подумав, я понял, что можно добавить пару мелочей в версию FINAL. как добавлю, обновлю публикацию (если вообще так делать можно, а то я не в курсах :) )
8. 26178_mail.ru 20.11.12 12:24 Сейчас в теме
конструктор вещь интересная, надо попробовать,
9. vkr 101 21.11.12 12:51 Сейчас в теме
Суровая штука... :)
В чем-то аналогична классическому Borland-овскому
Delphi/C++Builder-генератору собственных форм...
Жутко облегчает жизнь!
Спасибо!!!
36. AlexO 125 10.12.12 23:31 Сейчас в теме
(9) vkr,
а чем она вам жизнь-то облегчила? :)
Вы не умели делать ВПФ? :)
40. vkr 101 12.12.12 07:34 Сейчас в теме
(36) Не надо было, потому и не занимался. Потом научился... Что тут странного? :)
Вот, к слову, еще меня 1С-овский обмен данными достал в свое время.
Пришлось свой (через DBF) написать - и сам не жалею, и коллегам - польза... :)
Сейчас доделываю версию обмена для 8.2 - тоже нормальненько получается.
Поэтому Вы зря удивляетесь... :)
chemezov; +1 Ответить
177. AlexO 125 15.04.17 10:57 Сейчас в теме
(9)Вы не путайте - генератор экранных форм, и макеты-таблицы у 1С.
Здесь ничего не "генерируется", лишь берется и копируется готовое. И то - актуально только для ОФ, на БСП такое уже не пройдет по нескольким причинам.
10. Lapitskiy 881 21.11.12 19:42 Сейчас в теме
Мега-вещь!
Экономит время раз в 10!!!
Designer1C; +1 Ответить
33. Zas1402 05.12.12 18:56 Сейчас в теме
11. Isperator 22.11.12 00:21 Сейчас в теме
Обработка вставляетв печатную форму печать организации?
12. SeiOkami 654 22.11.12 06:11 Сейчас в теме
(11), она создана для переноса типовой печатной формы во внешнюю. Отредактировать макет, да и поработать с кодом можно и в конфигураторе. Я решил, что подобное будет лишним функционалом.
25. Borisych 526 29.11.12 08:50 Сейчас в теме
(12) а обработка с авторегистрацией (для обычного режима)?
27. SeiOkami 654 29.11.12 12:16 Сейчас в теме
(25) Borisych, не совсем понял вопрос )
(26) maxim305, а что хотите "подпилить" именно, если не секрет?) интересно, чего не хватает)
13. chemezov 8 22.11.12 09:41 Сейчас в теме
14. Moll 23.11.12 06:52 Сейчас в теме
интересно будет попробовать, как натикают мани скачаю..
задача изменить печатную форму действительно часто встречается в работе, опробую, может и правда время "переделок" сократиться =]
благодарим за публикацию
15. SeiOkami 654 23.11.12 23:02 Сейчас в теме
Ну... Я говорил, что не буду больше развивать обработку... Но я солгал =)
Поэтому ждите новой версии, в которой будет много вкусностей ^_^
16. tehas 45 26.11.12 09:49 Сейчас в теме
долгожданная финальная версия, сейчас обязательно за тестирую.
про управляемое приложение не забывай, будет вообще шикарно.
Спасибо!
17. Новенький_2209 27.11.12 21:58 Сейчас в теме
(16) tehas, угу, очень интересно как там автор будет выкручиваться.

По собственному опыту могу сказать, чтобы раскурить под "0" тему подключения печатных форм на БСП весьма и весьма трудозатратно. Особенно в свете того, что следует очень аккуратно, в зависимости от режима запуска обработки поработать с потрашками.

Я бы, на месте автора, сосредоточился не на рутинщине (это все рулится шаблонами), а на технологии отладки оных внешних обработок /печатных форм.
18. SeiOkami 654 27.11.12 22:06 Сейчас в теме
(17) Новенький_2209,
В принципе можно разработать рабочую печатную и при помощи данной обработки, только для подключения к базе нужно прописать свои для УФ процедурки.

Я бы, на месте автора, сосредоточился не на рутинщине (это все рулится шаблонами), а на технологии отладки оных внешних обработок /печатных форм.

Вот этого я не сильно понял. Если отладка в режиме предприятия, то не зачем, ведь есть конфигуратор.
19. Новенький_2209 27.11.12 22:32 Сейчас в теме
(18) ну дык вы внешнюю печатную форму то отладьте в конфигураторе. Любую возьмите внешнюю печатную форму, да поотлаживайте.

Потом расскажите, как там оно :)
21. Новенький_2209 28.11.12 09:30 Сейчас в теме
(20) я уже там писал, что к сожалению, не могу поставить минус за тот опус. Кстати, не сомневался, что именно эту ссылку вы и приведете. Т.е. отладить печатную форму нормальным способом, как это было в обычных формах, вы не знаете как. Именно поэтому я пишу:

Я бы, на месте автора, сосредоточился не на рутинщине (это все рулится шаблонами), а на технологии отладки оных внешних обработок /печатных форм.
178. AlexO 125 15.04.17 11:05 Сейчас в теме
(17)
очень интересно как там автор будет выкручиваться.
А никак не будет, под БСП и 8.3 теперь невозможно создавать ни универсальные обработки, ни универсальные ВПФ. Даже между версиями одной конфы - огромные разницы в коде, плюс - все вынесено и постоянно меняется в общих модулях.
(16)"про управляемое приложение не забывай, будет вообще шикарно. " забудьте, шикарно в УФ не было и не будет, это не про 1С.
22. KroVladS 28.11.12 11:26 Сейчас в теме
Спасибо.
Посмотрел на "Коллекция внешних печатных форм БП, УТ и ЗУП из 200шт" которая появилась в результате тестов.

я думаю в 1с так свои продукты не тестят.
23. SeiOkami 654 28.11.12 15:18 Сейчас в теме
24. brrart 22 29.11.12 06:19 Сейчас в теме
Плюсую ... полезная вещь!!!
28. Maxis 29.11.12 12:29 Сейчас в теме
Отличная работа! Особенно пригодится, когда нужна модифицированная форма, а конфигурацию при этом портить не хочется.
29. KliMich 02.12.12 22:42 Сейчас в теме
Однозначно плюс! Вот 1С-ники бы встроили что то подобное в 8.3 ...
30. SigmaMoscow 04.12.12 11:23 Сейчас в теме
Добрый день. А как это работает? Может, я конечно совсем баран, ну не ругайте тогда...Скачал, открываю в УТ 10.3. Выбираю документ..ну пусть "реализация товаров". Ставлю "Основной режим". Никаких действий после этого не происходит..И что потом надо сделать? Пробовал и так и сяк..
31. SeiOkami 654 04.12.12 11:51 Сейчас в теме
(30) SigmaMoscow, =)
Не настолько обработка крута) Необходимо скопировать модуль объекта документа из конфигуратора и вставить в обработку. Далее, выбрав "основную" функцию (которая получает таб.док, либо "Печать" ), действовать по ситуации )
35. AlexO 125 10.12.12 23:30 Сейчас в теме
(31)
Необходимо скопировать модуль объекта документа из конфигуратора

вот и я задался вопросом, смотря картинки - каким образом автор выдирает код из конфы?
Оказалось, никаким :)
А... тогда также вручную все сделать? нельзя? :)
32. SigmaMoscow 04.12.12 11:54 Сейчас в теме
Во, теперь понял. Внимательнее читать надо, прочитал через строчку - нажать три кнопки, и все будет..
Ща попробую..
Спасибо..
34. Zas1402 05.12.12 18:58 Сейчас в теме
Мега-вещь!
Экономит время раз в 10!!! 

Согласен
41. oxana1 19.12.12 14:12 Сейчас в теме
написано, что платформа любая, а в 8.1 не открывается(
42. elenko1 20.12.12 22:48 Сейчас в теме
(41) oxana1, да, если обработка сделана на платформе 8.2, то на 8.1 не сконвертируется.
43. Yimaida 34 21.12.12 13:59 Сейчас в теме
Вещь полезная. Я с ходу создал шаблон ВПФ, которую потом допилил. На создание шаблона ушло 5 минут. Огромное спасибо. Польза очевидна. В создании ВПФ много мороки, а тут почти все делает обработка. Еще раз +
45. SeiOkami 654 02.01.13 15:50 Сейчас в теме
Почти готов Конструктор ВПФ с поддержкой УФ. Переписывал обработку заново (в который раз) и сильно помучился с заточкой модуля под управляемую форму (никогда не работал с УФ). Обработка уже формирует файл ВПФ, вот только может кто нить подсказать статейку про структуру ВПФ для подключения? Выходной файл сейчас работает, но не подключается. Буду копаться и искать, но может кто ссылку кинет =)
46. SeiOkami 654 05.01.13 23:31 Сейчас в теме
Вышла новая версия с поддержкой УФ. Надеюсь, что понравится =)
47. Yimaida 34 11.01.13 21:27 Сейчас в теме
(46) Опробовал я новую версию. Сделал ВПФ для заказа в УТ 11. Одна просьба, добавить опционально вариант размещения макета. Сейчас он тянется из документа. А хотелось бы иметь возможность править его в обработке.
Спасибо за развитие проекта.
48. GerHard 4 16.01.13 02:00 Сейчас в теме
Вот очень красиво. Хорошая штука. Но интуитивна не до конца.
Ещё бы чуть чуть подсказочек и кусочек описания под F1...
JohnConnor; +1 Ответить
49. necus 16.01.13 02:15 Сейчас в теме
да вещь нужная но хелпп бы не помешал.
JohnConnor; +1 Ответить
50. zharkov.ss 17.01.13 00:43 Сейчас в теме
Автору огромный респект! Сам я внешние формы пока не научился делать, а с Конструктор внешних печатных форм сразу получилась готовая обработка, которую чуть-чуть допилю и в работу! Для начинающих и администраторов в самый раз! Большое спасибо! Обязательно ждем продолжения проекта.
51. Andry.Boris 55 21.01.13 01:37 Сейчас в теме
Хорошая работа, но нужна ХОРОШАЯ ИНСТРУКЦИЯ!!!
Попробовал использовать не получилось... к сожалению...
Воспользовался ссылкой на "шаблоны для создания внешних печатных форм с авторегистрацией (3.0.1.1)"
через 2 мин была готова ВПФ...
вот так...
52. Zero_nv 127 25.01.13 11:49 Сейчас в теме
Скачал, потратил Sm аобработка сразу выдает ошибку
{ВнешняяОбработка.КонструкторВнешнихПечатныхФорм.МодульОбъекта(1314,9)}: Процедура или функция с указанным именем не определена (РазобратьСтрокуRegEx)
рез=<<?>>РазобратьСтрокуRegEx(НРег(ОбрабатываемаяПроцедураФункция.ТекстПроцедуры),"[\(\)\.\,\;\s=]"+имя+"[\(\)\.\,\;\s=]");
hoztorg; xurij; craftytigra; tarkvsg; realsevere; iov; +6 Ответить
173. Help-GROUP 9 10.08.16 04:38 Сейчас в теме
(52) Zero_nv, откройте обработку в конфигураторе и в модуле объекта закомментируйте все "&НаСервере" (для обычного приложения).
53. SeiOkami 654 25.01.13 12:29 Сейчас в теме
гляну, однако впервые слышу. Ни у кого такого еще не было
54. Zero_nv 127 25.01.13 12:36 Сейчас в теме
Ошибка возникает если запускаешь в клиент-серверном варианте. Если база файловая, то все нормально
55. glorx 18 31.01.13 14:38 Сейчас в теме
А где бы инструкцию глянуть? А то была, ты видно перезалил
56. Alister 9 09.02.13 22:09 Сейчас в теме
Большое спасибо за обработку - очень помогает в работе.
57. SeiOkami 654 09.02.13 22:20 Сейчас в теме
Как будет время - возьмусь за переработку работы в УФ и напишу инструкцию... как будет время )
58. Alister 9 10.02.13 00:26 Сейчас в теме
В принципе, кроме первоначальной вставки текста модуля объекта, все остальное достаточно понятно и прозрачно :)
59. iov 365 25.02.13 18:12 Сейчас в теме
(0) сразу выдает ошибку
{ВнешняяОбработка.КонструкторВнешнихПечатныхФорм.МодульОбъекта(1314,9)}: Процедура или функция с указанным именем не определена (РазобратьСтрокуRegEx)
рез=<<?>>РазобратьСтрокуRegEx(НРег(ОбрабатываемаяПроцедураФункция.ТекстПроцедуры),"[\(\)\.\,\;\s=]"+имя+"[\(\)\.\,\;\s=]");
60. SeiOkami 654 25.02.13 18:17 Сейчас в теме
(59) iov, да, уже об этом косяке слышал... Обработка не тестилась в клиент-серверном режиме. у меня все базы файловые. извиняюсь, никак руки не дойдут =)
61. iov 365 25.02.13 18:21 Сейчас в теме
(60) Да ну ты брось - тебе спасибо такая помогалка... Вот только справку бы. А то вот определения параметров передаваемых в процедуру - под конец дня не могу понять что это ...
62. SeiOkami 654 25.02.13 18:26 Сейчас в теме
(61) iov, смотри, когда ты выбрал основную функцию, то, если в она требует передачу в нее параметра, то его значение нужно указать там.

К примеру, функция "ПечатьАкта(ТипМакета)".
В таблице параметров появится ТипМакета. Что туда передать - это уже нужно смотреть по процедуре. К примеру "Акт".
63. iov 365 25.02.13 18:31 Сейчас в теме
(62) Да спасиб я немного разобрался... справочка не помешала бы все равно... в любом случае плюс в карму...
64. iov 365 25.02.13 18:34 Сейчас в теме
(63) НЕ ОШИБКА ОБРАБОТКИ.

{ВнешняяОбработка.СчетФактураВыданный_ВнешняяПечатная.МодульОбъекта(100)}: Ошибка при вызове метода контекста (ЗадатьОбластьПечатиДокумента)
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, Ссылка);
по причине:
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ЗадатьОбластьПечатиДокумента ().

Это вот так в конфе КА счет фактура выданная формируется.
70. I2020 17 13.05.13 18:36 Сейчас в теме
{Форма.ОсновнаяФорма.Форма(62)}: Метод объекта не обнаружен (ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработки­)
ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработки­(ВидОбработки);
84. dbolotin 90 23.09.13 15:56 Сейчас в теме
Исправьте ошибку:
Форма.ОсновнаяФорма.Форма(62)}: Метод объекта не обнаружен (ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработки­)
ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработки­(ВидОбработки);
Чтобы все работало корректно нужно прописать следующее:
ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.НазначаемыеОбъектыМетаданныхПоВидуВнешнегоОбъекта(ЭлементОбъект.Вид);
Я это проверил на конфигурации Бухгалтерия предприятия 3.0.24.12. Открыл ВПФ сформированную вашей обработкой в конфигураторе и поменял. Очень хочу чтобы это делалось автоматом при формировании файла ВПФ.
pagiev; Abbra; +2 Ответить
89. Alex_E 1869 11.11.13 13:55 Сейчас в теме
(84) Столкнулся с такой же ошибкой, исправил правда так:
ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПолучитьВидОбработкиПоСтроковомуПредставлениюВида(РегистрационныеДанные.Вид);

но суть дела это не меняет.

Пришлось закомментарить (строка 75)
//Если ПолноеНазначениеЗначение.НайтиСтроки(Новый Структура("ПолноеИмяОбъектаМетаданных", ЭлементЗаданноеНазначение)).Количество() > 0 Тогда 
     СписокОграниченияТипа.Добавить(ЭлементЗаданноеНазначение);
//КонецЕсли;              

выдает ошибку.

А так автору ПОЛНЫЙ РЕСПЕКТ И УВАЖУХА - красиво сделано и экономит кучу времени.

(тренировался на БГУ 2.0, три ВПФ за 10 минут)

Досадно, что автомат не получается для "хитрых" ВПФ, например на раз сделать УПД для БП 3.0 не получилось...
95. 1cmax 151 08.01.14 17:24 Сейчас в теме
(89) Alex_E, 1c переименовали метод
НазначаемыеОбъектыМетаданныхПоВидуВнешнегоОбъекта
и другие изменения были

например

Процедура УстановитьОграниченияТипа()
	
	Попытка
		РегистрационныеДанные = ЭтотОбъект().СведенияОВнешнейОбработке();
	Исключение
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
				НСтр("ru = 'Возможно, обработка (отчет) устарела или не является дополнительной:'")
					+ КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
		Возврат;
	КонецПопытки;
	
	//Установим заголовок формы
	ЭтаФорма.Заголовок = "Отладка внешних печатных форм: " + РегистрационныеДанные.Наименование;
	
	ВидОбработки = Перечисления.ВидыДополнительныхОтчетовИОбработок[РегистрационныеДанные.Вид];
	//Изменено: maxval 08.01.2014
	//ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.НазначаемыеОбъектыМетаданныхПоВидуВнешнегоОбъекта(ВидОбработки);
	//---- Заменено на: ----
	Если Объект.СтараяВерсия Тогда   
		ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработки­(ВидОбработки);
	Иначе
		ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.НазначаемыеОбъектыМетаданныхПоВидуВнешнегоОбъекта(ВидОбработки);			
	КонецЕсли;  
	/// maxval 08.01.2014
Показать



и

Функция ЗарегистрироватьОбработкуВИнформационнойБазеНаСервере(РежимИспользования = "", СсылкаНаЭлемент = Неопределено)

	//Регистрируем обработку в информационной базе
	.......
	
	//{{Начало изменений: maxval:
	СтараяВерсия = Объект.СтараяВерсия;
	//}}Конец изменений: maxval.
	
	
	// Если новая обработка или не заполнено назначение - устанавливаем назначение из обработки
	Если (ЭлементОбъект.Ссылка = Справочники.ДополнительныеОтчетыИОбработки.ПустаяСсылка()
		 ИЛИ ЭлементОбъект.Назначение.Количество() = 0)
		И (ЭлементОбъект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ЗаполнениеОбъекта
			ИЛИ ЭлементОбъект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.Отчет
			ИЛИ ЭлементОбъект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма
			ИЛИ ЭлементОбъект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.СозданиеСвязанныхОбъектов)
		 ТОГДА
		
		ЭлементОбъект.ИспользоватьДляФормыОбъекта = Истина;
		ЭлементОбъект.ИспользоватьДляФормыСписка = Истина;
		
		//{{Начало изменений: maxval:
		Если СтараяВерсия Тогда   
			ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработки­(ЭлементОбъект.Вид);
		Иначе
			ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.НазначаемыеОбъектыМетаданныхПоВидуВнешнегоОбъекта(ЭлементОбъект.Вид);			
		КонецЕсли;  
		//}}Конец изменений: maxval.
		
		
		Если РегистрационныеДанные.Свойство("Назначение") Тогда
			
			Для Каждого ЭлементЗаданноеНазначение Из РегистрационныеДанные.Назначение Цикл
				
				РазделеннаяСтрока = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ЭлементЗаданноеНазначение, ".");
				
				Если РазделеннаяСтрока[1] = "*" Тогда
					
					НайденныеНазначения = ПолноеНазначениеЗначение.НайтиСтроки(Новый Структура("Класс", РазделеннаяСтрока[0]));
					
					Для Каждого ЭлементНайденноеНазначение Из НайденныеНазначения Цикл
						НоваяСтрока = ЭлементОбъект.Назначение.Добавить();
						НоваяСтрока.ПолноеИмяОбъектаМетаданных = ЭлементНайденноеНазначение.ПолноеИмяОбъектаМетаданных;
					КонецЦикла;
					
				Иначе  					
						Если ПолноеНазначениеЗначение.НайтиСтроки(Новый Структура("ПолноеИмяОбъектаМетаданных", ЭлементЗаданноеНазначение)).Количество() > 0 Тогда
							НоваяСтрока = ЭлементОбъект.Назначение.Добавить();
							//{{Начало изменений: maxval:
							Если СтараяВерсия Тогда
								НоваяСтрока.ПолноеИмяОбъектаМетаданных = ЭлементЗаданноеНазначение;  
							Иначе
								ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ЭлементЗаданноеНазначение);
								Если ОбъектМетаданных = Неопределено Тогда
									Продолжить;
								КонецЕсли;		
								НоваяСтрока.ОбъектНазначения = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ОбъектМетаданных);
							КонецЕсли; 								
							//}}Конец изменений: maxval. 
						КонецЕсли;					
				КонецЕсли;
				
			КонецЦикла;
		КонецЕсли;
		
		//Изменено: maxval 08.01.2014
		//ЭлементОбъект.Назначение.Свернуть("ПолноеИмяОбъектаМетаданных", "");
		//---- Заменено на: ----
		Если СтараяВерсия Тогда
			ЭлементОбъект.Назначение.Свернуть("ПолноеИмяОбъектаМетаданных", "");
		Иначе
			ЭлементОбъект.Назначение.Свернуть("ОбъектНазначения", "");
		КонецЕсли;  
		/// maxval 08.01.2014
		
	КонецЕсли;
Показать

97. TorLink 03.02.14 19:06 Сейчас в теме
Идея конечно зачет, Спасибо. Но пользоваться не получается. Инструкцию бы коротенькую. Нужна доверенность сделать, открыл, выбрал док, понажимал по очереди на кнопочки, потом в конфигураторе добавил макет. При открытии в предприятии ругается
{Форма.ОсновнаяФорма.Форма(62)}: Метод объекта не обнаружен (ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработки)
	ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПолучитьПолноеНазначениеПоВидуДополнительнойВнешнейОбработки­(ВидОбработки);
102. Tomy82 19.02.14 13:29 Сейчас в теме
(97) TorLink,

ПолноеНазначениеЗначение = ДополнительныеОтчетыИОбработки.ПолучитьВидОбработкиПоСтроковомуПредставлениюВида(ВидОбработки);
65. cmd_vasec 34 01.03.13 12:16 Сейчас в теме
Где можно посмотреть инструкцию?
66. AndrewUs 10 01.03.13 12:44 Сейчас в теме
Обработка, безусловно хороша, но когда я ею воспользовался, возникла проблема и пришлось дописывать недостающую функцию. Может я что-то не так сделал? Инструкция была бы кстати :)
67. elenko1 05.03.13 11:24 Сейчас в теме
А я тоже ищу инструкцию, и что-то пока не обнаружила %) пошла умыла глаза - не помогло))))))))
Мне кажется, раньше было объяснение, как пользоваться. А пока приспичило сделать - уже не могу найти, что же там откуда куда копировать... %)
68. MrDemo 10.03.13 23:48 Сейчас в теме
69. SeiOkami 654 12.03.13 12:57 Сейчас в теме
(68), спасибо за ссыль. Нет, не моя) поговорил с автором статьи - размещу ее в публикации )
71. alekseies 22.05.13 09:19 Сейчас в теме
та жеошибка
{ВнешняяОбработка.КонструкторВнешнихПечатныхФорм.МодульОбъекта(1314,9)}: Процедура или функция с указанным именем не определена (РазобратьСтрокуRegEx)
рез=<<?>>РазобратьСтрокуRegEx(НРег(ОбрабатываемаяПроцедураФункция.ТекстПроцедуры),"[\(\)\.\,\;\s=]"+имя+"[\(\)\.\,\;\s=]");
75. Franchiser 271 12.07.13 15:38 Сейчас в теме
(71) Если запускаешь в толстом клиенте то убери все директивы компиляции &НаКлиенте и &НаСервере. Это кажется произошло из-за того что 1с изменила режим совместимости в типовых конфигурациях.
72. Светлый ум 218 31.05.13 04:52 Сейчас в теме
Еще бы аналогичный механизм по созданию "внешних обработок заполнения ТЧ", вообще красота была бы. Не было идей или набросков как реализовать?
179. AlexO 125 15.04.17 11:29 Сейчас в теме
(72) если вы хотите программно создавать обработчик ТЧ - в 1С это невозможно было никогда. Так что забудьте.
А отладчик ТЧ - для ОФ есть хороший у Poppy.
В УФ такой отладчик создать нельзя по тем же причинам, что и отладчик ВПФ - БСП и переход на хранение темпа образа обработки в хранилище, отказ от временных файлов на диске.
73. POLGA 16 17.06.13 12:29 Сейчас в теме
Спасибо! Работает! Очень пригодилась.
74. GerHard 4 25.06.13 18:59 Сейчас в теме
Ну вот и я эту штуку проверил. Комплексная 1.1.33.3 - работает.
Управляется почти интуитивно... В новой версии то помощь по кнопке Ф1 есть?
Спасибо автору за избавление от муторной работы.
76. makas 44 22.07.13 12:10 Сейчас в теме
Ошибка в БП 2.0.49

{ВнешняяОбработка.КонструкторВнешнихПечатныхФорм.МодульОбъекта(1314,9)}: Процедура или функция с указанным именем не определена (РазобратьСтрокуRegEx)
рез=<<?>>РазобратьСтрокуRegEx(НРег(ОбрабатываемаяПроцедураФункция.ТекстПроцедуры),"[\(\)\.\,\;\s=]"+имя+"[\(\)\.\,\;\s=]");
77. logdog 24.07.13 19:02 Сейчас в теме
Не думал, что будет так просто.
Благодарю!!!
78. veluga 02.08.13 11:56 Сейчас в теме
Идея хорошая, пока не совсем разобрался как работает, и что надо сделать, но автору респект!

Однако не создаются((
При попытке добавить как внешнюю (конфигурация УТ 11.1) ругается что не определена переменная ПараметрыПечати
Буду признателен, если подскажите где копать
79. Aleksey81 612 16.08.13 19:51 Сейчас в теме
Спасибо. Добротно сделал!
80. Strannik99 22.08.13 21:12 Сейчас в теме
Огромное Вам Виталий человеческое спасибо!!!
ручками сделанная ВПФ работала, но вот не задача никак не мог добиться что бы при просмотре была возможность редактирования даты документа,защиту с ячейки в шаблоне снимал, но бес толку. Так и осталось загадкой для меня.
Сделанная вашим конструктором ВПФ без проблем всё редактируется.
81. Yimaida 34 11.09.13 16:08 Сейчас в теме
Виталий, пользуюсь Вашей обработкой как только появилась. Она мне реально помогает в разработке ВПФ. Укажите пожалуйста Ваш yandex кошелек, я бы хотел отблагодарить материально.
Taktic; shira84; cleaner_it; +3 Ответить
118. NOVOHUDONOSO 15 27.03.14 17:40 Сейчас в теме
Классная идея.Хотелось бы чтобы довели ее до конца.
При попытке компиляции выдает ошибку:
{ВнешняяОбработка.КонструкторВнешнихПечатныхФорм.МодульОбъекта(81)}: Ошибка при вызове метода контекста (Run)
WshShell.Run(СтрокаЗапуска, 0, Истина);
по причине:
Произошла исключительная ситуация (0x80070005)

БП 3.0.30.16
82. BTRVODKA 10 15.09.13 04:47 Сейчас в теме
Спасибо автору за публикацию!
83. AnryMc 719 19.09.13 08:12 Сейчас в теме
Может стоит добавить в сгенерированную ВПФ "защиту от дурака"
Если ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
...


а то в форме, если не выбрана ссылка и нажать кнопки действий - "ругань" сыпется...
85. ArBus 25.10.13 19:07 Сейчас в теме
Мне очень понравилась данная обработка! Виталий, дальнейшее развитие данной темы предусмотрено? Доработкой вашего детища будете заниматься???
86. levante90 01.11.13 07:28 Сейчас в теме
{ВнешняяОбработка.КонструкторВнешнихПечатныхФорм.МодульОбъекта(1314,9)}: Процедура или функция с указанным именем не определена (РазобратьСтрокуRegEx)
				рез=<<?>>РазобратьСтрокуRegEx(НРег(ОбрабатываемаяПроцедураФункция.ТекстПроцедуры),"[\(\)\.\,\;\s=]"+имя+"[\(\)\.\,\;\s=]");


При открытии в УПП
88. WolfKgn 36 07.11.13 23:08 Сейчас в теме
(86) levante90, столкнулся с такой же проблемой. пока она решилась комментированием всех директив
&НаСервере

в модуле объекта
alex5550; Lusha_28; +2 Ответить
87. kovaleks78 3 01.11.13 07:31 Сейчас в теме
Обработка супер! Спасибо!
Оставьте свое сообщение