|
пометка на удаление справочника при пометке документа
|
Я
|
|
falselight 28.09.16 - 06:43 | Нужно находить и помечать на удаление
элемент справочника, при пометке на удаление документа.
В какой процедуре это правильно сделать?
Я сделал вот так, так как не нащел другой процедуры:
Процедура СписокПередУстановкойПометкиУдаления(Элемент, Отказ)
ЭлементСпр = Справочники.А_ИерархияЗаказов.НайтиПоНаименованию(СокрЛП(Элемент.ТекущаяСтрока.Номер),Истина);
Если ЭлементСпр <> Справочники.А_ИерархияЗаказов.ПустаяСсылка() Тогда
ЭлементСпр.ПолучитьОбъект().ПометкаУдаления=Истина;
КонецЕсли;
КонецПроцедуры |
falselight 1 - 28.09.16 - 06:48 | (0+) но это как то криво, и срабатывает когда ещё не установили непосредственно пометку на удаление
|
Лиза777 2 - 28.09.16 - 07:07 | Так а почему ты в процедуру "перед пометкой" пишешь? Сделай после пометки
|
falselight 3 - 28.09.16 - 07:07 | точнее так
Процедура СписокПередУстановкойПометкиУдаления(Элемент, Отказ)
ЭлементСпр = Справочники.А_ИерархияЗаказов.НайтиПоНаименованию(СокрЛП(Элемент.ТекущаяСтрока.Номер),Истина);
Если ЭлементСпр <> Справочники.А_ИерархияЗаказов.ПустаяСсылка() Тогда
ЭлементСпр.ПолучитьОбъект().УстановитьПометкуУдаления(Истина);
КонецЕсли;
КонецПроцедуры |
falselight 4 - 28.09.16 - 07:07 | ( 2) а где такая процедура?
дело в том что я не увидел других процедур |
Рэйв 5 - 28.09.16 - 07:10 | В модуле документа в ПередЗаписью()
Если ПометкаУдаления Тогда
//---тут помечай элемент спр
Иначе
//тут снимай пометку элемента
КонецЕсли;
правда нафига это надо - непонятно |
Лиза777 6 - 28.09.16 - 07:11 | лучше в ПриЗаписи(). И проверять тут если стоит пометка на удаление, то и свою процедуру сюда пихай
|
falselight 7 - 28.09.16 - 07:15 | ( 5)( 6) а это будет срабатывать когда ставится пометка на удаление или снимается?
Это же будет при записи документа выполняться! |
Лиза777 8 - 28.09.16 - 07:16 | ( 7) когда сняли или поставили пометку на удаление происходит запись документа (чтобы зафиксировать тот факт, что он помечен на удаление). |
falselight 9 - 28.09.16 - 07:16 | ( 7) а ну да в ПриЗаписи, срабатывает когда ставишь пометку на удаление |
falselight 10 - 28.09.16 - 07:16 | |
Рэйв 11 - 28.09.16 - 07:16 | ( 7)Это будет срабатывать при любой записи документа.как считаешь , установка пометки записывает документ? |
falselight 12 - 28.09.16 - 07:23 | А если документ будут перезаписывать? Постоянно будет это срабатывать.
|
falselight 13 - 28.09.16 - 07:26 | так сделал в процедуре ПриЗаписи
Если ПометкаУдаления Тогда
ЭлементСпр = Справочники.А_ИерархияЗаказов.НайтиПоНаименованию(СокрЛП(Номер),Истина);
Если ЭлементСпр <> Справочники.А_ИерархияЗаказов.ПустаяСсылка() Тогда
ЭлементСпр.ПолучитьОбъект().УстановитьПометкуУдаления(Истина);
КонецЕсли;
Иначе
ЭлементСпр = Справочники.А_ИерархияЗаказов.НайтиПоНаименованию(СокрЛП(Номер),Истина);
Если ЭлементСпр <> Справочники.А_ИерархияЗаказов.ПустаяСсылка() Тогда
ЭлементСпр.ПолучитьОбъект().УстановитьПометкуУдаления(Ложь);
КонецЕсли;
КонецЕсли; |
CMblCL 14 - 28.09.16 - 07:50 | ( 13) Вам, что, за строчки кода доплачивают?
ЭлементСпр = Справочники.А_ИерархияЗаказов.НайтиПоНаименованию(СокрЛП(Номер),Истина);
Если ЭлементСпр <> Справочники.А_ИерархияЗаказов.ПустаяСсылка() Тогда
ЭлементСпр.ПолучитьОбъект().УстановитьПометкуУдаления(ПометкаУдаления);
КонецЕсли; |
Serg_1960 15 - 28.09.16 - 09:13 | Вообще-то, перед пометкой на удаление, неплохо бы проверить отметку - может быть объект уже помечен на удаление.
PS: Элемент.ТекущаяСтрока.Номер - это попахивает бредом. "Номер" - это номер строки, он не может быть полем для связи - любая сортировка списка и всё, "алес, капут".
|