|
Удалить документ механически | ☑ | ||
---|---|---|---|---|
0
НатГолубева777
09.12.20
✎
15:28
|
Подскажите, пожалуйста, как сделать чтобы на моменте строки кода "ЭтотОбъект.Удалить();" не выдавало ошибку?
Вот код: Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РезервированиеТоваровСЯчеек.Заказ.Ссылка |ИЗ | Документ.РезервированиеТоваровСЯчеек КАК РезервированиеТоваровСЯчеек |ГДЕ | РезервированиеТоваровСЯчеек.Заказ.Ссылка = &Заказ"; Запрос.УстановитьПараметр("Заказ", ДанныеЗаполнения.Ссылка); РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда // Заполнение шапки Комментарий = ДанныеЗаполнения.Комментарий; Контрагент = ДанныеЗаполнения.Контрагент; НомерЗаказа = ДанныеЗаполнения.Номер; Заказ = ДанныеЗаполнения.Ссылка; Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл НоваяСтрока = ТоварыПоЗаказу.Добавить(); НоваяСтрока.ЕдИзм = ТекСтрокаТовары.ЕдиницаИзмерения; НоваяСтрока.Количество = ТекСтрокаТовары.Количество; НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура; НоваяСтрока.Скидка = ТекСтрокаТовары.ПроцентСкидкиНаценки; НоваяСтрока.Сумма = ТекСтрокаТовары.Сумма; НоваяСтрока.Характеристика = ТекСтрокаТовары.ХарактеристикаНоменклатуры; НоваяСтрока.Цена = ТекСтрокаТовары.Цена; // НоваяСтрока.Ячейка = ТекСтрокаТовары.Ячейка; КонецЦикла; КонецЕсли; Иначе Предупреждение ("На основании этого заказа уже был создан документ *Резервирование товаров по ячейкам*!"); ЭтотОбъект.Удалить(); КонецЕсли; //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ КонецПроцедуры |
|||
1
Fragster
гуру
09.12.20
✎
15:30
|
ВызватьИсключение
|
|||
2
Злопчинский
09.12.20
✎
15:30
|
(0) обернуть в исключение, в обработке исключения ошибку не выдавать. ПРОФИТ!
|
|||
3
ДенисЧ
09.12.20
✎
15:32
|
Ммм.... В обработке заполнения ЭтотОбъект.Удалить() ???
Это что, как Мюнхгаузен, только наоборот? |
|||
4
Fragster
гуру
09.12.20
✎
15:33
|
||||
5
Злопчинский
09.12.20
✎
15:33
|
(3) не! вытащить себя - это проблематично, а вот утопиться - это нараз!
|
|||
6
Fragster
гуру
09.12.20
✎
15:33
|
но вообще название темы доставляет, да :)
|
|||
7
Fragster
гуру
09.12.20
✎
15:34
|
советую автору поучаствовать в OFF: Мисс/миссис бюст мисты 2020 (отбор) + пазлик. Призовой фонд 30501 руб
|
|||
8
dmpl
09.12.20
✎
15:38
|
(0) Во-первых, если документ создавать не надо - это делается через Отказ при создании документа. Во-вторых, такой запрет - это костыли. А если в первом документе не все зарезервировали по заказу? Ну не все пришло, например. Что, давать доступ на неоперативное проведение и править старый документ? А он проведется старой датой?
|
|||
9
НатГолубева777
09.12.20
✎
15:45
|
СПАСИБО... вызвала исключение...
|
|||
10
polosov
09.12.20
✎
16:06
|
Вам смешно, а кто-то за такое деньги платит.
|
|||
11
Гений 1С
гуру
09.12.20
✎
16:16
|
обменданными.загрузка = истина? не
|
|||
12
youalex
09.12.20
✎
16:22
|
(11) не
|
|||
13
Serg_1960
09.12.20
✎
16:27
|
Что автор собирается удалять, если объект ещё не записан в базу?
Если Не ЭтотОбъект.ЭтоНовый() Тогда ЭтотОбъект.Удалить(); КонецЕсли: |
|||
14
trad
09.12.20
✎
16:28
|
(9) можно еще так сделать
//ЭтотОбъект.Удалить(); |
|||
15
Serg_1960
09.12.20
✎
16:34
|
(14) Не корректно если обработчик был вызван через ЭтотОбъект.Заполнить()
PS: имхо, хотелки у автора странные. |
|||
16
Fragster
гуру
09.12.20
✎
16:36
|
(15) нормальные хотелки, проблема с формулировкой. вон, даже в стандартах разработки есть, см. (4)
|
|||
17
Serg_1960
09.12.20
✎
16:39
|
(16) Я про саму попытку удаления, а не про вызов исключения.
|
|||
18
Джинн
09.12.20
✎
17:29
|
Механически - это поверхность жесткого диска наждачной бумагой снять.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |