Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Перечисления НДС не получается перевести в числовой формат

Перечисления НДС не получается перевести в числовой формат
Я
   ksru
 
10.11.16 - 10:41
Как можно сделать чтоб НДС считалось если оно заданно в перечислениях?
Если можно то скиньте пример.
 
 
   torgm
 
1 - 10.11.16 - 10:44
(0) УТ 10 Функция в учетНДС

// Функция возвращает ставку НДС.

//
// Параметры:

//  СтавкаНДС - Ставка НДС.
//

// Возвращаемое значение:
//  Число.

//
Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт

    Если СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120 Тогда
        Возврат 20;
    ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС10_110 Тогда
        Возврат 10;
    ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118 Тогда
        Возврат 18;
    КонецЕсли;

    Возврат 0;

КонецФункции// ПолучитьСтавкуНДС()
   ksru
 
2 - 10.11.16 - 10:56
а для тупых можно еще раз

// Функция возвращает ставку НДС.

Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт
Если СтавкаНДС = Перечисления.НДС.Процент18 Тогда
Возврат 0.18;
ИначеЕсли СтавкаНДС = Перечисления.НДС.Процент10 Тогда
Возврат 010;
ИначеЕсли СтавкаНДС = Перечисления.НДС.БезНДС Тогда
Возврат 0;
КонецЕсли;
Возврат 0;
КонецФункции

&НаКлиенте
Процедура ЗаказанныйТоварЦенаСНДСПриИзменении(Элемент)
СтрокаТабличнойЧасти=Элементы.ЗаказанныйТовар.ТекущиеДанные;
СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧасти.НДС+СтрокаТабличнойЧасти.Цена;
КонецПроцедуры
   torgm
 
3 - 10.11.16 - 11:30
(2)  первый косяк
Если СтавкаНДС = Перечисления.НДС.Процент18 Тогда
Возврат 0.18;
ИначеЕсли СтавкаНДС = Перечисления.НДС.Процент10 Тогда
Возврат 010;

второй косяк 

Процедура ЗаказанныйТоварЦенаСНДСПриИзменении(Элемент)
СтрокаТабличнойЧасти=Элементы.ЗаказанныйТовар.ТекущиеДанные;
СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧасти.НДС+СтрокаТабличнойЧасти.Цена;
   ksru
 
4 - 11.11.16 - 09:42
(3) если честно то я ничего не понял что вы написали про косяки
вы имеете в виду 
Возврат 010;
косяк или что?
   shadow_sw
 
5 - 11.11.16 - 09:46
(4) у тебя функция возвращает переменную ставкаНДС, а в условии ты возвращаешь число, которое никуда не присвоено
   h-sp
 
6 - 11.11.16 - 09:47
(4) чем 010 отличается от 10? и где у тебя здесь 018?
   DDwe
 
7 - 11.11.16 - 09:49
(6) 010 строка видимо, а 10 может и число.
   ksru
 
8 - 11.11.16 - 10:10
(5) и каким образом это положение исправить возможно?
   ksru
 
9 - 11.11.16 - 10:58
как-то так должно быть?
Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт
СтрокаТабличнойЧасти=Элементы.ЗаказанныйТовар.ТекущиеДанные;
Если СтрокаТабличнойЧасти.НДС = Перечисления.НДС.Процент18 Тогда
СтрокаТабличнойЧасти.НДС=18;
ИначеЕсли СтавкаНДС = Перечисления.НДС.Процент10 Тогда
СтрокаТабличнойЧасти.НДС= 10;
ИначеЕсли СтавкаНДС = Перечисления.НДС.БезНДС Тогда
СтрокаТабличнойЧасти.НДС= 0;
Иначе
СтрокаТабличнойЧасти.НДС= 0;
КонецЕсли;
КонецФункции
   h-sp
 
10 - 11.11.16 - 11:09
(9) так не бывает. не может одновременно быть СтрокаТабличнойЧасти.НДС и перечислением и числом. Если там перечисление, то должно быть перечисление, число вы туда уже не запишете.

Может СтрокаТабличнойЧасти.СтавкаНДС там у вас есть?
 
 Рекламное место пустует
   ksru
 
11 - 11.11.16 - 11:14
(10) нет у меня есть Перечисления.НДС. Процент18, Процент10, БезНДС и поле ссылка которое ведет на перечисления называется НДС и имеется поле ЦенаСНДС которое нужно рассчитать как-то

СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧасти.НДС+СтрокаТабличнойЧасти.Цена;
   ksru
 
12 - 11.11.16 - 11:15
но поле НДС имеет не числовой формат
   shadow_sw
 
13 - 11.11.16 - 11:16
(10)(11) ух как все запущено...срочно читать про типы данных
   torgm
 
14 - 11.11.16 - 11:18
пипец конечно , ну ладн

СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*(100+ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС))/100
   shadow_sw
 
15 - 11.11.16 - 11:19
(14) сломал всю интригу
   torgm
 
16 - 11.11.16 - 11:20
(14) я практически сутки терпел :) 12 минут не хватило
   ksru
 
17 - 11.11.16 - 11:30
(16)

Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт
Если СтавкаНДС = Перечисления.НДС.Процент18 Тогда
Возврат 18;
ИначеЕсли СтавкаНДС = Перечисления.НДС.Процент10 Тогда
Возврат 10;
ИначеЕсли СтавкаНДС = Перечисления.НДС.БезНДС Тогда
Возврат 0;
КонецЕсли;
Возврат 0;
КонецФункции

Процедура ЗаказанныйТоварЦенаСНДСПриИзменении(Элемент)
СтрокаТабличнойЧасти=Элементы.ЗаказанныйТовар.ТекущиеДанные;
СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*(100+ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.СтавкаНДС))/100
КонецПроцедуры

так будет?
   torgm
 
18 - 11.11.16 - 11:40
(17) да почему же "ЗаказанныйТоварЦенаСНДСПриИзменении"???
ты ж обыкновенную цену меняешь или нет?
   h-sp
 
19 - 11.11.16 - 11:47
СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*(100+ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.НДС))/100
   ksru
 
20 - 11.11.16 - 11:59
(18) нет с НДС
&НаКлиенте
Процедура ЗаказанныйТоварНДСПриИзменении(Элемент)
СтрокаТабличнойЧасти=Элементы.ЗаказанныйТовар.ТекущиеДанные;
СтрокаТабличнойЧасти.ЦенаСНДС=СтрокаТабличнойЧасти.Цена*(100+ПолучитьСтавкуНДС(СтрокаТабличнойЧасти.НДС))/100
КонецПроцедуры
   torgm
 
21 - 11.11.16 - 12:00
(20) Меняешь Значения в какой колонке?
   shadow_sw
 
22 - 11.11.16 - 12:07
(21) не мучайся, пациент не хочет учиться, он хочет зеленую кнопку - напиши ему и всего делов :)
   torgm
 
23 - 11.11.16 - 12:10
(22) я вижу это,  меня "молодое поколение радует" чем больше таких, тем выше можно ставить ценник.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует