8.х как преобразовать один тип переменной в другой

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем 1C8, 8 дек 2009.

  1. TopicStarter Overlay
    1C8
    Offline

    1C8 Опытный в 1С

    Регистрация:
    20 янв 2009
    Сообщения:
    216
    Симпатии:
    0
    Баллы:
    26
    Задача вроде бы простая, просто не знаю синтаксиса.
    Нужно чтобы на ценнике печаталось цена - 10%
    Т.е. к примеру цена 5000 т.р. надо чтобы на ценнике вывелось 4500(т.е. 5000-500=4500).
    В обрабобтке было так

    Код:
    ОбластьЦенника.Параметры.ЦенаСоСкидкой = ОбщегоНазначения.ФорматСумм(СтрокаТаблицы.Цена, Валюта, "00");
    
    
    сделал так

    Код:
    ОбластьЦенника.Параметры.ЦенаСоСкидкой = ОбщегоНазначения.ФорматСумм(СтрокаТаблицы.Цена, Валюта, "00")*10/100;
    
    
    Выдает ошибку:

    Как преобразовать тип?
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Попробуйте
    ОбластьЦенника.Параметры.ЦенаСоСкидкой = Число(СтрокаТаблицы.Цена)-Число(СтрокаТаблицы.Цена)*10/100; Это как раз и будут ваши 4500
    Если надо какой то формат то можно

    ОбластьЦенника.Параметры.ЦенаСоСкидкой = Формат(Число(СтрокаТаблицы.Цена)-Число(СтрокаТаблицы.Цена)*10/100, ФОРМАТНАЯ СТРОКА СМОТРЕТЬ В СИНТАКСЕС ПОМОШНИКЕ);

    или прямо в макете на ячейке есть формат.
    А Вообще запониме есть Синтаксис помощник ctrl+f1
  3. Kant
    Offline

    Kant

    Регистрация:
    8 дек 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    самое простое
    Код:
    ОбластьЦенника.Параметры.ЦенаСоСкидкой = ОбщегоНазначения.ФорматСумм(СтрокаТаблицы.Цена*90/100, Валюта, "00");
    
  4. TopicStarter Overlay
    1C8
    Offline

    1C8 Опытный в 1С

    Регистрация:
    20 янв 2009
    Сообщения:
    216
    Симпатии:
    0
    Баллы:
    26
    Спасибо, ваш ответ натолкнул меня на другую мысль.
    сделал так:
    Код:
    ОбластьЦенника.Параметры.ЦенаСоСкидкой = ОбщегоНазначения.ФорматСумм((СтрокаТаблицы.Цена*90/100), Валюта, "00");
    
    
    все работает.
    На счет "ctrl+f1" я знаю, но там ничего дельного не нашел по поводу преобразования.
    Проблема собственно была не в преобразовании а в том что я не там логическое выражение запихал. Я функцию формата пытался умножить а потом разделить....естественно он и ругался...
    Все равно спасибо.

    to Viktor_S

    и вам спасибо...пока разбирался от вас ответа не видел...одинаково мыслим мы с вами однако ;-)

Поделиться этой страницей