Как удалить записи РН по регистратору выборочно? #712488


#0 by Gorr
Делал поиск по сабжу, но непонятно толи через запрос отбирать записи которые должны остаться в регистре по документу затем загружать их в набор записей с послудующей записью, толи читать все записи из регистра по регистратору в набор с последующим удалением ненужных и опять таки  записью замещением? Как правильно?
#1 by Serg_1960
Выгрузить/изменить/загрузить движения
#2 by Gorr
Остался вопрос как идентифицировать запись в наборе. Первоначально, запросом выполняю поиск записей из регистра которые необходимо удалить. Теперь необходимо прочитать все записи регистратора в набор. И далее каким-то образом сопоставить записи из запроса с записями в наборе. Как? Интересно уникально ли сочитание измерений в наборе РН по регистратору как в РС?
#3 by Bober
- запросом считывать то что нужно и перезаписывать - считывать весь набор записей и в цикле выкидывать - записывать сторно записи по регистратору в режиме замещение = Ложь
#4 by Gorr
1. непонятно что имеете в виду считывать то что нужно оставить или удалить? 2. как идентифицировать запись которую нужно выкидывать? 3. это что свойство набора?
#5 by Bober
- а откуда я знаю как требуется? - эээ, цикле применять ЕСЛИ ТОГДА - это параметр записи набора записей
#6 by acsent
номера записей, так же как у документа. Удаление в обратном порядке
#7 by Lex2k2k
Если регистратор известен выгрузи в ТЗ. Обработай в ТЗ, и загрузи на место.
#8 by КонецЦикла
Выгрузить в ТЗ, наколдовать и загрузить
#9 by КонецЦикла
Вообще звиздец конечно придумали, просто звиздец... Ждем девятку в которой справят
#10 by Gorr
1. это я вас спрашиваю как в . ваша идея считывания и перезаписывания запросом не понятна. 2. как идентифицировать запись ведь у записи нет ссылки и вопросом ее не вернешь. Запись не объектна. Отсюда мой вопрос в "Интересно уникально ли сочитание измерений в наборе РН по регистратору как в РС?" 3. не нашел такого параметра.
#11 by ptiz
Ты сам не знаешь, что хочешь удалить? :)
#12 by Lex2k2k
как то так
#13 by РенеДекарт
>>и опять таки  записью замещением? 1с работает только так с регситрами. Никаких "удаляю напрямую". >>Ждем девятку в которой справят в пятнадцатой версии не хочешь? )) >>Выгрузить в ТЗ, наколдовать и загрузить автор в шоке, что на каждый Регистратор - нужны разные НЗ (ТЗ), и их обрабатывать отдельно. А хочется сразу и всем волосы подстричь, без учета регистратора...
#14 by РенеДекарт
>> ваша идея считывания и перезаписывания запросом не понятна. запрос ничего не перезаписывает. Запрос только читает данные, создает ТЗ, обрабатываешь ТЗ, получаешь НЗ по регситратору, и заменяшь своим из обработанной ТЗ. Других вариантов нет. И не будет.
#15 by РенеДекарт
>> ТЗ = РегНабор.Выгрузить; Gorr, это тот же запрос, только скрытый.
#16 by КонецЦикла
Да, нет ссылки на запись... и нет инсерт, делете и апдейт
#17 by РенеДекарт
>>как идентифицировать запись ведь у записи нет ссылки и вопросом ее не вернешь. Запись и есть ссывлка сама по себе. Для тебя, глядя из 1С. >> Запись не объектна В 1С - объектна.
#18 by Gorr
Таким образом найти записи которые нужно удалить из результата запроса в наборе никак?
#19 by РенеДекарт
>>Да, нет ссылки на запись. А РегистрНаборЗаписей.ТакаяТозапись - это что?
#20 by Lex2k2k
к таблице записей он что ли будет обращаться? не к вирт.таблице регистра (- там не те поля)?  А если там миллиарды записей? Отобрать и РегНабор.Выгрузить - будет быстрей. Или колхозить запрос из оборотов, но так чтоб вернул результат как в записях.
#21 by КонецЦикла
И дальше что с ней делать? Удалить можно?
#22 by РенеДекарт
>>из результата запроса в наборе никак? никак. Удаляет только НаборЗаписей. Или МенеджерРегистра, если запись одна. Это тот же "набор", только по одной записи выковыривает.
#23 by РенеДекарт
ты её вне контекста НЗ не получишь. А "удаление в 1С" - это перезапись полученного НЗ новыми значениями.
#24 by РенеДекарт
точнее, запросом ты получишь данные по записям (из записей), а не сами записи. Как раз те самые ссылки, чтобы "удалить и поменять" - это только НЗ.
#25 by КонецЦикла
Ну так ждем пока все наладится
#26 by Gorr
т.е. результат запроса из регистра для поиска записей в наборе использовать никак нельзя?
#27 by РенеДекарт
тебе что в ( 14) непонятно?
#28 by Gorr
нет! в бред - там говориться о использвании запроса для перезаписи.
#29 by РенеДекарт
>>И дальше что с ней делать? Удалить можно? можешь. Получаешь весь регистр без Отбора. Делаешь Записть. Получаешь идеально чистый регистр. Получаешь НЗ по Регситратору - делаешь "Записать" - получаешь "ноль записей по этому регистратору".
#30 by РенеДекарт
читай внимательно, что там используется для перезаписи.
#31 by Lex2k2k
А что там будет по твоему если не перезапись?
#32 by РенеДекарт
я спрашиваю, что непонятного написано в ( 14), а не "понятен вывод из ( 14)"?
#33 by Gorr
Вы меня вообще не слышите. у меня есть исходная информация (ДАНО) результат запроса и внем записи регистра которые надо удалить.
#34 by РенеДекарт
он не все слова там идентифицировал )
#35 by РенеДекарт
>>результат запроса и внем записи регистра которые надо удалить. нет в результате запроса никаких записей, и никогда не было. Читай ( 24).
#36 by Gorr
понятно что для удаления нужно использовать набор. впрос только как?
#37 by Lex2k2k
#38 by РенеДекарт
разбери на составные части ( 14), и скажи, что конкретно тебе не понятно.
#39 by acsent
А почему номер строки не подошел то?
#40 by Lex2k2k
Будет неплохо еще прочитать и очистить подумал я))
#41 by РенеДекарт
запрос видишь в ( 37)? А он есть... )
#42 by Gorr
это плохо
#43 by РенеДекарт
он вообще разницы не видит между результатом запроса и НЗ.
#44 by Gorr
Всем спасибо.
#45 by РенеДекарт
хорошо хоть не так )   РегНабор.Загрузить(ТЗ);   РегНабор.Очистить;
#46 by Gorr
может быть еще одно. Ключа записи у РН нет?
#47 by РенеДекарт
ты вообще ничего не понял. У тебя тема какая? "Как удалить записи РН по регистратору выборочно?" А ты что спрашиваешь, да еще и "всем спасибо"?
#48 by РенеДекарт
ВЫБОРОЧНО а это - проблема в реализации 1С.
#49 by acsent
так в запросе получаем номера строк к удалению. создаем набор записей удаляем из набора записи с (номерстроки-1) Записываем
#50 by acsent
В запросе с итогами по регистратору
#51 by РенеДекарт
>>Ключа записи у РН нет? ключ есть у любого регистра 1С. Уникальность - только РС проверяется. В РН просто находится отбором нужные записи и заменяются.
#52 by Serg_1960
Вместо того, чтобы запросом получить нужные(!) записи, ТС решил зайти "с другой стороны" - - получить запросом ненужные(?!) записи, запутался и теперь для него сверх-архи-важным стало идентифицировать записи запроса и записи регистра. Ну, ну. Продолжайте далее. "Дальше всех зайдет тот, кто не знает куда идти" (не я придумал).
#53 by РенеДекарт
и что самое главное не написал?
#54 by РенеДекарт
>>Вместо того, чтобы запросом получить нужные(!) записи
#55 by РенеДекарт
+ .. удалять-то все равно через НЗ будет, идентификация нужна.
#56 by Lex2k2k
Сгруппируй в запросе итогами по регистратору. Обойди в моем цикле эти регистраторы. Для детальных записей запроса в цикле по их обходу (данных регистра, которые нужно удалить) создай структуру со свойствами полей этих записей, которые нужно удалить.  Далее СтрокиРегистратораНаудаление ТЗ.НайтиСтроки(структура) - это будет массив. Далее обходишь элементы этого массива (строки ТЗ) и удаляешь их из ТЗ. Когда заргузишь ТЗ в набор их там не будет.
#57 by Lex2k2k
И будет тебе счастье
#58 by Serg_1960
Нет, не нужно. Если запросом сформировать записи, то они в регистр пишутся "затирая" предыдущие записи (нужные и не нужные).
#59 by РенеДекарт
+ забыл объяснить, что в момент загрузки модифицированного ТЗ в НЗ произойдет создание нового НЗ, а не удаление строк. Хотя результат аналогичен. А то опять ничего не поймет ))
#60 by Serg_1960
Попробую :) расшифровать свой пост
#61 by РенеДекарт
выборочно - это когда разные регистраторы. А вариант "затереть записи" ему уже объяснили еще в (7 ) и (12 )
#62 by РенеДекарт
движения - это те же НаборЗаписей, так что разницы никакой )
#63 by Serg_1960
А я и не спорю с этим :) Соль в другом: запрос должен возвращать нужные записи. Можно и несколько регистраторов в запросе - регистратор в группировку и обход выборки соответствующий
#64 by Coldboy
63 сообщения, а ведь задача вроде не сложная, стандартные методы все предлагают.
#65 by Lex2k2k
уже 65 ))))
#66 by РенеДекарт
>>Можно и несколько регистраторов в запросе - регистратор в группировку и обход выборки соответствующий ьудут разные НЗ. И их обрабатывать по-разному (разные отборы, запись каждый раз). >>стандартные методы все предлагают метод вообще один. Он же стандартный )
#67 by Gorr
Ответов много, но вопрос был в другом. Еще раз повторю - можно ли найти запись в наборе, если известны значения всех измерений? Так понятно? Униально ли сочетание измерений вкупе с регистратором у регистра накопления? Вопрос понятен?
#68 by hhhh
нет, неуникальны.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С