Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
Есть документ, табличное поле на форме документа, значение - ДеревоЗначений, тип - Дерево. Интерактивно формируем список номенклатуры в виде дерева (по аналогии с набором для продажи), т.е. Номенклатура1 - это узел, номенклатура2...4 = это состав узла. Все работает нормально, никаких проблем. При попытке создать узел следующего уровня - крах системы, создается дамп памяти и все. Подобным образом написанная обработка работает без всяких ограничений по глубине вложения узлов... Что делать? голова кругом идет, начальство жаждет крови!!!!
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(GwM_1956 @ 16.10.13, 8:40)
Подобным образом написанная обработка работает без всяких ограничений по глубине вложения узлов...
Потому, что обработка не хранит данные в базе, и поэтому не содержит ограничений на количество строк. А табличная часть документа, которая хранит данные в базе, имеет ограничение на 99 999 строк. Возможно это и есть причина вашей проблемы, иначе это баг платформы, обращайтесь в суппорт 1С.
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7
Цитата(GwM_1956 @ 16.10.13, 10:10)
Показать кусок кода?
Покажите. Тока так, чтоб он не выбрасывал ошибок в какой-то типовой конфе. Запущу, проверю. Если отработает - будем знать, что именно с кодом все нормально.
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Vofka @ 16.10.13, 9:18)
Покажите. Тока так, чтоб он не выбрасывал ошибок в какой-то типовой конфе. Запущу, проверю. Если отработает - будем знать, что именно с кодом все нормально.
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7
GwM_1956, то что вы выложили код и озвучили конфу - это хорошо, но куда мне этот код вставить, чтобы воспроизвести ошибку? Если это какая-то обработка - выложите саму обработку, чтобы можно было открыть, запустить и посмотреть что произойдет. Попробуйте на копии базы сделать тестирование/исправление или на любой другой базе попробовать запустить то, что вы написали.
Цитата(logist @ 16.10.13, 13:17)
ДеревоЗаявки.Строки.Найти возвращает строку. Соответственно, что бы добавить надо использовать СтрокаТекущегоУзла.Добавить();
Выше все правильно написано. У строки нету метода Добавить().
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(logist @ 16.10.13, 13:17)
ДеревоЗаявки.Строки.Найти возвращает строку. Соответственно, что бы добавить надо использовать СтрокаТекущегоУзла.Добавить();
к большому сожалению, у строки нет такого метода "Метод объекта не обнаружен (Добавить)"... Метод "добавить" существует только у коллекции строк... Увы
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Vofka @ 16.10.13, 12:37)
GwM_1956, то что вы выложили код и озвучили конфу - это хорошо, но куда мне этот код вставить, чтобы воспроизвести ошибку? Если это какая-то обработка - выложите саму обработку, чтобы можно было открыть, запустить и посмотреть что произойдет. Попробуйте на копии базы сделать тестирование/исправление или на любой другой базе попробовать запустить то, что вы написали.
Выше все правильно написано. У строки нету метода Добавить().
Уважаемый Vofka ! В том то и весь прикол, что в обработке аналогичный код работает без проблем, хоть до десятого уровня вложения... А в документе - нет, как вынуть документ, я честно говоря, не знаю... ТиИ, проверка самой базы утилиткой, выгрузка-загрузка ничего не дали, увы
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(Vofka @ 16.10.13, 19:58)
Толку от обработки?
Ну CF с документом тогда, который ошибку выдает. Почему обработку прошу, судя по коду приведенному выше, у меня есть сомнения, что и обработка работает.
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
Спасибо всем, причину краха нашел - подсказало ваше предложение сделать CF с документом .... Суть ошибки - при рекурсивном подсчете количества строк в дереве (вывожу в заголовке закладки формы) передавался неверный параметр Причина ошибки - уставшие глаза, невнимательность и огромный модуль формы...
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(alex040269 @ 17.10.13, 20:52)
похоже на бесконечную рекурсию
Вы правы, судя по всему это была бесконечная рекурсия, насколько я понимаю, стек вызовов переполнялся - но почему это не отловила сама 1С ? Неужели нет механизма собственной защиты? Чудеса разработчиков
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!