|
Перечисления НДС не получается перевести в числовой формат | ☑ | ||
---|---|---|---|---|
0
ksru
10.11.16
✎
10:41
|
Как можно сделать чтоб НДС считалось если оно заданно в перечислениях?
Если можно то скиньте пример. |
|||
1
torgm
10.11.16
✎
10:44
|
(0) УТ 10 Функция в учетНДС
// Функция возвращает ставку НДС. // // Параметры: // СтавкаНДС - Ставка НДС. // // Возвращаемое значение: // Число. // Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт Если СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120 Тогда Возврат 20; ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС10_110 Тогда Возврат 10; ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118 Тогда Возврат 18; КонецЕсли; Возврат 0; КонецФункции // ПолучитьСтавкуНДС() |
|||
2
ksru
10.11.16
✎
10:56
|
а для тупых можно еще раз
// Функция возвращает ставку НДС. Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт Если СтавкаНДС = Перечисления.НДС.Процент18 Тогда Возврат 0.18; ИначеЕсли СтавкаНДС = Перечисления.НДС.Процент10 Тогда Возврат 010; ИначеЕсли СтавкаНДС = Перечисления.НДС.БезНДС Тогда Возврат 0; КонецЕсли; Возврат 0; КонецФункции &НаКлиенте Процедура ЗаказанныйТоварЦенаСНДСПриИзменении(Элемент) СтрокаТабличнойЧасти=Элементы.ЗаказанныйТовар.ТекущиеДанные; СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧасти.НДС+СтрокаТабличнойЧасти.Цена; КонецПроцедуры |
|||
3
torgm
10.11.16
✎
11:30
|
(2) первый косяк
Если СтавкаНДС = Перечисления.НДС.Процент18 Тогда Возврат 0.18; ИначеЕсли СтавкаНДС = Перечисления.НДС.Процент10 Тогда Возврат 010; второй косяк Процедура ЗаказанныйТоварЦенаСНДСПриИзменении(Элемент) СтрокаТабличнойЧасти=Элементы.ЗаказанныйТовар.ТекущиеДанные; СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧасти.НДС+СтрокаТабличнойЧасти.Цена; |
|||
4
ksru
11.11.16
✎
09:42
|
(3) если честно то я ничего не понял что вы написали про косяки
вы имеете в виду Возврат 010; косяк или что? |
|||
5
shadow_sw
11.11.16
✎
09:46
|
(4) у тебя функция возвращает переменную ставкаНДС, а в условии ты возвращаешь число, которое никуда не присвоено
|
|||
6
h-sp
11.11.16
✎
09:47
|
(4) чем 010 отличается от 10? и где у тебя здесь 018?
|
|||
7
DDwe
11.11.16
✎
09:49
|
(6) 010 строка видимо, а 10 может и число.
|
|||
8
ksru
11.11.16
✎
10:10
|
(5) и каким образом это положение исправить возможно?
|
|||
9
ksru
11.11.16
✎
10:58
|
как-то так должно быть?
Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт СтрокаТабличнойЧасти=Элементы.ЗаказанныйТовар.ТекущиеДанные; Если СтрокаТабличнойЧасти.НДС = Перечисления.НДС.Процент18 Тогда СтрокаТабличнойЧасти.НДС=18; ИначеЕсли СтавкаНДС = Перечисления.НДС.Процент10 Тогда СтрокаТабличнойЧасти.НДС= 10; ИначеЕсли СтавкаНДС = Перечисления.НДС.БезНДС Тогда СтрокаТабличнойЧасти.НДС= 0; Иначе СтрокаТабличнойЧасти.НДС= 0; КонецЕсли; КонецФункции |
|||
10
h-sp
11.11.16
✎
11:09
|
(9) так не бывает. не может одновременно быть СтрокаТабличнойЧасти.НДС и перечислением и числом. Если там перечисление, то должно быть перечисление, число вы туда уже не запишете.
Может СтрокаТабличнойЧасти.СтавкаНДС там у вас есть? |
|||
11
ksru
11.11.16
✎
11:14
|
(10) нет у меня есть Перечисления.НДС. Процент18, Процент10, БезНДС и поле ссылка которое ведет на перечисления называется НДС и имеется поле ЦенаСНДС которое нужно рассчитать как-то
СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧасти.НДС+СтрокаТабличнойЧасти.Цена; |
|||
12
ksru
11.11.16
✎
11:15
|
но поле НДС имеет не числовой формат
|
|||
13
shadow_sw
11.11.16
✎
11:16
|
(10)(11) ух как все запущено...срочно читать про типы данных
|
|||
14
torgm
11.11.16
✎
11:18
|
пипец конечно , ну ладн
СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*(100+ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС))/100 |
|||
15
shadow_sw
11.11.16
✎
11:19
|
(14) сломал всю интригу
|
|||
16
torgm
11.11.16
✎
11:20
|
(14) я практически сутки терпел :) 12 минут не хватило
|
|||
17
ksru
11.11.16
✎
11:30
|
(16)
Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт Если СтавкаНДС = Перечисления.НДС.Процент18 Тогда Возврат 18; ИначеЕсли СтавкаНДС = Перечисления.НДС.Процент10 Тогда Возврат 10; ИначеЕсли СтавкаНДС = Перечисления.НДС.БезНДС Тогда Возврат 0; КонецЕсли; Возврат 0; КонецФункции Процедура ЗаказанныйТоварЦенаСНДСПриИзменении(Элемент) СтрокаТабличнойЧасти=Элементы.ЗаказанныйТовар.ТекущиеДанные; СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*(100+ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС))/100 КонецПроцедуры так будет? |
|||
18
torgm
11.11.16
✎
11:40
|
(17) да почему же "ЗаказанныйТоварЦенаСНДСПриИзменении"???
ты ж обыкновенную цену меняешь или нет? |
|||
19
h-sp
11.11.16
✎
11:47
|
СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*(100+ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.НДС))/100
|
|||
20
ksru
11.11.16
✎
11:59
|
(18) нет с НДС
&НаКлиенте Процедура ЗаказанныйТоварНДСПриИзменении(Элемент) СтрокаТабличнойЧасти=Элементы.ЗаказанныйТовар.ТекущиеДанные; СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*(100+ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.НДС))/100 КонецПроцедуры |
|||
21
torgm
11.11.16
✎
12:00
|
(20) Меняешь Значения в какой колонке?
|
|||
22
shadow_sw
11.11.16
✎
12:07
|
(21) не мучайся, пациент не хочет учиться, он хочет зеленую кнопку - напиши ему и всего делов :)
|
|||
23
torgm
11.11.16
✎
12:10
|
(22) я вижу это, меня "молодое поколение радует" чем больше таких, тем выше можно ставить ценник.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |