Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 ноя 2024, 04:55

Не могу получить коэффициент нужного вида в СКД!

Автор VID1234, 10 фев 2022, 15:06

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

VID1234

Приветствую. Подскажите пожалуйста. Мне необходимо получить коэффициент с помощью деления суммыопределенной/общуюсумму.
Оба этих значения я получаю с помощью Выражений в вычисляемом поле. Вывожу их в отчет все норм суммы есть и здесь: суммыопределенной и здесь: общуюсумму! Но когда пытаюсь разделить и вывожу в отчет у меня просто 1 выходит, как будто-бы округляется до 1! Пробую и через Выражение в вычисляемом поле назначить формат числа (ВЫРАЗИТЬ((здесь куча отборов и прочего, чтобы получить нужную сумму (суммыопределенной)) / (здесь куча отборов и настроек, чтобы выводилась общая сумма (общуюсумму)), "ЧИСЛО(22,21)"), в итоге получается так 1,000000000000000000, через настройки типа значений и оформления, аналогично! Если я использую выражение в пользовательском поле (через настройки), там я сразу пишу суммыопределенной / общуюсумму, т.е. обращаюсь к вычисляемым полям, то все выходит как нужно, но использовать полученное поле в формулах я не могу! Как быть? Как привести коэффициент в нужный вид или может есть лайфхак какой нибудь?
Это Выражение поля "суммыопределенной":
Выбор Когда ПодразделениеНаКонецПериода.Наименование подобно "%Основное%" Тогда (Выбор Когда Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.Начислено)  И НЕ (Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.НачальноеСальдоПоБухучету) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.НачальноеСальдоПоМесяцамРасчета) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.ВыплаченоПоБухучету) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.ВыплаченоПоМесяцамРасчета) ИЛИ Группа =Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.КонечноеСальдоПоБухучету) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.КонечноеСальдоПоМесяцамРасчета)) И (ВидРасчета.Наименование ПОДОБНО "%Оплата по окладу%"  ИЛИ ВидРасчета.Наименование ПОДОБНО "%Персональная надбавка 1%" ИЛИ ВидРасчета.Наименование ПОДОБНО "%Персональная надбавка за совмещение должностей%" ИЛИ ВидРасчета.Наименование ПОДОБНО "%Персональная надбавка 2 %" ИЛИ ВидРасчета.Наименование ПОДОБНО "%Премия разовая (суммой)%" ИЛИ ВидРасчета.Наименование ПОДОБНО "%Персональная надбавка за совмещение должностей2 %")  ТОГДА Сумма Конец) КонецА это поле" общуюсумму":
Выбор Когда ПодразделениеНаКонецПериода.Наименование подобно "%Основное%" Тогда (Выбор Когда Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.Выплачено) Тогда Сумма Конец) КонецОбращаться к вычисляемому полю напрямую не получается, поэтому приходится при составлении формул вписывать полностью все эти настройки.
Но в пользовательском выражении я просто пишу наименование вычисляемого поля и у меня все считает правильно.

VID1234

Все допетрил, я создал в вычисляемых полях поле ОсновнойОклад (как пример), выражение не стал заполнять, а вот в ресурсах, добавил созданное поле и там в выражение вставил
(СУММА(Выбор Когда ПодразделениеНаКонецПериода.Наименование подобно "%Основное%" Тогда (Выбор Когда Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.Начислено)  И НЕ (Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.НачальноеСальдоПоБухучету) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.НачальноеСальдоПоМесяцамРасчета) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.ВыплаченоПоБухучету) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.ВыплаченоПоМесяцамРасчета) ИЛИ Группа =Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.КонечноеСальдоПоБухучету) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.КонечноеСальдоПоМесяцамРасчета)) И (ВидРасчета.Наименование ПОДОБНО "%Отпуск основной%")  ТОГДА  Сумма Конец) Конец)/СУММА(Выбор Когда ПодразделениеНаКонецПериода.Наименование подобно "%ОСНОВНОЕ%" Тогда (Выбор Когда Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.Начислено)  И НЕ (Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.НачальноеСальдоПоБухучету) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.НачальноеСальдоПоМесяцамРасчета) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.ВыплаченоПоБухучету) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.ВыплаченоПоМесяцамРасчета) ИЛИ Группа =Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.КонечноеСальдоПоБухучету) ИЛИ Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.КонечноеСальдоПоМесяцамРасчета)) Тогда Сумма Конец) Конец)*СУММА(Выбор Когда ПодразделениеНаКонецПериода.Наименование подобно "%ОСНОВНОЕ%" Тогда (Выбор Когда Группа = Значение(Перечисление.ГруппыНачисленияУдержанияВыплаты.Выплачено) Тогда Сумма Конец) Конец))Тем самым мы как бы в одном поле в ресурсах нашли сначала "суммыопределенной", потом сумму "общуюсумму", а потом полученное (здесь уже коэффициент например 0,18239439438) умножили на сумму которую нужно разбить по частям (долям). В итоге получили сразу готовую сумму!

Теги: скд 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск