![]() |
|
Регистр сведений прочитать и удалить записи | ☑ | ||
---|---|---|---|---|
0
prtx
11.06.15
✎
22:36
|
Думал что все так просто, как -то это нетак(((
НаборЗаписей = РегистрыСведений.Дефектура.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Организация.Установить(Организация); НаборЗаписей.Отбор.Склад.Установить(Склад); НаборЗаписей.Прочитать(); Для Каждого Выборка Из НаборЗаписей Цикл НоваяЗапись = РегистрыСведений.Потребность.СоздатьМенеджерЗаписи(); НоваяЗапись.Организация = Выборка.Организация; НоваяЗапись.Склад = Выборка.Склад; НоваяЗапись.Номенклатура = Выборка.Номенклатура; НоваяЗапись.КоличествоЦелое = 1; НоваяЗапись.Записать(); КонецЦикла; НаборЗаписей.Записать(); В этом коде я хочу прочитать нужные записи из регистра Дефектура, записать эти записи в регистр Потребность, и после записи удалить эти записи из регистра Дефектура. Что-то не выходит... Неужели после записи в регистр Потребность, мне опять создавать набор записей и удалять их из регистр. Как-то не логично повторять первый кусок кода. Подскажите где я свернул не туда? |
|||
1
RomanYS
11.06.15
✎
22:46
|
НаборЗаписей.Очистить();
НаборЗаписей.Записать(); |
|||
2
prtx
11.06.15
✎
22:56
|
(1) Очень даже логично!) Огромное спасибо!
Только я вот не пойму, а почему если не использовать НаборЗаписей.Прочитать(); а сделать НаборЗаписей.Записать(); то тогда записи удаляются. а не все догнал... Еще раз спасибо! Окончательный код(может кому пригодиться, т.к. гуглил но не нашел примера): Удаление записей после прочтения: НаборЗаписейДефектуры = РегистрыСведений.Дефектура.СоздатьНаборЗаписей(); НаборЗаписейДефектуры.Отбор.Организация.Установить(Организация); НаборЗаписейДефектуры.Отбор.Склад.Установить(Склад); НаборЗаписейДефектуры.Прочитать(); Для Каждого ЗаписьДефектуры Из НаборЗаписейДефектуры Цикл НоваяЗаписьПотребности = РегистрыСведений.Потребность.СоздатьМенеджерЗаписи(); НоваяЗаписьПотребности.Организация = ЗаписьДефектуры.Организация; НоваяЗаписьПотребности.Склад = ЗаписьДефектуры.Склад; НоваяЗаписьПотребности.Номенклатура = ЗаписьДефектуры.Номенклатура; НоваяЗаписьПотребности.КоличествоЦелое = 1; НоваяЗаписьПотребности.Записать(); КонецЦикла; НаборЗаписейДефектуры.Очистить(); НаборЗаписейДефектуры.Записать(); |
|||
3
prtx
11.06.15
✎
22:59
|
(0) А еще такой вопрос на засыпку. Можно ли подобное реализовать через запрос(выбрать можно, а удалить как?, я не силен в запросах), и будет ли оно быстрее? Ведь запросы должны быть быстрее, правильно?
Поделитесь опытом! Может кому-то еще это пригодиться... |
|||
4
Мимохожий Однако
12.06.15
✎
08:40
|
Можно через запрос.Запросы не удаляют, только читают.Будет также.И в первом и во втором варианте заканчивается запросом.
|
|||
5
trad
12.06.15
✎
09:30
|
(2) метод Записать набора записей сначала удаляет записи из базы потом записывает их из набора
если ты набор прочитал, то его и запишешь если не прочитал или очистил то ничего записывать |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |