Имя: Пароль:
1C
1С v8
Может кто подскажет?
,
0 izar83
 
07.01.13
15:12
Уважаемые специалисты по программированию 1С.
Ситауция следующяя. Конфа УТ для Казахстана 2.2
Необходимо в накладную и счет-фактуру добавить дополнительно 3 колонки с данными Вес товара, Общий Вес товара и Цены за упаковку товара.
В форме документа, и печатной форме все сделано и работает.
Но толкнулся с такой проблемой, при использовании кнопки Подбор и добавлении количества и цены через эту кнопку, расчет не срабатывал.

Добавил расчет в процедуру, ПриПолученииДанных().
Работает, но если полностью отчистить ТЧ по при добавлении новой позиции Подбором выдает ошибку;
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(3963)}: Значение не является значением объектного типа (Сумма)
  СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Вес;

Но при нажатии на кнопку ОК позиция записывается и делее идет подбор следующих поз без ошибки.

Как это подправить?
Если можно поподробнее. Заранее спасибо всем.
1 Amra
 
07.01.13
15:13
Нафига плодишь ветки?
2 Нуф-Нуф
 
07.01.13
15:14
3 Oleg_Kag
 
07.01.13
15:15
(0) Как ты думаешь во время подобра чему равно СтрокаТабличнойЧасти?
4 izar83
 
07.01.13
15:24
И чему же равно СтрокаТабличнойЧасти?
5 izar83
 
07.01.13
15:25
Подскажите подробно если можно.
6 aka AMIGO
 
07.01.13
15:26
(5) в отладчике посмотри
7 Нуф-Нуф
 
07.01.13
15:32
помогите ему кто-нибудь
8 hhhh
 
07.01.13
15:56
(5) ну вот это

СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Вес;

слишком высоко стоит. Надо его передвинуть пониже в программе.
9 izar83
 
07.01.13
16:09
Эта строчка и так в самом низу процедуры. Куда ниже то?
10 Нуф-Нуф
 
07.01.13
16:14
будь мужиком блеать!
11 hhhh
 
07.01.13
16:15
(9) ну там к примеру 35 процедур у вас, поместите в процедуру которая пониже в этом списке.
12 Рэйв
 
07.01.13
16:27
бан ему, бан!
17 Нуф-Нуф
 
07.01.13
18:31
(16) ладно
18 Lenka_Boo
 
07.01.13
18:32
(0) А ты добавь не в ПриПолученииДанных(), а ПриВыводеСтроки().

Значения переменных при отладке смотреть умеешь?
Поставь СТОП на строке кода:
"СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Вес"
и посмотри что у тебя вообще из себя представляет "СтрокаТабличнойЧасти", (сдается мне, что будет "не определено").
19 aka AMIGO
 
07.01.13
18:37
(18) вот мне тоже непонятно это с первых постов ТС: добавляться должна новая строка для каждого элемента справочника, т.е. опять должно быть "неопределено"..
сумма-то считается для пустой строки..

или в начале реквизиты строки пусты? или строки вообще не существует?

(17) лучше-б ответил мужику :)
20 Нуф-Нуф
 
07.01.13
18:41
поставить остановку по ошибке в конфигураторе, поймать момент ошибки и думать, думать, думать
21 Lenka_Boo
 
07.01.13
18:45
(19) Он написал что "но если полностью отчистить ТЧ", значит расчитывается предыдущая строка. При полной очистке ТЧ такой строки нет. "Полученные данные" еще строкой ТЧ не являются.
22 Aprobator
 
07.01.13
18:50
ПриПолученииДанных для расчёта использовать не стоит. Ищи процедуру обработки подбора.
23 aka AMIGO
 
07.01.13
18:51
(20) да, отладчик - наше всё! :)
(21) надо-ж.. вроде строка с нужными реквизитами есть, но её нет..
кажется абсолютно правильным в (18) вот это ПриВыводеСтроки()..

(22) опередил, +1
:)
24 Aprobator
 
07.01.13
18:56
ПриПолученииДанных и ПриВыводеСтроки используются для изменения оформления выводимых строк и для отображения информации, которая является дополнительной для данного объектаи внутри него не хранится.
25 Lenka_Boo
 
07.01.13
19:03
(24) В ПриВыводеСтроки() строка уже есть в ТЧ, но еще нет на форме.
При должном умении можно расчет и в ПриПолученииДанных() запихать, но новичок не справится.
26 Aprobator
 
07.01.13
19:19
(25) это делается в событиях ПриИзменении полей строки. Изменились данные есть смысл делать пересчет. А не каждый раз при их показе. Это методологически неверно.
27 Нуф-Нуф
 
07.01.13
19:20
тссс... а автора то и нет... наверно в монголии ночью инет отрубают...
28 Нуф-Нуф
 
07.01.13
19:20
верблюды, которые крутят генераторы - засыпают...