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

Автор Тема: Вычисляемое поле в СКД  (Прочитано 1588 раз)

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

Оффлайн Ирина1109

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-08-26
  • Сайт: 
  • Профессия: Ученик 1С
Мне надо сделать поле, которое рассчитывает ндс от суммы продажи.. вот запрос написала (в вычисляемом поле)

ВЫБОР КОГДА СуммаПродажи = 0 ТОГДА 0 
ИНАЧЕ СуммаПродажи*(ВЫБОР КОГДА СтавкаНДСЗаказчик =   ЗНАЧЕНИЕ(Перечисление.новаСтавкиНДС.НДС18)             ТОГДА 0.18
ИНАЧЕ 0.1 КОНЕЦ )   КОНЕЦ

В данном запросе прописано только для двух значений НДС, а мне надо прописать для всех (18/118, 10.110, 0, БезНДС)..не получается, помогите пожалуйста...пробую вот так, но не работает


[ВЫБОР КОГДА СуммаПродажи = 0 ТОГДА 0 
ИНАЧЕ СуммаПродажи*(
ВЫБОР КОГДА СтавкаНДСЗаказчик =   ЗНАЧЕНИЕ(Перечисление.новаСтавкиНДС.НДС18)             ТОГДА 0.18   
КОГДА СтавкаНДСЗаказчик =   ЗНАЧЕНИЕ(Перечисление.новаСтавкиНДС.НДС10)           
 ТОГДА 0.1                                                                         
ИНАЧЕ 0 КОНЕЦ )   
КОНЕЦ
/code]


Онлайн pavl_vs

  • *****
  • Сообщений: 1000
  • РЕПУТАЦИЯ: 159
  • КПД: 16%
  • Регистрация: 2011-05-09
  • Сайт: 
  • Профессия: Программист 7.7
Ирина1109, представленные коды смысла не имеют, или я чего-то не понимаю.
Вы рассчитываете НДС от СуммаПродажи и я это понимаю как СуммаНДС = СуммаПродажи*СтавкаНДС, а у Вас результат равен ставке!?

Т.о. есть некий отчет, в котором Вы видите Суммы продажи, в доступных полях имеете Ставки НДС (СтавкаНДСЗаказчик) и возможно признак НДС включено в Сумму или нет; имея СуммуПродажи и вытащив СтавкуНДС нужно получить СуммуНДС.
Только "в таком разе" будет понятно использование параметров.

Каким-то таким способом опишите задачу.
Или хотя бы скажите я правильно понимаю с каким отчетом Вы имеете дело.

Кстати о параметрах в выражении - они должны иметь нормальное наименование, например, "Сумма продажи" или "Ставка НДС";
и если это так, то заменив их на СуммаПродажи и СтавкаНДС ничего хорошего не получите.

Оффлайн Ирина1109

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-08-26
  • Сайт: 
  • Профессия: Ученик 1С
Ирина1109, представленные коды смысла не имеют, или я чего-то не понимаю.
Вы рассчитываете НДС от СуммаПродажи и я это понимаю как СуммаНДС = СуммаПродажи*СтавкаНДС, а у Вас результат равен ставке!?

Т.о. есть некий отчет, в котором Вы видите Суммы продажи, в доступных полях имеете Ставки НДС (СтавкаНДСЗаказчик) и возможно признак НДС включено в Сумму или нет; имея СуммуПродажи и вытащив СтавкуНДС нужно получить СуммуНДС.
Только "в таком разе" будет понятно использование параметров.

Каким-то таким способом опишите задачу.
Или хотя бы скажите я правильно понимаю с каким отчетом Вы имеете дело.

Кстати о параметрах в выражении - они должны иметь нормальное наименование, например, "Сумма продажи" или "Ставка НДС";
и если это так, то заменив их на СуммаПродажи и СтавкаНДС ничего хорошего не получите.

В отчете я опираюсь на документ, который содержит СуммаЗаказчика  (число), которая в запросе была переименована, как СуммаПродажи и СтавкаНДСЗаказчика, но она не число (на скрине показано). Поэтому я таким образом преобразовываю ее в число.

Проблема непосредственно возникает в том, что я не знаю, как синтаксически правильно будет записать несколько условий в таком выражении. На данный момент это поле работает только, когда ставка выбрана 18%, в противном случае всегда ее делает = 0,1.

Постаралась пояснить

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
В данном запросе прописано только для двух значений НДС, а мне надо прописать для всех (18/118, 10.110, 0, БезНДС)..не получается, помогите пожалуйста...пробую вот так, но не работает

Выбор
    Когда <условие1> Тогда <Выражение1>
    Когда <условие2> Тогда <Выражение2>
    Когда <условие3> Тогда <Выражение3>
...
Иначе <ВыражениеN> Конец

Оффлайн Ирина1109

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-08-26
  • Сайт: 
  • Профессия: Ученик 1С
В данном запросе прописано только для двух значений НДС, а мне надо прописать для всех (18/118, 10.110, 0, БезНДС)..не получается, помогите пожалуйста...пробую вот так, но не работает

Выбор
    Когда <условие1> Тогда <Выражение1>
    Когда <условие2> Тогда <Выражение2>
    Когда <условие3> Тогда <Выражение3>
...
Иначе <ВыражениеN> Конец


Спасибо! Все получилось)

У меня еще одна проблема: Надо пересчитать маржу в документе, она должна рассчитываться за вычетом НДС перевозчика(слайд). Нашла функцию в модуле формы, выглядит так:

Процедура ОбновитьПрофит()	
Элементы.Профит.Заголовок = "Прибыль с заявки (маржа): "+Строка(Объект.СуммаЗаказчика Объект.СуммаПеревозчика);
КонецПроцедуры

Если пишу подобным образом
Процедура ОбновитьПрофит()

Если Объект.СтавкаНДСЗаказчик = Перечисления.СтавкиНДС.НДС18 Тогда
Объект.СтавкаНДСЗаказчик = 0.18
ИначеЕсли Объект.СтавкаНДСЗаказчик = Перечисления.СтавкиНДС.НДС10 Тогда
Объект.СтавкаНДСЗаказчик = 0.1
КонецЕсли;
Элементы.Профит.Заголовок = "Прибыль с заявки (маржа): "+Строка(Объект.СуммаЗаказчика - Объект.СуммаПеревозчика - Объект.СтавкаНДСПеревозчик*Объект.СуммаПеревозчика);
КонецПроцедуры


То выдает ошибку: "Преобразование значения к типу Число не может быть выполнено"

Онлайн pavl_vs

  • *****
  • Сообщений: 1000
  • РЕПУТАЦИЯ: 159
  • КПД: 16%
  • Регистрация: 2011-05-09
  • Сайт: 
  • Профессия: Программист 7.7
Ирина1109, как минимум одна из переменных выражения в скобках не является Числом; скорее всего это Объект.СтавкаНДСПеревозчик.
Вы просто в коде похоже вместо Объект.СтавкаНДСПеревозчик написали Объект.СтавкаНДСЗаказчик.

Оффлайн Ирина1109

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-08-26
  • Сайт: 
  • Профессия: Ученик 1С
Ирина1109, как минимум одна из переменных выражения в скобках не является Числом; скорее всего это Объект.СтавкаНДСПеревозчик.
Вы просто в коде похоже вместо Объект.СтавкаНДСПеревозчик написали Объект.СтавкаНДСЗаказчик.


Да,перепутала случайно. Исправила, но ошибка та же самая..значит условие не работает

Онлайн pavl_vs

  • *****
  • Сообщений: 1000
  • РЕПУТАЦИЯ: 159
  • КПД: 16%
  • Регистрация: 2011-05-09
  • Сайт: 
  • Профессия: Программист 7.7
Исправила, но ошибка та же самая..значит условие не работает

Я бы не торопился с этим выводом, а протестировал всё это в отладчике на тип переменных;
не нравится в отладчике - сделайте следующее:
- закомментарьте строку расчета профита (ошибка должна исчезнуть, хотя и результата никакого);
- далее вместо нее последовательно в теле процедуры
-- Сообщить(Объект.СтавкаНДСПеревозчик * Объект.СтавкаНДСПеревозчик); // это проверка на выполнение условия и формирование чисел
-- Сообщить(Объект.СуммаЗаказчика * 0.18); // проверка на тип Число суммы заказчика
-- Сообщить(Объект.СуммаПеревозчика * 0.18); // проверка на тип Число суммы перевозчика
-- Сообщить(Объект.СуммаЗаказчика - Объект.СуммаПеревозчика - Объект.СтавкаНДСПеревозчик * Объект.СтавкаНДСПеревозчик).

Если ошибка в "не работает условие", то не будет даже первого сообщения.


Теги:
 

Поле не найдено"ЗаказПокупателя.Услуги.Ссылка"<<?>>ЗаказПокупателя.Услуги.Ссылка

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

Ответов: 6
Просмотров: 6121
Последний ответ 05 Дек 2013, 00:01
от romanprogrammist
{Форма.Форма.Форма(11)}: Поле объекта не обнаружено

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

Ответов: 2
Просмотров: 1887
Последний ответ 09 Дек 2015, 19:33
от Oks
Поле "ВаловаяПрибыль" не может быть использовано в группировке "Store" СКД

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

Ответов: 2
Просмотров: 5669
Последний ответ 10 Июл 2014, 15:16
от virtus
Не заполняется поле "Цена" при формировании документа "Пересчет товаров"

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

Ответов: 4
Просмотров: 646
Последний ответ 29 Дек 2016, 09:54
от Innakecha
Поле "Профессия"!!!

Автор MytiРаздел Предложения по работе форума

Ответов: 5
Просмотров: 4758
Последний ответ 23 Ноя 2010, 23:48
от progmikon

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
116 Сообщений
alex0402
102 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
73 Сообщений
AIFrame
51 Сообщений
ilyay ilyay
49 Сообщений
Golickoff Golickoff
49 Сообщений
ab30ru
38 Сообщений
wise wise
34 Сообщений
Амал
30 Сообщений
lansy
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal