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

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

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

Eltar
Повідомлень: 5
З нами з: 28 березня 2015, 21:17

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

Повідомлення Eltar » 09 квітня 2015, 15:34

feNICKs писав:Скрипт рабочий, проверял у себя на примере - все выводит...
В текстовых полях вставили переменные? а к бэнду подключили источник данных Lim? Или у Вас бэнд не перебирается или что-то очищает текстовые поля или переменные (пройдитесь по всему коду).
Можете просто создать чистый (новый) отчет и проверьте этот скрипт. Если что - выполните отладку - заходите в закладку код и нажимаете отладка и двигайтесь к Вашей части кода, чтоб увидеть, происходит там присвоение значений или нет.


Все получилось, спасибо!!!!!! Очень благодарен!

Бэнд MasterData1 подключил к ADO SQL- запросу Lim. В событиях MasterData1.OnBeforePrint стоит MasterData1OnBeforePrint. Создал тектовое поле в MasterData1, в нем ввел [Decision] [LName]. В коде скопировал Ваш код.

Eltar
Повідомлень: 5
З нами з: 28 березня 2015, 21:17

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

Повідомлення Eltar » 14 квітня 2015, 13:35

Приветствую!
Подскажите пожалуйста, чтобы в отчетной форме переменная [Name_Region] выводила название района, куда его нужно вписать? У меня вписано адрес формата Город, Название района, Тип улицы. Название улицы.


Сам ответ нашел, только зашел с другой стороны:

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

 Region := Copy (<DM1.QbObject."Address">, Pos(',', <DM1.QbObject."Address">) + 2, Pos('район',<DM1.QbObject."Address">) - (Pos(',', <DM1.QbObject."Address">) + 2)) + 'район';


Хотя все же было бы интересно узнать ответ на исходный вопрос )))

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

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

Повідомлення NickS » 14 квітня 2015, 15:04

Eltar писав:Подскажите пожалуйста, чтобы в отчетной форме переменная [Name_Region] выводила название района, куда его нужно вписать?

Эта переменная, а также переменные:
[Name_Area] - Наименование области
[Name_Region] - Наименование района
[Name_Advice] - Наименование совета
[Name_Place] - Наименование населённого пункта
[Name_KSP] - Наименование КСП
формируются автоматически из кадастрового номера. Если нужно их получить, например, для прописки физ.лица, перед их использованием применяйте функцию SeekIKN('кадастровый номер'), где 'кадастровый номер' - кадастровый номер вашего адреса. Например:

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

SeekIKN(<DM1.QsPeople."ID_Kuatu">);
MyNameRegion := Name_Region;

Eltar
Повідомлень: 5
З нами з: 28 березня 2015, 21:17

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

Повідомлення Eltar » 20 квітня 2015, 10:39

Nicks, спасибо за ответ!

Аватар користувача
Vaho
Повідомлень: 130
З нами з: 21 жовтня 2011, 10:01

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

Повідомлення Vaho » 05 червня 2015, 18:14

Доброго времени суток! Подскажите пожалуйста, как можно отобразить несколько владельцев? Есть простенький шаблон "тех.док"
Вытягиваю владельца таким способом:

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

 //Данные землевладельца

   //NameTowhom   := ''; //Владелец (кому?)
   NameWho      := ''; //Владелец (кто?)
   NameWhoSmall := ''; //Владелец (кто?)

   If LocateData( 'DM2.TbTypeOwner', 'ID_TypeOwner', <DM1.TbUser."ID_TypeOwner">) = True Then
   begin


     If (<DM2.TbTypeOwner."ID_TypeUser"> = True) And (LocateData( 'DM1.QsFirm', 'ID_Firm', <DM1.TbUser."ID_Firm">) = True) Then
     begin
       //NameTowhom   := <DM1.QsFirm."Name_Small">;
       NameWhoSmall := <DM1.QsFirm."Name_Small">;
       NameWho      := <DM1.QsFirm."Name_Who">;
     end;

     If (<DM2.TbTypeOwner."ID_TypeUser"> = False) And (LocateData( 'DM1.QsPeople', 'ID_People', <DM1.TbUser."ID_People">) = True) Then
     begin
       //NameTowhom   := 'гр. ' + FamilyShort(<DM1.QsPeople."Family2">);
       NameWhoSmall := ShortFamily(<DM1.QsPeople."Family">);
       NameWho      := <DM1.QsPeople."Family">;
     end;
   end;

А если их несколько или вот юридическое лицо?
Заранее благодарю!

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

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

Повідомлення feNICKs » 08 червня 2015, 09:17

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

Var
  CustomerWho: String;

begin
   DataFirst( 'DM1.TbUser');

   While Not DataEOF( 'DM1.TbUser')  Do
        Begin
            //-----> Âëàñíèê

            IF (LocateData( 'DM2.TbTypeOwner', 'ID_TypeOwner', <DM1.TbUser."ID_TypeOwner">)) And (Pos( <DM1.TbUser."NameUser">,CustomerWho ) = 0) Then
            Begin

                 If Length( Trim( CustomerWho)) > 0 Then
                     CustomerWho := CustomerWho + ' òà ';

                 IF (<DM2.TbTypeOwner."ID_TypeUser"> = False) And LocateData( 'DM1.QsPeople','ID_People', <DM1.TbUser."ID_People">) Then
                     CustomerWho := CustomerWho + ' ãð.'+ FamilyShort( <DM1.QsPeople."Family">);

                 IF (<DM2.TbTypeOwner."ID_TypeUser"> = True) AND LocateData( 'DM1.QsFirm','ID_Firm',<DM1.TbUser."ID_Firm">) Then
                     CustomerWho := CustomerWho + <DM1.QsFirm."Name_Who">;
            End;

        DataNext( 'DM1.TbUser');
        End;
end.


p.s. писал по памяти, так что возможны мелкие ошибки)) наверное))

Аватар користувача
Vaho
Повідомлень: 130
З нами з: 21 жовтня 2011, 10:01

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

Повідомлення Vaho » 08 червня 2015, 09:57

Не могу разобраться в чем проблема может быть. Один раз сработало, а все остальные, переменная "CustomerWho" выдает пустую строку. В чем может быть проблема? Код тот что выше.

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

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

Повідомлення feNICKs » 08 червня 2015, 10:12

Vaho писав:Не могу разобраться в чем проблема может быть. Один раз сработало, а все остальные, переменная "CustomerWho" выдает пустую строку. В чем может быть проблема? Код тот что выше.

Обновил код. Скопируйте и проверьте еще раз.

Аватар користувача
Vaho
Повідомлень: 130
З нами з: 21 жовтня 2011, 10:01

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

Повідомлення Vaho » 08 червня 2015, 12:06

feNICKs писав:
Vaho писав:Не могу разобраться в чем проблема может быть. Один раз сработало, а все остальные, переменная "CustomerWho" выдает пустую строку. В чем может быть проблема? Код тот что выше.

Обновил код. Скопируйте и проверьте еще раз.

Большушчее спасибо!!!! :tnk:

Аватар користувача
Vaho
Повідомлень: 130
З нами з: 21 жовтня 2011, 10:01

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

Повідомлення Vaho » 24 червня 2015, 16:21

Здравствуйте! У меня такая проблема: помечаю зеленой меткой несколько участков, нажимаю "печать - по отмеченным" и происходит следующее.
- Окно выбора принтера не выдает (у нас их много).
- Синяя строчка, в окне земельные участки, по очереди переходит с участка на участок (как-будто формирует листы печати).
- Печатает только один (последний) документ (с последней записи).
Что можно сделать?