Имя: Пароль:
1C
1С v8
Значение не является значением объектного типа (Сумма)
,
0 heliox
 
09.06.17
13:44
{ОбщийМодуль.РаботаСДокументами.Модуль(3)}: Значение не является значением объектного типа (Сумма)
  СтрокаТЧ.Сумма = СтрокаТЧ.Цена * СтрокаТЧ.Количество;


Процедура РасчетСуммы(СтрокаТЧ) Экспорт
              
  СтрокаТЧ.Сумма = СтрокаТЧ.Цена * СтрокаТЧ.Количество;
    КонецПроцедуры

чому так ?
1 piter3
 
09.06.17
13:44
Сумма на форме,А не реквизит ТЧ
2 heliox
 
09.06.17
13:47
(1) есть реквизит тч такой
3 piter3
 
09.06.17
13:48
(2) В отладчике посмотри что есть СтрокаТЧ и есть ли там сумма
4 heliox
 
09.06.17
13:54
(3) ДанныеФормыЭлементКоллекции
Сумма есть
5 heliox
 
09.06.17
13:55
Работало
перестало после того, как написал:

Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт
Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры);

ЗначениеРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
Возврат ЗначениеРесурсов.Цена;
КонецФункции
6 piter3
 
09.06.17
13:57
ДанныеФормыЭлементКоллекции (FormDataCollectionItem)
Свойство (Property)
Синтаксис:

Свойство(<Ключ>, <НайденноеЗначение>)
Параметры:

<Ключ> (обязательный)

Тип: Строка.
Ключ для поиска свойства.
<НайденноеЗначение> (необязательный)

Тип: Произвольный.
Содержит найденное значение. Если ключа нет в структуре, то возвращается Неопределено.
Возвращаемое значение:

Тип: Булево.
Истина - ключ найден; Ложь в противном случае.
Описание:

Получает значение элемента по указанному имени, а также проверяет, имеется ли указанное свойство.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
--------------------------------------------------------------------------------

     Методическая информация
7 h-sp
 
09.06.17
13:57
(5) в строкатч передается неопределено
8 heliox
 
09.06.17
14:00
Ну вообще.. СтрокаТЧ = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
9 piter3
 
09.06.17
14:01
ТекущиеДанные
Использование:

Только чтение.
10 heliox
 
09.06.17
14:02
да это пример из радченко
там так пишут
11 piter3
 
09.06.17
14:03
покажи что там пишут
12 h-sp
 
09.06.17
14:03
(10) если не выбрана текущая строка, то текущие данные = Неопределено. Поэтому надо проверку обязательно ставить. Разве у Радченко этого нет?
13 heliox
 
09.06.17
14:04
Листинг 4.2. Процедура «РассчитатьСумму()»
Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт
СтрокаТабличнойЧасти.Сумма =
СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры
Прокомментируем этот код. В процедуру РассчитатьСумму() мы
передаем переменную СтрокаТабличнойЧасти, которую мы опре-
делили в обработчике события ПриИзменении поля Количество.
Она содержит данные редактируемой строки табличной части
документа ПриходнаяНакладная.
Теперь, используя эту переменную, мы можем получить доступ
к данным колонок табличной части и рассчитать сумму как произ-
ведение цены на количество.
14 heliox
 
09.06.17
14:06
(12)Неа
15 h-sp
 
09.06.17
14:06
(13) приколол.

мы тебя совсем другое просим показать.
16 heliox
 
09.06.17
14:06
Процедура «МатериалыКоличествоПриИзменении()»
&НаКлиенте
Процедура МатериалыКоличествоПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры
17 heliox
 
09.06.17
14:07
Процедура «РассчитатьСумму()»
Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт
СтрокаТабличнойЧасти.Сумма =
СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры
18 heliox
 
09.06.17
14:08
(15) Ты про галочку "Проверка заполнения" ?
19 h-sp
 
09.06.17
14:08
(16) ну то есть когда меняешь количество эта ошибка выскакивает?
20 heliox
 
09.06.17
14:08
(19) Нет, когда добавляю номенклатуру
21 h-sp
 
09.06.17
14:10
(20) а ты разве не заметил, что вообще тупо ты не туда впихиваешь? У Радченко ПриИзменении.
22 heliox
 
09.06.17
14:10
(21) Ну дак и у меня
23 heliox
 
09.06.17
14:11
Ошибка показывает на общий модуль, а модуль формы у меня

&НаКлиенте
Процедура ПереченьНоменклатурыКоличествоПриИзменении(Элемент)
    СтрокаТЧ = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
    РаботаСДокументами.РасчетСуммы(СтрокаТЧ);
КонецПроцедуры

&НаКлиенте
Процедура ПереченьНоменклатурыЦенаПриИзменении(Элемент)
    СтрокаТЧ = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
    РаботаСДокументами.РасчетСуммы(СтрокаТЧ);
КонецПроцедуры
24 h-sp
 
09.06.17
14:12
(23) так ты говоришь при добавлении ошибка выскакивает. Давай этот код, где добавление.
25 heliox
 
09.06.17
14:13
(24) Да какой код то ? Я не писал ничего кроме этого
26 heliox
 
09.06.17
14:13
27 heliox
 
09.06.17
14:14
Она добавляется
сумма расчитывается
просто при добавлении ошибка, жму ок и работаю дальше всё норм
просто это же не нормально
28 PiotrLoginov
 
09.06.17
14:16
(27) не нормально использовать программу, запрещенную властями ;)
29 heliox
 
09.06.17
14:16
(28) я не укр
30 Неверный Параметр И
 
09.06.17
14:18
(29) Чому так? (:
31 heliox
 
09.06.17
14:19
(30) тому так
32 heliox
 
09.06.17
14:20
Ну дак это, что может быть причиной ошибки  ?
Всё по книге делал, книга конечно по 8.2, а у меня 8.3.9
33 h-sp
 
09.06.17
14:20
(31) значит ты где-то еще эту процедуру  расчет сумм или ПереченьНоменклатурыКоличествоПриИзменении вызываещь. Посмотри все события табличного поля, может туда вставил.
34 Неверный Параметр И
 
09.06.17
14:22
(31) Тому що не надо вызывать эти процедуры вручную бо привязывать к не тем  обработчикам
35 heliox
 
09.06.17
14:24
(33) Точно.. ступил
спасибо )
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.