Имя: Пароль:
1C
1С v8
При определенном значении реквизита формы использовать формулу..
,
0 marizi
 
19.05.16
15:52
В документе при выборе автомобиля автоматически заполняется поле "ВидТранспортногоСредства". Если Вид ТС = Грузовой автомобиль, нужно использовать одну формулу для расчета, если Легковой другую. Подскажите, пожалуйста, как это осуществить.
1 butterbean
 
19.05.16
15:54
через условный оператор Если
2 singlych
 
19.05.16
16:09
Если ВидТС = ГрузовойАвтомобиль Тогда
    ИспользоватьОднуФормулуДляРасчета();
ИначеЕсли ВидТС = ЛегковойАвтомобиль Тогда
    ИспользоватьДругуюФормулуДляРасчета();
КонецЕсли;
3 marizi
 
19.05.16
16:12
Пробовала таким образом:
&НаСервереБезКонтекста
Функция ВидТС(Автомобиль)
Возврат Автомобиль.ВидТранспортногоСредства;
КонецФункции


&НаКлиенте
Процедура АвтомобильПриИзменении(Элемент)
    Если ВидТС(Объект.Автомобиль) = "Грузовой автомобиль" Тогда
    Объект.РасходТопливаНорма = 0;
    КонецЕсли;    
КонецПроцедуры

Ничего не происходит
4 marizi
 
19.05.16
16:13
(2) А в какую процедуру это лучше записывать?
5 Nuobu
 
19.05.16
16:13
(3) Ну, чтобы код заработал, нужно в профиль фото добавить.
6 Fish
 
19.05.16
16:14
(3) А реквизит ВидТранспортногоСредства какого типа?
7 marizi
 
19.05.16
16:16
(6) СправочникСсылка.ВидыТранспортныхСредств
8 hhhh
 
19.05.16
16:17
(7) а точно у вас вид траспортного средства строка? "Грузовой автомобиль" - это ведь строка.
9 Fish
 
19.05.16
16:20
(7) Вот поэтому условие
Если ВидТС(Объект.Автомобиль) = "Грузовой автомобиль" Тогда
...

и не выполняется.
10 marizi
 
19.05.16
16:22
(9) А как в таком случае сделать правильно?)
11 marizi
 
19.05.16
16:22
(9) Без "" переменная не определяется
12 Fish
 
19.05.16
16:23
(10) Сравнивать данные одного типа.
13 singlych
 
19.05.16
16:28
Грузовой автомобиль - это предопределенный элемент справочника?
14 marizi
 
19.05.16
16:33
(13) нет. В справочнике только стандартный реквизит наименование
15 hhhh
 
19.05.16
16:34
(14) ну тогда не очень хороший вариант

&НаСервереБезКонтекста
Функция ВидТС(Автомобиль)
Возврат Автомобиль.ВидТранспортногоСредства.Наименование;
КонецФункции
16 Fish
 
19.05.16
16:35
(14) Предопределённый элемент и реквизиты справочника - это две разные вещи :)
17 marizi
 
19.05.16
16:39
(16) Да я как видите не шарю, решила на всякий случай уточнить..)
18 aleks_default
 
19.05.16
16:41
блондинка?
19 hhhh
 
19.05.16
16:42
(17) понял, вы с 1с-лансера.
20 aleks_default
 
19.05.16
16:44
Элемент справочника с названием " "Грузовой автомобиль" помечен желтым кружочком? Если помечен - значит он предопределенный.
21 Fish
 
19.05.16
16:44
(17) ПКМ на справочнике - Открыть предопределённые данные.

Если там есть твой "Грузовой автомобиль", то к нему можно обратиться прямо по имени, чтобы получить ссылку.
22 marizi
 
19.05.16
16:46
(15) Таким образом получилось, спасибо.
23 Nuobu
 
19.05.16
16:48
(22) бгг
24 Fish
 
19.05.16
16:48
(22) Привязываться к наименованию - это моветон.
25 marizi
 
19.05.16
16:51
(24) Что ж поделать
26 Fish
 
19.05.16
16:53
(25) Использовать предопределённые элементы.
27 singlych
 
19.05.16
17:17
Не, круче в видах ТС хранить формулы для расчетов.
28 dmpl
 
19.05.16
17:42
(27) Да что там формулы - сразу модуль.
29 marizi
 
19.05.16
20:42
(26) Окей, сделала я предопределенный элемент Грузовой автомобиль. Дальше что делать не знаю. Без этих всяких функций процедур обходиться?
30 singlych
 
20.05.16
09:46
(29) дальше че-нить вроде

&НаСервереБезКонтекста
Функция ЭтоГрузовойАвтомобиль(Автомобиль)
    Возврат Автомобиль.ВидТранспортногоСредства = Справочники.ВидыТранспортныхСредств.ГрузовойАвтомобиль;
КонецФункции


&НаКлиенте
Процедура АвтомобильПриИзменении(Элемент)
    Если ЭтоГрузовойАвтомобиль(Объект.Автомобиль) Тогда
        Объект.РасходТопливаНорма = 0;
    КонецЕсли;    
КонецПроцедуры
31 marizi
 
20.05.16
15:38
(30) Спасибо)
Независимо от того, куда вы едете — это в гору и против ветра!