ОБСУЖДЕНИЕ

Удаление обьектов

8 ответов 5,3 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Статус
Закрыто для дальнейших ответов.
Автор темы
Скажите пожалуйста мне необходимо удалить номенклатурные позиции помеченные на удаление,но некоторые из них учавствовали в различных доках, как их можно удалить если через удаление помеченных обьектов уже никак??
 
Удалить-то их физически не проблема, но в тех документах, где они присутствовали, будут дыры (<Объект не найден>). Если этот вариант тебя не смущает - пиши обработку на удаление
 
Нет не смущает, если не сложно и есть стандартная обработка, то не могли бы написать??
 
В цикле проходишь справочник, и если есть пометка на удаление, пишешь, удалить(1), вот и все
 
В цикле проходишь справочник...а если можно поподробнее..я только начинаю!
 
// RefC - тип справочника
Ref = CreateObject("Reference."+RefC);
Ref.SelectItems();
i = 1;
While Ref.GetItem() = 1 do
if Ref.DeleteMark() = 1 then
Ref.Delete(1);
endif;
Status("Обработано "+i+" строк");
i = i + 1;
enddo;
 
Удалить-то их физически не проблема, но в тех документах, где они присутствовали, будут дыры (<Объект не найден>).
И этого тоже можно избежать, записав напрямую в базу ссылку на служебный элемент справочника. Например, "Товар удален".
Заодно и итоги по регистрам уменьшатся.
 
Каким образом это проделать??очень нужно!
 
создаешь служебный элемент, потом перед удалением товара проверяешь, в каких документах он живет, и заменяешь на служебный

Еще точнее так :
Проверяешь в документах наличие товара, помеченного на удаление и заменяешь на служебный. Потом - удаление
 
Статус
Закрыто для дальнейших ответов.