Имя: Пароль:
1C
1С v8
v8: Почему может возникать ошибка времени выполнения?
0 RomaH
 
naïve
27.01.12
07:18
При записи набора данных регистра сведений
РС не подчинен и не периодический

описание ошибки так и выглядит - ошибка времени выполнения
запись происходит "внутри" записи бизнес-процесса из управляемой формы

Записать()
потом срабатывает перед записью объекта БП
1 RomaH
 
naïve
27.01.12
07:26
при этом с полными правами запись проходит (там перед записью набора еще куча кода (Документооборот))
остановка по ошибке - только два раза - на записи набора и на записи из формы (первоначальный вызов) - в итоге Ошибка что в данной транзакции уже происходили ошибки
2 RomaH
 
naïve
27.01.12
08:02
хм, не понимаю

нашел консрукцию:


Попытка

  Перезаписать()

Исключение

КонецПопытки


Процедура Перезаписать()

   БП.Записать();// тут вываливается на конец попытки но на ошибке не останавливается, если убираю попытку/исключение - ошибка остается такойже - т.е. попытка искллючение не влияет на итог

КонецПроцедуры
3 Cube
 
27.01.12
08:03
Исключение
  Сообщить(ОписаниеОшибки());
КонецПопытки
4 RomaH
 
naïve
27.01.12
08:15
ага - выдает - не достаточно прав доступа
а почему остановка по ошибке не срабатывает?
5 Cube
 
27.01.12
08:16
(4) Ошибки-то нет.
6 RomaH
 
naïve
27.01.12
08:27
(5) как это нет?
у меня всегда останавливается в попытке при взведенном флаге останавливаться по ошибке - это первый случай

...
ок продолжаю удивляться

такой код
Если ПеременнаяТипаМассив <> ПеременнаяТипаМассивДругая Тогда


1с умеет массивы сравнивать, или расчет именно на такую конструкцию

Массив1 = Новый Массив

Структура.Массив2 = Массив1

Если Массив1 <> Структура.Массив2 Тогда

?
7 Cube
 
27.01.12
08:28
(6) Ничего не понял :)
8 RomaH
 
naïve
27.01.12
08:44
(7) в документообороте есть код типа
Если ПеременнаяТипаМассив <> ПеременнаяТипаМассивДругая Тогда


это как - на что надеялись разработчики?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн