1.
insurgut
208
18.04.12 07:38
Сейчас в теме
Коллеги! Нужна ваша помощь. Столкнулся с какой-то мистической проблемой.
Есть регистр Штрихкоды в одной базе, его необходимо перенести в Штрихкоды другой базы, но при загрузке соответственно проверять - если указанный ШК в базе, и в случае его наличия - просто пропускать его загрузку.
ПКО все для соответствующих значений записей регистра написаны и работают только на поиск (т.е. создания/замены объектов в базе приемнике не происходит).
В ПКО Штрихкоды после загрузки делаю следующий алгоритм:
ТЗ = Объект.Выгрузить();
Объект.Очистить();
Для каждого СтрокаРегистра из ТЗ Цикл
//условия проверки, если успешно, тогда
НаборЗаписей = РегистрыСведений.ШтрихКоды.СоздатьНаборЗаписей();
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.Отбор.Штрихкод.Установить(Штрихкод);
НаборЗаписей.Отбор.Владелец.Установить(Номенклатура);
НаборЗаписей.Прочитать();
Запись = НаборЗаписей.Добавить();
//заполняю измерения все, при этом на всякий случаю проверяю сообщениями - заполнились ли они, все заполняется корректными данными!
НаборЗаписей.Записать(Истина); // тут не ругается, все вроде хорошо...
КонецЦикла;
Но после загрузки - открываю регистр сведений - и ШК не добавляется (в приемнике для одной номенклатуры - несколько ШК уже есть в приемнике, новые добавиться как раз должны после загрузке.
Что-то делаю не так? У меня мысль осталась - только Объект как то обрабатывать, но как его обрабатывать? Какими методами? Как таблицу значений? Если я буду удалять просто строки не подходящие по условию, а дальше обмен просто своим механизмом записи регистра добавит?