БЭСТ4 SP44
Задача такая: из реестра документов(материалы,товары,счет-фактуры), не входя в сам документ, по CTRL+F5 вызывать печать отмеченных документов по стандартному Windows-шаблону-одному из тех, которые вызываются по F12 в открытом документе. Т.е. сделать что-то типа пакетной печати.
Как это можно реализовать?
Когда-то давно этот уже рассматривался на форуме, но не нашла. Видимо, пришелся на период, который не восстановили.
Костя, я нашла в Справочнике пользователя вот такую тему.здесь И там ваш совет подцепить печать в реестр:
Цитата
nordk писал(а):
а может разумнее сделать в реестре накладных на CTRL-F5 и сделать сразу печать пакета документов: счет, накладная, счет-фактура?
А мне нужно просто одну конкретную форму. Может я неправильно выразилась, "пакетная" печать, мне нужна групповая печать. Т.е. в спецфункции сама печать документа, которая выполнится для всех отмеченных записей
Дело не столько сложное, сколько муторное.
Нужно в спецфункции подготовить источник данных, затем вызвать существующую типовую форму. И либо, продублировать поля источника, сделав их аналогичными полям в самом БЭСТе, либо создать свой источник и перепривязать поля в форме.
Но таким образом мы можем получить последоательность отчётов, но не отчёт на N страницах, включающий в себя все документы. На каждом отчёте нужно будет нажимать F9, чтобы он напечатался.
Желание получить все документы одним отчётом и нажав F9 один раз все их распечатать, приводит к значительному усложнению работы. Потребуется серьёзная переработка стандартной формы, поскольку она поддерживает только один документ.
Алексей Новиков пишет:
Нужно в спецфункции подготовить источник данных, затем вызвать существующую типовую форму. И либо, продублировать поля источника, сделав их аналогичными полям в самом БЭСТе, либо создать свой источник и перепривязать поля в форме.
Если я правильно понимаю, то предлагается вызывать форму через WinReport
Цитата
Алексей Новиков пишет:
Но таким образом мы можем получить последоательность отчётов, но не отчёт на N страницах, включающий в себя все документы. На каждом отчёте нужно будет нажимать F9, чтобы он напечатался.
Почему на каждом отчете надо будет нажимать F9 (точнее запускать плагин по Ctrl-F5)? Если их отметить, то плагин последовательно их обработает. Правда (если делать в лоб) сначала откроется окно ФастРепорта для одного документа, а после его закрытия следующего документа. Как раньше открывались 2НДФЛ из групповых справок. В связи с этим надо посмотреть, как они сейчас реализованы.
Дело в том. Что Светлана хочет иметь печать без открытия на экране документов. В противном случае разумеется придется заранее прогнозировать число страниц.
Например сделать 100 страниц и формировать источник так, что если надо всего страниц пять то все остальные visible:=.F.
Но тогда если отметите 101 документ - извиняйте.
В случае когда бы можно было печатать не отражая на экране внешний вид документа - то тогда пакетную печать можно было бы легко сделать.
Этот вариант неоднократно поднимался но реализован не был.
да, просили сделать именно так - не открывая документа. Пометили все, что нужно, НЕ 100, конечно, а с десяток - нажали кнопочку ОДИН РАЗ и распечатали все разом.
Но я так и не поняла, можно ли это реализовать и если да, то каким образом?
Цитата
nordk пишет:
Этот вариант неоднократно поднимался но реализован не был.
Потому что невозможно или "руки не дошли"?
Может если это нельзя сделать самим, то разработчики все-таки озаботятся этим вопросом?
ФастРепорт начиная с версии 3 умеет печатать без предварительного просмотра, строить композитные отчеты (пакетная печать (печать нескольких отчетов
одним заданием, или формирование и отображение нескольких отчетов в одном
окне просмотра)), делать интерактивные отчеты (можно определить реакцию на щелчок мышью на
том или ином объекте отчета в окне предварительного просмотра. Например,
пользователь может щелкнуть мышью на строке данных и тем самым
сформировать новый отчет с детальными данными по выбранной строке) и т.д.
Денис о возможностях фаст-репорта никто не спорит они в нем имеются давно. о том, что к БЭСТ-4 он прикручен со стороны и насколько это реализуемо при таком варианте эксплуатации.
В Б-5 фаст-репорт интегрирован и там думаю это реализуемо, а вот над БЭСТ-4 пока не могу сказать.
nordk пишет:
о возможностях фаст-репорта никто не спорит они в нем имеются давно.
Точнее эти возможности в ФастРепорте появлись в 2004 или 2005 году.
Цитата
nordk пишет:
Вопрос о том, что к БЭСТ-4 он прикручен со стороны и насколько это реализуемо при таком варианте эксплуатации. В Б-5 фаст-репорт интегрирован и там думаю это реализуемо, а вот над БЭСТ-4 пока не могу сказать.
Я думаю проблема еще в том, что после перехода на новый ФастРепорт надо будет многие отчеты переписывать. Поэтому я и предлагаю для начала сделать новую функцию WinReport4 (аналог WinReport, но на основе FastReport 4). К тому же в БЭСТ5 такой функции нет вообще, но ее давно общают...
Цитата
nordk пишет:
Этот вариант неоднократно поднимался но реализован не был.
Светлана Эпштейн пишет:
Но я так и не поняла, можно ли это реализовать и если да, то каким образом?
Светлана, то что Вы хотите, реализовать можно. Способы реализации я описывал.
Гуру сейчас спорят о том, можно ли реализовать "молчаливую" печать или нет, то есть возможность вывода отчёта на принтер без предварительного просмотра и нажатия клавиши "печать".
Алексей Новиков пишет:
ЦитатаДенис пишет:
К тому же в БЭСТ5 такой функции нет вообще, но ее давно общают...
Как же без неё трудно в БЭСТ-5. Просто муки адовы.
Алексей Новиков пишет:
Светлана, то что Вы хотите, реализовать можно. Способы реализации я описывал.Гуру сейчас спорят о том, можно ли реализовать "молчаливую" печать или нет, то есть возможность вывода отчёта на принтер без предварительного просмотра и нажатия клавиши "печать".
Да, я поняла, что это уже "высшие сферы". Но пусть хотя бы Ваш вариант.
Цитата
Алексей Новиков пишет:
Нужно в спецфункции подготовить источник данных, затем вызвать существующую типовую форму. И либо, продублировать поля источника, сделав их аналогичными полям в самом БЭСТе, либо создать свой источник и перепривязать поля в форме.
Но таким образом мы можем получить последоательность отчётов, но не отчёт на N страницах, включающий в себя все документы. На каждом отчёте нужно будет нажимать F9, чтобы он напечатался.
Не очень представляю, как в спецфункции подготовить источник, чтобы он соответствовал тому, который вызывается в форме. Допустим, посмотрела в форме - обычно 2 источника- SHAPKA,STROKI. И еще несколько SQL запросов. Я должна создать эти источники, называя поля так же, да? А вот как быть с данными из SQL?
Светлана Эпштейн пишет:
Я должна создать эти источники, называя поля так же, да? А вот как быть с SQL&
Да. Называя поля также, если Вы не хотите перенастраивать названия этих полей по всей форме. Хотя, конечно, форма использует далеко не все поля, что-то можно и опустить.
Насчёт sql не беспокойтесь. Они должны вызываться штатно без всякого вмешательства.
Это всё справедливо для случая, когда при запуске плагина на экран будут последовательно выведены N документов и каждый документ необходимо будет индивидуально отправить на печать, как если бы пользователь заходил в каждый документ и нажимал F12.
У нас в гостях Дмитрий Шлыков. Он сказал что средствами фаст-репорта это реализуется через group header. Консультирование по данному у перекладываю на него на форум по программированию отчетов.
Светлана Эпштейн пишет:
А мне нужно просто одну конкретную форму. Может я неправильно выразилась, "пакетная" печать, мне нужна групповая печать. Т.е. в спецфункции сама печать документа, которая выполнится для всех отмеченных записей
Подобные формы реализованны в Зарплате. Технология разработки отчета следующая:
1. Данные по всем документам сбрасываются во временные таблицы данных.
2. Запуск дизайнера производится после обработки последнего документа.
3. Отчет дорабатывается так:
3.1. Заголовок и подвал отчета переносятся с секций ReportTitle и ReportSummury на секции GrupHeader и GrupFooter.
3.2. В GrupHeader - устанавливается условие группировки по документам.
denlog пишет:
где именно в зарплате и в какой печатной форме можно посмотреть как это практически реализовано?
Пример, такой формы "Cправка о доходах НДФЛ-2 (форма 2006)". Алгоритм расчета: PRO\plugins\print\salary\2ndfl06_fr.frm, форма вывода документа: SALARY\TEMPLATE\2ndfl_06.frf в пакеке с базой данных.