|
Как повесить клиент при отладке или же сложно о простом | ☑ | ||
---|---|---|---|---|
0
mayet
14.08.18
✎
21:26
|
Здравствуйте, сегодня уперся в очень неприятную ситуацию
&НаСервере Функция ИмпортироватьОбъект(Путь) Текст = Новый ЧтениеТекста; Текст.Открыть(Путь); ИмяДокумента = ""; ит = 0; Стр = " "; Пока Стр <> Неопределено Цикл Стр = Текст.ПрочитатьСтроку(); Если ит = 0 тогда Если Стр = "#Метаданные:" тогда ИмяКонф = Текст.ПрочитатьСтроку(); ВерсияКонф = Текст.ПрочитатьСтроку(); Если Метаданные.Имя = ИмяКонф тогда Если Метаданные.Версия = ВерсияКонф Тогда Сообщить("Конфигурация и версия начальной и конечной базы совпадают"); Иначе Сообщить("Версии конфигураций начальной и конечной базы не совпадают" + "//"+ ИмяКонф+":"+ВерсияКонф); КонецЕсли; Иначе Сообщить("Конфигурации начальной и конечной базы не совпадают" + "//"+ ИмяКонф+":"+ВерсияКонф); КонецЕсли; ИмяДокумента = Текст.ПрочитатьСтроку(); Сообщить(ИмяДокумента); КонецЕсли; КонецЕсли; Если Стр = "#Реквизиты:" тогда Сообщить("Реквизиты найдены"); Попытка НовыйДок = Документы[имяДокумента].СоздатьДокумент(); Пока (Стр = Текст.ПрочитатьСтроку()) <> неопределено или Стр <> "#Табличные части:" Цикл Попытка НовыйДок[Лев(Стр, Найти(Стр, "=")-1)] = Прав(Стр, Найти(стр, "=" + 1)); Исключение Сообщить("Ошибка при разборе реквизитов"); КонецПопытки; КонецЦикла; Исключение Сообщить("Документ в текущей конфигурации не найден"); Возврат null; КонецПопытки; КонецЕсли; ит = ит + 1; КонецЦикла; Текст.Закрыть(); Возврат НовыйДок; КонецФункции Эта чудесная и страшная функция полностью подвешивает клиент в котором выполняется. Предположительно все строки из файла находит, в отладочной печати эта функция ничего не выводит, подскажите, где зациклился? |
|||
1
Cyberhawk
14.08.18
✎
21:33
|
Остановить отладчик и посмотреть текущую строку не судьба?
|
|||
2
Доминошник
14.08.18
✎
21:36
|
(0) Если "играть в угадайку", я бы задумался об этом условии цикла
Пока (Стр = Текст.ПрочитатьСтроку()) <> неопределено или Стр <> "#Табличные части:" Цикл |
|||
3
H A D G E H O G s
14.08.18
✎
21:37
|
Проблема в 3 местах, они уже могут быть Неопределено
ИмяКонф = Текст.ПрочитатьСтроку(); ВерсияКонф = Текст.ПрочитатьСтроку(); ИмяДокумента = Текст.ПрочитатьСтроку(); |
|||
4
H A D G E H O G s
14.08.18
✎
21:37
|
Ну а в целом - проблема в рукопопости.
|
|||
5
tesseract
14.08.18
✎
23:15
|
(4) Там еще и СОКЛП нигде нет и возврат null в центре цикла, и прочее и прочее.
|
|||
6
mayet
15.08.18
✎
14:33
|
Доминошник, Большое спасибо! Действительно забыл что в условии ни в каком случае нельзя манипулировать переменными
|
|||
7
Вафель
15.08.18
✎
14:34
|
(6) это тебе не ява какая нибудь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |