Имя: Пароль:
1C
1С v8
Запись в регистр сведений из справочника
0 Serg23KmUa
 
03.02.14
13:58
Добрый день.
Конфа 8.1 УТ для Украины.
Хочу из справочника Единицы измерения перенести значения реквизита Вес в регистр сведений. Пишу так:

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


Только вот ничего не происходит.
Подскажите!
1 butterbean
 
03.02.14
13:59
Платформа протестует против англоязычных переменных
2 shuhard
 
03.02.14
13:59
(0) подсказываем - используй отладчик
3 Ненавижу 1С
 
гуру
03.02.14
13:59
а что должно произойти?
4 vicof
 
03.02.14
14:00
Ну выбрал, а перебирать выборку кто будет?
5 Ненавижу 1С
 
гуру
03.02.14
14:00
Для Каждого Запись Из НаборЗаписей Цикл  //заведомо пустой цикл
6 Beduin
 
03.02.14
14:00
(0)
Возвращаемое значение:

Тип: СправочникВыборка
Спр = Справочники.ЕдиницыИзмерения.Выбрать();
7 butterbean
 
03.02.14
14:00
(0) по сабжу — после Справочники.ЕдиницыИзмерения.Выбрать(); надо еще выборку перебрать
8 Beduin
 
03.02.14
14:01
По C++ или java такие же вопросы бывают?
9 Serg23KmUa
 
03.02.14
14:10
Спр = Справочники.ЕдиницыИзмерения.Выбрать();
    Пока Спр.Следующий() Цикл
        Вес = Спр.Вес;
            Влад = Спр.Владелец;
    
      
НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Владелец.Установить(Влад);
НаборЗаписей.Прочитать();
        
Для Каждого Запись Из НаборЗаписей Цикл
    Если Запись.Владелец = Влад Тогда
            Запись.Вес = Вес;    
    КонецЕсли;
КонецЦикла;
    
НаборЗаписей.Записать();
КонецЦикла;

Так получится?
10 NcSteel
 
03.02.14
14:10
(9) Пробовал?
11 Serg23KmUa
 
03.02.14
14:12
(10) Да, поле вес в РС осталось пустое
12 Borteg
 
03.02.14
14:15
(0) а выборку перебрать?
13 dmpl
 
03.02.14
14:19
(8) Бывают, там еще круче бывают вопросы. Типа, почему, когда стукаешь по левой коленке открывается окно в соседнем здании...
14 wertyu
 
03.02.14
14:21
Если НаборЗаписей.Количество() = 0 Тогда
Запись = НаборЗаписей.Добавить();
...
Иначе
Цикл
КонецЕсли
15 Serg23KmUa
 
03.02.14
15:26
(14) ведь когда я добавил "Пока Спр.Следующий() Цикл" должен же был начаться перебор все элементов справочника?
16 hhhh
 
03.02.14
15:49
(15) а точно там единица измерения- владелец штрих-код.
17 hhhh
 
03.02.14
15:55
(15) а как смотрите? Форму обновляете каждый раз?
18 Enders
 
03.02.14
16:07
А добавлять запись в регистр, не?
Или, судя по коду, думаешь, что они там изначально существуют?
"Для Каждого Запись Из НаборЗаписей Цикл"
19 Serg23KmUa
 
03.02.14
16:39
(16) Есть реквизит штрихкод. Справочник Единицы измерения подчинен справочнику номенклатура.
20 Serg23KmUa
 
03.02.14
16:57
Спр = Справочники.ЕдиницыИзмерения.Выбрать();
    Пока Спр.Следующий() Цикл
    Вес = Спр.Вес;
        Влад = Спр.Владелец;
      
      НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.УдалитьВладелец.Установить(Влад);
           НаборЗаписей.Прочитать();
        
        Для Каждого Запись Из НаборЗаписей Цикл
            Если НаборЗаписей.Количество() = 0 Тогда
            Запись = НаборЗаписей.Добавить();

            Запись.Вес = Вес;    
        КонецЕсли;    
           КонецЦикла;
        
        НаборЗаписей.Записать();
     КонецЦикла;


Сделал так, в РС Вес так и остался пустым. Что я делаю не так, можно на пальцах?
21 Enders
 
03.02.14
18:56
А как ты думаешь если набор пустой, войдет ли оно в цикл
Для Каждого Запись Из НаборЗаписей Цикл?)
Закон Брукера: Даже маленькая практика стоит большой теории.