При выводе таксационного описания вылазит ошибка:
List index out of bounds (1)
Пытался найти причину, выводил ТО частями. Нашел где застревает, изменил номер выдела перебил. Теперь та же ошибка на другом выделе, выдела все без ошибок. Собрал таксационку частями. Потом решил вывести полностью на весь участок но без проблемного выдела, опять ошибка. Значит причина не в характеристике выделов. Вопрос, в чем?
Ошибка при выводе таксационного описания
Сообщений 1 страница 33 из 33
Поделиться113.12.2017 15:46:38
Поделиться213.12.2017 16:06:12
Вопрос, в чем?
Явно в базе.
Поделиться314.12.2017 08:47:51
А что именно, контроль существенных ошибок не выдает!
Поделиться414.12.2017 08:58:33
А что именно, контроль существенных ошибок не выдает!
Вы серьезно думаете, что по Вашей информации можно поставить диагноз заочно? Мой ответ зеркален Вашему вопросу. Изучайте проблему по схеме, набросанной нами в тексте "Как задать вопрос". Программа выдала Вам возможную причину: "List index out of bounds" - "Список индексов за пределами границ". И Ваши действия это подтверждают:
Нашел где застревает, изменил номер выдела перебил. Теперь та же ошибка на другом выделе
Вспоминайте как и чем создавали или редактировали базу... проверяйте при "перебивке" нет ли в номере выдела чего то лишнего, пробелов, например... сравнивайте структуры и типы полей своей и демо-базы... Я не знаю что еще добавить не зная, что Вы с ней делали. То, что имела место не стандартная работа - очевидно.
Поделиться519.12.2019 15:06:12
Здравствуйте!
Столкнулись с тем что в таксационном описание, во всех выделах выводится информация по склону - "склон" , даже в тех выделах где нет склона в базе данных! По иным регионам, лесничествам такая особенность не проявляется - все корректно! С ходу решить проблему не удалось. С чем это может быть связано?
Поделиться619.12.2019 23:20:06
С чем это может быть связано?
Склон выводится если в базе по нему есть данные. Могу лишь предположить, что если база создавалась не в Тополе... или не корректно импортировалась... или правилась внешними редакторами... то в нее могло попасть какое то невизуализируемое значение (пробел, например), Тополем не пропускаемое, но проходящее по фильтру формы таксационного описания.
Анализируйте возможные различия в содержимом баз.
Поделиться719.12.2019 23:58:45
А в справочнике есть строка с пустым значением для незаполненных полей?
Поделиться820.12.2019 11:08:20
А в справочнике есть строка с пустым значением для незаполненных полей?
Да. В справочнике была первая строчка с пустыми значениями, удалив ее, все нормализовалось.
Мы анализировали справочник, видели пустую строчку, но значения этому не придал - в большинстве справочников, такая строчка присутствует. Спасибо!!!
Поделиться926.02.2020 11:27:33
Можно ли настроить что бы топол выводил в таксационном описании запас не в дес.кбм а просто в кбм?
Поделиться1026.02.2020 15:01:57
Можно ли настроить что бы топол выводил в таксационном описании запас не в дес.кбм а просто в кбм?
Поиском "в таксационном описании запас" можно найти много ссылок с ответом на вопрос. Решение зависит от того, где у Вас определен запас в декастрах - в базе или в настройках ТО. Поэтому наиболее полный ответ тут:
http://lesis.mybb.ru/viewtopic.php?id=520#p6021
Поделиться1105.08.2020 19:01:09
Здравствуйте!
В таксационном описании по 21 макету выводится два раза устойчивость. В базе данных ошибку не видим. Макет 21 только один. В поле устойчивости одно значение. Но ошибка явно в базе данных, так как в ведомости тоже две устойчивости. Удалив 21 макет и набрав заново, ошибка исчезает. Встречается примерно в 90 шт выделах. Как то исправить разово во все выделах возможно? Как так получилось, что бы избежать в дальнейшем?
В Тополе 6.8 была возможность, переупаковать, обновить таксационную базу данных. Подобные глюки исправлялись.
При запуске программа сообщает об ошибке "EAccessViolation".
Поделиться1205.08.2020 21:32:12
В таксационном описании по 21 макету выводится два раза устойчивость. В базе данных ошибку не видим. Макет 21 только один.
Вообще-то существование в доп. макетах двух и более одинаковых макетов описаний в системе разрешено. На практике мы встречали ситуации, когда в описании выдела было более одного описания Особенностей [23] или несколько описаний разных Повреждений насаждений [], поэтому требовать уникальности макетов было некорректно. Система не заблокирует и ввод в одном макете двух одинаковых параметров, для макета
[23] это нормально.
У Вас какая ситуация: два одинаковых макета или в одном макете два одинаковых параметра? Если первый вариант (два макета) - вы должны видеть оба. Если второй (два параметра), в режиме "Карточки такс." Вы это не увидите, но увидите в режиме "Повыд. такс."
В режиме "Повыд. такс.", правда вручную, можно выбрав галочкой целый макет, его удалить, при этом удалится только один из двух. Если просто выделить строку лишнего описания и выбрать в контекстном меню "Удалить доп. описание", удалится только выделенная строка.
Уточните, какой у Вас вариант повторов, я поищу решение, если это возможно сделать групповой операцией.
Поделиться1306.08.2020 07:27:16
Вообще-то существование в доп. макетах двух и более одинаковых макетов описаний в системе разрешено.
Согласен
Уточните, какой у Вас вариант повторов
У нас в одном выделе один 21 макет. И устойчивость естественно стоит один показатель, два прописать просто невозможно. В таксационном описание выводит 21 макет тоже один раз, но устойчивость два раза, друг за другом с разными показателями.
Поделиться1406.08.2020 08:04:48
У нас в одном выделе один 21 макет. И устойчивость естественно стоит один показатель, два прописать просто невозможно. В таксационном описание выводит 21 макет тоже один раз, но устойчивость два раза, друг за другом с разными показателями.
Фрагмент с экрана приведите.
Поделиться1606.08.2020 10:04:17
В ТО ошибка - два раза идёт печать устойчивость насаждений - в первом случае берёт правильное значение, а во втором - из пятой графы, предназначенной, для проходимости...
Совет. на демо-регионе смодулируйте. в любоим выделе заполните эти же значения, и выложите сюда результат.
Поделиться1706.08.2020 11:52:37
Спасибо! С участником форума (Алексей) по электронной почте разобрались.
У нас действительно в базе встречаются лишние строки в 21-м макете их можно увидеть если включить в интерфейсе режим "повыдельная таксация".
Программа позволяет в ручном режиме добавить хоть сколько особенностей с любым номером в любой макет, так например можно прямо в этом окне добавить еще парочку биологических устойчивостей, и все они вылезут в таксационке, они будут видны в повыдельной таксации, но их не будет видно в режиме "карточка таксации", там будет только какое-то одно из этих значений, скорее всего первое.
Поделиться1806.08.2020 12:19:12
Как то исправить разово во все выделах возможно?
Ищите это значение в макете поиском.
Не сбрасывая выборку удаляете параметр.
Вводите новый параметр и применяете его к выборке. Должно срабатывать.
В ТО ошибка - два раза идёт печать устойчивость насаждений - в первом случае берёт правильное значение, а во втором - из пятой графы, предназначенной, для проходимости...
Так а эта ошибка есть? Или она ушла после удаления дублей?
Поделиться1906.08.2020 12:57:12
В ТО ошибка - два раза идёт печать устойчивость насаждений - в первом случае берёт правильное значение, а во втором - из пятой графы, предназначенной, для проходимости...
Нет, эта ошибка не проявляется.
Поделиться2006.08.2020 22:17:39
У нас действительно в базе встречаются лишние строки в 21-м макете их можно увидеть если включить в интерфейсе режим "повыдельная таксация".
Ну я же про это уже писал, читайте внимательно!
Если нужно удалить только одно конкретное значение, то можно воспользоваться функцией:
- отобрать выделы, где есть проблема дублирования параметра;
- использовать функцию "Удалить доп. описания в макете по значению в выбр. выделах ...", там можно указать, какое именно значение должно быть удалено.
Это позволяет автоматически удалить одни значения в макете, сохранив другие.
Поделиться2107.08.2020 07:39:27
Ну я же про это уже писал, читайте внимательно!
Спасибо! Да вы тоже писали об этом.
Поделиться2208.01.2021 17:42:27
Добрый вечер!
С неправильно заполненных карточек таксации, в 10 макете была нарушена очередность ярусов, сформирована база данных. Например между 1 и 2 ярусами вклинился 9 ярус. 9 ярус мог идти первым среди ярусов. Соответственно и в таксационное описание яруса выводятся в том же порядке как были "набиты". Исправление очередности ярусов на вкладке "повыдельная таксация" ситуацию меняет только в базе данных на вкладках Карточка таксации и повыдельная таксация. В таксационное описание яруса по-прежнему выводятся в том же порядке как были "набиты".
В тополе 6.8, если ничего не путаю, "руками" не было необходимости расставлять очередность ярусов. Переупаковка, переиндексация БД решала проблему.
Можно ли как-то исправить / задать очередность ярусов в БД разом? Или как в нашем случае, таких выделов мало исправить "руками", что бы в таксационном описании выводились яруса в той последовательности, как отображаются в базе данных?
Поделиться2308.01.2021 20:02:57
В тополе 6.8, если ничего не путаю, "руками" не было необходимости расставлять очередность ярусов.
Мы уже десять лет не занимаемся 6-кой и Ваш отсыл к ней никак не проясняет Вашу ситуацию. Но думаю, что путаете - в 6-ке ввод ярусов также осуществлялся в той же последовательности, в которой Вы набиваете. Более того, в отличие от 10-ки породы нумеровались сквозным способом - одна нумерация на все яруса. Поэтому:
Переупаковка, переиндексация БД решала проблему.
никак не могла без ручной работы решить проблему ошибки ввода последовательности ярусов, так как это штатная операция ремонта баз данных, которая восстанавливала индексы, удаляла помеченные записи, а значение пользовательских полей никак не меняла, а именно они определяли порядок.
Можно ли как-то исправить / задать очередность ярусов в БД разом? Или как в нашем случае, таких выделов мало исправить "руками"
Руками ничего не надо править. Для этого есть глобальная замена, описано тут:
http://www.lesis.ru/infot/les_find.html
Например, в Вашем случае с 9-м ярусом.
Ищите по условию "9 ярус есть =да" + "Номер яруса >0". Программа найдет все 9-е яруса и проставит в "Номер яруса" (далее "НЯ") галочку - признак отбора. Теперь можете поменять "НЯ" на любой номер больше чем номер любого имеющегося в БД яруса в любом выделе. Например, если Вы знаете, что у Вас максимальное количество ярусов в выделах равно 4, то меняете на 5. И затем штатно по правой кнопке на "Номер яруса" в этом выделе кликаете "Установить это значение во всех выбранных". Затем включаете внизу под деревом режим "Искать помеченные" и стрелкой вниз пробегаете по замененным выделам - убеждаетесь, что ничего не перепутали и замена произошла. Теперь ярус 9 всегда в конце.
Если в последовательности исполнитель допустил полную кашу, то возможно придется искать номера парами. Например, НЯ 9-го яруса =1, а потом "Поиском в найденном" ищите НЯ 1-го яруса >0 и меняете НЯ 9-й на максимально возможный свободный номер, а НЯ 1-го на 1. Затем следующие варианты - тут все зависит от степени хаоса...
что бы в таксационном описании выводились яруса в той последовательности, как отображаются в базе данных?
Это вопрос алгоритма последовательности вывода данных в ОТЧЕТЕ. К БД это не имеет отношения. Попрошу посмотреть программистов.
Поделиться2413.01.2021 01:57:33
Попрошу посмотреть программистов.
Бегло посмотрел - в запросе по ярусам в файле TaxOps.xml сортировка по номеру яруса числится:
ORDER BY v.KvrNom, v.KatZasch, v.VydNom, i.IarusNom, p.PorodaNom
Поделиться2513.01.2021 08:05:47
Бегло посмотрел - в запросе по ярусам в файле TaxOps.xml сортировка по номеру яруса числится:
Тем не менее, если поменять номер яруса в интерфейсе, то его порядок в нем меняется, а в отчете "Таксационное описание" остается прежним. Возможно, где то в теле исходника отчета сидит еще какая то сортировка.
Поделиться2617.01.2021 15:01:57
В 820-й декларовано исправление, но пока не сработало.
Подождите пробовать. Пересоберем еще раз и напишем тут.
Поделиться2718.01.2021 08:38:39
В 820-й декларовано исправление, но пока не сработало.
Исправлено в 822 версии, выложена. Визуализация порядка следования ярусов при его изменении пока требует временного переключения режима на Карточку таксации и обратно. Можно это сделать в конце работы, т.к. на результат не влияет.
Поделиться2818.01.2021 12:40:39
Исправлено в 822 версии, выложена. Визуализация порядка следования ярусов при его изменении пока требует временного переключения режима на Карточку таксации и обратно. Можно это сделать в конце работы, т.к. на результат не влияет.
Спасибо!
Поделиться2920.01.2021 14:54:10
Визуализация порядка следования ярусов при его изменении пока требует временного переключения режима на Карточку таксации и обратно
Учтено в 823 версии. Сортируется автоматически при сохранении.
Поделиться3126.10.2023 09:09:51
Если бы Вы вбили в поиске "Несоответствие типа в выражении" то нашли бы ответ на похожий вопрос:
См. пункт 6.
Проверили бы состояние точки и сказали бы нам о результатах. Если нет - то нужно анализировать базу данных - как формировали... импорт... ввод... контроль... Вносили ли изменения в xml файл настроек ТО... Возможно, где то сидят данные не соответствующие ожидаемым в модуле формирования таксационного описания. Вместо числа символ, вместо точки запятая...
Метод поиска конкретных выделов, на которых можно изучить проблему мы Вам уже подсказывали:
В теме, где у Вас также было какое то несоответствие данных (...not integer value), но по результатам Вы так и не отписались.
Более короткий путь к описанию поиска проблем методом половинок тут.
Также почитайте тему
Как задать вопрос.К сожалению, мы не ясновидящие и по одному скриншоту понять что Вы сделали не так не сможем.
Поделиться3206.02.2024 10:35:11
Добрый день. При контроле БД Топол выдает такую ошибку:
1 104 2 Некорректное значение высоты или диаметра.
ошибка пропадает только после того как вручную были введены те же значения.
Подскажите с чем это может быть связано? и возможно ли это поправить сразу на все лесничество, а не править каждый выдел.
После закрытия вопроса сообщения будут перенесены в тему контроля или импорта.
Пост написан 05.02.2024 14:29:12
Поделиться3306.02.2024 10:57:35
и возможно ли это поправить сразу на все лесничество, а не править каждый выдел.
Для этого нужно понять проблему.
Подскажите с чем это может быть связано?
По такому минимуму информации мы ничего не сможем сказать. Только по самим базам можно поставить диагноз. Вам нужно анализировать и экспериментировать с источником данных. Если это был импорт, то что за данные - мог как то повлиять формат файла, самих данных, разделителя дробной части, наличие пробелов... да мало ли что.
Если не разберетесь присылайте образец, как это описано тут:
http://lesis.mybb.ru/pages/kak_zadat_vopros
см. пункт 4.8
Посмотрим в отладчике.