|
Помогите разобраться с Попытка/Исключение/КонецПопытки; | ☑ | ||
---|---|---|---|---|
0
LeoKeyn
23.10.17
✎
15:09
|
Не могу понять, пытаюсь создать новый документ и стадию Документ.Записать() помещаю в Попытку. Но выходит не понятная мне на этом этапе ошибка. Код;
<code>Попытка Документ.Записать(); Сообщение = Новый СообщениеПользователю; Сообщение.Текст = Счетчик+". Документ "+Документ.НомерДоговора+" от "+Документ.Дата+" успешно создан"; Сообщение.КлючДанных = Документ.Ссылка; Сообщение.Сообщить(); Исключение Сообщение = Новый СообщениеПользователю; Сообщение.Текст = Счетчик+". Документ "+Документ.НомерДоговора+" от "+Документ.Дата+" не удалось записать. "+ОписаниеОшибки(); Сообщение.КлючДанных = Документ.Ссылка; Сообщение.Сообщить(); КонецПопытки;</code> В итоге мне выдается такая ошибка: {ВнешняяОбработка.ЗагрузкаДокументовБУХ.МодульОбъекта(93,14)}: Обнаружено логическое завершение исходного текста модуля КонецПопытки<<?>> (Проверка: Сервер) Никаких лишних ";" в конце процедур нет. Голову уже сломал, помогите кто знает, пожалуйста :) |
|||
1
LeoKeyn
23.10.17
✎
15:10
|
А главное, забыл добавить, если убрать конструкцию попытки, то ошибка не выходит в других местах. А значит, я так думаю, закралась у меня ошибка именно в этой Попытке :)
|
|||
2
Сергиус
23.10.17
✎
15:18
|
(0)После КонецПопытки должна быть ;
|
|||
3
ejikbeznojek
23.10.17
✎
15:20
|
||||
4
ejikbeznojek
23.10.17
✎
15:23
|
(3) Полностью скопипастил твой текст.
Добавив 2 строчки перед твоим текстом Документ=Документы.МониторингПодробный.ПустаяСсылка().ПолучитьОбъект(); Счетчик=1; у меня не ругается |
|||
5
LeoKeyn
23.10.17
✎
15:24
|
(3) Так вот оно и должно по идее работать, но не выходит именно в моей обработке) Значит сделал ошибки где то раньше получается?
|
|||
6
Fedor-1971
23.10.17
✎
15:24
|
(0) измени: Срока(Счетчик)
Сообщение.КлючДанных = Документ.Ссылка; - т.е. ты хочешь нечто сообщить в привязке к созданному документу? (3) так в (2) сказали "поставь ; после КонецПопытки". И да, это кусок текста, проверь что ДО Попытка, там точно ";" в конце строки есть? |
|||
7
1c_July
23.10.17
✎
15:24
|
(3) +1
Автору можно попробовать в его коде закомментировать все в попытке, кроме обрамляющих строк "попытка-исключение-конецпопытки" - если синтакс-контроль пройдет - раскомментировать по одной и проверять. Ошибка вообще в неожиданном месте может оказаться. |
|||
8
ejikbeznojek
23.10.17
✎
15:26
|
(5)
А что у тебя в строчке 93? .МодульОбъекта(93,14) |
|||
9
LeoKeyn
23.10.17
✎
15:26
|
(8) КонецПопытки;
|
|||
10
LeoKeyn
23.10.17
✎
15:27
|
(7) Попробовал. Все равно выходит та же ошибка
|
|||
11
Ёпрст
23.10.17
✎
15:28
|
(10)
; поставь |
|||
12
Ёпрст
23.10.17
✎
15:28
|
ну и больше текста
|
|||
13
1c_July
23.10.17
✎
15:28
|
(10) в какой момент? когда еще пустая конструкция попытка-исключение-..?
|
|||
14
Ёпрст
23.10.17
✎
15:29
|
кода.
|
|||
15
LeoKeyn
23.10.17
✎
15:29
|
Для Счетчик = 1 По ВсегоСтрок Цикл
Документ = Документы.АЭ_ЗаймПредоставленный.СоздатьДокумент(); Документ.Номер = Строка(); Документ.ДатаДокумента = ; Документ.Организация = Справочники.Организации.НайтиПоНаименованию(Строка()); Документ.Ответственный = Справочники.Пользователи.НайтиПоНаименованию(Строка()); Документ.Комментарий = Строка(); Документ.РучнаяКорректировка = ; Документ.Подразделение = Справочники.Подразделения.НайтиПоНаименованию(Строка()); Документ.Заявка = Документы.АЭ_ЗаявкаНаПредоставлениеЗайма.НайтиПоНомеру(); Документ.ФинансовыйПродукт = Справочники.АЭ_ФинансовыеПродукты.НайтиПоНаименованию(Строка()); Документ.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Строка()); Документ.СрокЗайма = Число(); Документ.СрокЗаймаПериодичность = Перечисления["АЭ_ВидыДвижения"][Значение]; Документ.СуммаЗайма = Число(); Документ.Валюта = Справочники.Валюты.НайтиПоНаименованию(Строка()); Документ.ПроцентнаяСтавкаВид = Перечисления["АЭ_ВидыПроцентнойСтавки"][Значение]; Документ.ПроцентнаяСтавка = Число(); Документ.ПроцентнаяСтавкаПериодичность = Перечисления["АЭ_ПериодичностьПроцентнойСтавки"][Значение]; Документ.ПроцентнаяСтавкаВидСтавки = Справочники.АЭ_ВидыСтавок.НайтиПоНаименованию(Строка()); Документ.ПроцентнаяСтавкаПериодичностьИнтервалов = Перечисления["АЭ_ПериодичностьПлатежа"][Значение]; Документ.ВидПлатежаДляРасчетаГрафика = Перечисления["АЭ_ВидыПлатежейДляРасчетаГрафика"][Значение]; Документ.ПереноситьДатуПлатежаНаРабочийДень = ; Документ.ОсновнойДолгСпособПогашения = Перечисления["АЭ_СпособыПогашенияЗаймов"][Значение]; Документ.ОсновнойДолгПериодичностьПогашения = Перечисления["АЭ_ПериодичностьПлатежа"][Значение]; Документ.ОсновнойДолгКоличествоПериодичностейПогашения = Число(); Документ.ПроцентыСпособПогашения = Перечисления["АЭ_СпособыПогашенияЗаймов"][Значение]; Документ.ПроцентыПериодичностьПогашения = Перечисления["АЭ_ПериодичностьПлатежа"][Значение]; Документ.ПроцентыКоличествоПериодичностейПогашения = Число(); Документ.ДатаНачала = ; Документ.ДатаОкончания = ; Документ.ДеньПлатежа = Число(); Документ.ДополнительноеСоглашение = ; Документ.ОсновнойЗайм = Документы.АЭ_ЗаймПредоставленный.НайтиПоНомеру(Строка()); Документ.СпособВыдачиЗайма = Справочники.АЭ_ФормыОплатыЗаймов.НайтиПоНаименованию(Строка()); Документ.ОбеспеченныйЗайм = ; Документ.ИспользоватьКомиссии = ; Документ.НомерДоговора = Строка(); Документ.ДатаДоговора = ; Документ.Агент = Справочники.Контрагенты.НайтиПоНаименованию(Сторока)); Документ.ДоговорАгента = Документы.АЭ_АгентскийДоговорПоЗаймамПредоставленным.НайтиПоНомеру(); Документ.СпособПодачиЗаявления = Перечисления["АЭ_СпособыПодачиЗаявления"][Значение]; Документ.НазначениеЗайма = Справочники.АЭ_НазначенияЗаймов.НайтиПоНаименованию(Строка()); Документ.Реструктуризирован = ; Документ.ГруппаЗаймаРВПЗ = Перечисления["АЭ_ГруппыЗаймовРВПЗ"][Значение]; Документ.ИспользоватьЧленскиеВзносы = ; Документ.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(Строка()); Документ.ДоговорКредитаДепозита = Справочники.БНФОДоговорыКредитовИДепозитов.НайтиПоНаименованию(Строка()); Документ.ВидЗаймаБУ = Перечисления["АЭ_ГруппыСчетовПоЗаймам"][Значение]; Документ.ИспользоватьШтрафы = ; Документ.ГрафикПлатежейЗайма = Документы.АЭ_ГрафикПлатежейЗаймаПредоставленного.НайтиПоНомеру(); Документ.ОбеспеченныйЗаймЗалоги = ; Документ.ОбеспеченныйЗаймПоручительство = ; Документ.ОбеспеченныйЗаймБанковскаяГарантия = ; Документ.ПроцентнаяСтавкаНеСоответствуетРыночной = ; Документ.РыночнаяПроцентнаяСтавка = Число(); Документ.СрокДоговораБолееГода = ; Документ.РазницаАСпоЭСПсущественна = ; Документ.МетодРасчетаПроцентов = Перечисления["АЭ_МетодыРасчетаПроцентовВРеглУчете"][Значение]; Документ.ФормаОплаты = Справочники.АЭ_ФормыОплатыЗаймов.НайтиПоНаименованию(Строка()); Документ.БанковскийСчетКонтрагента = Справочники.БанковскиеСчета.НайтиПоНаименованию(Строка()); Документ.ЛьготныйПериодПросрочки = Число(); Документ.Нерезидент = ; Документ.Идентификатор = Строка(); Документ.ПлатежВПоследнийДеньМесяца = ; Документ.ОбособленныйУчетДопСоглашений = ; Документ.РасчетыВУсловныхЕдиницах = ; Документ.ПроцентнаяСтавкаПредставление = Строка(); Документ.ВидДополнительногоСоглашения = Справочники.АЭ_ВидыДополнительныхСоглашенийЗаймов.НайтиПоНаименованию(Строка()); Документ.Менеджер = Справочники.ФизическиеЛица.НайтиПоНаименованию(Строка()); Документ.БазаРасчетаПроцентов = Перечисления["АЭ_БазыРасчетаНачислений"][Значение]; Документ.ПрофильРаспределенияОплат = Справочники.АЭ_ПрофилиРаспределенияПлатежей.НайтиПоНаименованию(Строка()); Попытка //Документ.Записать(); //Сообщение = Новый СообщениеПользователю; //Сообщение.Текст = Счетчик+". Документ "+Документ.НомерДоговора+" от "+Документ.Дата+" успешно создан"; //Сообщение.КлючДанных = Документ.Ссылка; //Сообщение.Сообщить(); Исключение //Сообщение = Новый СообщениеПользователю; //Сообщение.Текст = Счетчик+". Документ "+Документ.НомерДоговора+" от "+Документ.Дата+" не удалось записать. "+ОписаниеОшибки(); //Сообщение.КлючДанных = Документ.Ссылка; //Сообщение.Сообщить(); КонецПопытки; КонецЦикла; |
|||
16
Гипервизор
23.10.17
✎
15:29
|
(0) Возможно где-то присутствует КонецПроцедуры; или КонецФункции;
|
|||
17
LeoKeyn
23.10.17
✎
15:29
|
(15) Вот полный код процедуры(она единственная в модуле объекта)
|
|||
18
LeoKeyn
23.10.17
✎
15:30
|
(16) Про это прочел, и десять раз убедился, что такого нет)
|
|||
19
LeoKeyn
23.10.17
✎
15:30
|
(13) Даже при пустой
|
|||
20
Timon1405
23.10.17
✎
15:30
|
//Сообщение.Текст = Счетчик+". Документ "+Документ.НомерДоговора+" от "+Документ.Дата+" успешно создан";
Сообщение.Текст = ""+Счетчик+". Документ "+Документ.НомерДоговора+" от "+Документ.Дата+" успешно создан"; |
|||
21
LeoKeyn
23.10.17
✎
15:32
|
Ну и еще вопросик) Логично ли так заполнять новый документ или есть более оптимальный способ. Увы через запрос придумать не смог :( Не осуждайте, я пытаюсь как можно быстрее учиться :)
|
|||
22
mehfk
23.10.17
✎
15:33
|
(15) Что за бред ?
Документ.ДатаНачала = ; Документ.ДатаОкончания = ; Документ.ДеньПлатежа = Число(); Документ.ДополнительноеСоглашение = ; |
|||
23
Гипервизор
23.10.17
✎
15:33
|
А вот такие конструкции вида:
"Документ.ДатаНачала = ;" - это нормально?? |
|||
24
Ёпрст
23.10.17
✎
15:34
|
>>>
Документ.ПроцентнаяСтавка = Число(); Очень оригинально |
|||
25
LeoKeyn
23.10.17
✎
15:35
|
(22) (23) Извините, я понимаю, что выглядет глупо. Это заготовка под загрузку (пока не в курсе откуда вообще грузить Excel dbf или еще что). простите за такую глупость)
|
|||
26
1c_July
23.10.17
✎
15:35
|
(15) если закомментировать все что выше попытки внутри цикла - у меня синтакс-контроль проходит. пробовать заполнять пустышки - неохота, попробуйте также и раскомментировать по кусочку - в какой момент появится ошибка отследить
|
|||
27
Ёпрст
23.10.17
✎
15:36
|
>>>
Документ.ВидПлатежаДляРасчетаГрафика = Перечисления["АЭ_ВидыПлатежейДляРасчетаГрафика"][Значение]; Очень современно, модно, мролодежно! |
|||
28
LeoKeyn
23.10.17
✎
15:37
|
(26) то есть вся проблема где-то в заполнении? и проверить точно получится(нормально) когда получу и начну нормально грузить документы? Хорошо, спасибо большое всем за помощь.
P.S. спасибо в принципе за этот форум и за ответы. Очень часто нахожу тут ответы на свои вопросы :) тему создал первый раз |
|||
29
LeoKeyn
23.10.17
✎
15:37
|
(27) я вычитал, что так можно :) а что не так?)
|
|||
30
LeoKeyn
23.10.17
✎
15:38
|
(27) В теории даже проверил на работоспособность(получаю нужную ссылку)
|
|||
31
1c_July
23.10.17
✎
15:38
|
(25) так это не для конфиденциальности "упрощено"? и что же, без попытки это ошибок не выдавало? в таком виде про конецпопытк это должна быть ошибка где-то в конце большого списка других - надо смотреть верх списка :)
|
|||
32
LeoKeyn
23.10.17
✎
15:40
|
(31) да, естественно туча ошибок, но они в полне ясны и понятно из-за чего вылезли. А вот эта сильно смутила :) больше спортивный интерес понять, чем крайне критично на самом деле :) Поэтому спасибо всем еще раз за участие :)
|
|||
33
LeoKeyn
23.10.17
✎
15:41
|
(31) И упрощено потому что мне сказали надо сделать, а откуда и как пока не известно)
|
|||
34
1c_July
23.10.17
✎
15:41
|
(32) очень вероятно, что она уйдет, когда другие исправите
|
|||
35
LeoKeyn
23.10.17
✎
15:42
|
(34) Ну тогда остается смотреть на практике и надеяться) спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |