Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Крах системы при работе с деревом значений          
GwM_1956 Подменю пользователя
сообщение 16.10.13, 7:40
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Есть документ, табличное поле на форме документа, значение - ДеревоЗначений, тип - Дерево. Интерактивно формируем список номенклатуры в виде дерева (по аналогии с набором для продажи), т.е. Номенклатура1 - это узел, номенклатура2...4 = это состав узла. Все работает нормально, никаких проблем. При попытке создать узел следующего уровня - крах системы, создается дамп памяти и все.
Подобным образом написанная обработка работает без всяких ограничений по глубине вложения узлов...
Что делать? голова кругом идет, начальство жаждет крови!!!!

Vofka Подменю пользователя
сообщение 16.10.13, 7:50
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Ну вы б пример какой-то состряпали, чтоб на типовой какой-нить проверить можно было у себя.

logist Подменю пользователя
сообщение 16.10.13, 7:59
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(GwM_1956 @ 16.10.13, 8:40) *
Подобным образом написанная обработка работает без всяких ограничений по глубине вложения узлов...

Потому, что обработка не хранит данные в базе, и поэтому не содержит ограничений на количество строк. А табличная часть документа, которая хранит данные в базе, имеет ограничение на 99 999 строк. Возможно это и есть причина вашей проблемы, иначе это баг платформы, обращайтесь в суппорт 1С.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

GwM_1956 Подменю пользователя
сообщение 16.10.13, 9:10
Сообщение #4

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 16.10.13, 7:50) *
Ну вы б пример какой-то состряпали, чтоб на типовой какой-нить проверить можно было у себя.


Показать кусок кода?

Vofka Подменю пользователя
сообщение 16.10.13, 9:18
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Цитата(GwM_1956 @ 16.10.13, 10:10) *
Показать кусок кода?

Покажите. Тока так, чтоб он не выбрасывал ошибок в какой-то типовой конфе. Запущу, проверю. Если отработает - будем знать, что именно с кодом все нормально.

GwM_1956 Подменю пользователя
сообщение 16.10.13, 11:32
Сообщение #6

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 16.10.13, 9:18) *
Покажите. Тока так, чтоб он не выбрасывал ошибок в какой-то типовой конфе. Запущу, проверю. Если отработает - будем знать, что именно с кодом все нормально.


Процедура КоманднаяПанельДеревоЗаявкиДобавитьВСтроку(Кнопка)
    
    //НоваяСтрока = ЭлементыФормы.ТабличноеПолеДеревоЗаявки.ТекущаяСтрока.Строки.Добавить();
    мИдентификаторТекущейСтроки     = ЭлементыФормы.ТабличноеПолеДеревоЗаявки.ТекущиеДанные.ПолныйАдресВДеревеСтруктуры;
    СтрокаТекущегоУзла                            = ДеревоЗаявки.Строки.Найти(мИдентификаторТекущейСтроки, "ПолныйАдресВДеревеСтруктуры", Истина);
    мСтрокаДеревоЗаявки                    = СтрокаТекущегоУзла.Строки.Добавить();        
    
КонецПроцедуры


 ! 

Правила, п. 12
 


Конфигурация - Бухгалтерия типовая для украины, 1.2.13.4
Платформа - 8.2.18.109 /

Сообщение отредактировал logist - 16.10.13, 12:13

logist Подменю пользователя
сообщение 16.10.13, 12:17
Сообщение #7

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

ДеревоЗаявки.Строки.Найти возвращает строку. Соответственно, что бы добавить надо использовать СтрокаТекущегоУзла.Добавить();


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Vofka Подменю пользователя
сообщение 16.10.13, 12:37
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

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

Цитата(logist @ 16.10.13, 13:17) *
ДеревоЗаявки.Строки.Найти возвращает строку. Соответственно, что бы добавить надо использовать СтрокаТекущегоУзла.Добавить();

Выше все правильно написано. У строки нету метода Добавить().

Сообщение отредактировал Vofka - 16.10.13, 12:38

GwM_1956 Подменю пользователя
сообщение 16.10.13, 13:21
Сообщение #9

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 16.10.13, 13:17) *
ДеревоЗаявки.Строки.Найти возвращает строку. Соответственно, что бы добавить надо использовать СтрокаТекущегоУзла.Добавить();

к большому сожалению, у строки нет такого метода "Метод объекта не обнаружен (Добавить)"...
Метод "добавить" существует только у коллекции строк... Увы

Сообщение отредактировал Vofka - 16.10.13, 13:43

GwM_1956 Подменю пользователя
сообщение 16.10.13, 15:28
Сообщение #10

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 16.10.13, 12:37) *
GwM_1956, то что вы выложили код и озвучили конфу - это хорошо, но куда мне этот код вставить, чтобы воспроизвести ошибку? Если это какая-то обработка - выложите саму обработку, чтобы можно было открыть, запустить и посмотреть что произойдет. Попробуйте на копии базы сделать тестирование/исправление или на любой другой базе попробовать запустить то, что вы написали.


Выше все правильно написано. У строки нету метода Добавить().


Уважаемый Vofka !
В том то и весь прикол, что в обработке аналогичный код работает без проблем, хоть до десятого уровня вложения... А в документе - нет, как вынуть документ, я честно говоря, не знаю...
ТиИ, проверка самой базы утилиткой, выгрузка-загрузка ничего не дали, увы

Vofka Подменю пользователя
сообщение 16.10.13, 15:53
Сообщение #11

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

А что находится в переменной СтрокаТекущегоУзла ? И что такое ДеревоЗаявок?

logist Подменю пользователя
сообщение 16.10.13, 17:26
Сообщение #12

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(GwM_1956 @ 16.10.13, 16:28) *
в обработке аналогичный код работает без проблем

Выложите где-то обработку, и дайте ссылку. Иначе это разговор немого с глухими.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Vofka Подменю пользователя
сообщение 16.10.13, 18:58
Сообщение #13

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Цитата(logist @ 16.10.13, 18:26) *
Выложите где-то обработку

Толку от обработки? Там все работает smile.gif

logist Подменю пользователя
сообщение 17.10.13, 8:44
Сообщение #14

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Vofka @ 16.10.13, 19:58) *
Толку от обработки?

Ну CF с документом тогда, который ошибку выдает. Почему обработку прошу, судя по коду приведенному выше, у меня есть сомнения, что и обработка работает.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

GwM_1956 Подменю пользователя
сообщение 17.10.13, 15:58
Сообщение #15

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

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

Огромное всем спасибо еще раз

Vofka Подменю пользователя
сообщение 17.10.13, 16:21
Сообщение #16

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Так а че вываливалось то?

alex040269 Подменю пользователя
сообщение 17.10.13, 20:52
Сообщение #17

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

похоже на бесконечную рекурсию


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

GwM_1956 Подменю пользователя
сообщение 18.10.13, 8:11
Сообщение #18

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(alex040269 @ 17.10.13, 20:52) *
похоже на бесконечную рекурсию


Вы правы, судя по всему это была бесконечная рекурсия, насколько я понимаю, стек вызовов переполнялся - но почему это не отловила сама 1С ? Неужели нет механизма собственной защиты? Чудеса разработчиков

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 14.06.24, 0:05
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!