Привет ребята! Всех с Новым годом, с новым рабочим годом, желаю всем успехов во всех ваших начинаниях в этом году:)
Я столкнулась с такой ситуацией, у нас есть база 8.2
При создании (при проведении) документа и заполнения ТЧ происходит создание строки в справочнике, нужно чтобы если отменяют проведение и в справочнике удалялась данная строка, делаю так:
Я столкнулась с такой ситуацией, у нас есть база 8.2
При создании (при проведении) документа и заполнения ТЧ происходит создание строки в справочнике, нужно чтобы если отменяют проведение и в справочнике удалялась данная строка, делаю так:
Процедура ОбработкаУдаленияПроведения(Отказ)
Для каждого стр Из ТЧПоступление Цикл
Если стр.ТипТехники = Перечисления.ТипТехники.Компьютер Тогда
Спр=Справочники.КарточкаКомпьютера.Выбрать();
Если не ЗначениеЗаполнено(стр.СерийныйНомер) и стр.СерийныйНомер =спр.Код тогда
СпрОб = Спр.ПолучитьОбъект();
СпрОб.Удалить();
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) так тебе прямо карточку компьютера физически удалить нужно ?
Так ты ищи нужную карточку по серийному номеру.
вместо
тебе надо
найдется то удаляй
Так ты ищи нужную карточку по серийному номеру.
вместо
Спр=Справочники.КарточкаКомпьютера.Выбрать();
тебе надо
Спр =Справочники.КарточкаКомпьютера.НайтиПоКоду(Стр.СерийныйНомер);
найдется то удаляй
В чем вопрос? Код очень не оптимальный.
+ Непонятно:
Открывается выборка по справочнику и стоит условие на одну неспозиционированную запись.
+ Непонятно:
Спр=Справочники.КарточкаКомпьютера.Выбрать();
Если не ЗначениеЗаполнено(стр.СерийныйНомер) и стр.СерийныйНомер =спр.Код тогда
СпрОб = Спр.ПолучитьОбъект();
СпрОб.Удалить();
КонецЕсли;
Открывается выборка по справочнику и стоит условие на одну неспозиционированную запись.
Вообще-то можно и запросец написать, но, похоже, это пока рано.
Тогда как-то так
Тогда как-то так
Процедура ОбработкаУдаленияПроведения(Отказ)
Для каждого стр Из ТЧПоступление Цикл
Если стр.ТипТехники = Перечисления.ТипТехники.Компьютер Тогда
Спр=Справочники.КарточкаКомпьютера.Выбрать();
НайденоВСправочнике = Справочники.КарточкаКомпьютера.НайтиПо(не знаю по чему найти, автору виднее)
Если НайденоВСправочнике <> Неопределено Тогда
Если не ЗначениеЗаполнено(стр.СерийныйНомер) и стр.СерийныйНомер =спр.Код тогда
СпрОб = НайденоВСправочнике.ПолучитьОбъект();
СпрОб.Удалить();
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот