|
Ошибка "Выполнение операции невозможно, так как строка была удалена" | ☑ | ||
---|---|---|---|---|
0
alexshape
18.12.17
✎
11:23
|
Привет всем, такая вот ошибка, и все это после того как я в цикле перебираю строки в модуле объекта документа, и в определенный момент выполняю метод Прочитать(); С чем может быть связанно?
|
|||
1
asady
18.12.17
✎
11:26
|
(0) код покажи - кривой скорее всего
|
|||
2
Lexey_
18.12.17
✎
11:26
|
(0) с тем, что строка не существует
|
|||
3
alexshape
18.12.17
✎
11:28
|
||||
4
igorPetrov
18.12.17
✎
11:29
|
(3) мдя...
|
|||
5
alexshape
18.12.17
✎
11:30
|
(4) есть идеи?
|
|||
6
igorPetrov
18.12.17
✎
11:31
|
(3) Что такое "Прочитать()"?
|
|||
7
alexshape
18.12.17
✎
11:31
|
(6) ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Прочитать (Read) Синтаксис: Прочитать() Описание: Считывает данные документа из базы данных. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Примечание: Позволяет прочесть данные заново. Недопустим для нового объекта. Пример: РасходнаяНакладная.Прочитать(); |
|||
8
vde69
модератор
18.12.17
✎
11:31
|
(3) код следует постить СЮДА а не ссылку на картинку
|
|||
9
alexshape
18.12.17
✎
11:32
|
(8) а какая разница?
|
|||
10
igorPetrov
18.12.17
✎
11:32
|
(7) Ну и? Что написано в справке и что у тебя?
|
|||
11
nordbox
18.12.17
✎
11:33
|
Внимательно код читай
Что ты собралась ЧИТАТЬ??? |
|||
12
igorPetrov
18.12.17
✎
11:33
|
(9) Потому, что твои картинки нах не нужны ни кому.
|
|||
13
alexshape
18.12.17
✎
11:33
|
(10) Если ты что не напрямую, то я просто в модуле объекта выполняюсь
|
|||
14
vicof
18.12.17
✎
11:33
|
"и в определенный момент выполняю метод Прочитать(); С чем может быть связанно?"
Ответ в вопросе. |
|||
15
nordbox
18.12.17
✎
11:34
|
ОбъектЗадача.Записать()
Прочитать() Это что??? |
|||
16
igorPetrov
18.12.17
✎
11:34
|
(13) И что из этого следует?
|
|||
17
igorPetrov
18.12.17
✎
11:34
|
(13) Читай справку к "Прочитать()"
|
|||
18
alexshape
18.12.17
✎
11:36
|
(12) Ты умеешь нормально выражать свои мысли? Я спросил в чем разница между картинкой и текстом, информативность одинаковая.
(11) В модуле объекта документа, я СОБРАЛСЯ читать документ |
|||
19
alexshape
18.12.17
✎
11:37
|
(15) Это я перечитываю документ, на случай если в задаче я изменю его, перезапишу и тд
|
|||
20
nordbox
18.12.17
✎
11:39
|
ОбъектЗадача.Записать()
ОбъектЗадача.Прочитать() а чо не вот так? |
|||
21
alexshape
18.12.17
✎
11:41
|
(20) Я нахожусь в модуле объекта Документа, и мне надо прочитать документ, а не задчу
|
|||
22
DmitrO
18.12.17
✎
11:42
|
(0)Это происходит потому, что при вызове Прочитать() перечитываются и пересоздаются в памяти все данные документа, в том числе и ТЧ, которую перебираешь.
Комиссия премии Дарвина берет на карандашик программистов, которые пишут такой код. |
|||
23
Табуретко
18.12.17
✎
11:45
|
нам за паяльником сходить или выложите весь код в студию?
|
|||
24
igorPetrov
18.12.17
✎
11:46
|
(21) Покажи пример вызова "Прочитать()" из справки.
|
|||
25
alexshape
18.12.17
✎
11:48
|
(23)
Процедура ОбработкаПроведения(Отказ, РежимПроведения) НужноЗаписать=Ложь; Если Состояние=Перечисления.CRM_ТипыСостоянийСобытий.Завершено тогда Для каждого стр Из Распоряжения Цикл Если стр.Задача.Выполнена=Ложь Тогда Отказ = Истина; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Для завершения все задачи в списке должны быть выполнены!"; Сообщение.Поле = ""; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); прервать; КонецЕсли; КонецЦикла; ИначеЕсли Распоряжения.Количество() > 0 И ( Состояние = Перечисления.CRM_ТипыСостоянийСобытий.Запланировано ИЛИ Состояние = Перечисления.CRM_ТипыСостоянийСобытий.ВРаботе)Тогда Для каждого стр Из Распоряжения Цикл Если ЗначениеЗаполнено(стр.Задача) Тогда Если НЕ стр.Задача.ПринятаКИсполнению И НЕ стр.Задача.Выполнена И (стр.Задача.Описание<>стр.Описание ИЛИ стр.Задача.Исполнитель<>стр.Исполнитель ИЛИ стр.Задача.ДатаНачала<>стр.ДатаНачала ИЛИ стр.Задача.СрокИсполнения<>стр.ДатаОкончания ИЛИ стр.Задача.Важность<>стр.Важность ИЛИ стр.Задача.Сложность<>стр.Сложность) Тогда ОбъектЗадача = стр.Задача.ПолучитьОбъект(); ОбъектЗадача.Предмет = Ссылка; ОбъектЗадача.ПредметСтрокой = CRM_БизнесПроцессыИЗадачиСервер.ПредметСтрокой(Ссылка); ОбъектЗадача.Автор = ПараметрыСеанса.ТекущийПользователь; ОбъектЗадача.Исполнитель = стр.Исполнитель; ОбъектЗадача.Наименование = "Распоряжение " + объектЗадача.ПредметСтрокой; ОбъектЗадача.Дата = ТекущаяДата(); ОбъектЗадача.ДатаНачала = стр.ДатаНачала; ОбъектЗадача.Описание = стр.Описание; ОбъектЗадача.CRM_Личная = Истина; ОбъектЗадача.Важность = стр.Важность; ОбъектЗадача.Сложность = Стр.Сложность; ОбъектЗадача.СрокИсполнения = стр.ДатаОкончания; Попытка ОбъектЗадача.Записать(); Исключение Отказ=Истина; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не удалось обновить информацию в задаче из "+Строка(стр.НомерСтроки)+" строки!"; Сообщение.Поле = ""; Сообщение.УстановитьДанные(); Сообщение.Сообщить(); КонецПопытки; КонецЕсли; продолжить; КонецЕсли; ОбъектЗадача = Задачи.ЗадачаИсполнителя.СоздатьЗадачу(); ОбъектЗадача.Предмет = Ссылка; ОбъектЗадача.ПредметСтрокой = CRM_БизнесПроцессыИЗадачиСервер.ПредметСтрокой(Ссылка); ОбъектЗадача.Автор = ПараметрыСеанса.ТекущийПользователь; ОбъектЗадача.Исполнитель = стр.Исполнитель; ОбъектЗадача.Наименование = "Распоряжение " + объектЗадача.ПредметСтрокой; ОбъектЗадача.Дата = ТекущаяДата(); ОбъектЗадача.ДатаНачала = стр.ДатаНачала; ОбъектЗадача.Описание = стр.Описание; ОбъектЗадача.CRM_Личная = Истина; ОбъектЗадача.Важность = стр.Важность; ОбъектЗадача.Сложность = Стр.Сложность; ОбъектЗадача.СрокИсполнения = стр.ДатаОкончания; ОбъектЗадача.АктивироватьИнтерактивно(); Попытка ОбъектЗадача.Записать(); Прочитать(); стр = Распоряжения.Получить(ИндексСтроки); стр.Задача = ОбъектЗадача.Ссылка; НужноЗаписать=Истина; Исключение отказ = Истина; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не удалось создать задачу по "+Строка(стр.НомерСтроки)+" строке"; Сообщение.Поле = ""; Сообщение.УстановитьДанные(); Сообщение.Сообщить(); КонецПопытки; КонецЦикла; КонецЕсли; Если НужноЗаписать Тогда Записать(РежимЗаписиДокумента.Запись); КонецЕсли; КонецПроцедуры |
|||
26
alexshape
18.12.17
✎
11:48
|
(24) Пример:
РасходнаяНакладная.Прочитать(); |
|||
27
alexshape
18.12.17
✎
11:49
|
(24) И для чего этот пример?
|
|||
28
alexshape
18.12.17
✎
11:50
|
(25)
стр = Распоряжения.Получить(ИндексСтроки); на Это не обращайте внимания, это я начал заплатку ставить, оригинальный код без этой строки |
|||
29
igorPetrov
18.12.17
✎
11:52
|
(26) А у тебя, что написано?
|
|||
30
alexshape
18.12.17
✎
11:53
|
(29) так я и так в модуле объекта, мне не нужна пресловутая "РасходнаяНакладная.", чтобы обратиться к . В это нет ошибки - это 100 %
|
|||
31
igorPetrov
18.12.17
✎
11:57
|
(30) Что говорит отладчик когда ты останавливаешься на строке
"стр = Распоряжения.Получить(ИндексСтроки);" ? |
|||
32
alexshape
18.12.17
✎
11:59
|
(31) Это строка не в счет, это я начал код править и Вам скинул, без это строки код смотреть надо
|
|||
33
igorPetrov
18.12.17
✎
12:00
|
(32) а какая в счет ? гадать будем?
|
|||
34
alexshape
18.12.17
✎
12:01
|
(33) все остальное в счет, не надо гадать я еще в (28) это сказал
|
|||
35
igorPetrov
18.12.17
✎
12:01
|
(34) если все не в счет, то где ошибка?
|
|||
36
igorPetrov
18.12.17
✎
12:02
|
(34) и да, см (22) читай внимательно.
|
|||
37
igorPetrov
18.12.17
✎
12:04
|
Интересные эти маленькие мальчики, которые не понимают основ и гнут пальчики свои. Типа крутые такие.
|
|||
38
nordbox
18.12.17
✎
12:06
|
(37) У тебя тема как называется??
>>Ошибка "Выполнение операции невозможно, так как строка была удалена" Может стоит мозги напрячь?? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |