ООО "ЛесИС" - ГИС TOPOL-L для лесного хозяйства, лесоустройства и арендаторов лесного фонда
ООО "ЛесИС" - ГИС TOPOL-L для лесного хозяйства, лесоустройства и арендаторов лесного фонда
lesis@ya.ru
+7(916)615-42-77

ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L

Объявление

Для участия в работе закрытой, технической части форума нужно быть пользователем ГИС TopoL-L2 (10.0) и Зарегистрироваться!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L » РАБОТА С ТАКСАЦИОННЫМИ БАЗАМИ ДАННЫХ И НСИ » Ошибка при выводе таксационного описания


Ошибка при выводе таксационного описания

Сообщений 1 страница 33 из 33

1

При выводе таксационного описания вылазит ошибка:
List index out of bounds (1)
Пытался найти причину, выводил ТО частями. Нашел где застревает, изменил номер выдела перебил. Теперь та же ошибка на другом выделе, выдела все без ошибок. Собрал таксационку частями. Потом решил вывести полностью на весь участок но без проблемного выдела, опять ошибка. Значит причина не в характеристике выделов. Вопрос, в чем?

2

ИльинДА написал(а):

Вопрос, в чем?

Явно в базе.

3

А что именно, контроль существенных ошибок не выдает!

4

ИльинДА написал(а):

А что именно, контроль существенных ошибок не выдает!

Вы серьезно думаете, что по Вашей информации можно поставить диагноз заочно? Мой ответ зеркален Вашему вопросу. Изучайте проблему по схеме, набросанной нами в тексте "Как задать вопрос". Программа выдала Вам возможную причину: "List index out of bounds"  - "Список индексов за пределами границ". И Ваши действия это подтверждают:

ИльинДА написал(а):

Нашел где застревает, изменил номер выдела перебил. Теперь та же ошибка на другом выделе

Вспоминайте как и чем создавали или редактировали базу... проверяйте при "перебивке" нет ли в номере выдела чего то лишнего, пробелов, например... сравнивайте структуры и типы полей своей и демо-базы... Я не знаю что еще добавить не зная, что Вы с ней делали. То, что имела место не стандартная работа - очевидно.

5

Здравствуйте! 
Столкнулись с тем что в таксационном описание, во всех выделах выводится информация по склону - "склон" , даже в тех выделах где нет склона в базе данных! По иным регионам, лесничествам такая особенность не проявляется - все корректно! С ходу решить проблему не удалось. С чем это может быть связано?

6

Vladimir написал(а):

С чем это может быть связано?

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

7

А в справочнике есть строка с пустым значением для незаполненных полей?

8

Дмитрий Александрович написал(а):

А в справочнике есть строка с пустым значением для незаполненных полей?

Да. В справочнике была первая строчка с пустыми значениями, удалив ее, все нормализовалось.
Мы анализировали справочник, видели пустую строчку, но значения этому не придал - в большинстве справочников, такая строчка присутствует.  Спасибо!!!

9

Можно ли настроить что бы топол выводил  в таксационном описании запас не в дес.кбм а просто в кбм?

10

molchun написал(а):

Можно ли настроить что бы топол выводил  в таксационном описании запас не в дес.кбм а просто в кбм?

Поиском "в таксационном описании запас" можно найти много ссылок с ответом на вопрос. Решение зависит от того, где у Вас определен запас в декастрах - в базе или в настройках ТО. Поэтому наиболее полный ответ тут:
http://lesis.mybb.ru/viewtopic.php?id=520#p6021

11

Здравствуйте!
В таксационном описании по 21 макету выводится два раза устойчивость. В базе данных ошибку не видим. Макет 21 только один. В поле устойчивости одно значение.  Но ошибка явно в базе данных, так как в ведомости тоже две устойчивости. Удалив 21 макет и набрав заново, ошибка исчезает. Встречается примерно в 90 шт выделах. Как то исправить разово во все выделах возможно? Как так получилось, что бы избежать в дальнейшем?
В Тополе 6.8 была возможность, переупаковать, обновить таксационную базу данных. Подобные глюки исправлялись.
При запуске программа сообщает об ошибке  "EAccessViolation".

12

Vladimir написал(а):

В таксационном описании по 21 макету выводится два раза устойчивость. В базе данных ошибку не видим. Макет 21 только один.

Вообще-то существование в доп. макетах двух и более одинаковых макетов описаний в системе разрешено. На практике мы встречали ситуации, когда в описании выдела было более одного описания Особенностей [23] или несколько описаний разных Повреждений насаждений [], поэтому требовать уникальности макетов было некорректно. Система не заблокирует и ввод в одном макете двух одинаковых параметров, для макета
[23] это нормально.

У Вас какая ситуация: два одинаковых макета или в одном макете два одинаковых параметра? Если первый вариант (два макета) - вы должны видеть оба. Если второй (два параметра), в режиме "Карточки такс." Вы это не увидите, но увидите в режиме "Повыд. такс."

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

Уточните, какой у Вас вариант повторов, я поищу решение, если это возможно сделать групповой операцией.

13

Дмитрий Александрович написал(а):

Вообще-то существование в доп. макетах двух и более одинаковых макетов описаний в системе разрешено.

Согласен

Дмитрий Александрович написал(а):

Уточните, какой у Вас вариант повторов

У нас в одном выделе один 21 макет. И устойчивость естественно стоит один показатель, два прописать просто невозможно. В таксационном описание выводит 21 макет тоже один раз, но устойчивость два раза, друг за другом с разными показателями.

14

Vladimir написал(а):

У нас в одном выделе один 21 макет. И устойчивость естественно стоит один показатель, два прописать просто невозможно. В таксационном описание выводит 21 макет тоже один раз, но устойчивость два раза, друг за другом с разными показателями.

Фрагмент с экрана приведите.

15

Юрий написал(а):

Фрагмент с экрана приведите.

http://forumupload.ru/uploads/0017/fb/db/23/t794924.jpg
http://forumupload.ru/uploads/0017/fb/db/23/t193755.jpg

16

В ТО ошибка - два раза идёт печать устойчивость насаждений - в первом случае берёт правильное значение, а во втором - из пятой графы, предназначенной, для проходимости...
Совет. на демо-регионе смодулируйте. в любоим выделе заполните эти же значения, и выложите сюда результат.

17

Спасибо! С участником форума (Алексей) по электронной почте разобрались.

У нас действительно в базе встречаются лишние строки в 21-м макете их можно увидеть если включить в интерфейсе режим "повыдельная таксация".

Программа позволяет в ручном режиме добавить хоть сколько особенностей с любым номером в любой макет, так например можно прямо в этом окне добавить еще парочку биологических устойчивостей, и все они вылезут в таксационке, они будут видны в повыдельной таксации, но их не будет видно в режиме "карточка таксации", там будет только какое-то одно из этих значений, скорее всего первое.

18

Vladimir написал(а):

Как то исправить разово во все выделах возможно?

Ищите это значение в макете поиском.
Не сбрасывая выборку удаляете параметр.
Вводите новый параметр и применяете его к выборке. Должно срабатывать.

Юрий написал(а):

В ТО ошибка - два раза идёт печать устойчивость насаждений - в первом случае берёт правильное значение, а во втором - из пятой графы, предназначенной, для проходимости...

Так а эта ошибка есть? Или она ушла после удаления дублей?

19

Юрий написал(а):

В ТО ошибка - два раза идёт печать устойчивость насаждений - в первом случае берёт правильное значение, а во втором - из пятой графы, предназначенной, для проходимости...

Нет, эта ошибка не проявляется.

20

Vladimir написал(а):

У нас действительно в базе встречаются лишние строки в 21-м макете их можно увидеть если включить в интерфейсе режим "повыдельная таксация".

Ну я же про это уже писал, читайте внимательно!

Если нужно удалить только одно конкретное значение, то можно воспользоваться функцией:
- отобрать выделы, где есть проблема дублирования параметра;
- использовать функцию "Удалить доп. описания в макете по значению в выбр. выделах ...", там можно указать, какое именно значение должно быть удалено.

Это позволяет автоматически удалить одни значения в макете, сохранив другие.

21

Дмитрий Александрович написал(а):

Ну я же про это уже писал, читайте внимательно!

Спасибо! Да вы тоже писали об этом.

22

Добрый вечер! 

С неправильно заполненных карточек таксации, в 10 макете была нарушена очередность ярусов, сформирована база данных.  Например между 1 и 2 ярусами вклинился 9 ярус.  9 ярус мог идти первым среди ярусов. Соответственно и в таксационное описание яруса выводятся в том же порядке как были "набиты". Исправление очередности ярусов на вкладке "повыдельная таксация" ситуацию меняет только в базе данных на вкладках Карточка таксации  и повыдельная таксация. В таксационное описание яруса по-прежнему  выводятся в том же порядке как были "набиты".
В тополе 6.8, если ничего не путаю, "руками" не было необходимости расставлять очередность ярусов. Переупаковка, переиндексация БД решала проблему.

Можно ли как-то исправить / задать очередность ярусов в БД разом? Или как в нашем случае, таких выделов мало исправить "руками", что  бы в таксационном описании выводились яруса в той последовательности, как отображаются в базе данных?

23

Vladimir написал(а):

В тополе 6.8, если ничего не путаю, "руками" не было необходимости расставлять очередность ярусов.

Мы уже десять лет не занимаемся 6-кой и Ваш отсыл к ней никак не проясняет Вашу ситуацию. Но думаю, что путаете - в 6-ке ввод ярусов также осуществлялся в той же последовательности, в которой Вы набиваете. Более того, в отличие от 10-ки породы нумеровались сквозным способом - одна нумерация на все яруса. Поэтому:

Vladimir написал(а):

Переупаковка, переиндексация БД решала проблему.

никак не могла без ручной работы решить проблему ошибки ввода последовательности ярусов, так как это штатная операция ремонта баз данных, которая восстанавливала индексы, удаляла помеченные записи, а значение пользовательских полей никак не меняла, а именно они определяли порядок.

Vladimir написал(а):

Можно ли как-то исправить / задать очередность ярусов в БД разом? Или как в нашем случае, таких выделов мало исправить "руками"

Руками ничего не надо править. Для этого есть глобальная замена, описано тут:
http://www.lesis.ru/infot/les_find.html
Например, в Вашем случае с 9-м ярусом.
Ищите по условию "9 ярус есть =да" + "Номер яруса >0". Программа найдет все 9-е яруса и проставит в "Номер яруса" (далее "НЯ") галочку - признак отбора. Теперь можете поменять "НЯ" на любой номер больше чем номер любого имеющегося в БД яруса в любом выделе. Например, если Вы знаете, что у Вас максимальное количество ярусов в выделах равно 4, то меняете на 5.  И затем штатно по правой кнопке на "Номер яруса" в этом выделе кликаете "Установить это значение во всех выбранных".  Затем включаете внизу под деревом режим "Искать помеченные" и стрелкой вниз пробегаете по замененным выделам - убеждаетесь, что ничего не перепутали и замена произошла. Теперь ярус 9 всегда в конце.
Если в последовательности исполнитель допустил полную кашу, то возможно придется искать номера парами. Например, НЯ 9-го яруса =1, а потом "Поиском в найденном" ищите НЯ 1-го яруса >0 и меняете НЯ 9-й на максимально возможный свободный номер, а НЯ 1-го на 1. Затем следующие варианты - тут все зависит от степени хаоса...

Vladimir написал(а):

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

Это вопрос алгоритма последовательности вывода данных в ОТЧЕТЕ. К БД это не имеет отношения. Попрошу посмотреть программистов.

24

Грешнов написал(а):

Попрошу посмотреть программистов.

Бегло посмотрел - в запросе по ярусам в файле TaxOps.xml сортировка по номеру яруса числится:

  ORDER BY v.KvrNom, v.KatZasch, v.VydNom, i.IarusNom, p.PorodaNom

25

Дмитрий Александрович написал(а):

Бегло посмотрел - в запросе по ярусам в файле TaxOps.xml сортировка по номеру яруса числится:

Тем не менее, если поменять номер яруса в интерфейсе, то его порядок в нем меняется, а в отчете "Таксационное описание" остается прежним. Возможно, где то в теле исходника отчета сидит еще какая то сортировка.

26

В 820-й декларовано исправление, но пока не сработало.
Подождите пробовать. Пересоберем еще раз и напишем тут.

27

Грешнов написал(а):

В 820-й декларовано исправление, но пока не сработало.

Исправлено в 822 версии, выложена. Визуализация порядка следования ярусов при его изменении пока требует временного переключения режима на Карточку таксации и обратно. Можно это сделать  в конце работы, т.к. на результат не влияет.

28

Грешнов написал(а):

Исправлено в 822 версии, выложена. Визуализация порядка следования ярусов при его изменении пока требует временного переключения режима на Карточку таксации и обратно. Можно это сделать  в конце работы, т.к. на результат не влияет.

Спасибо!

29

Грешнов написал(а):

Визуализация порядка следования ярусов при его изменении пока требует временного переключения режима на Карточку таксации и обратно

Учтено в 823 версии. Сортируется автоматически при сохранении.

30

Здравствуйте! Возникла ошибка при выводе таксационного описания. С чем она может быть связана?http://forumupload.ru/uploads/0017/fb/db/91/t236801.jpg

Пост написан 25.10.2023 10:56:53

31

Если бы Вы вбили в поиске "Несоответствие типа в выражении" то нашли бы ответ на похожий вопрос:
См. пункт 6.
Проверили бы состояние точки и сказали бы нам о результатах. Если нет - то нужно анализировать базу данных - как формировали... импорт... ввод... контроль... Вносили ли изменения в xml файл настроек ТО... Возможно, где то сидят данные не соответствующие ожидаемым в модуле формирования таксационного описания. Вместо числа символ, вместо точки запятая...
Метод поиска конкретных выделов, на которых можно изучить проблему  мы Вам уже подсказывали:
В теме, где у Вас также было какое то несоответствие данных (...not integer value), но по результатам Вы так и не отписались.
Более короткий путь к описанию поиска проблем методом половинок тут.
Также почитайте тему
Как задать вопрос.К сожалению, мы не ясновидящие и по одному скриншоту понять что Вы сделали не так не сможем.

32

Добрый день. При контроле БД Топол выдает такую ошибку:
1 104 2 Некорректное значение высоты или диаметра.

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

После закрытия вопроса сообщения будут перенесены в тему контроля или импорта.

Пост написан 05.02.2024 14:29:12

33

Ivan_B написал(а):

и возможно ли это поправить сразу на все лесничество, а не править каждый выдел.

Для этого нужно понять проблему.

Ivan_B написал(а):

Подскажите с чем это может быть связано?

По такому минимуму информации мы ничего не сможем сказать. Только по самим базам можно поставить диагноз. Вам нужно анализировать и экспериментировать с источником данных. Если это был импорт, то что за данные - мог как то повлиять формат файла, самих данных, разделителя дробной части, наличие пробелов... да мало ли что.
Если не разберетесь присылайте образец, как это описано тут:
http://lesis.mybb.ru/pages/kak_zadat_vopros
см. пункт 4.8
Посмотрим в отладчике.


Вы здесь » ФОРУМ ТЕХПОДДЕРЖКИ ГИС TOPOL-L » РАБОТА С ТАКСАЦИОННЫМИ БАЗАМИ ДАННЫХ И НСИ » Ошибка при выводе таксационного описания



Почтовый адрес для ЗАКАЗНЫХ писем:
С.П.Грешнов, +7(916)615-42-77, 108832, А/Я №1
НЕ ИСПОЛЬЗОВАТЬ курьерскую доставку!!!
E-Mail: lesis@ya.ru
Вопросы общего характера:
+7(916)615-42-77
РОССИЙСКАЯ ФЕДЕРАЦИЯ
Общество с ограниченной ответственностью "ЛЕСИС"
ОГРН: 1035007204902, ИНН: 5036046400, КПП: 503601001