|
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) Про параметры можно подумать, просто вроде вот он, набор записей, даже количество записей в нем посмотреть могу а удалить - облом, как то обидно :)
|
|