Имя: Пароль:
1C
1С v8
Значение не является значением объектного типа
,
0 tagedw
 
18.12.11
21:00
Для Каждого стр Из СписокТоваров Цикл
       Дом = стр.Номенклатура;
       ТоварМесто = РегистрыСведений.МестаХраненияНоменклатуры;
       МестоС = Новый Структура("Номенклатура", Дом);
       стр.Место = ТоварМесто.ПолучитьПоследнее(,Дом).МестоХранения;

Ругается "Значение не является значением объектного типа МестоХранеия",

Помогите плиз
1 vicof
 
18.12.11
21:01
записей, видимо, в регистре нет
2 tagedw
 
18.12.11
21:01
Да забыл Список товаров это ТЗ
3 vicof
 
18.12.11
21:01
в консоли посмотри , что выдает
4 tagedw
 
18.12.11
21:01
Записи Есть
5 vicof
 
18.12.11
21:02
и вообще лучше нормальным запросом оформить
6 tagedw
 
18.12.11
21:03
а как добавить из запроса в ТЗ
7 vicof
 
18.12.11
21:06
мож из ТЗ в запрос?
8 tagedw
 
18.12.11
21:06
те в тексте все нормально что-то с программой?
9 vicof
 
18.12.11
21:07
скорее всего (1) для какого-то конкретного дома
10 vicof
 
18.12.11
21:08
Выведи ТипЗнч(ТоварМесто.ПолучитьПоследнее(,Дом))
11 tagedw
 
18.12.11
21:10
Да для некоторых, действительно нет, что делать?
12 vicof
 
18.12.11
21:12
ТМ = ТоварМесто.ПолучитьПоследнее(,Дом);
Если ТМ = Неопределено Тогда
  ...
Иначе
  стр.Место = ТМ.МестоХранения;
КонецЕсли;
13 Mans
 
18.12.11
21:15
(0) МестоС для чего?
14 tagedw
 
18.12.11
21:20
Чтоб выдернуть значение из регистра
15 tagedw
 
18.12.11
21:28
ТМ = ТоварМесто.ПолучитьПоследнее(,Дом);
Если ТМ = Неопределено Тогда
 стр.Место = 0;
Иначе
  стр.Место = ТМ.МестоХранения;
КонецЕсли;

Выдало на все строки "0"
16 Rovan
 
гуру
18.12.11
21:30
Попробуй не

МестоС = Новый Структура("Номенклатура", Дом);
стр.Место = ТоварМесто.ПолучитьПоследнее(,Дом).МестоХранения;

а

МестоС = Новый Структура("Номенклатура", Дом);
стр.Место = ТоварМесто.ПолучитьПоследнее(,МестоС).МестоХранения;
17 Mans
 
18.12.11
21:32
+(16) может помочь
18 tagedw
 
18.12.11
21:35
привел к чел. виду код:


Для Каждого Товар Из СписокТоваров Цикл
       Дом = Товар.НоменклатураСсылка;
       ТоварМесто = РегистрыСведений.МестаХраненияНоменклатуры;
       МестоС = Новый Структура("Номенклатура", Дом);
       ТМ = ТоварМесто.ПолучитьПоследнее(,МестоС);
           Если ТМ = Неопределено Тогда
             Товар.Место = 0;
        Иначе
             Товар.Место = ТМ.МестоХранения;
           КонецЕсли;
       
       /стр.Место = МестоС[Дом];

       Если ПереключательОптовыеЦены Тогда
           Товар.Цена = Ценообразование.ПолучитьЦенуНоменклатуры(Товар.НоменклатураСсылка,
                                                 Товар.ХарактеристикаНоменклатурыСсылка,
                                                 ТипЦен,
                                                 Дата,
                                                 Товар.ЕдиницаИзмеренияСсылка);
       Иначе
           Товар.Цена = УправлениеРозничнойТорговлей.ПолучитьПродажнуюЦену(РабочаяДата, Товар.НоменклатураСсылка, Товар.ХарактеристикаНоменклатурыСсылка, Товар.ЕдиницаИзмеренияСсылка, СкладАТТ);
       КонецЕсли;
       
       
       
       Если Товар.Весовой Тогда
           ШК = ПрефиксВесовогоТовара + Формат(Товар.Штрихкод, "ЧЦ=" + ДлинаКода + "; ЧВН=; ЧГ=0") + Вес;
           Товар.Штрихкод = ШК + РаботаСТорговымОборудованием.КонтрольныйСимволEAN(ШК, 13);
       КонецЕсли;
   КонецЦикла;

выдает везде места 0
19 tagedw
 
18.12.11
21:37
нужна помощь
20 vicof
 
18.12.11
21:41
раньше у тебя
Дом = Товар.Номенклатура;
сейчас
Дом = Товар.НоменклатураСсылка;

неужели отладчиком сложно воспользоваться?
и запрос написать. Было бы гораздо читабельней и приятней.
21 tagedw
 
18.12.11
21:47
Внешняя обработка отладчик не помогает почему-то
22 vicof
 
18.12.11
21:48
внещняя печатная форма что ли?
23 tagedw
 
18.12.11
21:49
Внешняя обработка выгрузки на ТСД
24 vicof
 
18.12.11
21:51
(21) не помогает как? пишет мож чего или молчит как рыба об лед?
25 echo77
 
18.12.11
21:52
(21) И не будет помогать. Надо в модуле обработки в основной части программы вызывать экспортную процедуру, перед этим заполнив все необходимые параметры/реквизиты. После этого внешню обработку можно будет открыть как обработку и отлаживать.

По теме - то что возвращает метод ТоварМесто.ПолучитьПоследнее(,Дом) не содержит свойство "МестоХранения" - скорее всего оно возращает Неопределено
26 tagedw
 
18.12.11
21:52
ТОчки ставишь не реагирует
27 tagedw
 
18.12.11
21:54
Да возвращает Неопределено.
28 echo77
 
18.12.11
22:23
(27) и что же вы хотите?
29 DrShad
 
18.12.11
22:25
(28) ну как что, чтоб возвращал МестоХранения
30 tagedw
 
18.12.11
22:28
Нужно получить значение ресурса МестоХранения из РегистрыСеведений.МестаХраненияНоменклатуры
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший