Вопрос, думается, довольно простой. Но ввиду того, что я только "вскользь" слышал об этом, я ничего не знаю. Моя задача:
1. Новое меню в Б-5.
2. В нем необходимо реализовать распечатку документов шаблоны которых уже есть в Б-5 (*.FRF файлы). Как это происходит? (Собственно и "вызов" на печать с целью выбора шаблона)
Если честно не искал информацию на эту тему (я даже не знаю, что делать ключем поиска). Подскажите, как пользоваться этим механизмом или дайте ссылку или "ключ" к поиску...
Денис пишет:
Цитата
Саак Шахламджян пишет:
Новое меню в Б-5.
Как оно организовано? С помощью userbdll.txt или в этот момент уже работает ваш плагин (где скажем используется InitList)?
Денис userbdll.txt - это файл для создания строк меню,
по которым запускаются конкретные плагины.
Все остальные задачи мы реализуем внутри плагина.
С другой стороны конкретный отчет можно поробовать запустить без плагина по примеру как это делает БЭСТ.
Вот например в модуле Товары.Продукция.
Кнопка формирование отчетов стартует так:
Где же смотреть эти GUID папки и шаблона???
Нет ли примера?
Как мне, например вызвать на печать документ - счет с НДС? (Который, например, вызывается при открытом сводном заказе).
Хоть пару строк, пожалуйста.
Цитата
itman пишет:
Функция берет корни с 4+.
Применимо к Б5 здесь можно посмотреть
Пример воторить не получилось. Видно как идет формирование отчета, а затем тишина... Похоже в winreport ("Partner.frf",...) первый параметр не такой должен быть?
itman пишет:
а файл то есть, partner.frf
Идентификаторы можно смотреть через базу отчетов. Но это уже из области работы со скальпелем.
Это так необходимо?
Хех. Да в том-то и дело, что у меня такого файла нет. Я поэтому и удивился...
Вообще нет ни одного файла frf, кроме собственноручно созданных. В Б-5 они как-то по-другому храняться...
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
nordk пишет:
А если в отладчике посмотреть на значение ReportTemplate
что он возвращает ? С точностью до каждого символа
Там вот такая вот абракадабра:
"a½&ô~ב>", собственно то, что я видел в таблице... Аналогично относительно категории: "×7lÒ÷Ö‘>". В момент вызова печати именно эта гадость и находиться тут:
Добрый день!
По поводу отчетов: для постоения пользовательского отчета необходимо использовать функцию WinReport. Пример использования такой функции есть в поставке. На все ы я готов ответить.
Дмитрий Шлыков пишет:
Добрый день!
По поводу отчетов: для постоения пользовательского отчета необходимо использовать функцию WinReport. Пример использования такой функции есть в поставке. На все ы я готов ответить.
А если не секрет "в поставке" это где? Я просто никак не найду.
Так, ну уже лучше!!! Отчет запускается, получаю ошибку.
Я так понимаю по ошибке, что не получилось открыть источник (dataset1).
Меня всегда интересовал данный и, наверное, самое время его задать:
Таблицы (*.dbf) должны ли быть открыты, чтобы источники, указанные в отчете работали???
И еще. Я так понимаю должны быть все-таки либо какие-то переменные или еще какой-то способ для задания нач условий!!!
Картотеку заказов распечатать не смог. Счет с НДС тем более!!!
Вот теперь Вы вступили на тот самый шаткий мостик, на котором никто Вам не сможет помочь.
Официальный ответ (я получил сегодня) - делать свой отчет и свои источники, как этомуучит Дмитрий Шлыков на соседнем форуме.
Неофициальный (от меня) - а попробуйте открыть алиасы и связки сделать,встать курсором на запись, короче воспроизвести состояние аналогичное как если бы вы руками вышли на этот счет.
Что-то мне подсказывает что у Вас может все получиться, но
в этом направлении Вам придется двигаться в одиночку.
Да и кстати активный алиас тоже сделайте именно такой как в оригинале.
nordk пишет:
Вот теперь Вы вступили на тот самый шаткий мостик, на котором никто Вам не сможет помочь.
Официальный ответ (я получил сегодня) - делать свой отчет и свои источники, как этомуучит Дмитрий Шлыков на соседнем форуме.
Неофициальный (от меня) - а попробуйте открыть алиасы и связки сделать,встать курсором на запись, короче воспроизвести состояние аналогичное как если бы вы руками вышли на этот счет.
Что-то мне подсказывает что у Вас может все получиться, но
в этом направлении Вам придется двигаться в одиночку.
Да и кстати активный алиас тоже сделайте именно такой как в оригинале.
А Вы сами как делаете? "Что-то подсказыает" Вам не просто так, насколько я понимаю...?
WinReport, как я видел в одном из устар примеров, тоже должен работать, но ощущение такое что надо подготавливать "строки" и "шапку". А вот Ваш способ, если заработает, долен много быстрее работать? Или тут тоже "строки" (источник stroki) нужны! В общем, буду пробовать.
Дмитрий Шлыков обмолвился здесь по поводу winreporta, однако, примера, о котором он сказал я не нашёл:(
Цитата Дмитрий Шлыков пишет:
Добрый день!По поводу отчетов: для постоения пользовательского отчета необходимо использовать функцию WinReport. Пример использования такой функции есть в поставке. На все ы я готов ответить.
А если не секрет "в поставке" это где? Я просто никак не найду.
Саак Шахламджян пишет:
WinReport, как я видел в одном из устар примеров, тоже должен работать, но ощущение такое что надо подготавливать "строки" и "шапку".
Да, надо готовить шапку и строки.
Цитата
Саак Шахламджян пишет:
А вот Ваш способ, если заработает, долен много быстрее работать?
Смотря в каком смысле.
Цитата
Саак Шахламджян пишет:
Как мне, например вызвать на печать документ - счет с НДС? (Который, например, вызывается при открытом сводном заказе)
Я правильно понял, что вы хотите вызывать печатные формы БЭСТ-а для стандартных документов БЭСТ-а? Тогда стоит попробвать пойти по пути предложенному Константином. А если вам надо напечатать реестр, который вы сами создали, то я бы использовал WinReport.
Я правильно понял, что вы хотите вызывать печатные формы БЭСТ-а для стандартных документов БЭСТ-а? Тогда стоит попробвать пойти по пути предложенному Константином. А если вам надо напечатать реестр, который
вы сами создали, то я бы использовал WinReport.
А если в очередном сервис-паке произойдут изменения по системной форме? или источникам данных?
По-моему, это очень рискованное решение использовать системные формы в своих модулях.
Как вариант можно просто сохранить системную форму в файл и переделать ее под запуск из winreport. Тоже придется повозиться, но надежнее, на мой взгляд. если речь конечно не идет об отчетности.
itman пишет:
По-моему, это очень рискованное решение использовать системные формы в своих модулях.
Все так.
За исключением случая, когда по каким-то причинам интерфейс стандартный скажем заказов не подошел и хочется в той части, что
он не подошел сделать свой, а остальной функционал по максимуму штатный использовать и наоборот чтобы изменения штатного изменялись и в своем... Т.е. если я правильно услышал, Сааку не нужны свои печатные формы счетов, ему нужны стандартные, он из своего интерфейса заполняет штатные таблицы и хочет штатные печатные формы подключить...абсолютно оправданное желание на мой взгляд....
Другое дело что при проектировании БЭСТа такую возможность не закладывали.
Представляете, всё получилось!!!!! Здорово!!!
Отчет "Счет" получился. Правда, еще не совсем понял, почему так много строк, но думаю, надо область видимости таблицы rbookm ограничить, оттуда они и беруться.
Ошибка, оказывается была просто из-за того, что путь к файлу логотипа изменился:)))
А на самом деле все гораздо гораздо проще!!!
У меня открыты только 2 таблицы. Rbook и Rbookm (ну, и Category и reptempl)!!!
Вот так вот...