1 (edited by Hram 2014-08-28 14:06:36)

Topic: [Решено] Нестандартное значение Counter

Доброго времени суток.
Суть сабжа: значение Counter - это номер платежного поручения. В реализации не возникает вопросов если номера начинаются с любого значения, отличного от "0". На данный момент номер "000652" реализуется через значение Counter "652" + в отчете дописывается 000[Report."Counter"]. Некрасиво, в базе не полный номер, но по другому не придумал. Собственно, что хочу переделать. Значение "000ххх" в базу не записать. Есть вариант перед нулями поставить букву, но возникают несколько вопросов: (интересует, правильный ли ход мыслей)
1. Сделать 2 String переменные, A=буква, B=000 и в таблицу через SQL-запрос вносить значение А+B+Counter.
2. Если Counter=999, то каким образом изменить значение на B=00. Правильно ли будет поставить запрос, что то вроде

if Counter.MaxValue > 999
Then
S:=00
if Counter.MaxValue > 9999
Then
S:=0

Может все проще можно сделать и я не в ту сторону смотрю? Искал пример реализации, но к сожалению даже идеи не нашел.

Re: [Решено] Нестандартное значение Counter

Приветствую,


на форме добавления/редактирования записи необходимо расположить компонент Counter, но скрыть его, например поместить за пределами формы, а идентификатор будет формироваться с помощью скрипта в другом компоненте TextBox


используется событие OnShow для формы добавления/редактирования записи

procedure frmEmployee_OnShow (Sender: string; Action: string);
var
   s, s0: string;
   i,c: integer;
begin
     s0 := '';
     s := frmEmployee.EditCounter1.Text;
     c := Length(s);
     c := 6-c; // 6 - qty of zero
     for i := 1 to c do s0 := s0 + '0';
     frmEmployee.edCounter.Text := s0+s;
end;

сделал для вас проект с данной реализацией.

Post's attachments

Attachment icon Custom counter.zip 5 kb, 564 downloads since 2014-08-28 

Dmitry.

Re: [Решено] Нестандартное значение Counter

Огромное спасибо!