![]() |
|
v8:Вопрос по КонвертацияДанных | ☑ | ||
---|---|---|---|---|
0
Arhont
15.02.13
✎
17:46
|
Нужно выгрузить штрих-коды определенной номенклатуры удалив существующие. Я создал в правиле "После Выгрузки" ПКО номенклатуры текст:
Если НЕ Источник.ЭтоГруппа Тогда Выполнить(Алгоритмы.ВыгрузитьШтрихКоды); КонецЕсли; Сам алгоритм: Если Не Источник.ЭтоГруппа Тогда НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Владелец.Установить(Источник.Ссылка); НаборЗаписей.Прочитать(); Если НаборЗаписей.Количество()>0 Тогда Для каждого ЗаписьНабораЗаписей Из НаборЗаписей Цикл ВыгрузитьПоПравилу(ЗаписьНабораЗаписей,,,, "Штрихкоды"); КонецЦикла; КонецЕсли; КонецЕсли; В таком случае новые записи штрих-кодов появляются но и старые остаются. А добавил в правило "ПриЗагрузке" текст Если ОбъектНайден Тогда Выполнить(Алгоритмы.УдалитьШтрихКоды); КонецЕсли; Код алгоритма: Если Не Объект.ЭтоГруппа Тогда НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Владелец.Установить(Объект.Ссылка); НаборЗаписей.Прочитать(); Если НаборЗаписей.Количество()>0 Тогда Сообщить(НаборЗаписей.Количество()); Для каждого ЗаписьНабораЗаписей Из НаборЗаписей Цикл НаборЗаписей.Удалить(ЗаписьНабораЗаписей); КонецЦикла; НаборЗаписей.Записать(); НаборЗаписей.Очистить(); КонецЕсли; КонецЕсли; Пробовал по разному, и перебивал в цикле все записи регистра с их последующим удалением, и записывал набор записей (по умолчанию должен заместить), пробовал удалить с помощью Очистить() - все равно не удаляет. А на Записать() так и вовсе при загрузке через УниверсальныйОбменДанными ошибка вылетает. Может кто подскажет как мне эти записи забороть? :) |
|||
1
Rie
15.02.13
✎
17:49
|
(0) ПередЗагрузкой - очистить записи регистра не пробовал?
|
|||
2
Arhont
15.02.13
✎
17:53
|
1) Про ПередЗагрузков в справке по обработчикам прочитал, что:
"Событие выполняется перед загрузкой объекта. Возможен отказ от загрузки, например, в случае невыполнения каких-либо условий. Загружаемый в БД объект еще не инициализирован" и подумал что не подойдет, т.к. у кого я буду регистр чистить если владелец еще не определен? |
|||
3
Rie
15.02.13
✎
17:55
|
(2) Можешь передать в параметрах объекта, кому чистить надо. Код. Или даже УИД.
|
|||
4
Arhont
15.02.13
✎
17:57
|
3) Про параметры можно подумать, просто вроде вот он, набор записей, даже количество записей в нем посмотреть могу а удалить - облом, как то обидно :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |