Имя: Пароль:
1C
1С v8
Значение из справочника ресурсов
0 posvad
 
02.06.14
12:19
Ковыряюсь в небольшой самописной конфигурации.

Имеется справочник "Ресурсы" и у ресурса кроме всего прочего реквизит "Цена".

Проблема возникла вот в этом коде:

     Приб = Объект.Цена;
     Для Каждого Стр Из Объект.РесурсыИспользуемыеДляПроизводства Цикл
--> Приб = Приб - Стр.Количество*Стр.Ресурс.Цена;
     КонецЦикла;
     Объект.Прибыльность=Приб;

До моего вмешательства Приб вроде бы как рассчитывался. Я в данном модуле ничего не менял, но теперь не работает. Выскакивает ошибка "Поле объекта не обнаружено (Цена)"

Табло сообщает
"Стр.Ресурс -> Значение: Трудозатраты   Тип: СправочникСсылка.Ресурсы"
"Стр.Ресурс.Цена -> {(1)} Поле объекта не обнаружено ..."

Что-то я парю. Почему не работает? И как вернуть работоспособность?
1 Otkr
 
02.06.14
12:21
Реквизит "Ресурс" не заполнен
2 posvad
 
02.06.14
12:30
Проверил - заполнен. Есть конкретное значение. Трудозатраты.Цена =700
3 zmaximka
 
02.06.14
12:30
попробуй кэш почистить.
4 posvad
 
02.06.14
12:31
Это который кэш?
5 zmaximka
 
02.06.14
12:32
кэш конфигурации. который в %appdata%\1c живет
6 posvad
 
02.06.14
12:33
сейчас попробую
7 Крошка Ру
 
02.06.14
12:35
В точке останова вычислить этот самый Стр.Ресурс.
Если заполнен, его можно развернуть и посмотреть, почему Цену не находит
8 posvad
 
02.06.14
12:36
Очистка кэша не помогла

Табло показано в точке останова
9 Enders
 
02.06.14
12:41
(8) Так а если вычислить выражение и развернуть этот Ресурс, там есть цена?
10 posvad
 
02.06.14
12:43
Нет. Ресурс не разворачивается. Только одна строка.


Может быть имеет значение. Данный код расположен в модуле управляемой формы справочника Продукция
11 Крошка Ру
 
02.06.14
12:44
(10)Значит переопределяешь где-то раньше этот Ресурс и на момент остановки в нем что-то другое, у чего нет поля Цена
12 Крошка Ру
 
02.06.14
12:46
А вообще, конечно, скрин было бы неплохо
13 posvad
 
02.06.14
12:46
Сейчас проверю
14 posvad
 
02.06.14
13:04
Не, нигде не переопрделяю. Я вообще этот модуль не трогал. Да и тип значения СправочникСсылка.Ресурсы у которого цена есть. И куча реквизитов, ни один не показывается, даже код и наименование.
15 posvad
 
02.06.14
13:09
Как тут картинку прикреплять-то?
16 zmaximka
 
02.06.14
13:10
давай скриншот отладчика вот на этом значении Стр.Ресурс
Картинку ни как. на файлопомойку выложи и ссылку
17 singlych
 
02.06.14
13:11
код на клиенте небось выполняется...
18 posvad
 
02.06.14
13:15
19 posvad
 
02.06.14
13:18
Да, на клиенте. Пишу жь: Модуль формы
20 singlych
 
02.06.14
13:19
Клиент не знает, что у тебя в Ресурсе через точку.
В модуле формы может и сервер быть.
21 posvad
 
02.06.14
13:20
тобишь, мне этот код в серверную процедуру запихнуть?
22 Enders
 
02.06.14
13:21
(21) получи значение цены на сервере и верни на клиент.
Интересно, как же раньше работало)
23 singlych
 
02.06.14
13:23
(21) вроде того
(22) для каждой Стр вызывать? Раньше, наверно, в Объект.РесурсыИспользуемыеДляПроизводства пусто было.
24 posvad
 
02.06.14
13:26
Заработало.

Не, всё в порядке было, только пускался как толстый клиент в файловом варианте. Я сейчас затачиваю под тонкий клиент. Во время тестирования иногда всплывают какие-то ошибки там, где я и не касаюсь.

Пока еще привыкаю, что на клиенте не всегда доступно всё.
25 Enders
 
02.06.14
13:27
(23) Можно и для каждой стр или изначально
Для Каждого Стр Из Объект.РесурсыИспользуемыеДляПроизводства Цикл
Вместо Объект.РесурсыИспользуемыеДляПроизводства получить готовую таблицу запросом на сервере.
26 posvad
 
02.06.14
13:28
Да, пожалуй так лучше будет. Спасибо.
27 singlych
 
02.06.14
14:07
(25) логичнее тогда уж на сервере ее и перебрать и Приб рассчитать
Закон Брукера: Даже маленькая практика стоит большой теории.