Универсальный механизм для создания любой печатной формы в «1С Предприятие 8».
Автор этой разработки — Григорьева Елена, ведущий специалист ООО «О-Планет», профессионал высшей категории.
- — В конфигурации 2 новых справочника.
- — Подключаемый модуль должен крепиться к типовой внешней печатной форме.
- — Сделано под бухгалтерию. Эта выгрузка под 15 платформу
1. Обработка «Подключаемый модуль».
Дополнительная обработка вида «Внешняя печатная форма». Подключается типовыми методами в меню «Сервис» — «Дополнительные отчеты и обработки» — «Дополнительные внешние печатные формы». Форма подключения элемента на рисунке
Добавляется к любому документу конфигурации.
2. Справочник «Шаблоны секций».
Справочник используется для создания секций макета.
На рисунке 2 показан пример простейшей секции под наименованием «Начало». В элементе формы указаны настройки для секции.
Наименование – условное наименование секции.
Строка нач, строка кон – диапазон строк макета, которые будут выводиться в печатной форме (заполняются автоматом при создании секции)
Колонка нач, колонка кон — диапазон колонок макета, которые будут выводиться в печатной форме (заполняются автоматом при создании секции)
Имя ТЧ – наименование табличной части документа, откуда будут браться данные.
Алгоритмы – программное описание нетиповых данных, которые будут выводиться в печатной форме.
На следующем рисунке показан непосредственно шаблон секции «Начало»
В шаблоне задаются текст (ДОГОВОР в рисунке 3) и параметры, подставляемые из документа (Номер в рисунке 3). Параметры задаются в квадратных скобках. Имя параметра должно совпадать с наименованием реквизита документа или табличной части документа. В этом случае параметр будет заменен на значение реквизита.
Далее на рисунке показан пример секции «Начало договора». В нем присутствует 4 параметра: организация, контрагент, директор и директорЗаказчика. Параметры «Организация» и «Контрагент» можно будет взять из документа. Для подстановки параметров «Директор» и «ДиректорЗаказчика» нужно будет прописать алгоритм заполнения параметра в поле настройки секции шаблона «Алгоритмы».
Пример заполнения поля «Алгоритмы» представлен на пятом рисунке. Здесь показан пример заполнения параметра «ДиректорЗаказчика». Делается запрос к справочнику по условию, причем при установке параметра по указанному условию делается ссылка к реквизиту документа. Ссылка к реквизиту выделена значками доллара ($Контрагент$). Сам параметр секции «ДиректорЗаказчика» также как и в самой секции указан в квадратных скобках.
3. Справочник «Шаблоны печатных форм».
Справочник «Шаблоны печатных форм» собирает вместе секции заданные в справочнике «Шаблоны секций». На рисунке 6 показан пример договора поставки, который состоит из 4-х секций. На закладке «Секции» в табличной части 2 колонки «Раздел» и «Секция». Раздел нужен для выделения частей договора, к примеру, основная часть договора, приложение 1, приложение 2 и т.д. Секция – это те кусочки, из которых раздел состоит.
На следующем рисунке показана закладка «Документы». На ней пользователь указывает (путем установки флажка в колонке «Использовать»), для каких документов должна выводиться эта печатная форма. Чтобы при вызове ее из документа открывался только список печатных форм, предназначенных для данного вида документов.
Вызов созданной печатной формы происходит через кнопку «Печать» документа. Пример показан на рисунке.
Далее выбирается шаблон печатной формы из справочника. Пример показан на рисунке 9. Напомню, что отбор ведется по текущему типу документов. Далее будет сформирована печатная форма. Ее можно будет подправить, если какие то данные не выведены полностью. И отправить на печать.
Желаем приятной работы!
Симпатичная девушка:)
Все гениальное просто. Простота поражает… других слов нет. Обидно что сам не додумался до такого
(0) очень вовремя так сказать ( казалось бы тривиальная задача печать этикеток оказалась гораздо интереснее и понадобился именно механизм пользовательского редактирования). Но интересно не только описания но и область применения и причины именно такого решения при наличии типового функционала? спасибо.
(0) так пусть автор под своим аккаунтом и публикует ;), ты то O-Planet тут при чем?
(4) Как при чем? Мое ТЗ. И автор — тоже O-Planet 😉
(3) Типовой функционал, конечно, хорошо. Но он в составе кажется Розницы? А если нет на нее лицензии?
(5)
Ты меня не путай 😉 Ты сам это указал
так что ни разу не ты автор
(7) Сейчас O-Planet — это ООО. А йа — диреХтур )))
(8)
так и диреХтурствуй, а авторство оставь прекрасной половине ;), не примазывайся.
Спасибо, дельная вещь
(9) Злой ты (( плакаю…
а зачем лицо девушки к другой картинке прилепили?
(12) Нет, фон не меняли. Но когда работаешь с такими программистами, остальной мир становится черно-белым. 🙂
Да звучит хорошо и гордо и функционал что нада. Появятся деньги обязательно скачаю и протестирую все ли так гладко как пишет разработчик. Автору спасибо за проделаную работу, так держать.
Так уж в любую? Ну да, нетиповые конфигурации это миф, их не существует
Ещё не пробовал, но вещь очень нужная. Автору респект!
Честно… Проще писать по-старинке.
Автору спасибо за работу, останется только пользователей учить настраивать макеты )))
Еще не тестировал, но все равно спасибо, кстати согласен с высказыванием коллег, выкладывать должен автор. Я понимаю, что по договору с франчем весь код наемного программиста, это собственность франча, но все равно как то не по фен шую получается.
Идея отличная, не совсем правда понял как подключить вывод табличной части документа. Можно тут поподробнее?
(19) Прям сердечно оскорбился 🙁 Мы — не франч, не партнеры 1С и даже не дилеры их ПО. Мы не продажники, мы — разработчики. А поскольку наши решения — это чаще всего коллективное творчество, то и выкладываем под общим ником, чтобы и найти было проще.
+ за идею
Интересно а с табличной частью данное творение умеет работать
плюсик за идею )
Чем функционал внешних печатных форм не устроил? Все равно, обычный пользователь не будет сам лепить формы, а вызовет «человечка». А последний будет лепить в том, в чем может.
Недавно был вынужден изобретать универсальную ВПФ, чтобы все печатные формы ЗБУ печатались в Times New Roman. Ну вот такой каприз у заказчика). Не выносить же всё во внешние — нудная работа!
Но Согласен с Eugeneer. Сам подход с изменением конфигурации ведет в никуда. Попробуйте хранить необходимые обработке данные другим способом.
(26) Ну все! Следующим выложу бесплатный загрузчик из экселя на управляемых формах с кучей разных настроек 😉
Ты, по ходу, не въехал вообще, что эта разработка делает.
Объясняю.
Разработчик делает 2кирпичики»: кучу разных шаблонов: «шапка договора», «подписи договора», «Подпись и печать», «Табличная часть накладной». А пользователь собирает их в нужной ему последовательности, лишь добавляя свой текст. Суть разработки — не приглашать программиста всякий раз, когда нужна новая печатная форма.
(29) Сей продукт с успехом использует печатное агенство «ПолиМедиаПресс» и еще парочка наших клиентов.
Давай не будем, у кого лучше реализовано! На мой взгляд, наше решение намного более интересное, чем многие. Лена сумела выдержать баланс между функциональностью и простотой использования. Нравится много красЯвых кнопочек — да пожалуйста!
А по поводу уровня пользователей… Один наш клиент — сеть супермаркетов «Первомайский» имеет для учета конфу, в которой ВСЕ документы, модули проведения, отчеты настраиваются на уровне пользователя, без необходимости лезть в конфигуратор. И что? Ведь настраивают!
Посмотрел, кстати, учет договоров респект-софта. Знал же, что у тебя дурной вкус, нет, надо мне было время тратить! Обычная разработка, сделанная под кого-то, а потом переведенная в тихую на тираж. Уверен, что 80-и процентам клиентов того функционала, что там, будет слишком мало, чтобы иметь оперативное управление, на которое они замахиваются.
А не проще было сделать через шаблоны ворда? Намного удобнее для клиентов, раз уж у них так много разных вариантов печатных форм?
Спасибо большое. Очень полезная разработка.
Идея разработки ничего, также очень ничего сама идея привлекать внимание к своим обработкам с помощью фотографий симпатишных девушек, если не ошибаюсь, уже не в первый раз, беру на заметку 🙂
(15) q1q1q1,
значит для самописной конфигурации не пойдет???
(13)
> (12) Нет, фон не меняли. Но когда работаешь с такими программистами, остальной мир становится черно-белым. 🙂
Конечно, поменяли. Невооруженным глазом видно границу вставленного фрагмента.
Моя младшая дочь (13 лет) и то лучше фотошопом пользуется, чем специалисты ООО «О-Планет».
Соглашусь, что как основной механизм Печатных форм данная идея неоптимальна. Однако, как тестовая и временная подсистема — вполне имеет право на жизнь!
Честно говоря, ПМСМ, велосипед с квадратными колёсами. Если пользователь в состоянии писать запросы для выдёргивания нужных данных, то набросать макет и вывести данные для него не должно быть проблемой — рутинная в общем-то работа в большинстве случаев. Хотя сделано, наверное, качественно (внутрь не смотрел), но сама идея мне как-то не очень… В общем, сам плюсовать не буду, но судя по количеству уже набранных разработкой плюсов, интерес к ней есть, а значит она имеет все основания быть, как говорится 🙂
PS: А девушка, да, симпатичная, это плюс ;)))
Грозятся и рекламируются на массового юзера.
Но по факту Разработчик делает 2кирпичики. Был кирпич товары. Организация расширилась и нужен новый кирпич услуги. Как быть? Приходят «программисты» и забирают денег за новый кирпич или за новую печатную («А на кой мне этот механизм, я щас тут напишу…»).
А так наверное пригодится кому-нибудь для шаблона под нечастые внедрения…
PS Ждем загрузку из экселя. Чур под управляемые!!!
Вещь! Пригодиться! И становиться немного страшно! Теперь отпадает надобность в программистах для создания печатных форм, что же будет дальше…
(45) jhfrek, Ага отпадет… чаще всего возникает потребность не буковку поменять в форме печатной, а добавить возможность изменения подписантов или в коде что-нибудь интересное дописать. Так что не считаю сей продукт полноценным заменением программиста, тем более только для типовых конфиг
(40) Altair777, Там скорее всего просто границу выделения заднего плана не размыли, перед применением ч/б фильтра 🙂
(47) see1c.ru, вот я и говорю — не умеет они … 🙂
Отчет хороший, еще бы правда у пользователей руки оттуда росли или на крайней случай голова работала. Им ещё к обработке и инструкцию подавай, на какие кнопки нажимать….
како1 пользователь будет рисовать форму? думаю, что разработка полезна для разработчиков, но не для пользователей.
и еще — таким образом можно добавить только одну печатную форму для каждого документа. на продуманое решение не тянет….
Пльзователь, имхо, не будет ковыряться с настриванием форм.
хорошая идея;) надо будет протестировать
(13)Йоптыть. Подправил бы картинку и перезалил бы давно, не позорься
Если б еще она работала с шаблонами ворда и экселя…
(7)
таких не бывает 🙂
ПО разработке.
Используется типовой механизм внешних обработок + через свою обработку в некие «шаблоны» заливается инфо и выводится как ПФ.
А если «шаблон» не подойдет? а если полей больше? Или меньше?
Идея, к сожалению, не новая — в 8.1 тоже пытались нечто подобное сделать (а там, как помните, с внешками намного проще даже было, чем в 8.2 УФ).
Труда, конечно, много.
Если девушка Света сама объявится в свойе разработке(и фотка будет пореальней, а то ракурсы они такие.. коварные 🙂 ) — плюс поставлю :).
Вообще, у вас там Маша есть, Света — так пусть тоже здесь тусуются, а не «дирехтор» плюсы набирает 🙂
Все-таки девушек в программировании кот наплакал, а, порой, их взгляд на проблемы очень даже нужен.
Тогда и оценим и «профессионализм высшей категории», и все остальное 🙂
В общем, ждем.
(2) zero_nv,
ну поразились. И что? 🙂
вам-то зачем это нужно? поразиться? 🙂
лучше б и написали, как и для чего использвоали.
Программа работоспособная. Автору респект!
Спасибо, но есть нюансы, при добавлении алгоритма с параметрами виснет в бесконечном цикле:
Процедура ВычислитьПараметрыПоАлгоритмам(ТаблицаПараметров, Ссылка, Элемент)
СписокВнутреннихПараметров = Новый ТаблицаЗначений;
СписокВнутреннихПараметров.Колонки.Добавить(«Параметр»);
СписокВнутреннихПараметров.Колонки.Добавить(«Значение»);
Для каждого Эл Из Элемент.Секции Цикл
Алгоритм = Эл.Секция.Алгоритмы;
—-> Пока Не Найти(Алгоритм, «[«) = 0 Цикл
в строке всегда будет значение найденное <> 0, если есть знак параметра [
Большинство пользователей не будет в этом разбираться, т.к. нет ни знаний, ни желания. Или нужны какие-то более другие пользователи, чем те, что есть.
Программисту разбираться в чужом не типовом коде тоже смысла мало, проще свою печатную форму нарисовать.
Как у этой разработки дела с документацией? А документация «на отцепись», догадайтесь сами.
Ну не тянет публикация на универсальность.
Например:
Как в ней сделать Торг-12 с резиновым подвалом и контролем переноса последней строки?
Или как вывести ШК?
Выложил своюподсистему «Настраиваемые печатные формы»
Там можно делать практически любые формы.
Мне кажется она все таки ближе к универсальности.
Кода там меньше нужно писать.
Для простых печатных форм вообще не нужно.
хорошая идея, спасибо
Неплохой вариант
(62) Gmix, + 100
респект афтару:()
Плюсик за идею.
полезная штука
Идея то хорошая, но делаю все по старинке.
Идея неплоха, но согласен с отписавшимися выше про Word и Excel
Стандартных механизмов — с головой! И их главная суть цеплять формы и не изменять программу! И быстро прикреплять формы без выгона или перезапуска 1С.
Плюс ничто не заменит гибкость программного кода, настройками сделать все не получится!!
Когда надо будет получить и запросы и сделать выборку и формулки какие то проставить и условия и тд и тп.
Да. К стати пришлась сия разработка. Теперь будет проще лабать отчеты для моих бухов. Авторам респект.
По старинке надежнее, все хотелки не учтешь
Подскажите чайнику….
Пытаюсь подключить к 1С:Предприятие 8.2 (8.2.16.368)- Управление торговлей, редакция 11.0 (11.0.9.12)
Ругается…
{Справочник.ДополнительныеОтчетыИОбработки.Форма.ФормаЭлемента.Форма(375)}: Ошибка при вызове метода контекста (Создать)
ВнешняяОбработка = Менеджер.Создать(Результат.ИмяОбъекта);
по причине:
{ВнешняяОбработка.ПодключаемыйМодуль.МодульОбъекта(70,2)}: Переменная не определена (УниверсальныеМеханизмы)
<<?>>УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент,1,Ложь,ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект, «»),Ложь);
(77) скорее всего, в описании допущена ошибка, и механизм сделан не для любых конфигураций, как заявлено, а для конфигураций со «старым» механизмом подключения ВПФ (БП 2, ЗУП 2.5, УТ 10.3 и т.п.). в новых конфах в режиме управляемого приложения и использованием БСП используется новый механизм подключения ВПФ.
возможно, ошибаюсь, код не смотрел, пусть автор поправит, если это не так
+(78) в БСП вообще нет модуля УниверсальныеМеханизмы
У меня тоже к сожалению ошибка {ВнешняяОбработка.ПодключаемыйМодуль.МодульОбъекта(70,2)}: Переменная не определена (УниверсальныеМеханизмы)
Подскажите пожалуйста как исправить?
Спасибо!
(57) AlexO, не Света, а Лена 😉
(2) zero_nv, а справочники самому создавать что-ли, фаил скачал + к конфигурации какой-то фаил, помогите до конца разобраться, после 1-го пункта не знаю что дальше делать?