Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.02.2011, 15:42
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию Документы с уникальными номерами (печать, защита)

Доброго времени суток в который раз.

Поставили задачку:
Условие: Есть документы, листы формата а4 (некая форма заполняющаяся от руки). Каждый лист имеет свой номер=> "Документ строгой отчётности"

Вопрос: Необходимо организовать программное заполнение из уже существующей базы.

Решение: Есть два варианта, по крайней мере, у меня в голове. Мб есть и ещё, за этим и пишу.
1) Организовать динамический файл (html вёрстки), который будет генерировать эти Документы строгой отчётности и в теги из интерфейса программы подставлять данные. НО, существует риск и не малый (сотрудники не все добросовестные) дублирования таких документов. (номеров)

2) Организовать массовую распечатку (типография) подобных бланков в уже заготовленной форме, а программно обеспечить работу с принтером, который будет в заданные координаты подставлять нужные строчки.
В результате останется проставить только подписи. (и риск завести такой же документ сводится к нулю, т.к. они будут уже пропечатанными и каждый под своим номером)

Собственно у гиганта 1С так и сделано.

Что будет проще и правильнее? И если второй вариант, то как работать из делфи с принтером на уровне "координат", не "книжные" знания

С уважением, Uniq!

Последний раз редактировалось Uniq!, 25.02.2011 в 15:44.
Ответить с цитированием
  #2  
Старый 25.02.2011, 17:43
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Вообще вся печать из TPrinter идет как раз на "уровне координат!"

TPrinter.Canvas - и рисуй что угодно. Как будто это не принтер, а обыкновенный TImage
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
  #3  
Старый 27.02.2011, 12:33
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Не стоит делать вывод напрямую на принтер - малейшее изменение в бланке и вы заново переделываете прогу. Намного удобнее использовать шаблон. Общепринятая практика сделать шаблон в ворде и уже из вашей проги заполнять его данными.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 28.02.2011, 11:06
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Страдалецъ, всё бы ничего. Но как тогда контроллировать "нумерацию"? "хаккнуть" подстановку номера в "шаблон" не так уж и сложно...
Прочитать адресс в момент подстановки "информации" и заменить его.

Вопрос который встаёт на первое место: где хранить номер последнего распечатнного билета? и вкаком виде? Шифровать или нет?)

Последний раз редактировалось Uniq!, 28.02.2011 в 11:33.
Ответить с цитированием
  #5  
Старый 28.02.2011, 23:06
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от Uniq!
Страдалецъ, всё бы ничего. Но как тогда контроллировать "нумерацию"? "хаккнуть" подстановку номера в "шаблон" не так уж и сложно...
Прочитать адресс в момент подстановки "информации" и заменить его.

Вопрос который встаёт на первое место: где хранить номер последнего распечатнного билета? и вкаком виде? Шифровать или нет?)

Так или понедельник сказывается, или я уже того))))
Прочитал 2 раза...

Что мешает организовать давно проверенную схему?:

сервер, на нем программа.
А у юзеров клиент-программа.
Которая оеспечивает возможность связи с сервом, с шифрованием данных, удобным интерфесом. Но без серва ясен пень никакой документ не может быть сохранен в ней.

Юзверь посылает запрос:" Я узверь, логин, пасс"
Серв:"Ок чувак"
Ю:"Мне нужен бланк по форме Б, припекло его заполнить"
с:"не вопрос, вот тебе шаблон, получай"
Ю.:"я заполнил данные, вот присылаю."
С.:"Все Ок., данне в норме"
Ю.:"Распечатай мне бланк на принтере в соседнем департаменте"
С.:"Все Ок. Присвоил документу номер №100500, документ сохранен в базе, и распечатан."

Ну ясен пень что сервер не стоит под столом у бухгалтерши Вали...

Заодно сохраняем логи: кто где когда какой бланк заполнил и печатал.

Ну и понятное дело что канал связи не прокладывали Равшан со Джумшутом.

Последний раз редактировалось Konrad, 28.02.2011 в 23:15.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:20.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025