Удаление записей из регистра сведений #675687


#0 by Gossar1C
Здравствуйте. Появилась задача удалять неиспользуемую номенклатуру за 2012 год. Не получается с номенклатурой удалить и записи в регистре ЦеныНоменклатуры, пишет поле объекта не обнаружено Номенклатура, подскажите пожалуйста в чем дело? &НаСервере
#1 by Godofsin
на какую строчку ошибка?
#2 by Gossar1C
Цены.Отбор.Номенклатура.Установить(НомЦена);
#3 by salvator
А по ней отбор включен?
#4 by Gossar1C
тоесть?
#5 by Gossar1C
регистр переодический, подчинение регистратору
#6 by Gossar1C
=
#7 by Maxus43
ну если подчинён регистратору - то отбор возможен только по регистратору
#8 by Gossar1C
стоп стоп стоп) отбор по регистратору, а по номенклатуре потом как отобрать?
#9 by Maxus43
выгружай набор в ТЗ, там меняй как надо и загружай в набор обратно
#10 by Gossar1C
мне по сути этот набор нафиг надо удалить, потому что если я удаляю номенклатуру мне бы и желательно все что связано с этой номенклатурой в регистре тоже удалить
#11 by Михаил Козлов
Удаление записей из набора не вполне коррктно: нужно удалять строки в документе УстановкаЦенНоменклатуры. Иначе при перепроведении возникнут снова. Да и полностью удалить номенклатуру не удастся, пока есть ссылка в документе установки цен.
#12 by Vitamax3
А к "Ссылка не найдена" в строках документа как относишься? Кто сказал что не удастся?
#13 by m-serg74
распроведи документы УстановкаЦенНоменклатуры за 2012 год и все
#14 by Maxus43
откуда вобще идея удалить записи из регистра родилась? это ж неправильно, удали из ТЧ документа просто, потом опять его проведи
#15 by Gossar1C
некоторая номенклатура 2012г использовалась в недавних документах 2013г, следовательно распроводить не вариант
#16 by m-serg74
на номенклатуру наверное есть не только УстановкаЦенНоменклатуры, но и еще куча всяких документов, поэтому лучший вариант, сделать Папочку типа Неиспользуемая номенклатура и просто перекидывать туда чтоб при набивке документов не мешалась
#17 by Godofsin
Почему не вариант? Распровел, удалил нужные позиции, провел. В чем проблема?
#18 by Gossar1C
вариант уже превысел более 50000 позиций)
#19 by George Wheels
А что делать со средней ценой (если она используется конечно)?
#20 by Gossar1C
буду пробовать сейчас так делать, просто когда мы по прайсу заливали номенклатуру то почему то установка цен не проводилась хотя программно установлена
#21 by Maxus43
документ надо менять всё равно, зачем тебе там в итоге битые ссылки? удаляй записи из документа сначала
#22 by Godofsin
хз, ни о какой средней цене автор не упоминал. Даже конфы не знаем, но предполагаю, что УТ. А чо там за средняя цена?
#23 by Godofsin
Да и пох... Можно ваще сделать эту папку не видимой
#24 by Gossar1C
у нас стал очень сильно зависать полнотекстовый поиск, даже обновление индекса каждый 5 минут по регламентному не очень помогает
#25 by George Wheels
Туплю. Был в другой теме про регистр бухгалтерии.
#26 by m-serg74
а зачем вам полнотекстовый поиск?
#27 by Godofsin
Короче, самый верный способ - удалять позиции из документов и проводить доки.
#28 by Сти
а потом только проверку... Кстати, в "для каждого" удалять нельзя - куча строк может быть пропущена. Но напрямую удалять записи из регистра, подчиненного регистратору все же как-то не так как-то...
#29 by m-serg74
из всех видов доков, закрытом периоде, супер)))
#30 by Gossar1C
кароч делаю так) &НаСервере незнаю что получится =
#31 by Сти
Если так уж надо почистить справочник номенклатуры, без мульона "объект не найден", лучше создать справочник НенужнаяНоменклатура, куда скопировать данные ненужных позиций из Номенклатуры, выкрутить из древней обработки с ИТС "Поиск и замена значений" куски кода в свою обработку, которая тихо и мирно (но медленно) перепропишет все ненужное на новый справочник и удалит номенклатуру из живого справочника.
#32 by Godofsin
Сомневаюсь, что они там чо то закрывают в УТ
#33 by Godofsin
Главное не забудь, что тестировать надо на рабочей базе
#34 by m-serg74
т.е. долги с покупателями не нужно считать?
#35 by Godofsin
Если только задеты будут торговые операции. Но тогда и удалять нельзя элемент. А установка цен номенклатуры как влияет на взаиморасчеты?
#36 by m-serg74
а что 50000 номенклатуры в справочнике и по ней ни одной реализации, поступления, перемещения???
#37 by m-serg74
[Главное не забудь, что тестировать надо на рабочей базе] ))) Это злая шутка? или хотел сказать на копии?
#38 by Сти
Еще раз: внутри "Для каждого" удалять нельзя - меняются индексы, и следующая после удаленной строка будет пропущена при обходе цикла. Хорошо, в этом документе удаляемая номенклатура будет встречаться скорее всего один раз, так что это будет незаметно, но вообще - это неправильно. Кстати, согласно приведенному коду один и тот же документ может открывать и перепроводиться хз сколько раз, раз бежим по номенклатуре, а не по докам... Время некритично, наверное?
#39 by m-serg74
а ху.и думать прыгать надо)))
#40 by Gossar1C
в течении недели успею) да таки так неправильно, но это я по быстрому накатал код = 38
#41 by Vitamax3
Есть такой древний обряд - обрезание. Используем периодически для больших баз.
#42 by m-serg74
так что кроме установки цен, других доков по этой номенклатуре нету?
#43 by m-serg74
каждый год что ли?
#44 by Gossar1C
свертку не разрешили)
#45 by Gossar1C
насколько знаю нету, ну кроме индивидуального набора упаковок
#46 by m-serg74
а ну тогда никаких трудностей, установки почистить и перепровести, а потом грохнуть номенклатуру, только с проверкой на существование ссылок все таки лучше
#47 by Vitamax3
Как только >"22". Примерно раз в три года. Лучше сначала проверить: есть ли доки кроме установки цены, а то всё будет зря ((
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям