Звіти в ГІС 6

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

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

kol_s
Повідомлень: 44
З нами з: 11 жовтня 2011, 14:35

Re: Отчеты в GIS6

Повідомлення kol_s » 25 січня 2017, 13:43

Доброго дня. Переробив ваш список земельних ділянок, але до кінця довести не можу :roll: .Список видає всю інформацію з поміченого списку, окрім [DM2.TbTypePerson."Number"] та [DM2.TbTypePerson."Groupe"] тут по всьому списку стоять дані 1 ділянки, яка вибрана :roll: . Звіт приклав
Вкладення
6 ЗЕМ.rar
(647 байт) Завантажено 41 разів

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

Re: Отчеты в GIS6

Повідомлення NickS » 30 січня 2017, 11:45

kol_s писав:Доброго дня. Переробив ваш список земельних ділянок, але до кінця довести не можу :roll: .Список видає всю інформацію з поміченого списку, окрім [DM2.TbTypePerson."Number"] та [DM2.TbTypePerson."Groupe"] тут по всьому списку стоять дані 1 ділянки, яка вибрана :roll:

1. Шаблони в ГІС6 краще робити в FastReport 3 (fr3), а не в цьому старому, який не має половини функцій і не зручний.
2. Щоб витягувати дані іншої таблиця, а це точно інша таблиця, їх потрібно спочатку знаходити. Адже таблиця ділянок перебирається, а таблиця видів користувачів ні! А треба, щоб для кожної ділянки, програма шукала відповідний запис в таблиця видів користувачів. Це можна зробити прямо в списку або через sql-запит.

Для Вашого прикладу, в FastReport 2 потрібно добавити код:

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

  TPNumber := '';

  If LocateData('DM2.TbTypePerson', 'ID_TypePerson', [DM1.TbUser."ID_TypePerson"]) = true then
    TPNumber := [DM2.TbTypePerson."Number"];

а в поле вивести значення змінної [TPNumber].

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

  TPGroup := '';

  If LocateData('DM2.TbTypePerson', 'ID_TypePerson', [DM1.TbUser."ID_TypePerson"]) = true then
    TPGroup := [DM2.TbTypePerson."Groupe"];

а в поле вивести значення змінної [TPGroup].

Виправлений звіт прикріпляю
Вкладення
6 ЗЕМ.rar
Виправлений звіт
(754 байт) Завантажено 45 разів

kol_s
Повідомлень: 44
З нами з: 11 жовтня 2011, 14:35

Re: Отчеты в GIS6

Повідомлення kol_s » 30 січня 2017, 12:10

Безмежно вдячний :tnk:

acpekttov
Повідомлень: 19
З нами з: 04 червня 2014, 16:13
Звідки: Запорожская область

Re: Отчеты в GIS6

Повідомлення acpekttov » 22 лютого 2017, 14:03

Подскажите пожалуйста если на земельном участке есть вырезки то в каталоге координат или в ведомости перед вырезкой должна ли быть пустая строка?

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

Re: Отчеты в GIS6

Повідомлення NickS » 22 лютого 2017, 14:53

acpekttov писав:Подскажите пожалуйста если на земельном участке есть вырезки то в каталоге координат или в ведомости перед вырезкой должна ли быть пустая строка?

Нет, не должна. Никогда не видел, чтобы её вставляли.

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

Re: Отчеты в GIS6

Повідомлення feNICKs » 27 лютого 2017, 09:47

acpekttov писав:Подскажите пожалуйста если на земельном участке есть вырезки то в каталоге координат или в ведомости перед вырезкой должна ли быть пустая строка?

Вырезку можно определить по дубликатам координат. Поэтому пустые строки или что-то подобное - не нужное.

kol_s
Повідомлень: 44
З нами з: 11 жовтня 2011, 14:35

Re: Отчеты в GIS6

Повідомлення kol_s » 29 березня 2017, 11:33

Доброго дня.
Підскажіть чи можна у результаті цього виразу [IIF(<DM3.TmGeoPoint."L"> <> 0, FormatFloat('0.000', <DM3.TmGeoPoint."L">), '')], замінити кому на крапку?

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

Re: Отчеты в GIS6

Повідомлення NickS » 29 березня 2017, 13:13

kol_s писав:Доброго дня.
Підскажіть чи можна у результаті цього виразу [IIF(<DM3.TmGeoPoint."L"> <> 0, FormatFloat('0.000', <DM3.TmGeoPoint."L">), '')], замінити кому на крапку?

Це краще робити через код.

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

  LHod := '';

  If <DM3.TmGeoPoint."L"> <> 0 then
  begin
    LHod := FormatFloat('0.000', <DM3.TmGeoPoint."L">);

    If Pos(',', LHod) > 0 then
      LHod := Copy(LHod, 1, Pos(',', LHod) - 1) + '.' + Copy(LHod, Pos(',', LHod) + 1, Length(LHod));
  end;

і вставляти його потрібно не в головну програму, а в OnBeforePrint бенда, на якому перебирається таблиця "DM3.TmGeoPoint".

Аватар користувача
NoViChoK
Повідомлень: 140
З нами з: 10 вересня 2012, 18:09

Re: Отчеты в GIS6

Повідомлення NoViChoK » 25 квітня 2017, 12:31

Підкажіть як в шаблоні "Акт приёмо-передачи межевых знаков 2013" відмінусувати перші 7 знаків перемінної [MejnZN."MarkNumber"] ?
Тобто щоб в шаблоні відображало не "2017.04-000-00016" , а наприклад так " ____________ -000-00016"

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

Re: Отчеты в GIS6

Повідомлення NickS » 25 квітня 2017, 14:42

NoViChoK писав:Підкажіть як в шаблоні "Акт приёмо-передачи межевых знаков 2013" відмінусувати перші 7 знаків перемінної [MejnZN."MarkNumber"] ?
Тобто щоб в шаблоні відображало не "2017.04-000-00016" , а наприклад так " ____________ -000-00016"

Для цього потрібно скористатись функціює копіювання рядка:
____________[Copy(<MejnZN."MarkNumber">, 8, Length(<MejnZN."MarkNumber">) - 7)]