![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Доброго времени суток
![]() Поставили задачку: Условие: Есть документы, листы формата а4 (некая форма заполняющаяся от руки). Каждый лист имеет свой номер=> "Документ строгой отчётности" Вопрос: Необходимо организовать программное заполнение из уже существующей базы. Решение: Есть два варианта, по крайней мере, у меня в голове. Мб есть и ещё, за этим и пишу. 1) Организовать динамический файл (html вёрстки), который будет генерировать эти Документы строгой отчётности и в теги из интерфейса программы подставлять данные. НО, существует риск и не малый (сотрудники не все добросовестные) дублирования таких документов. (номеров) 2) Организовать массовую распечатку (типография) подобных бланков в уже заготовленной форме, а программно обеспечить работу с принтером, который будет в заданные координаты подставлять нужные строчки. В результате останется проставить только подписи. (и риск завести такой же документ сводится к нулю, т.к. они будут уже пропечатанными и каждый под своим номером) Собственно у гиганта 1С так и сделано. Что будет проще и правильнее? И если второй вариант, то как работать из делфи с принтером на уровне "координат", не "книжные" знания ![]() С уважением, Uniq! Последний раз редактировалось Uniq!, 25.02.2011 в 15:44. |
#2
|
||||
|
||||
![]() Вообще вся печать из TPrinter идет как раз на "уровне координат!"
TPrinter.Canvas - и рисуй что угодно. Как будто это не принтер, а обыкновенный TImage Хорошо написанная программа не требует документации ICQ 9-184-668. |
#3
|
||||
|
||||
![]() Не стоит делать вывод напрямую на принтер - малейшее изменение в бланке и вы заново переделываете прогу. Намного удобнее использовать шаблон. Общепринятая практика сделать шаблон в ворде и уже из вашей проги заполнять его данными.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
![]() Страдалецъ, всё бы ничего. Но как тогда контроллировать "нумерацию"? "хаккнуть" подстановку номера в "шаблон" не так уж и сложно...
Прочитать адресс в момент подстановки "информации" и заменить его. Вопрос который встаёт на первое место: где хранить номер последнего распечатнного билета? и вкаком виде? Шифровать или нет?) Последний раз редактировалось Uniq!, 28.02.2011 в 11:33. |
#5
|
||||
|
||||
![]() Цитата:
Так или понедельник сказывается, или я уже того)))) Прочитал 2 раза... Что мешает организовать давно проверенную схему?: сервер, на нем программа. А у юзеров клиент-программа. Которая оеспечивает возможность связи с сервом, с шифрованием данных, удобным интерфесом. Но без серва ясен пень никакой документ не может быть сохранен в ней. Юзверь посылает запрос:" Я узверь, логин, пасс" Серв:"Ок чувак" Ю:"Мне нужен бланк по форме Б, припекло его заполнить" с:"не вопрос, вот тебе шаблон, получай" Ю.:"я заполнил данные, вот присылаю." С.:"Все Ок., данне в норме" Ю.:"Распечатай мне бланк на принтере в соседнем департаменте" С.:"Все Ок. Присвоил документу номер №100500, документ сохранен в базе, и распечатан." Ну ясен пень что сервер не стоит под столом у бухгалтерши Вали... Заодно сохраняем логи: кто где когда какой бланк заполнил и печатал. Ну и понятное дело что канал связи не прокладывали Равшан со Джумшутом. Последний раз редактировалось Konrad, 28.02.2011 в 23:15. |