Приклади робочих скриптів у звітових формах

Геодезична інформаційна система 6 та Геодезична інформаційна система 6 Агро

Модератори: NickS, feNICKs

Аватар користувача
NickS
Повідомлень: 1393
З нами з: 04 квітня 2008, 12:21

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення NickS » 12 березня 2013, 17:14

xxbabayxx писав:Есть переменная которая отвечает за пол "Субьекта права"?

К сожалению нет. В идеале, надо в параметрах физ лица ввести такой переключатель и постоянно следить за ним при создании новых физ.лиц. А вот как это определить сейчас? Только по отчеству и то это даст, скорей всего, приблизительный результат. Предлагаю сформулировать текстовку так, чтобы не привязыватся к полу субъекта. Ну а если сильно надо, вот пример как определить по отчеству

Код: Виділити все

   MW := true; //Мужское или женское лицо (true - мужское, false - женское)

   If Not(Pos('вич ', <DM1.QsPeople."Family"> + ' ') > 0) then
          MW := false;

xxbabayxx
Повідомлень: 27
З нами з: 01 березня 2013, 15:39

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення xxbabayxx » 13 березня 2013, 08:28

Надеюсь что добавят такой переключатель) Еще раз спасибо :tnk:

xxbabayxx
Повідомлень: 27
З нами з: 01 березня 2013, 15:39

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення xxbabayxx » 14 березня 2013, 09:11

И снова здрасте)
Вобщем у меня еще один вопросик. Могу ли я в коде отчетной формы присвоить значение глобальной переменной, что бы потом это значение прописалось в программе?
Например так: " <DM1.qbCardLease."Cost"> := <DM1.qbCardLease."SumTax"> * 0.03 ; " ?

feNICKs
Повідомлень: 412
З нами з: 13 січня 2012, 16:03
Контактна інформація:

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення feNICKs » 14 березня 2013, 10:08

xxbabayxx писав:И снова здрасте)
Вобщем у меня еще один вопросик. Могу ли я в коде отчетной формы присвоить значение глобальной переменной, что бы потом это значение прописалось в программе?
Например так: " <DM1.qbCardLease."Cost"> := <DM1.qbCardLease."SumTax"> * 0.03 ; " ?


<DM1.qbCardLease."Cost"> - это поле БД.
В ГИСе глобальные (служебные) переменные - это переменные, которые рассчитываются самой программой и доступны как для других функций программы, так и в отчетных формах.

Чтоб присвоить значение полю любой таблицы БД, нужно в отчетной форме:
1. Добавить ADO-компонент в отчетную форму: в боковой панели (слева) Компоненты ADO/ Запрос ADO(ADOQuery1).
2. в программном коде, после присвоения переменной вычисляемого значения <DM1.qbCardLease."SumTax"> * 0.03 - выполнить запрос для обновления поля БД

Код: Виділити все

VAR
     Cost  :  Double;
BEGIN
      Cost := 0;
      .....
      Cost :=  DM1.qbCardLease."SumTax"> * 0.03;
      With ADOQuery1 Do
      Begin
           Close;
           SQL.Text := 'Update Lease Set Cost='+FloatToStr( Cost)+'Where ID_Lease = (Select ID_Lease From LeasePoly Where ID_Object='+IntToStr( <DM1.QbObject."ID_Object">)+')';
           ExecSQL;
      End;
      .....
END.


p.s. Таблица qbCardLease это результат объединение двух таблиц Lease и LeasePoly, поэтому в зависимости от поля, которому нужно присвоить значение, в запросе нужно указывать конкретную таблицу.

Аватар користувача
NickS
Повідомлень: 1393
З нами з: 04 квітня 2008, 12:21

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення NickS » 14 березня 2013, 10:45

xxbabayxx писав:И снова здрасте)
Вобщем у меня еще один вопросик. Могу ли я в коде отчетной формы присвоить значение глобальной переменной, что бы потом это значение прописалось в программе?

Стандартные переменные не подойдут, потому что они очищаются при каждом запуске отчётной формы. Но есть возможность создавать глобальные переменные:

Код: Виділити все

 SetVariable('A', 'это переменная');

где А - это название переменной, а 'это переменная' - её значение.
Имейте ввиду, глобальные переменные могут быть только текстовыми и объявлять их в блоке var не нужно.

xxbabayxx
Повідомлень: 27
З нами з: 01 березня 2013, 15:39

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення xxbabayxx » 14 березня 2013, 12:21

А есть ф-ция которая пишет число прописью?

Аватар користувача
NickS
Повідомлень: 1393
З нами з: 04 квітня 2008, 12:21

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення NickS » 14 березня 2013, 12:52

xxbabayxx писав:А есть ф-ция которая пишет число прописью?

Нет. Есть только функция, которая пишет прописью цену:

Код: Виділити все

SumWrite(123.4, false)

первый параметр - число, второй: false - не отображать копейки, true - отображать.
Результатом будет "Сто двадцять три гривні"

xxbabayxx
Повідомлень: 27
З нами з: 01 березня 2013, 15:39

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення xxbabayxx » 14 березня 2013, 12:59

Спасибо, мне как раз и надо была, цена. Только не мог понять за чем "True,False". Мне вот интересно где можно найти более подробную инфу о функциях и переменных, а то в описании которые прилагаются с программой не все есть описания(
Спасибо еще раз)

feNICKs
Повідомлень: 412
З нами з: 13 січня 2012, 16:03
Контактна інформація:

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення feNICKs » 14 березня 2013, 13:34

xxbabayxx писав: Только не мог понять за чем "True,False".

Nick писав:false - не отображать копейки, true - отображать.
т.е. данные параметр влияет будет результат целочисленным(без копеек), или действительным (с копейками).
xxbabayxx писав:Мне вот интересно где можно найти более подробную инфу о функциях и переменных

Описание переменных есть на установочном диске :\Books\База данных GIS6.xls (закладка переменные)
Описание функций (назначение) есть в самом редакторе отчетных форм в колонке "Функции" - <Название>//<Назначения >

LeViK
Повідомлень: 63
З нами з: 25 січня 2012, 09:52
Звідки: BeerDyansk

Re: Примеры рабочих скриптов в отчётных формах

Повідомлення LeViK » 15 березня 2013, 14:54

Доброго времени суток, как работает эта функция?
VisibleGisMenu('Всех участков',False);
Оно может снять галку с параметра "Отображение/Всех участков" в окне "Камеральные функции"? Если да, то каким образом заполняется текстовый указатель на соответствующее поле?