Имя: Пароль:
1C
1С v8
Конвертация данных регистра сведений
0 Михаил Анянов
 
17.04.12
14:30
Переношу ШК из одной УТ в другую. Как корректно при загрузке пропускать те или иные ШК по которым выполняется условие? Как только в модуле ПКО после загрузки начинаешь писать чего-то, ругается. Т.е. регистр сведений видимо обрабоатывается несколько иначе, чем те же справочники и документы. Подскажите?

Как понимаю - выгружается набор записей целиком, и если писать просто отказ - то не записывается ничего! А нужно именно что-то пропускать, а что-то все таки записывать.
1 Михаил Анянов
 
17.04.12
14:48
Где же гуру конвертации :)

Сейчас обрабатываю примерно так - ТЗ Объект.Выгрузить();
Объект.Очистить();

Для Каждого Стр из ТЗ Цикл
///проверка условий и если удовлетворяет, то
Запись = РегистрыСведений.ШтрихКоды.СоздатьМенеджерЗаписи();
//заполняю поля
Запись.Записать();

При он-лайн обмене ничего нигде не ругается, вывожу даже сообщениям то чем запись заполняю - все отлично заполняется, на Запись() не ругается... Но по факту в базе записи этой не появляется.
2 Kashemir
 
17.04.12
14:50
(1) Как поля заполняешь ? Отбор устанавливаешь ?
3 Naumov
 
17.04.12
14:51
за чем так сложно? Проверяй после загрузке (запись еще не сделана) и пиши отказ = истина, если не нужна запись
4 Михаил Анянов
 
17.04.12
14:53
У меня предположение, что набор записей все таки корректнее использовать, а не запись
5 Михаил Анянов
 
17.04.12
14:53
(3) если писать отказ - то не загрузиться вообще ничего из выгруженного набора
6 Михаил Анянов
 
18.04.12
07:08
Набор записей не помог, мистика продолжается...
7 Guk
 
18.04.12
07:15
(5) нет, если писать Отказ, то не загрузится только текущая запись набора. смотря конечно где писать...
8 SanGvin
 
18.04.12
07:21
А на уровне отборов набор записей никак не отсеять от ненужных ШК?
9 fisher
 
18.04.12
07:36
(0) Вообще-то в КД вся конвертация делается при выгрузке. При загрузке нужно что-то делать в совсем уж исключительных ситуациях. Какая ситуация у тебя?
10 Михаил Анянов
 
18.04.12
07:46
(9) При выгрузке я знать не знаю, что находится в базе приемнике. Выгружаю ШК, при загрузке уже существующие - пропускать, если не пропускать - обмен встанет с ошибкой. Ничего исключительного тут нет, базы как бы друг другу не подчиненные.
11 Михаил Анянов
 
18.04.12
07:47
(7) это справедливо для документов справочников и т.п. Для регистров сведений - не канает.
12 Михаил Анянов
 
18.04.12
09:34
Разобрался, обрабатывать действительно объект необходимо - объект это отдельная запись регистра, только представлена она в виде таблицы :)

Т.е. я проверяю

Если Объект.Количество() > 0 Тогда

проверки делаю, но тут нюанс при обращении к объекту, делать не Объект.Штрихкод например, а Объект[0].Штрихкод.
13 fisher
 
18.04.12
11:08
(10) Это решается галкой в ПКО "Не замещать существующие объекты в приемнике, а только создавать новые и заполнять их"