BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование приложений  / Использование отчетов в своём InitList.

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1 2 След.
RSS
Использование отчетов в своём InitList., Как пользоваться .frf шаблонами при распечатке?
 
Вопрос, думается, довольно простой. Но ввиду того, что я только "вскользь" слышал об этом, я ничего не знаю. Моя задача:

1. Новое меню в Б-5.

2. В нем необходимо реализовать распечатку документов шаблоны которых уже есть в Б-5 (*.FRF файлы). Как это происходит? (Собственно и "вызов" на печать с целью выбора шаблона)

Если честно не искал информацию на эту тему (я даже не знаю, что делать ключем поиска). Подскажите, как пользоваться этим механизмом или дайте ссылку или "ключ" к поиску...
Изменено: Саак Шахламджян - 02.02.2009 12:10:29
 
Функция WinReport() - если идет речь о своих отчетах, которые сохраняются файлами.
С уважением,
Ильин Евгений
 
Цитата
Саак Шахламджян пишет:
Новое меню в Б-5.


Как оно организовано? С помощью userbdll.txt или в этот момент уже работает ваш плагин (где скажем используется InitList)?
 
Цитата
itman пишет:
Функция WinReport() - если идет речь о своих отчетах, которые сохраняются файлами.

По WinReport, наверняка полно информации?

Цитата
Денис пишет:
Как оно организовано? С помощью userbdll.txt или в этот момент уже работает ваш плагин (где скажем используется InitList)?

Чз userbdll.txt.
 
Печать с использованием ранее выбранной категории(папки)
Print_FastReportAny(cCategory,lPrint,lList)

Печать с использованием ранее выбранного шаблона
Print_FastReport(Category,ReportTemplate,Preview)

Category - GUID папки "{.....}"
ReportTemplate - GUID шаблона "{.....}"
Preview - предварительный показ перед печатью .T. .F.
lPrint - печать иначе дизайнер .T. .F.
lList - печать с выбором шаблона .T. .F.
 
Функция берет корни с 4+.
Применимо к Б5 здесь можно посмотреть
С уважением,
Ильин Евгений
 
Цитата
Денис пишет:
Цитата
Саак Шахламджян пишет:
Новое меню в Б-5.


Как оно организовано? С помощью userbdll.txt или в этот момент уже работает ваш плагин (где скажем используется InitList)?


Денис
userbdll.txt - это файл для создания строк меню,
по которым запускаются конкретные плагины.
Все остальные задачи мы реализуем внутри плагина.
С другой стороны конкретный отчет можно поробовать запустить без плагина по примеру как это делает БЭСТ.

Вот например в модуле Товары.Продукция.
Кнопка формирование отчетов стартует так:
Код
StdRun ( "pll", "PrintFastReport","{51708337-C3EA-11D6-913D-00047690C466}") 

Понятно что мы можем попробовать сделать строку меню напрямую
по образцу и подобию
 
Цитата
nordk пишет:
Печать с использованием ранее выбранной категории(папки)
Print_FastReportAny(cCategory,lPrint,lList)

Печать с использованием ранее выбранного шаблона
Print_FastReport(Category,ReportTemplate,Preview)

Category - GUID папки "{.....}"
ReportTemplate - GUID шаблона "{.....}"
Preview - предварительный показ перед печатью .T. .F.
lPrint - печать иначе дизайнер .T. .F.
lList - печать с выбором шаблона .T. .F.


Где же смотреть эти GUID папки и шаблона???
Нет ли примера?

Как мне, например вызвать на печать документ - счет с НДС? (Который, например, вызывается при открытом сводном заказе).
Хоть пару строк, пожалуйста.


Цитата
itman пишет:
Функция берет корни с 4+.
Применимо к Б5 здесь можно посмотреть


Пример воторить не получилось. Видно как идет формирование отчета, а затем тишина... Похоже в winreport ("Partner.frf",...) первый параметр не такой должен быть?
Изменено: Саак Шахламджян - 05.02.2009 15:42:37
 
а файл то есть, partner.frf
Идентификаторы можно смотреть через базу отчетов. Но это уже из области работы со скальпелем.
Это так необходимо?
Изменено: itman - 05.02.2009 16:02:48
С уважением,
Ильин Евгений
 
Цитата
itman пишет:
а файл то есть, partner.frf
Идентификаторы можно смотреть через базу отчетов. Но это уже из области работы со скальпелем.
Это так необходимо?

Хех. Да в том-то и дело, что у меня такого файла нет. Я поэтому и удивился...
Вообще нет ни одного файла frf, кроме собственноручно созданных. В Б-5 они как-то по-другому храняться...
Изменено: Саак Шахламджян - 05.02.2009 16:29:28
 
Цитата
Саак Шахламджян пишет:
Где же смотреть эти GUID папки и шаблона???


Best5\Server\Data\Pro\reptempl.dbf
 
Цитата
nordk пишет:
Цитата Саак Шахламджян пишет:
Где же смотреть эти GUID папки и шаблона???

Best5\Server\Data\Pro\reptempl.dbf


а GUID папки я так понимаю находиться в файле category.dbf?

Если да, то все нашёл, задал, и вызвал такое:
Print_FastReport(Category,ReportTemplate,.T.)
Получаю сообщение : " Указан несуществующий шаблон отчета!"


Где ReportTemplate:
Код
USE ("C:\Program Files\BEST\BEST5_34\Server\DATA\Pro\Category.dbf") NEW SHARED ALIAS "Category"
USE ("C:\Program Files\BEST\BEST5_34\Server\DATA\Pro\reptempl.dbf") NEW SHARED ALIAS "reptempl"
Altd()
OrdSetFocus("ID")
SEEK(244)
If (Found())
    ReportTemplate:=reptempl->GUID
endif
Select("Category")
OrdSetFocus("ID")
SEEK(58)
If (Found())
    Category:=Category->GUID
endif
Изменено: Саак Шахламджян - 06.02.2009 10:14:53
 
А если в отладчике посмотреть на значение ReportTemplate
что он возвращает ? С точностью до каждого символа
 
Цитата
nordk пишет:
А если в отладчике посмотреть на значение ReportTemplate
что он возвращает ? С точностью до каждого символа

Там вот такая вот абракадабра:
"a½&ô~ב>", собственно то, что я видел в таблице... Аналогично относительно категории: "×7lÒ÷Ö‘>". В момент вызова печати именно эта гадость и находиться тут:

Print_FastReport("×7lÒ÷Ö‘>","a½&ô~ב>",.T.)
 
они там в двоичном виде
Есть рекомендация посмотреть гуид
через fox с помощью функции guidtoidx()
 
Цитата
nordk пишет:
они там в двоичном виде
Есть рекомендация посмотреть гуид
через fox с помощью функции guidtoidx()

Может просто перевести их в нормальный вид?
Каждый байт "развернуть" в двоичный код просто?
Как оно хоть выглядеть должно?
 
Добрый день!
По поводу отчетов: для постоения пользовательского отчета необходимо использовать функцию WinReport. Пример использования такой функции есть в поставке. На все Вопросы я готов ответить.
 
Цитата
Дмитрий Шлыков пишет:
Добрый день!
По поводу отчетов: для постоения пользовательского отчета необходимо использовать функцию WinReport. Пример использования такой функции есть в поставке. На все Вопросы я готов ответить.

А если не секрет "в поставке" это где? Я просто никак не найду.
 
Цитата
nordk пишет:
они там в двоичном виде
Есть рекомендация посмотреть гуид
через fox с помощью функции guidtoidx()

guidtoidx() работает в Б-5...
Зачем было fox'ом пугать?:)
Надо было просто записать так:
Код
ReportTemplate:=guidtoidx(reptempl->GUID)
    Category:=guidtoidx(Category->GUID)


Так, ну уже лучше!!! Отчет запускается, получаю ошибку.
Я так понимаю по ошибке, что не получилось открыть источник (dataset1).

Меня всегда интересовал данный Вопрос и, наверное, самое время его задать:
Таблицы (*.dbf) должны ли быть открыты, чтобы источники, указанные в отчете работали???

И еще. Я так понимаю должны быть все-таки либо какие-то переменные или еще какой-то способ для задания нач условий!!!
Картотеку заказов распечатать не смог. Счет с НДС тем более!!!
Изменено: Саак Шахламджян - 06.02.2009 17:16:28
 
Вот теперь Вы вступили на тот самый шаткий мостик, на котором никто Вам не сможет помочь.
Официальный ответ (я получил сегодня) - делать свой отчет и свои источники, как этомуучит Дмитрий Шлыков на соседнем форуме.
Неофициальный (от меня) - а попробуйте открыть алиасы и связки сделать,встать курсором на запись, короче воспроизвести состояние аналогичное как если бы вы руками вышли на этот счет.
Что-то мне подсказывает что у Вас может все получиться, но
в этом направлении Вам придется двигаться в одиночку.
Да и кстати активный алиас тоже сделайте именно такой как в оригинале.
 
Цитата
nordk пишет:
Вот теперь Вы вступили на тот самый шаткий мостик, на котором никто Вам не сможет помочь.

Официальный ответ (я получил сегодня) - делать свой отчет и свои источники, как этомуучит Дмитрий Шлыков на соседнем форуме.

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

Что-то мне подсказывает что у Вас может все получиться, но

в этом направлении Вам придется двигаться в одиночку.

Да и кстати активный алиас тоже сделайте именно такой как в оригинале.

А Вы сами как делаете? "Что-то подсказыает" Вам не просто так, насколько я понимаю...?

WinReport, как я видел в одном из устар примеров, тоже должен работать, но ощущение такое что надо подготавливать "строки" и "шапку". А вот Ваш способ, если заработает, долен много быстрее работать? Или тут тоже "строки" (источник stroki) нужны! В общем, буду пробовать.
Дмитрий Шлыков обмолвился здесь по поводу winreporta, однако, примера, о котором он сказал я не нашёл:(
Изменено: Саак Шахламджян - 07.02.2009 05:13:16
 
Цитата
Саак Шахламджян пишет:
Цитата
Цитата Дмитрий Шлыков пишет:
Добрый день!По поводу отчетов: для постоения пользовательского отчета необходимо использовать функцию WinReport. Пример использования такой функции есть в поставке. На все Вопросы я готов ответить.


А если не секрет "в поставке" это где? Я просто никак не найду.


C:\Program Files\BEST\BEST5_34\Server\DATA\Pro\PLUGINS\EXTENSNS\MAIN\Partner.*

Цитата
Саак Шахламджян пишет:
WinReport, как я видел в одном из устар примеров, тоже должен работать, но ощущение такое что надо подготавливать "строки" и "шапку".


Да, надо готовить шапку и строки.

Цитата
Саак Шахламджян пишет:
А вот Ваш способ, если заработает, долен много быстрее работать?


Смотря в каком смысле.

Цитата
Саак Шахламджян пишет:
Как мне, например вызвать на печать документ - счет с НДС? (Который, например, вызывается при открытом сводном заказе)


Я правильно понял, что вы хотите вызывать печатные формы БЭСТ-а для стандартных документов БЭСТ-а? Тогда стоит попробвать пойти по пути предложенному Константином. А если вам надо напечатать реестр, который вы сами создали, то я бы использовал WinReport.
 
Цитата

Я правильно понял, что вы хотите вызывать печатные формы БЭСТ-а для стандартных документов БЭСТ-а? Тогда стоит попробвать пойти по пути предложенному Константином. А если вам надо напечатать реестр, который
вы сами создали, то я бы использовал WinReport.


А если в очередном сервис-паке произойдут изменения по системной форме? или источникам данных?
По-моему, это очень рискованное решение использовать системные формы в своих модулях.
Как вариант можно просто сохранить системную форму в файл и переделать ее под запуск из winreport. Тоже придется повозиться, но надежнее, на мой взгляд. если речь конечно не идет об отчетности.
С уважением,
Ильин Евгений
 
Цитата
itman пишет:
По-моему, это очень рискованное решение использовать системные формы в своих модулях.

Все так.
За исключением случая, когда по каким-то причинам интерфейс стандартный скажем заказов не подошел и хочется в той части, что
он не подошел сделать свой, а остальной функционал по максимуму штатный использовать и наоборот чтобы изменения штатного изменялись и в своем... Т.е. если я правильно услышал, Сааку не нужны свои печатные формы счетов, ему нужны стандартные, он из своего интерфейса заполняет штатные таблицы и хочет штатные печатные формы подключить...абсолютно оправданное желание на мой взгляд....
Другое дело что при проектировании БЭСТа такую возможность не закладывали.
Изменено: nordk - 09.02.2009 12:53:23
 
Представляете, всё получилось!!!!! Здорово!!!
Отчет "Счет" получился. Правда, еще не совсем понял, почему так много строк, но думаю, надо область видимости таблицы rbookm ограничить, оттуда они и беруться.

Ошибка, оказывается была просто из-за того, что путь к файлу логотипа изменился:)))

А на самом деле все гораздо гораздо проще!!!
У меня открыты только 2 таблицы. Rbook и Rbookm (ну, и Category и reptempl)!!!
Вот так вот...
Изменено: Саак Шахламджян - 13.02.2009 10:34:20
Страницы: 1 2 След.
Читают тему (гостей: 1)