![]() |
![]() |
|
обращение | ☑ | ||
---|---|---|---|---|
0
Vasus55
26.01.12
✎
14:16
|
у меня такой вопрос как можно обойти такой нюанс???
есть табличное поле в него выгружены данные запроса с документов, при нажатии на кнопку с помощью ТекущиеДанные нахожу выбранный документ и удаляю из базы, но как только дело доходит до последней строки выскаивает ошибка, но при этом документ все равно удаляется из базы Значение не является значением объектного типа (Организация) орган=ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Организация; как можно переловить эту ошибку??? |
|||
1
Vasus55
26.01.12
✎
14:16
|
может быть вопрос глупый, но все таки...
|
|||
2
Wobland
26.01.12
✎
14:23
|
о чём заголовок? а удалять непосредственно - зло
|
|||
3
le_
26.01.12
✎
14:24
|
Вероятно, ошибка возникает уже после того, как удаляется последняя строка и ТекущиеДанные становится равным Неопределено. А у Неопределено нет организации.
Добавь условие: Если ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные <> Неопределено Тогда
|
|||
4
Vasus55
26.01.12
✎
14:24
|
(2) может быть как то по другому можно обращаться к табличному полю в моем случае?
|
|||
5
Wobland
26.01.12
✎
14:26
|
(4) смысл этого присвоения поясни плз
|
|||
6
Vasus55
26.01.12
✎
14:28
|
потом поэтому реквизиту осуществляю поиск по документам!
|
|||
7
Wobland
26.01.12
✎
14:30
|
а делать присвоение _до_ не догадался? пытаешься присвоить NULL^W то, чего нет
|
|||
8
Vasus55
26.01.12
✎
14:30
|
(3) все равно та жа самая ошибка((
|
|||
9
Wobland
26.01.12
✎
14:30
|
и вообще, имхается мне, что эта организация совсем не только в текущих данных живёт. и вообще, пахнет какой-то ересью это всё
|
|||
10
Vasus55
26.01.12
✎
14:32
|
ну вот код, только сильно не бейте...
// удаляем документ из базы Если ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные <> Неопределено Тогда строка=ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные.Организация; ТекстВопроса = "Удалить клиента из базы?!"; Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ОК); Если Ответ = КодВозвратаДиалога.ОК Тогда док=Документы.ОбслуживаемыеКлиенты.НайтиПоРеквизиту("Контрагент",строка); док.ПолучитьОбъект().Удалить(); КонецЕсли; // удаляем с ТП данные ТабличноеПоле1.Удалить(ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока); ЭлементыФормы.ТабличноеПоле1.ОбновитьСтроки(); ТабличноеПоле3.Очистить(); ТабличноеПоле4.Очистить(); // удаляем соотвествующий элемент справочника спр=Справочники.Организации; НайденныйЭлемент=спр.НайтиПоНаименованию(строка); ОбъектСправ=НайденныйЭлемент.ПолучитьОбъект(); ОбъектСправ.Удалить(); КонецЕсли; |
|||
11
le_
26.01.12
✎
14:33
|
(10) Мне для статистики: ты программист, менеджер, бухгалтер, админ или так, мимо проходил?
|
|||
12
Wobland
26.01.12
✎
14:34
|
док=Документы.ОбслуживаемыеКлиенты.НайтиПоРеквизиту("Контрагент",строка);
док.ПолучитьОбъект().Удалить(); сколько документов по контрагенту останется после этого? |
|||
13
Wobland
26.01.12
✎
14:35
|
что думаешь делать, когда поиск не найдёт?
|
|||
14
Vasus55
26.01.12
✎
14:40
|
(11) ну то что либо так.. просто мне это интересно и хочу научиться...
|
|||
15
Vasus55
26.01.12
✎
14:43
|
(12)у меня по каждому контрагенту всегда только один документ создается, он мне какую строку я выбрал тот документ и удаляет...
|
|||
16
Wobland
26.01.12
✎
14:43
|
(14) учись: УстановитьПометкуУдаления()
|
|||
17
Vasus55
26.01.12
✎
14:43
|
(13) не соображу....((
|
|||
18
Wobland
26.01.12
✎
14:44
|
(15) всегда? ограничения программные или организационные? во втором случае - не аргумент.
|
|||
19
Vasus55
26.01.12
✎
14:47
|
(18)1)ну сколько пробывал удалять всегда было все верно
и вся проблема в этих текущих данных(((( |
|||
20
Vasus55
26.01.12
✎
14:48
|
(18) как бы вы в моем случае поступили?
|
|||
21
Wobland
26.01.12
✎
14:50
|
(20) пробовал бы с буквой О писал. задачу опиши или постучись в аську, я ухожу
|
|||
22
Vasus55
26.01.12
✎
15:04
|
(21)добавляюся!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |