Имя: Пароль:
1C
1C 7.7
v7: непонятки с записью документа (через "Попытку")
,
0 vova1122
 
26.04.13
17:51
Делаю загрузку документов из Экселя. Тоисть в Экселе есть куча разных документов за некий период. Хочу красиво оформить.
Но не получается.
Намеренно вызвал ошибку:

Не заполнен реквизит Единица в строке 1!
Документ Прих. накл. (товары) №2248       от 15.03.13 не проводится!

Если НомРядкаСлед<=ТЧНомРядка тогда
  Попытка
     Док.Записать();
  исключение
     ТаблицаОшибок.НоваяСтрока();
     ТаблицаОшибок.Ошибки="Документ № "+ НомДок+ " от "+Датадок+ " нельзя записать. "+ ОписаниеОшибки();
     ТаблицаОшибок.КодОшибки=1;
     УдачнаПерев=0;
  КонецПопытки;
 
  Если СтатусДок="Проведен" тогда
   Попытка
     Док.Провести();
  исключение  
     ТаблицаОшибок.НоваяСтрока();
     ТаблицаОшибок.Ошибки="Документ № "+ НомДок+ " от "+Датадок+ " не проводится. "+ ОписаниеОшибки();
     ТаблицаОшибок.КодОшибки=2;
     УдачнаяПров=0;
  КонецПопытки;      
  КонецЕсли;      
КонецЕсли;
КонецЦикла;

Но почему-то "Исключение" в "Попытке" не отрабатывает....
1 vova1122
 
26.04.13
17:53
Тоисть  УдачнаяПров=1.
2 Эльниньо
 
26.04.13
17:58
Что за объект - Тоисть?
3 vova1122
 
26.04.13
18:00
Я имеюю в виду что УдачнаяПров=1. (в смысле в "Исключение не заходит, чтобы присвоить переменной  "УдачнаяПров" значение 0)
4 NS
 
26.04.13
18:01
Метод провести() - возвращает результат.
5 vova1122
 
26.04.13
18:02
(4) тобто "Исключения" никогда не произойдет?
6 NS
 
26.04.13
18:03
(5) Конечно не произойдет. У тебя же не ошибка, а всего-лишь сообщить() в модуле проведения.
7 vova1122
 
26.04.13
18:06
(6) а можно как-то красиво оформить, чтобы в случае неудачного проведения отрабатыволось то, что в "Исключении"?
8 NS
 
26.04.13
18:08
а=1/Док.провести(); :)
9 vova1122
 
26.04.13
18:11
(8) частично может подойти. Только ОписаниеОшибки() будет не то, что мне нужно....
10 NS
 
26.04.13
18:12
(9) Как ты можешь получить описание ошибки, если никакой ошибки нет?!
11 vova1122
 
26.04.13
18:18
(10) Я понял.   Придется довольствоваться тем, что есть....
12 Злопчинский
 
26.04.13
21:01
(11) капец какой-то - после неудачной записи документа вместо того чтобы свалит в сторону - ты идешь дальше на попытку проведения...
.
если Док.Проведен()=0
Тогда
что-то когда плохо
13 hhhh
 
27.04.13
08:36
(11) а это

    УдачнаПерев=0;

что за чудопеременная?
14 zak555
 
27.04.13
08:40
(0) что ты в цикле пишешь ?
17 Rie
 
модератор
27.04.13
09:13
(15), (16) Флуд в тематической ветке?
19 vova1122
 
28.04.13
15:57
(12) Согласен, Исправлюсь...
(13) Переменная: УдачнаяПров (ошибся в написании)
(14) В цикле читаю строки Екселя, и создаю нужные документы
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс