(1) что бы вам было понятно, в 1С дата это число (секунд)
разница между двумя датами как раз и сесть целое число секунд между двумя датами
а уж секундами, можете сделать то что вам надо, посчитать сколько часов/дней прочшло между датами и т.д.
(1) Может все-таки из даты необходимо вычесть количество дней/недель/месяцев/кварталов? Действительно непонятно, что вы хотите увидеть, когда вычитаете, например, "25 декабря 2019 года - 11 марта 2001 года". В контексте дат вычитание в 1С дает расстояние между датами в секундах
в ЗУП в общем модуле ОбщегоНазначения есть и такое
// Возвращает строковое представление интервала между переданными датами или
// относительно переданной даты и текущей даты сеанса.
//
// Параметры:
// ВремяНачала - Дата - начальная точка интервала.
// ВремяОкончания - Дата - конечная точка интервала, если не задана - берется текущая дата сеанса.
//
// Возвращаемое значение:
// Строка - представление интервала времени.
//
Функция ИнтервалВремениСтрокой(ВремяНачала, ВремяОкончания = Неопределено) Экспорт
Вот как вы написали так и надо сделать. Получите как раз разницу между датами в секундах. А дальше просто математика с некоторыми календарными нюансами.
Так же не лишне ознакомиться с функциями работы с датой из синтакс-помощника. Там есть кое что интересное.
Тут нужно с заказчиком отдельно оговаривать что для данной задачи считается расчетным месяцем например 1 марта 2019 - 1 февраля 2019 это 28 дней что меньше чем 365/12=30.417, то есть с точки зрения среднемесячного количества дней февраль не является полным месяцем...