Разработаем шаблон платежного поручения. Чтобы облегчить себе задачу,
воспользуемся справочно-правовой системой "Гарант" и получим форму
платежного поручения — документ в формате DOC. Отредактируем этот
документ и приведем его к нужному виду (рис. 6.14). Далее сохраним его в
формате DOT для последующего использования в процедуре формирования
выходной формы документа "платежное поручение".
Как видно из рис. 6.14, преобразование документа в шаблон заключается
в том, что в некоторые ячейки внесен текст типа "###Сумма прописью&".
Эти фрагменты текста и представляют собой текстовые константы, которые
будут использованы для подстановки информации из программы.
![](images/delphi/068.JPG)
Рис. 6.14. Вид шаблона документа "Платежное поручение"
Используем этот шаблон для создания документа. Следующий фрагмент
исходного текста демонстрирует, как это сделать.
Формирование платежного поручения
// Данная функция позволяет находить строку FindText
// и подставлять на ее место строку ReplacementText.
//
Function FindAndlnsert(FindText,ReplacementText:string):boolean;
const wdReplaceAll=2;
begin
W.Selection.Find.Text:=FindText;
W.Selection.Find.Replacement.Text:=ReplacementText;
FindAndlnsert:=W.Selection.Find.Execute(Replace:=wdReplaceAll);
end;
/I Данная процедура заполняет шаблон документа.
//
Pocedure TForml.Buttonl4Click(Sender: TObject);
begin
// Создаем новый документ по шаблону
W.documents.Add(ExtractFileDir(Application.ExeName)+'ХШаблон J
платежного'+' поручения.dot');
// Подставляем тектс
FindAndlnsert('###№ П.П.&','!');
FindAndlnsert('###Дата&',datetostr(date));
FindAndlnsert('###Вид платежа&','почтой');
FindAndlnsert('###Сумма прописыо&','Двести пятьдесят рублей сорок копеек');
FindAndlnsert('###Сумма&', '250,40');
FindAndlnsert('###ИНН плателыцика&','0000000000');
FindAndlnsert('###КПП плателыцика&','000000000011');
FindAndlnsert('###Плателыцик&','ЗАО Селена');
FindAndlnsert('###Р/С плателыцика&','00000000000000000000');
FindAndlnsert('###БИК плателыцика&','000000');
FindAndlnsert('###К/С плателыцика&','00000000000000000000');
FindAndlnsert('###ИНН получателя&','1111111111');
FindAndlnsert ('###КШ получателя^, '111111111100');
FindAndlnsert('###БИК получателя&','111111');
FindAndlnsert('###К/С получателя&','11111111111111111111');
FindAndlnsert('###Р/С получателя&','11111111111111111111');
FindAndlnsert('###Получатель&','ЗАО Комета');
FindAndlnsert('###В.О.&', " ) ;
FindAndInsert('###H.n.&', " ) ;
FindAndlnsert('###Код&','');
FindAndlnsert C###C.П. &', " ) ;
FindAndInsert('###O.n.&', " ) ;
FindAndlnsert('###Р.П.&', " ) ;
FindAndlnsert('#Н1&','' ) ;
FindAndlnsert('#Н2&','' ) ;
FindAndlnsert('#НЗ&','' ) ;
FindAndlnsert('#Н4&','' ) ;
FindAndlnsert('#Н5&','' ) ;
FindAndlnsert('#Н6&','' ) ;
FindAndlnsert('#Н7&','' ) ;
FindAndlnsert('###Назначение платежа& ','Оплата за поставку товара');
end;
Результат выполнения данной процедуры отображен на рис. 6.15.
![](images/delphi/069.JPG)
Рис. 6.15. Сформированный документ "Платежное поручение"
Далее можно переходить к печати документа.
Автоматизацию печати рассмотрим в следующей главе. |