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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 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

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

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

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


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

Оффлайн pavl_vs

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

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

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


Теги:
 

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

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

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

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

Ответов: 2
Просмотров: 2149
Последний ответ 09 Дек 2015, 19:33
от Oks
Вывод информации: если поле не заполнено, то вывод иной информации. Новичок

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

Ответов: 6
Просмотров: 213
Последний ответ 10 Окт 2017, 12:33
от kiksi
Поле "ВаловаяПрибыль" не может быть использовано в группировке "Store" СКД

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

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

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

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

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

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

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


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

* Реклама

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

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

oleg-x
86 Сообщений
alex0402
54 Сообщений
AIFrame
41 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
38 Сообщений
Oldman06
31 Сообщений
Golickoff Golickoff
30 Сообщений
vitasw
29 Сообщений
MuI_I_Ika MuI_I_Ika
19 Сообщений
BuhRust
14 Сообщений
DmitriyF DmitriyF
13 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal