Образовательный форум по автоматизации и взаимодействии с федеральными системами
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Марина Терехова  
#1 Оставлено : 15 февраля 2021 г. 8:52:10(UTC)
Марина Терехова

Статус: Member
Сообщений: 21
Откуда: Москва

Сказал(а) «Спасибо»: 10 раз
Добрый день! Может быть кто-то сталкивался с подобной проблемой и может подсказать ее решение?!
Суть проблемы: в 1с:Университет необходимо загружать макеты печатных форм для дополнительных соглашений по оплате обучения и, соответственно, в параметрах, применимых к этим макетам, нужно прописывать формулы расчетов, конкретно у меня проблема с формулой расчета оставшегося срока обучения - она всегда возвращает значение общего срока обучения, не могу разобраться, что я прописываю не так.
Выбираю параметр ФактСрокОбучения, формула к нему:
?(
((13-Месяц(&ДатаНачала))+(Год(&ДатаОкончания)-Год(&ДатаНачала)-1)*12+Месяц(&ДатаОкончания))%12=0,

Строка(((13-Месяц(&ДатаНачала))+(Год(&ДатаОкончания)-Год(&ДатаНачала)-1)*12+Месяц(&ДатаОкончания))/12)+?((((13-Месяц(&ДатаНачала))+(Год(&ДатаОкончания)-Год(&ДатаНачала)-1)*12+Месяц(&ДатаОкончания))/12)<5," года"," лет"),

Строка(Цел(((13-Месяц(&ДатаНачала))+(Год(&ДатаОкончания)-Год(&ДатаНачала)-1)*12+Месяц(&ДатаОкончания))/12))+
?((((13-Месяц(&ДатаНачала))+(Год(&ДатаОкончания)-Год(&ДатаНачала)-1)*12+Месяц(&ДатаОкончания))/12)<5," года "," лет ")+
((13-Месяц(&ДатаНачала))+(Год(&ДатаОкончания)-Год(&ДатаНачала)-1)*12+Месяц(&ДатаОкончания))%12+ " мес."
)

или есть еще такой вариант формулы:
?(НачалоДня(&ДатаНачала) > Дата (Год(&УчебныйПлан.УчебныйГод.НачальныйГод),9,1), "_____________", Строка(&УчебныйПлан.ОсновнойСрокОбучения) + ?(&УчебныйПлан.ОсновнойСрокОбучения < 5," года"," лет") + ?(&УчебныйПлан.ДополнительныйСрокОбучения > 0," " + Строка(&УчебныйПлан.ДополнительныйСрокОбучения) + " мес.",""))

но она тоже вывод полный срок обучения.

Заранее благодарю за помощь!

Хотите присоединиться к дискуссии?! Войти в Ваш профиль форума. Новые регистрации запрещены.

Ella  
#2 Оставлено : 15 февраля 2021 г. 15:14:26(UTC)
Ella

Статус: Advanced Member
Сообщений: 184

Сказала «Спасибо»: 3 раз
Поблагодарили: 47 раз в 35 постах
Цитата:
или есть еще такой вариант формулы:
?(НачалоДня(&ДатаНачала) > Дата (Год(&УчебныйПлан.УчебныйГод.НачальныйГод),9,1), "_____________", Строка(&УчебныйПлан.ОсновнойСрокОбучения) + ?(&УчебныйПлан.ОсновнойСрокОбучения < 5," года"," лет") + ?(&УчебныйПлан.ДополнительныйСрокОбучения > 0," " + Строка(&УчебныйПлан.ДополнительныйСрокОбучения) + " мес.",""))


Во второй формуле просто выводится срок обучения из учебного плана, поэтому странно ждать от нее чего-то другого.

А в первой формуле, наверно, лучше всего разложить ее на составляющие, просчитать весь алгоритм по частям, например, в консоли кода или через отладчик, возможно ошибка на каком-то этапе расчета.
thanks 1 пользователь поблагодарил Ella за этот пост.
Марина Терехова оставлено 18.02.2021(UTC)
Ludmila Tihonova  
#3 Оставлено : 15 февраля 2021 г. 15:21:36(UTC)
Ludmila Tihonova

Статус: Advanced Member
Сообщений: 661

Сказал(а) «Спасибо»: 41 раз
Поблагодарили: 35 раз в 34 постах
А что не так с первой формулой, нормально вроде считает, вот скриншот:

skrinshot konsol' koda.png (58kb) загружен 11 раз(а).

Может проблема в параметрах? Не та дата передается в ДатаНачала и ДатаОкончания?
thanks 1 пользователь поблагодарил Ludmila Tihonova за этот пост.
Марина Терехова оставлено 18.02.2021(UTC)
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.