При решении некоторых задач бухгалтерского учета, к примеру в зарплате, в учете расходов и доходов будущих периодов, в учете НДС объектов внеоборотных активов* возникает необходимость использовать в качестве вида субконто определенный период времени, в нашем случае месяц. В белорусской типовой конфигурации решение выбрано наиболее простое - в качестве вида субконто применяется тип данных "дата". Возможно, в иных задачах такой подход и имеет право на существование, но в бухгалтерии, на мой взгляд, он неоправдан, неоднозначен и трудоемок в применении и понимании не только для специалиста, но и конечного пользователя, поскольку ручной ввод операций в v77 ещё никто не отменял. О возможных дополнительных свойствах месяца, например "норма рабочего времени" и т.п., при подобной реализации никто и не задумывался.
Куда более мощным является реализация "месяцев" при помощи специального справочника. Однако здесь разработчик встречает одну существенную проблему, а именно: как совместить с первого взгляда несовместимые свойства справочника и даты. Заполнить справочник под завязку всеми возможными значениями "от Рождества Христова" или предоставить пользователю самому вводить нужные ему периоды?
Предлагаемая мной здесь реализация является неким среднегармоническим решением. С одной стороны, пользователю доступны все формы справочника "с нуля", с другой стороны справочник заполняется автоматически по мере обращения к его элементам, совершенно не обременяя при этом и без того натруженного бухгалтера.
*Бухгалтерский учет в Беларуси.
Примечания к рисункам:
1. Основная форма списка представляет собой всегда триместр, т.е. список из трёх элементов (предыдущий, текущий и последующий месяцы). Навигация условная, осуществляется с шагом в один месяц. Ввод новых элементов в этой форме пользователю запрещен, месяцы при необходимости создаются автоматически при навигации.
2. Форма списка для выбора являет стандартную форму списка. Ввод новых элементов пользователю разрешен, но присутствует также полная навигация по списку с шагом в один месяц, с помощью которой также создаются недостающие элементы.
3. Выбор в виде списка значений предназначен стать альтернативой стандартному выбору, может применяться ПриНачалеВыбораЗначения. Навигация по списку напрямую не связана со справочником, новый месяц создаётся при необходимости исключительно в момент выбора его из списка.
В всех списках может применяться обратный хронологический порядок, на выбор разработчика.