Имя: Пароль:
1C
1С v8
Поле объекта не обнаружено (стоимость)
0 wolfacker
 
07.09.20
18:27
Процедура НоменклатураЦенаПриИзменении(Элемент)
    Объект.Номенклатура.стоимость = Объект.Номенклатура.цена * Объект.Номенклатура.Количество
КонецПроцедуры
1 ДенисЧ
 
07.09.20
18:28
1с не обманывает. Нет у тебя в Номенклатуре стоимости...
2 wolfacker
 
07.09.20
18:29
(1) Тут скирины можно отправлять?
3 wolfacker
 
07.09.20
18:30
(2) Скрины*
4 ДенисЧ
 
07.09.20
18:30
(2) Можно. Клади на любой файлообменник и ссылку сюда.
Рекомендую pics.rsh.ru . Там сразу текстовая строка
5 wolfacker
 
07.09.20
18:32
6 wolfacker
 
07.09.20
18:33
(1) Если что я работаю в модуле формы документа
7 wolfacker
 
07.09.20
18:45
(4) ты тут?
8 Ёпрст
 
07.09.20
18:51
(5) ну теперь выдели Объект.Номенклатура  и посмотри доступные реквизиты. Найди там Стоимость
9 RomanYS
 
07.09.20
19:34
(8) стоимость там вероятно есть :). Судя по всему Номенклатура это ТЧ.

(0)
ТекущаяСтрока = Элементы.Номенклатура.ТекущиеДанные;
ТекущаяСтрока.Стоимость = ТекущаяСтрока....
10 lodger
 
07.09.20
20:28
(9) не всегда, не везде и не во всём эти ТекущиеДанные доступны или работают адекватно.
лучше сразу писать "кроссплатформенно" - будет легче когда форму надо будет перерисовать на веб, например.

ТекущиеДанные = Элементы.Номенклатура.ДанныеСтроки(Элементы.Номенклатура.ТекущаяСтрока);
11 RomanYS
 
07.09.20
20:54
(10) Откуда "дровишки"?
Про какой "веб" речь? Разработчики типовых похоже не в курсе: типовая БП3 (которая вполне себе работает в вебе) результаты поиска
".ДанныеСтроки(" найдено 116 раз (в большинстве случаев для ДС и аргументом <выделенная строка>)
".ТекущиеДанные" найдено 16811 раз
12 lodger
 
08.09.20
12:12
(11) ну вот как раз ДС, деревья, разные виды клиентов, включая толстый.
13 RomanYS
 
08.09.20
12:39
(12) Проверил ДС - всё работает. С толстым клиентом тоже никаких проблем.
Деревья лень проверять.
Но я ни очень представляю себе ситуацию, что разработчик настолько не представляет с чем будет работать (ТЗ, ДЗ или ДС) чтобы городить на всякий случай (10)
14 lodger
 
08.09.20
12:53
(13) простая ситуация:
пишем обработчик события в общем клиентском модуле для ковыряния в данных строки какой-то коллекции значений.
не включая голову начинаем её всюду подключать, где есть реквизиты нужного имени и значения.
получаем вылеты в некоторых местах, перепишем через (10)
настолько универсальных данных действительно мало, да и мало извращенцев использует все виды клиентов одновременно, но свихнувшись разок - обратно развихнуться уже сложно.
15 RomanYS
 
08.09.20
12:58
(14) ладно, остаемся при своих )
Где именно не работает так и не понял. Деревья?
16 Pro-tone
 
08.09.20
13:05
(0) похоже на УФ недавно пересел
17 RomanYS
 
08.09.20
13:06
(16) Если только с клюшек. В восьмере никогда так к строке ТЧ обратиться нельзя было
18 Tarlich
 
08.09.20
13:33
получитьОбъект() не предлагать ?
19 Tarlich
 
08.09.20
13:38
Если в строке табчасти то

ТекущаяСтрока = Элементы.Номенклатура.ТекущиеДанные;
ТекущаяСтрока.Стоимость = ТекущаяСтрока.Количество*ТекущаяСтрока.Цена

а если в реквизит справочника то надо будет сам элемент получить
ТекущаяСтрока = Элементы.Номенклатура.ТекущиеДанные;
спр =ТекущаяСтрока.Номенклатура.ПолучитьЭлемент();
спр.Себестоимость =
Спр.Записать()
...................
20 Web00001
 
08.09.20
13:42
(14)
Скажи мне, Гиви, дорогой, если ты пойдешь в горы, и там в лесу на тебя нападет медведь — что сделаешь?
— Достану кинжал и зарежу его, — отвечает сын.
— А если у тебя нет кинжала?
— Тогда возьму камень и брошу в него!
— А если нет камня?
— Залезу на дерево, чтобы он меня не достал!
— А если нету дерева? Такой, понимаешь, лес — нету дерева...
Гиви медленно поднимает на отца глаза и говорит:
— Папа, скажи мне, ты за кого — за меня или за медведя?

Если из...вернуться то конечно можно найти ситуацию в которой наконец таки не будет работать. Но во первых. Зачем искать? Во вторых, может надо решать проблемы по мере их поступления. Так можно не один километр кода написать "на всякий случай".