Имя: Пароль:
1C
1С v8
РегистрСведенийНаборЗаписей - вопрос тупик
,
0 m1_1976
 
16.07.14
14:15
есть УТ10
есть Рег.Св = ШтрихКоды.
Хочу штрихкод перекинуть другому товару.

ШК=РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
ШК.Отбор.Владелец.Установить(ВыборкаСправочника.Ссылка);
НОвыйХозяин = ШК[0];//там всегда 1 запись
НовыйХозяин.Владелец = ПравильныйТовар;
НовыйХозяин.ЕдиницаИзмерения = ПравильныйТовар.ЕдиницаХраненияОстатков;
ШК.Записать();

ТУПИК в том что ОТОБОР для прочитать - был по старому товару, а записываться по другому не хочет...
как обмануть то его?
1 m1_1976
 
16.07.14
14:15
О... точно отбор поставить по ШТРИХКОД, а не по владелец!!!
2 m1_1976
 
16.07.14
14:16
только штрихкода у меня нет. :( но это не беда
3 Timon1405
 
16.07.14
14:18
стесняюсь спросить, РегистрСведенийМенеджер уже отменили что ли?
4 StaticUnsafe
 
16.07.14
14:18
(0) НовыйХозяин.Владелец = ПравильныйТовар;

у Хозяина не может быть Владельца, это не православно
5 m1_1976
 
16.07.14
14:20
владелец = это измерение такое... папа так назвал! :(
6 Рэйв
 
16.07.14
14:22
(0)Очисти по старому отбору, потом сделай новый и добавь запись
7 m1_1976
 
16.07.14
14:23
РегистрСведенийМенеджер - давай подробнее! Можно просто словами!
8 Рэйв
 
16.07.14
14:25
(7)То есть (6) не читали.
Ну бубен так бубен:-)
9 Ненавижу 1С
 
гуру
16.07.14
14:26
ШК=РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
ШК.Отбор.Владелец.Установить(ВыборкаСправочника.Ссылка);
НОвыйХозяин = ШК[0];//там всегда 1 запись

брехня! пока там 0 записей
10 Йохохо
 
16.07.14
14:26
11 hhhh
 
16.07.14
14:28
(7)

ШК=РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
ШК.Отбор.Владелец.Установить(ВыборкаСправочника.Ссылка);
ШК.Прочитать();

ТЗ = ШК.Выгрузить();
ШК.Очистить();
ШК.Записать();

ШК.Отбор.Владелец.Установить(ПравильныйТовар);

НОвыйХозяин = ТЗ[0];
НовыйХозяин.Владелец = ПравильныйТовар;
НовыйХозяин.ЕдиницаИзмерения = ПравильныйТовар.ЕдиницаХраненияОстатков;

ШК.Загрузить(ТЗ);

ШК.Записать();
12 КонецЦикла
 
16.07.14
14:29
Можно и без ТЗ, но, наверное, это не православно...
13 РенеДекарт
 
16.07.14
14:33
(11) шо, никто не додумался промежуточно стирать старый ШК, хранить переходящий ШК, и потом писать/создавать новый ШК в другом товаре?
Да уж...
14 m1_1976
 
16.07.14
14:35
(11) - не совсем то что хотелось. Но по сути, то что надо вроде...
15 m1_1976
 
16.07.14
15:05
вот так все вышло как надо:
ШК=РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
            ШК.Отбор.Владелец.Установить(ВыборкаСправочника.Ссылка);
            ШК.Прочитать();
            
            БылШтрихКод = ШК[0].ШтрихКод;
            
            ШК.Очистить();
            ШК.Записать();

            ТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи();
        
            ТекЗапись.Владелец         = НайденныйПервый.Ссылка;
            ТекЗапись.ЕдиницаИзмерения = НайденныйПервый.ЕдиницаХраненияОстатков;
            ТекЗапись.ТипШтрихкода     = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13;
            ТекЗапись.Качество         = Справочники.Качество.Новый;
            ТекЗапись.Штрихкод         = БылШтрихКод;
            Попытка
                ТекЗапись.Записать();
            Исключение
                сообщить("БЕДА "+БылШтрихКод);
            КонецПопытки;


всем спасибо.