Сторінка 1 з 7

Питання по базам даних в звітових формах

Додано: 09 вересня 2008, 17:51
NTD
Подскажите, когда печатаются регистрационные карточки для физического лица, например такие отчёты:
"Регистрационная карточка 2007.frf" (новый тип карточек) и "Регистрационная карточка.frf" (старый тип карточек)
Почему в первой табличке, в столбику "Код типу документу" вставляется код для обменного файла "код 2" (Списки\Виды документов подтверждающих личность)? Насколько я понимаю, должен вставлятся другой код - код для регистрационной карточки "код 1" (из того же окна). Как переделать отчёт, что вставлялся именно код 1, а не код 2?

Re: Вопросы по базам данных в отчётных формах.

Додано: 09 вересня 2008, 18:02
NickS
NTD писав:Подскажите, когда печатаются регистрационные карточки для физического лица, например такие отчёты:
"Регистрационная карточка 2007.frf" (новый тип карточек) и "Регистрационная карточка.frf" (старый тип карточек)
Почему в первой табличке, в столбику "Код типу документу" вставляется код для обменного файла "код 2" (Списки\Виды документов подтверждающих личность)? Насколько я понимаю, должен вставлятся другой код - код для регистрационной карточки "код 1" (из того же окна). Как переделать отчёт, что вставлялся именно код 1, а не код 2?


Да, Вы правы. Вставляет именно код2, а не код1. Это так потому что в этих отчётах в первой табличке используется бенд с базой данных DM1.qbCardUser, в которой есть поле "UserTypeDoc" - это код2, кода1 там нет. А чтобы изменить его на код1. нужно добавить скрипт к этому текстовому обьекту:
TypeDoc := '';

If [LOCATEDATA( 'DM1.QsPeople', 'ID_People', [DM1.qbCardUser."ID_People"])] = true then
If [LOCATEDATA( 'DM2.TbTypeDoc', 'ID_TypeDoc', [DM1.QsPeople."ID_TypeDoc"])] = true then
TypeDoc := [DM2.TbTypeDoc."NameSmall1"];

А вместо [DM1.qbCardUser."UserTypeDoc"] изменить на [TypeDoc]. Тоесть просто вывести сформированную переменную.

Re: Вопросы по базам данных в отчётных формах.

Додано: 09 вересня 2008, 18:05
NTD
Готово! :)
Если не трудно, расшифруйте условия, пожалуйста!
(что то вроде человек заполнен и его паспортные данные заполнены?)

Re: Вопросы по базам данных в отчётных формах.

Додано: 09 вересня 2008, 18:07
NickS
NTD писав:Готово! :)
Если не трудно, расшифруйте условия, пожалуйста!
(что то вроде человек заполнен и его паспортные данные заполнены?)

TypeDoc := '';

If [LOCATEDATA( 'DM1.QsPeople', 'ID_People', [DM1.qbCardUser."ID_People"])] = true then
If [LOCATEDATA( 'DM2.TbTypeDoc', 'ID_TypeDoc', [DM1.QsPeople."ID_TypeDoc"])] = true then
TypeDoc := [DM2.TbTypeDoc."NameSmall1"];

Сначала. Мы печатаем текущую карточку пользователя. Это база DM1.qbCardUser. Раньше мы просто вставляли из этой базы поле DM1.qbCardUser."UserTypeDoc"... но это, как вы сказали, не проходит. Чтобы вывести код1 нам нужно связать эту базу. Сначала из базы физических лиц достать нужного пользователя, а потом вид его документа.

В базе DM1.qbCardUser есть код нужного пользователя "ID_People". Находим этого пользователя:
If [LOCATEDATA( 'DM1.QsPeople', 'ID_People', [DM1.qbCardUser."ID_People"])] = true then

Если нашли. В базе текущего пользователя DM1.QsPeople есть код документа "ID_TypeDoc" Находим этот вид документа в базе типов документов DM2.TbTypeDoc:
If [LOCATEDATA( 'DM2.TbTypeDoc', 'ID_TypeDoc', [DM1.QsPeople."ID_TypeDoc"])] = true then

Теперь мы из этой базы спокойно можем вытянуть поле "код1" :
TypeDoc := [DM2.TbTypeDoc."NameSmall1"];

Re: Вопросы по базам данных в отчётных формах.

Додано: 17 грудня 2008, 14:18
VVV
Подскажите пожалуйста, какими програмными продуктами можна ещё открыть базы (LDF MDF) для просмотра графического материала, помимо ГИСа?

Re: Вопросы по базам данных в отчётных формах.

Додано: 19 грудня 2008, 11:18
NickS
VVV писав:Подскажите пожалуйста, какими програмными продуктами можна ещё открыть базы (LDF MDF) для просмотра графического материала, помимо ГИСа?

На самом деле в базах данных нет графического материала. Там есть данные о земельном участке, документах, физ и юр лицах и т.д. Или Вы о плане? Если о плане, примитивах и косметических слоях, то на самом деле они сохраняются в базе данных не ввиде графики, а как координаты точек и свойства точек в виде sql-таблиц (все данные программы так сохраняются, кроме проекта карты и её внешних слоёв). Просмотреть эти данные можно с помощью любой программы, которая может получить доступ к sql-серверу. Например это стандартные утилиты сервера (у MSSQL Server 2000 - это утилита Enterprise Manager). В них можно смотреть данные полей и даже коректировать их. Но чтобы из набора данных составлять объекты и просматривать в виде графики, нужно знать саму структуру и звязи таблиц.
А зачем собственно вам просматривать графически? Структуру наших баз данных знает только наша программа. Если нужно эти данные перенести на другой компьютер или в другую программу, существует экспорт. ;)

Re: Вопросы по базам данных в отчётных формах.

Додано: 16 лютого 2011, 15:17
BITEK
Вопрос! В отчетной форме Кадастровый план "новая форма" в Экспликации земельных участков не отображается площадь прибудинкової території :cry:

Re: Вопросы по базам данных в отчётных формах.

Додано: 17 лютого 2011, 10:26
NickS
BITEK писав:Вопрос! В отчетной форме Кадастровый план "новая форма" в Экспликации земельных участков не отображается площадь прибудинкової території :cry:

Это была ошибка в отчётной форме. Спасибо, что подсказали!
Исправил. Качайте:
http://www.gis.org.ua/download/gis6/gis6_reports0250.zip

Re: Вопросы по базам данных в отчётных формах.

Додано: 17 лютого 2011, 16:18
BITEK
Все равно ошибка. В колонке "прибудинкова територія (двір)" пишет всю площадь, и не вытягивает "під будинками та спорудами"

Re: Вопросы по базам данных в отчётных формах.

Додано: 17 лютого 2011, 16:49
NickS
BITEK писав:Все равно ошибка. В колонке "прибудинкова територія (двір)" пишет всю площадь, и не вытягивает "під будинками та спорудами"

Вы точно скачали новую версию и заменили её на ту, что в папочке C:\Program Files\GIS6\Reports ?
Если не выходит, свяжитесь с нами и передайте этот участок в архиве, чтобы мы проверили именно на Ваших данных