|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Здравствуйте, помогите мыслями. Нужно печатать бланк Квитанции банковской в пакетном режиме. Бланк отчета сделал Один-ко-многим. Одну квитанцию печатает нормально, но дело в том, что под ней надо печатать точно же такую-же, только слева писать "Извещение". То есть: Есть родительская таблица со списком, по которым печатать. Есть дочерние таблицы с данными о задолженности. Все это лежит в Data Enviroment. Есть отчет состоящий из Page Header, Group Header, Detail, Group Footer. По списку бланк распечатывается нормально, как мне надо, но загвоздка в том, что каждый бланк мне надо печатать в 2-х экземплярах друг под другом. Как это сделать я не пойму - уже все перепробовал. Если у кого есть мысли или пример - буду очень благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2008, 20:37 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Вот пример - заготовка, которую я пытался реализовать ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2008, 20:58 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Detail сделай в два раза выше и скопипасти то что уже есть и допиши "Извещение". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2008, 20:59 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
не подходит, так как квитанция разделена группировкой на 2 части для 2-х поставщиков, в примере "11" и "22", и для каждого поставщика свой набор услуг с долгами. Мне надо повторить все то что в примере, с шапками и подписями. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2008, 21:27 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Если среда разработки не предусматривает двух и более полос детализации (Detail), то есть, по крайней мере, 2 способа преодоления этой напасти: 1. Частный. Делаешь UNION двух (или более) таблиц с добавлением поля-признака: номер таблицы. Если таблицы идентичны по типу или похожи, то этим способом можно воспользоваться. Если даже типы полей сильно отличаются, всегда можно свести их к одному – фиктивному – символьному полю. При этом все объекты отчёта (палки, лэйблы и пр.) активно используют опции «Print when» и «Remove line if blank» с оглядкой на поле-признак. (Твой случай.) 2. Общий. Одинаково легко «сращивает» сколь угодно сильно отличающиеся по структуре таблицы. Опять создаётся одна общая таблица вида: Признак Table1.Field1, Table1.Field2 … Table2.Field1, Table.Field2, Table3.Field1, Table3.Filed2 … 1 Данные Данные … NULL NULL … NULL NULL 1 Данные Данные … NULL NULL … NULL NULL … 2 NULL NULL … Данные Данные … NULL NULL 2 NULL NULL … Данные Данные … NULL NULL … 3 NULL NULL … NULL NULL … Данные Данные 3 NULL NULL … NULL NULL … Данные Данные В шаблоне отчёта, дабы не лепить разнородные control’ы на одно место, рисуешь «полосы» детализации одна под другой, опять же, используя опцию «Print when» по признаку, а «Remove line if blank» выставляешь у всех (!) control’ов. Сбоку каждой «полосы» рисуешь вертикальную палку, которая никогда не печается (Print when .F. и с галкой «Remove line if blank») - она «съест» все вертикальные пробелы в «полосе». С группированием ни разу не приходилось совмещать каждый из случаев. Наверно, можно чё-то придумать. Точно можно вообще отказаться от «официальных» полос группировки. Использовать вместо них верхнюю и нижнюю часть «подполосы» детализации. То же, кстати, и с заголовком отчёта. Выводишь их, когда первая или последняя запись и т.д. В общем, геморрой, но можно. У меня с десяток отчётов так работают. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2008, 21:53 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Дело в том, что в мастер-таблице список клиентов - естесственно все записи уникальные, и перебором я по ним должен распечатать отчет. Проблема в том что у меня в отчете 2 поставщика и у каждого 2 услуги и их надо разделить. Так же имеется 1 заголовок и 1 подпись. И к тому же мне надо распечатать по 2 экземпляра каждого отчета. Набросал пример в Экселе для более понятного представления о проблеме. Может я не по тому пути иду, можно как-нибудб по другому базы составить - я не против. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2008, 23:06 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Сделал так: В Detail создал один большой бланк, сразу весь (обе части). В него текстом вбил названия поставщиков и услуг. На каждую услугу сделал отдельную базу, содержащую номер клиента (как в родительской таблице) и долги Из Мастер таблицы связался во все 4 дочерних И в отчет вставил ссылки на поля конкретных таблиц. Все работает! Завтра сделаю выборку в курсоры и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2008, 23:56 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Ну в общем то, что тебе изначально предлагали. Как правило, простые отчеты (а квитанции, пожалуй, можно отнести к простым, несмотря на большое количество контролов), именно так и делаются. Один курсор, строка детайла и больше ничего. Второй вариант (в твоем случае) - это задвоить колво записей в мастер таблице и упорядочить. При этом нечетные записи - это квитанция (первая третья пятая...), а четные - это извещение (вторая, четвертая и т.д.) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2008, 07:35 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Задваивать записи не хотелось - так как колхозить не хочется. Спасибо всем за ответы - кое что учту на будущее. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2008, 07:50 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Задвоить записи не сложно - тотже select .. from .. ulion all select .. from ... into cursor .. order by ... в курсор. Вот этот курсор и становится мастер таблицей для твоего отчета. Для отчета в любом случае данные, как правило, заранее подготавливаются, а не тупо по всей таблице строится отчет. А вот как подготовить данные - это уже решать тебе. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2008, 07:53 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Для печати извещений и квитанций я использую не report а label(этикетка) при этом на листе формата А4 вмещается 3 извещения - квитанции(поперёк). Этот ? я поднимал ТУТ Поэтому ,если Вам это ещё нужно,то могу поделиться после выходных. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2008, 13:37 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Дожил до седых волос (фигурально), а до сих пор не знаю, в чем принципиальное отличие lable от report. Подскажите кто в курсе. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2008, 15:00 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Galyamov Rinat Дожил до седых волос (фигурально), а до сих пор не знаю, в чем принципиальное отличие lable от report. Подскажите кто в курсе. VFP9 Reports in Visual FoxPro Labels are multicolumn reports that have particular column settings designed to fit label paper. Этикетки представляют собой многоколоночные отчеты, которые имеют особые установки колонок, разработанные для того, что вместить специальные подготовленные листы бумаги. Т.е. Label предназначен для печати отчетов в несколько колонок. Видели, наверное, такие специальные листы для стикеров (этикеток)? Лист стандратный - A4, но на этом листе много маленьких прямоугольничков, которые легко отклеиваются от подложки и приклеиваются к коробкам, ценникам, товарам и т.п. Чтобы распечатать текст на этих стикерах, особенно, если на каждом надо печатать что-то индивидуальное (например, порядковый номер стикера), проще организовать печать по столбцам. Печатаем первый столбец, потом переходим на второй столбец этого же листа. На самом деле, все то же самое может сделать и Report. Думаю, так просто "исторически сложилось". В VFP9, Report и Label вполне взаимозаменяемые. Команда Report может запускать печать файлов Label, а команда Label может запускать печать файлов Report. Более того, они имеют совершенно одинаковый формат файлов. Т.е. абсолютно. Отличаются только расширением. Хотя Label Wizard именно что предлагает печать "этикеток". Т.е. печать на специально подготовленные листы бумаги. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2008, 18:24 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
> Т.е. Label предназначен для печати отчетов в несколько колонок. > На самом деле, все то же самое может сделать и Report. Думаю, так > просто "исторически сложилось". Я правильно понимаю, что отличий нет? А то я может извращаюсь с репортами там, где должны работать label`ы ? :) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2008, 21:19 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Galyamov Rinat Дожил до седых волос (фигурально), а до сих пор не знаю, в чем принципиальное отличие lable от report. Подскажите кто в курсе. В приложен. KWIT.RAR если запустить KWIT.PRG(см.ниже) ,то получим наглядный пример ,что такое этикетка. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2008, 09:18 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Да, но и репорт тоже умеет печатать колонками. Или секрет в другом и я его не увидел? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2008, 09:55 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Galyamov Rinat Да, но и репорт тоже умеет печатать колонками. Или секрет в другом и я его не увидел? Квитанции-извещения делал я когда-то в FOX 2.6 , то там репорт не умел печатать колонками. Благодаря Вам выяснил ,что VFP-репорт может делать тоже ,что и этикетка ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2008, 10:29 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
Galyamov Rinat > Т.е. Label предназначен для печати отчетов в несколько колонок. > На самом деле, все то же самое может сделать и Report. Думаю, так > просто "исторически сложилось". Я правильно понимаю, что отличий нет? Правильно. Label - это "историческое наследие". Вопрос привычки. Многоколоночный Report уже можно было делать в VFP. Про 3 версию - не знаю, но в VFP6 уже можно было. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2008, 12:18 |
|
Отчет Квитанция-Извещение
|
|||
---|---|---|---|
#18+
> Правильно. Label - это "историческое наследие". Вопрос привычки. > Многоколоночный Report уже можно было делать в VFP. Про 3 версию - не > знаю, но в VFP6 уже можно было. Я как раз с 6-го фокса начал работать. И долго гадал, для чего выделен label как отдельный контрол :) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2008, 13:04 |
|
|
start [/forum/topic.php?fid=41&msg=35490668&tid=1587375]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 340ms |
total: | 494ms |
0 / 0 |