Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Окт 2017, 19:33
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Преобразование значения к типу Число не может быть выполнено  (Прочитано 498 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн damir-it

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-06-26
  • Сайт: 
  • Профессия: Программист 7.7
Уважаемые форумчане
С недавнего времени начал изучать восьмую версию платформы 1С, до этого программировал на семерке, возникла необходимость создать новый документ в 1С 8 версии по образцу документа с 1с 7.7 , с глобального модуля семерки перенес функцию для этого документа в общий модуль восьмерки, при проверке вылетела ошибка;
{ОбщийМодуль.ОбщегоНазначенияГлобальный.Модуль(3809)}: Преобразование значения к типу Число не может быть выполнено
   Процент = ?(Процент=0,СортКласс*100,Процент);   // 

вот функция этого документа;

Функция глРассчитатьЦенуХлопка(Котировка,Сорт,Класс,Тип,КодТипа,Коэффициент,Процент, СкидкаПоКонтракту=0) Экспорт
   Перем СортКлас;
   УстЦена = 22.046;
   Скидка = 0.15;
   КодТипа = ?(ПустаяСтрока(КодТипа)=0,КодТипа,?(Тип=5,"35","36"));
   Если (Тип = 5) и (СокрЛП(КодТипа) = "34") Тогда
       КоэфТип = 0.987;
   ИначеЕсли (Тип = 4) и (СокрЛП(КодТипа) = "36") Тогда
      КоэфТип = 1.0137;
   Иначе
      КоэфТип = 1.000;
   КонецЕсли;
   Если Коэффициент = 0 Тогда
       Коэффициент = КоэфТип;
   КонецЕсли;
   
   СортКлас = 0.00;
   Если Сорт = 1 Тогда
       Если Класс = Перечисления.Классы.хороший Тогда
         СортКласс = 0.05;
      ИначеЕсли Класс = Перечисления.Классы.высший Тогда
         СортКласс = 0.04;
      ИначеЕсли Класс = Перечисления.Классы.лучший Тогда
         СортКласс = -0.035;
      ИначеЕсли Класс = Перечисления.Классы.плохой Тогда
         СортКласс = -0.075;
      КонецЕсли;
   ИначеЕсли Сорт = 2 Тогда
       Если Класс = Перечисления.Классы.Олий Тогда
         СортКласс = 0.02;
      ИначеЕсли Класс = Перечисления.Классы.хороший Тогда
         СортКласс = -0.01;
      ИначеЕсли Класс = Перечисления.Классы.средний Тогда
         СортКласс = -0.045;
      ИначеЕсли Класс = Перечисления.Классы.высший Тогда
         СортКласс = -0.08;
      ИначеЕсли Класс = Перечисления.Классы.плохой Тогда
         СортКласс = -0.12;
      КонецЕсли;
   ИначеЕсли Сорт = 3 Тогда
      Если Класс = Перечисления.Классы.лучший Тогда
         СортКласс = -0.035;
      ИначеЕсли Класс = Перечисления.Классы.средний Тогда
         СортКласс = -0.07;
      ИначеЕсли Класс = Перечисления.Классы.хороший Тогда
         СортКласс = -0.115;
      ИначеЕсли Класс = Перечисления.Классы.плохой Тогда
         СортКласс = -0.16;
      КонецЕсли;   
   ИначеЕсли Сорт = 4 Тогда
      Если Класс = Перечисления.Классы.лучший Тогда
         СортКласс = -0.15;
      ИначеЕсли Класс = Перечисления.Классы.средний Тогда
         СортКласс = -0.20;
      ИначеЕсли Класс = Перечисления.Классы.хороший Тогда
         СортКласс = -0.25;
      ИначеЕсли Класс = Перечисления.Классы.плохой Тогда
         СортКласс = -0.30;
      КонецЕсли;   
   ИначеЕсли Сорт = 5 Тогда
      Если Класс = Перечисления.Классы.средний Тогда
         СортКласс = -0.45;
      ИначеЕсли Класс = Перечисления.Классы.хороший Тогда
         СортКласс = -0.50;
      ИначеЕсли Класс = Перечисления.Классы.плохой Тогда
         СортКласс = -0.55;
      КонецЕсли;   
   КонецЕсли;
   Сообщить(СортКласс);
   Процент = ?(Процент=0,СортКласс*100,Процент);   // 
   Цена = Котировка*УстЦена;
    Цена = Цена-Цена*Скидка;
   Цена = Цена+Цена*Процент/100;
   Цена = Цена*Коэффициент;
   //Добавляем расчет с учетом скидки по контракту
   Цена = Цена - Цена * СкидкаПоКонтракту / 100;
   Возврат Цена;
КонецФункции

восьмерку осваивать начал совсем недавно, поэтому сильно не пинайте,
вроде все правильно не могу понять где здесь ошибка.
Разъясните пожалуйста
С Уважением Дамир


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
СортКлас = 0.00;

ошибка вот тут.
сами догадаетесь почему?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн damir-it

  • *
  • Сообщений: 15
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-06-26
  • Сайт: 
  • Профессия: Программист 7.7
я подкорректировал функцию;
глРассчитатьЦенуХлопка(Котировка,Сорт,Класс,Тип,КодТипа,Коэффициент,Процент, СкидкаПоКонтракту=0) Экспорт
   
   УстЦена = 22.046;
   Скидка = 0.15;
   КодТипа = ?(ПустаяСтрока(КодТипа)=0,КодТипа,?(Тип=5,"35","36"));
   Если (Тип = 5) и (СокрЛП(КодТипа) = "34") Тогда
       КоэфТип = 0.987;
   ИначеЕсли (Тип = 4) и (СокрЛП(КодТипа) = "36") Тогда
      КоэфТип = 1.0137;
   Иначе
      КоэфТип = 1.000;
   КонецЕсли;
   Если Коэффициент = 0 Тогда
       Коэффициент = КоэфТип;
   КонецЕсли;
   
   
   Если Сорт = 1 Тогда
       Если Класс = Перечисления.Классы.хороший Тогда
         СортКласс = 0.05;
      ИначеЕсли Класс = Перечисления.Классы.высший Тогда
         СортКласс = 0.04;
      ИначеЕсли Класс = Перечисления.Классы.лучший Тогда
         СортКласс = -0.035;
      ИначеЕсли Класс = Перечисления.Классы.плохой Тогда
         СортКласс = -0.075;
      КонецЕсли;
   ИначеЕсли Сорт = 2 Тогда
       Если Класс = Перечисления.Классы.Олий Тогда
         СортКласс = 0.02;
      ИначеЕсли Класс = Перечисления.Классы.хороший Тогда
         СортКласс = -0.01;
      ИначеЕсли Класс = Перечисления.Классы.средний Тогда
         СортКласс = -0.045;
      ИначеЕсли Класс = Перечисления.Классы.высший Тогда
         СортКласс = -0.08;
      ИначеЕсли Класс = Перечисления.Классы.плохой Тогда
         СортКласс = -0.12;
      КонецЕсли;
   ИначеЕсли Сорт = 3 Тогда
      Если Класс = Перечисления.Классы.лучший Тогда
         СортКласс = -0.035;
      ИначеЕсли Класс = Перечисления.Классы.средний Тогда
         СортКласс = -0.07;
      ИначеЕсли Класс = Перечисления.Классы.хороший Тогда
         СортКласс = -0.115;
      ИначеЕсли Класс = Перечисления.Классы.плохой Тогда
         СортКласс = -0.16;
      КонецЕсли;   
   ИначеЕсли Сорт = 4 Тогда
      Если Класс = Перечисления.Классы.лучший Тогда
         СортКласс = -0.15;
      ИначеЕсли Класс = Перечисления.Классы.средний Тогда
         СортКласс = -0.20;
      ИначеЕсли Класс = Перечисления.Классы.хороший Тогда
         СортКласс = -0.25;
      ИначеЕсли Класс = Перечисления.Классы.плохой Тогда
         СортКласс = -0.30;
      КонецЕсли;   
   ИначеЕсли Сорт = 5 Тогда
      Если Класс = Перечисления.Классы.средний Тогда
         СортКласс = -0.45;
      ИначеЕсли Класс = Перечисления.Классы.хороший Тогда
         СортКласс = -0.50;
      ИначеЕсли Класс = Перечисления.Классы.плохой Тогда
         СортКласс = -0.55;
      КонецЕсли;   
   КонецЕсли;
   Сообщить(СортКласс);
   Процент = ?(Процент=0,СортКласс*100,Процент);   // 
   Цена = Котировка*УстЦена;
    Цена = Цена-Цена*Скидка;
   Цена = Цена+Цена*Процент/100;
   Цена = Цена*Коэффициент;
   //Добавляем расчет с учетом скидки по контракту
   Цена = Цена - Цена * СкидкаПоКонтракту / 100;
   Возврат Цена;
КонецФункции
все равно вылетаю в ошибку;
Преобразование значения к типу Число не может быть выполнено
   Процент = ?(Процент=0,СортКласс*100,Процент);

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
отсутствие этой строки не решает проблему ;)
ее надо ИС ПРА ВИТЬ.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн ls600

  • ****
  • Сообщений: 322
  • РЕПУТАЦИЯ: 20
  • КПД: 6%
  • Регистрация: 2012-05-14
  • Сайт: 
  • Профессия: Программист 1С
не хватает буквы "с" СортКласс = 0.00;.


Теги:
 

Значения некоторых колонок являются суммами некоторых колонок, которые в свою очередь так же являются суммами других. Как упорядочить?

Автор acces969Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 203
Последний ответ 26 Июн 2017, 14:32
от AsadRoman
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

Автор ZeedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 903
Последний ответ 11 Июл 2016, 09:00
от vitasw
Как сложить значения Столбца "Объем"

Автор anton.kislovРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 19
Просмотров: 12775
Последний ответ 04 Май 2017, 10:48
от ospov11789
Ошибка "Итератор для значения не определён"

Автор КараулРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 771
Последний ответ 17 Авг 2016, 11:25
от Караул
Очистить значение типа "Хранилище значения"

Автор ЛеонидРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4610
Последний ответ 22 Ноя 2009, 17:45
от Никитина

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
90 Сообщений
alex0402
54 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
44 Сообщений
AIFrame
40 Сообщений
Oldman06
31 Сообщений
Golickoff Golickoff
30 Сообщений
vitasw
29 Сообщений
MuI_I_Ika MuI_I_Ika
18 Сообщений
BuhRust
14 Сообщений
AsadRoman
13 Сообщений

* Кто онлайн

  • Точка Гостей: 406
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal