|
Присвоение значений | ☑ | ||
---|---|---|---|---|
0
ignatfool
19.09.13
✎
08:04
|
Здравствуйте
Самописная конфа Есть условие "Если тогда С=Х иначе С=У конецесли". потом этот реквизит используется в выражении типа "А=Б+В-С", через отладку видно что выражение считается правильно С=Х и при С=У, но вот на форме А отображается верно только когда результат первого условия - Х(когда У - показывает предыдущий результат и не изменяется с изменением У). Тип значения всех переменных - число. Вопрос - где я туплю? |
|||
1
cw014
19.09.13
✎
08:06
|
Попей воды, нифига не понятно:
1) Если тогда С=Х - если что? 2) С=Х и при С=У, но вот на форме - "А похоже паровоз..." |
|||
2
LehhaK
19.09.13
✎
08:08
|
На вскидку: Форма.Обновить(); после присвоения Y
|
|||
3
goleaff2006
19.09.13
✎
08:08
|
Где условие то, а?
|
|||
4
ignatfool
19.09.13
✎
08:09
|
(1) Если Объект.МотоСчетчик = 0 Тогда
Объект.МашиноЧасыВозвр = Объект.Пробег + Объект.МашиноЧасы; Объект.РасходПоНорме = Объект.Пробег*НормаРасхода + Объект.РаботаОтопителя*НормаРасходаОтопителя + 1/10*Объект.РаботаОтопителя*НормаРасходаОтопителя;// последнее - допуски на прогрев двигателя Иначе Объект.МашиноЧасыВозвр = Объект.МотоСчетчик + Объект.МашиноЧасы; Объект.РасходПоНорме = Объект.МотоСчетчик*НормаРасхода + Объект.РаботаОтопителя*НормаРасходаОтопителя + 1/10*Объект.РаботаОтопителя*НормаРасходаОтопителя;// последнее - допуски на прогрев двигателя КонецЕсли; Объект.РасходПоФакту = 0; Объект.РасходПоФакту = Объект.ВыездОстатокГСМ+Объект.ВыданоГСМ-Объект.ОстатокГСМФакт; Объект.ОстатокГСМНорма = Объект.ВыездОстатокГСМ+Объект.ВыданоГСМ-Объект.РасходПоНорме; А = Объект.ОстатокГСМНорма |
|||
5
ЧеловекДуши
19.09.13
✎
08:09
|
(0) ДНК?
(2) А теперь расшифруй с учетом в (0) :) |
|||
6
ignatfool
19.09.13
✎
08:11
|
(2) а почему при X форму обновлять не нужно?
|
|||
7
ignatfool
19.09.13
✎
08:12
|
(5) А - Объект.ОстатокГСМНорма
C=X - Объект.РасходПоНорме = Объект.Пробег*НормаРасхода + Объект.РаботаОтопителя*НормаРасходаОтопителя + 1/10*Объект.РаботаОтопителя*НормаРасходаОтопителя C=У - Объект.РасходПоНорме = Объект.МотоСчетчик*НормаРасхода + Объект.РаботаОтопителя*НормаРасходаОтопителя + 1/10*Объект.РаботаОтопителя*НормаРасходаОтопителя |
|||
8
ignatfool
19.09.13
✎
08:15
|
(2)+ ЭтаФорма.ОбновитьОтображениеДанных(); результата не дало.
|
|||
9
ЧеловекДуши
19.09.13
✎
08:34
|
(8) Если я правильно понял, у тебя есть форма, на которой отображаются ряд данных.
У тебя так же есть объект, некий элемент справочника (я предположил). При попытки изменить значения у Объекта, у тебя не изменяются значения в диалоге? Я нечего не упустил? :) |
|||
10
ЧеловекДуши
19.09.13
✎
08:36
|
+(8) А ты Записал изменения, прежде чем обновлять?
|
|||
11
Sabbath
19.09.13
✎
08:44
|
Мне кажется, что-то с типами, или в переменных или в полях на форме. А, может быть, тип число, но отличается в разрядности. Короче как-то так..
|
|||
12
ignatfool
19.09.13
✎
10:03
|
(9) Есть документ, у него реквизиты вышеописанные (поэтому через "Объект." обращение), есть форма, на форме есть поле Мотосчетчик, МашиноЧасыВозвр, ОстатокГСМНорма. Пробег считается по формуле из данных вводимых на форме. Поле ОстатокГСМНорма В зависимости от условия считается из данных 1 поля или другого, когда от "Пробег" - изменения отображаются, а когда от "Мотосчетчик" - не отображаются.
+ Сначала нет, после твоего поста записал - картина та же. (11) Разрядность привел к единообразию - картина та же. |
|||
13
catena
19.09.13
✎
10:06
|
(12)А событие пересчета на изменение второго реквизита привязано?
|
|||
14
ignatfool
19.09.13
✎
10:16
|
(13) Пересчет происходит ПередЗаписью. Но попробую засунуть его в изменения реквизитов...
|
|||
15
catena
19.09.13
✎
10:22
|
(14)Второе поле связано с реквизитом документа?
|
|||
16
ignatfool
19.09.13
✎
10:34
|
(15) Для каждого поля - свой реквизит документа. Засунул Пересчет в изменения полей. убрал пересчет из Перед записью. Все работает за исключением того, что при записи пересчет все равно происходит как и раньше. Процедуры ПриЗаписи, ПередЗаписью и ПослеЗаписи не заданы. Откуда тогда он знает как нужно пересчитывать?
|
|||
17
ignatfool
19.09.13
✎
10:37
|
(16)+ нашел откуда ноги растут - пересчет еще есть в обработкепроведения, только я понять не могу зачем при записи отрабатывает ОбработкаПроведения?
|
|||
18
ignatfool
19.09.13
✎
10:47
|
Всем спасибо, не считая "зачем при записи отрабатывает ОбработкаПроведения?" тема закрыта
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |